MPIUserLimitConfig
Declaration
typedef struct MPIUserLimitConfig { MPIUserLimitTrigger trigger; MPIUserLimitOutput output; MPIAction action; int32_t actionAxis; MPI_BOOL generateEvent; MPI_BOOL enabled; MPI_BOOL foreground; } MPIUserLimitConfig;
Required Header: stdmpi.h
Change History: Added in 04.00.
Description
MPIUserLimitConfig sets a user limit's configuration using data from the structure pointed to by config.
trigger | Structure to configure the trigger conditions for the user limit. |
---|---|
output | Structure to configure the output stage of the user limit. |
action | The action to be associated with the user limit. |
actionAxis | The axis number of the axis which will be affected by the action. |
generateEvent | Determines whether the user limit will generate an event that will be handled by the controller’s event mechanism |
enabled | Determines if the user limit is enabled after configuration. |
foreground | Determines if the user limit will be processed in the foreground (requires special firmware). |
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);
See Also
mpiUserLimitConfigGet | mpiUserLimitConfigSet | mpiUserLimitConfigDefault