MPIUserLimitOutput
Declaration
typedef struct MPIUserLimitOutput {
MPIUserLimitOutputType type;
MPIUserLimitOutputData data;
} MPIUserLimitOutput;
Required Header: stdmpi.h
Change History: Added in 04.00.
Description
MPIUserLimitOutput represents a user limit’s output block.
| type | The type of output to be written when the user limit’s trigger fires. |
|---|---|
| date | The data for the output block of the user limit. |
Sample Code
MPI_RESULT returnValue;
MPIUserLimit userLimit;
MPIUserLimitConfig userEventConfig;
/* ... */
returnValue = mpiUserLimitConfigDefault(&userEventConfig);
msgCHECK(returnValue);
/* Generate an event */
userEventConfig.generateEvent = TRUE;
/* Use a single condition */
userEventConfig.trigger.type = MPIUserLimitTriggerTypeSINGLE_CONDITION;
/* Trigger when axis 5's actual position exceeds 300000 */
userEventConfig.trigger.condition[0].type = MPIUserLimitConditionTypeAXIS_ACTUAL_POSITION;
userEventConfig.trigger.condition[0].data.axisActualPosition.axisNumber = 5;
userEventConfig.trigger.condition[0].data.axisActualPosition.position = 300000;
userEventConfig.trigger.condition[0].data.axisActualPosition.logic = MPIUserLimitLogicGT;
/* Setup output block: Set a SynqNet I/O Node's analog output. */
/* Set node 3's analog channel 7 to a value of 1234 */
userEventConfig.output.type = MPIUserLimitOutputTypeSQNODE_ANALOG_OUT;
userEventConfig.output.data.sqNodeAnalogOut.nodeNumber = 3;
userEventConfig.output.data.sqNodeAnalogOut.channel = 7;
userEventConfig.output.data.sqNodeAnalogOut.newValue.i16 = 1234;
returnValue = mpiUserLimitConfigSet(userLimit, &userEventConfig);
msgCHECK(returnValue);
