MPIUserLimitTrigger

Declaration

typedef struct MPIUserLimitTrigger {
    MPIUserLimitTriggerType  type;
    double                   duration;
    MPIUserLimitCondition    condition[MPIUserLimitConditionCOUNT];
    MPIUserLimitCondition    disableCondition;
} MPIUserLimitTrigger;

 

Required Header: stdmpi.h
Change History: Added in 04.00.

Description

UserLimitConfigTrigger represents the trigger conditions for the user limit.

type Determines the type of trigger to use for the user limit.
duration The amount of time for which the user limit’s trigger conditions must be true before the user limit’s trigger is fired.
condition The array of conditions used to define the user limit’s trigger.
disableCondition A condition which disables the user limit when triggered.

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

MPIUserLimitConditionCOUNT | MPIUserLimitConfig | MPIUserLimitCondition | MPIUserLimitTriggerType