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);