MPIUserLimitLogic
Declaration
typedef enum MPIUserLimitLogic { MPIUserLimitLogicINVALID = -1,
MPIUserLimitLogicEQ, /* Equal to */ MPIUserLimitLogicNE, /* Not equal to */ MPIUserLimitLogicGT, /* Greater than */ MPIUserLimitLogicGE, /* Greater than or equal */ MPIUserLimitLogicLE, /* Less than or equal */ MPIUserLimitLogicLT, /* Less than */ MPIUserLimitLogicABS_EQ, /* Absolute value is equal to */ MPIUserLimitLogicABS_GT, /* Absolute value is greater than */ MPIUserLimitLogicABS_LE, /* Absolute value is less tha */
MPIUserLimitLogicEND, MPIUserLimitLogicFIRST = MPIUserLimitLogicINVALID + 1, MPIUserLimitLogicCOUNT = MPIUserLimitLogicEND - MPIUserLimitLogicFIRST } MPIUserLimitLogic;
Required Header: stdmpi.h
Change History: Added in 04.00.
Description
MPIUserLimitLogic represents the logic used by a user limit’s condition block.
Type (MPIUSerLimitLogic...) | Description |
---|---|
GT | Greater than. |
GE | Greater than or equal to. |
LE | Less than or equal to. |
LT | Less than. |
EQ | Equal to. |
NE | Not equal to. |
ABS_EQ | Absolute value is equal to. |
ABS_GT | Absolute value is greater than. |
ABS_LE | Absolute value is less than or equal to. |
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);