Class EventControl

Nested Relationships

Nested Types

Class Documentation

class EventControl

This class contains event control functions.

Public Functions

EventControl(WMX3Api *f)

Constructor to initialize an object of this class. The device created by the WMX3Api object passed to this constructor is used to execute API functions. Also see Devices.

EventControl(const EventControl &src)

Copy constructor to initialize an object of this class based on an existing object of this class. Also see Copy Operators.

EventControl &operator=(const EventControl &src)

Copy assignment operator to initialize an object of this class based on an existing object of this class. Also see Copy Operators.

EventControl()

Constructor to initialize an object of this class with a self device. Also see Self Devices.

~EventControl()

Destructor for this class.

bool IsDeviceValid()

Return TRUE if this class object has access to a device, and FALSE otherwise. A device is required to execute most functions in this class. If this function returns FALSE, a device can be created by calling the CreateDevice function from the WMX3Api object that was passed to the constructor of this class.

Return TRUE if this class object has access to a device, and FALSE otherwise. A device is required to execute most functions in this class. If this function returns FALSE, a device can be created by calling the CreateDevice function from the WMX3Api object that was passed to the constructor of this class.

WMX3APIFUNC GetVersion(int *pMajorVersion, int *pMinorVersion, int *pRevisionVersion, int *pFixVersion)

Get the version of the module rtdll.

Get the version of the module rtdll.

Parameters:
  • pMajorVersion[out] The major version number.

  • pMinorVersion[out] The minor version number.

  • pRevisionVersion[out] The revision version number.

  • pFixVersion[out] The fix version number.

WMX3APIFUNC SetEvent(int *pId, EventInput *pEventInput, EventOutput *pEventOutput, EventOption *pOption = NULL)

Set an event.

Set an event.

Events consist of two parts: an input function (the condition) and the output function (the action). When the condition is satisfied, the action will be executed.

Remark

The event input function is defined by a class that inherits the EventInput class. Each module defines up to one such class. For example, the CoreMotion module defines the CoreMotionEventInput class, which can be used to specify one of several event inputs.

Similarly, the event output function is defined by a class that inherits the EventOutput class. Each module defines up to one such class. For example, the CoreMotion module defines the CoreMotionEventOutput class, which can be used to specify one of several event outputs.

Once the output function is triggered, it cannot be triggered again until the input function becomes FALSE and then TRUE again. When the EnableEvent function is called for an event, the state of the event will be reset so that it may be triggered again.

Events are evaluated every communication cycle in the order of the identification numbers by the module that defines the event.

This function returns the ID number of the event. Each event has a unique ID number. However, once an event is deleted, the ID number of that event may be reused by a subsequently defined event. The event ID number is required to obtain the event status with the GetEvent function.

See also

Events

Parameters:
  • pId[out] A pointer to an int variable that will contain the event identification number of the new event if the new event is successfully created. The event identification number identifies an event and is passed as arguments to several event command APIs. No two events will have the same event identification number.

  • pEventInput[in] A pointer to an object of a class that extends the EventInput class that defines the event input function.

  • pEventOutput[in] A pointer to an object of a class that extends the EventOutput class that defines the event output function.

  • pOption[in] An optional parameter that is a pointer to an object of the EventOption class and specifies additional options to apply to the event.

WMX3APIFUNC SetEvent(int *pId, EventInput *pEventInput, EventOutput *pEventOutput, int id, EventOption *pOption = NULL)

Set an event.

Set an event.

This function is an overloaded function of SetEvent that allows the event identification number of the new event to be specified. If the event identification number is in use by another event or is out of range, this function will return an error.

Remark

This function is useful when the value returned by pId is difficult to read, such as when executing this function with the ApiBuffer class.

Parameters:
  • pId[out] A pointer to an int variable that will contain the event identification number of the new event if the new event is successfully created. The event identification number identifies an event and is passed as arguments to several event command APIs. No two events will have the same event identification number.

  • pEventInput[in] A pointer to an object of a class that extends the EventInput class that defines the event input function.

  • pEventOutput[in] A pointer to an object of a class that extends the EventOutput class that defines the event output function.

  • id[in] The identification number that is requested by the new event. If this identification number is in use by another event, the IDInUse error will be returned. If this function succeeds, the pId argument will return this value. This value must be at least 0 and less than maxEvents.

  • pOption[in] An optional parameter that is a pointer to an object of the EventOption class and specifies additional options to apply to the event.

WMX3APIFUNC GetEventModuleId(int id, int *pInputModuleId, int *pOutputModuleId)

Get the input function module ID and output function module ID of an existing event.

Get the input function module ID and output function module ID of an existing event.

This function reads the input function module ID and output function module ID of an event. The event is specified by the identification number.

Remark

Parameters:
  • id[in] The event identification number of the event.

  • pInputModuleId[out] A pointer to an int that will contain the module ID of the input function.

  • pOutputModuleId[out] A pointer to an int that will contain the module ID of the output function.

WMX3APIFUNC GetEvent(int id, EventInput *pEventInput, EventOutput *pEventOutput, EventOption *pOption = NULL)

Get the parameters of an event.

Get the parameters of an event.

This function gets the parameters of an event that was defined by SetEvent and other functions.

Remark

The objects passed to the pEventInput and pEventOutput arguments must match the classes that were used to define the input function and output function. If the classes are not matched, the EventInputModuleIdNotMatched or EventOutputModuleIdNotMatched error is returned.

Parameters:
  • id[in] The event identification number of the event.

  • pEventInput[out] A pointer to an object of a class that extends the EventInput class that will contain the event input function. The class must match the class that was used to set the event input function.

  • pEventOutput[out] A pointer to an object of a class that extends the EventOutput class that will contain the event output function. The class must match the class that was used to set the event output function.

  • pOption[out] An optional pointer to an object of the EventOption class that will contain the option settings of the event.

WMX3APIFUNC GetEventOption(int id, EventOption *pOption)

Get the option settings of an existing event.

Get the option settings of an existing event.

This function reads the option settings of an event. The event is specified by the identification number.

Remark

Parameters:
  • id[in] The event identification number of the event.

  • pOption[out] A pointer to an object of the EventOption class that will contain the option settings of the event.

WMX3APIFUNC SetEventInput(int id, EventInput *pEventInput)

This function sets the input function of an event.

This function sets the input function of an event.

This function sets the input function of an event. The event must be first defined with the SetEvent function.

Remark

Parameters:
  • id[in] The event identification number of the event.

  • pEventInput[in] A pointer to an EventInput class object that defines the event input function.

WMX3APIFUNC SetEventOutput(int id, EventOutput *pEventOutput)

This function sets the output function of an event.

This function sets the output function of an event.

This function sets the output function of an event. The event must be first defined with the SetEvent function.

Remark

Parameters:
  • id[in] The event identification number of the event.

  • pEventOutput[in] A pointer to an EventOutput class object that defines the event output function.

WMX3APIFUNC GetEventInput(int id, EventInput *pEventInput)

This function gets the input function of an event.

This function gets the input function of an event.

This function gets the input function of an event. The event must be first defined with the SetEvent function.

Remark

Parameters:
  • id[in] The event identification number of the event.

  • pEventInput[out] A pointer to an EventInput class object that will contain the event input function.

WMX3APIFUNC GetEventOutput(int id, EventOutput *pEventOutput)

This function gets the output function of an event.

This function gets the output function of an event.

This function gets the input function of an event. The event must be first defined with the SetEvent function.

Remark

Parameters:
  • id[in] The event identification number of the event.

  • pEventOutput[out] A pointer to an EventOutput class object that will contain the event output function.

WMX3APIFUNC GetAllEventID(AllEventID *pEventIdData, int filterInputModuleId = -1, int filterOutputModuleId = -1)

Get the IDs of all existing events.

Get the IDs of all existing events.

This function obtains the IDs of all events that are currently defined. The IDs may be passed to other functions that reference event IDs. For example, an event ID may be passed to the GetEvent API function to obtain further information about that event.

Remark

Parameters:
  • pEventIdData[out] A pointer to an AllEventID class object that will contain the id of all existing events.

  • filterInputModuleId[in] An optional parameter that will modify the function to only obtain events with input functions defined by the specified ModuleId.

  • filterOutputModuleId[in] An optional parameter that will modify the function to only obtain events with output functions defined by the specified ModuleId.

WMX3APIFUNC EnableEvent(int id, unsigned char enable)

Enable or disable an existing event.

Enable or disable an existing event.

This function enables or disables an existing event. The event is specified by the identification number. The event must first be created using the SetEvent API function.

Remark

A disabled event will not be evaluated. A disabled event can later be enabled by another call to this API function.

The initial enabled or disabled state of an event created by a call to SetEvent will depend on the enabled parameter of the Event object passed to SetEvent.

Parameters:
  • id[in] The event identification number of the event.

  • enable[in] If 0, the event will be disabled. If 1, the event will be enabled.

WMX3APIFUNC RemoveEvent(int id)

Remove an existing event.

Remove an existing event.

This function removes an existing event. The event is specified by the identification number.

Remark

This function will permanently remove an event. The event identification number of the event will be freed, and may be assigned to events defined later.

This function blocks execution and will return at the end of the next cyclic interrupt. If communication is stopped (and events are not being processed), this function is non-blocking and will remove the event immediately.

Parameters:

id[in] The event identification number of the event.

WMX3APIFUNC ClearAllEvent()

Clear all existing events.

Clear all existing events.

This function permanently clears all existing events. All event identification numbers will be freed, and may be assigned to events defined later.

Remark

This function blocks execution and will return at the end of the next cyclic interrupt. If communication is stopped (and events are not being processed), this function is non-blocking and will clear all events immediately.

WMX3APIFUNC SetCustomEvent(int *pId, int inputModuleId, void *pInputData, int inputDataSize, int outputModuleId, void *pOutputData, int outputDataSize, int id, CustomEventOption *pOption = NULL)

Reserved.

Reserved.

Parameters:
  • pId[out] A pointer to an int variable that will contain the event identification number of the new event if the new event is successfully created. The event identification number identifies an event and is passed as arguments to several event command APIs. No two events will have the same event identification number.

  • inputModuleId[in] The ID of the module that defines the class inheriting EventInput passed to pInputData.

  • pInputData[in] A pointer to an object of a class that inherits the EventInput class.

  • inputDataSize[in] The size of the object passed to pInputData, in bytes.

  • outputModuleId[in] The ID of the module that defines the class inheriting EventOutput passed to pOutputData.

  • pOutputData[in] A pointer to an object of a class that inherits the EventOutput class.

  • outputDataSize[in] The size of the object passed to pOutputData, in bytes.

  • id[in] The identification number that is requested by the new event. If this identification number is in use by another event, the IDInUse error will be returned. If this function succeeds, the pId argument will return this value. This value must be at least 0 and less than maxEvents.

  • pOption[in] An optional parameter that is a pointer to an object of the EventOption class and specifies additional options to apply to the event.

WMX3APIFUNC SetCustomEventInput(int id, int moduleId, void *pInputData, int inputDataSize)

Reserved.

Reserved.

Parameters:
  • id[in] The event identification number of the event.

  • moduleId[in] The ID of the module that defines the class inheriting EventInput passed to pInputData.

  • pInputData[in] A pointer to an object of a class that inherits the EventInput class.

  • inputDataSize[in] The size of the object passed to pInputData, in bytes.

WMX3APIFUNC SetCustomEventOutput(int id, int moduleId, void *pOutputData, int outputDataSize)

Reserved.

Reserved.

Parameters:
  • id[in] The event identification number of the event.

  • moduleId[in] The ID of the module that defines the class inheriting EventOutput passed to pOutputData.

  • pOutputData[in] A pointer to an object of a class that inherits the EventOutput class.

  • outputDataSize[in] The size of the object passed to pOutputData, in bytes.

WMX3APIFUNC GetCustomEventInput(int id, void *pInputDataBuff, int inputDataBuffSize, int *pInputDataSize, int *pModuleId)

Reserved.

Reserved.

Parameters:
  • id[in] The event identification number of the event.

  • pInputDataBuff[out] A pointer to a buffer that will contain an object of a class that inherits the EventInput class.

  • inputDataBuffSize[in] The size of the buffer passed to pInputDataBuff, in bytes.

  • pInputDataSize[out] A pointer to an int that will contain the size of the input data object, in bytes.

  • pModuleId[out] A pointer to an int that will contain the module ID of the module that defines the input data object.

WMX3APIFUNC GetCustomEventOutput(int id, void *pOutputDataBuff, int outputDataBuffSize, int *pOutputDataSize, int *pModuleId)

Reserved.

Reserved.

Parameters:
  • id[in] The event identification number of the event.

  • pOutputDataBuff[out] A pointer to a buffer that will contain an object of a class that inherits the EventOutput class.

  • outputDataBuffSize[in] The size of the buffer passed to pOutputDataBuff, in bytes.

  • pOutputDataSize[out] A pointer to an int that will contain the size of the output data object, in bytes.

  • pModuleId[out] A pointer to an int that will contain the module ID of the module that defines the output data object.

WMX3APIFUNC SetCustomEventConfigureOfModule(int moduleId, void *pSetEventData, int setEventDataSize)

Reserved.

Reserved.

Parameters:
  • moduleId[in] The ID of module to configure.

  • pSetEventData[in] A pointer to the data to use to configure the module.

  • setEventDataSize[in] The size of the data passed to pSetEventData, in bytes.

WMX3APIFUNC SetEvent(int *pId, Event *pEventData)

Set an event.

Set an event.

Events consist of two parts: an input function (the condition) and the output function (the action). When the condition is satisfied, the action will be executed.

Remark

Once the output function is triggered, it cannot be triggered again until the input function becomes FALSE and then TRUE again. When the EnableEvent function is called for an event, the state of the event will be reset so that it may be triggered again immediately.

Events are evaluated in the order of the identification numbers once every communication cycle.

This function returns the ID number of the event. Each event has a unique ID number. However, once an event is deleted, the ID number of that event may be reused by a subsequently defined event. The event ID number is required to obtain the event status with the GetEvent function.

See Event for additional information regarding the types of events that may be defined.

Parameters:
  • pId[out] A pointer to an int variable that will contain the event identification number of the new event if the new event is successfully created. The event identification number identifies an event and is passed as arguments to several event command APIs. No two events will have the same event identification number.

  • pEventData[in] A pointer to an Event class object that defines the event.

WMX3APIFUNC SetEvent(int *pId, Event *pEventData, int id)

Set an event.

Set an event.

This function is an overloaded function of SetEvent that allows the event identification number of the new event to be specified. If the event identification number is in use by another event or is out of range, this function will return an error.

Remark

This function is useful when the value returned by pId is difficult to read, such as when executing this function with the ApiBuffer class.

Parameters:
  • pId[out] A pointer to an int variable that will contain the event identification number of the new event if the new event is successfully created. The event identification number identifies an event and is passed as arguments to several event command APIs. No two events will have the same event identification number.

  • pEventData[in] A pointer to an Event class object that defines the event.

  • id[in] The identification number that is requested by the new event. If this identification number is in use by another event, the IDInUse error will be returned. If this function succeeds, the pId argument will return this value. This value must be at least 0 and less than maxEvents.

WMX3APIFUNC GetEvent(int id, Event *pEventData)

Get the parameters of an existing event.

Get the parameters of an existing event.

This function reads the parameters of an existing event. The event is specified by the identification number.

Remark

The structs in the input and output unions of the returned Event class that contain the event parameters are determined by the values of inputFunction and outputFunction of Event.

Parameters:
  • id[in] The event identification number of the event.

  • pEventData[out] A pointer to an Event class object that will contain the parameters of the event.

WMX3APIFUNC SetSoftwareTouchProbe(unsigned int channel, unsigned char enable, int axis, int byteAddrs, int bitOffset, unsigned char logic, TouchProbeMode::T mode)

Set parameters for a software touch probe channel. A software touch probe channel is able to latch onto the encoder data of an axis when a particular input signal is detected.

Set parameters for a software touch probe channel. A software touch probe channel is able to latch onto the encoder data of an axis when a particular input signal is detected.

Parameters:
  • channel[in] The channel of the software touch probe. The number of available channels is contained in the maxTouchprobeChannel constant. Touch probe parameters are unique to each channel.

  • enable[in] Whether the software touch probe is enabled or not. The API function EnableSoftwareTouchProbe can be used to enable or disable a software touch probe without modifying the touch probe parameters.

  • axis[in] The axis to latch the encoder data.

  • byteAddrs[in] The byte address of the input signal that triggers latching the encoder data.

  • bitOffset[in] The bit address of the input signal that triggers latching the encoder data.

  • logic[in] The polarity of the input signal. If set to 0, the encoder data is latched when the input signal changes from 1 to 0. If set to 1, the encoder data is latched when the input signal changes from 0 to 1.

  • mode[in] The mode of the software touch probe. If set to LatchFirst, the latched encoder data will not be overwritten when there are subsequent input signal triggers. When the latched data is read using the GetSoftwareTouchProbeCounterValue API function, the software touch probe is considered to have no latched data any more, and the software touch probe will be able to latch encoder data again. If set to LatchLast, the latched encoder data will be overwritten when there are subsequent input signal triggers.

WMX3APIFUNC EnableSoftwareTouchProbe(unsigned int channel, unsigned char enable)

Enable a software touch probe channel. A software touch probe channel will only latch encoder data when enabled.

Enable a software touch probe channel. A software touch probe channel will only latch encoder data when enabled.

Parameters:
  • channel[in] The channel of the software touch probe.

  • enable[in] Set to 0 to disable the software touch probe and 1 to enable the software touch probe.

WMX3APIFUNC GetSoftwareTouchProbe(unsigned int channel, unsigned char *pEnabled, int *pAxis, int *pByteAddrs, int *pBitOffset, unsigned char *pLogic, TouchProbeMode::T *pMode)

Get parameters of a software touch probe channel.

Get parameters of a software touch probe channel.

Parameters:
  • channel[in] The channel of the software touch probe. The number of available channels is contained in the maxTouchprobeChannel constant. Touch probe parameters are unique to each channel.

  • pEnabled[out] A pointer to an unsigned char that will contain whether the software touch probe is enabled or not. The API function EnableSoftwareTouchProbe can be used to enable or disable a software touch probe without modifying the touch probe parameters.

  • pAxis[out] A pointer to an int that will contain the axis to latch the encoder data.

  • pByteAddrs[out] A pointer to an int that will contain the byte address of the input signal that triggers latching the encoder data.

  • pBitOffset[out] A pointer to an int that will contain the bit address of the input signal that triggers latching the encoder data.

  • pLogic[out] A pointer to an unsigned char that will contain the polarity of the input signal. If set to 0, the encoder data is latched when the input signal changes from 1 to 0. If set to 1, the encoder data is latched when the input signal changes from 0 to 1.

  • pMode[out] A pointer to a TouchProbeMode variable that will contain the mode of the software touch probe. If set to LatchFirst, any latched encoder data will not be overwritten when there are subsequent input signal triggers. When the latched data is read using the GetSoftwareTouchProbeCounterValue API function, the software touch probe is considered to have no latched data any more, and the software touch probe will be able to latch encoder data again. If set to LatchLast, latched encoder data will be overwritten when there are subsequent input signal triggers.

WMX3APIFUNC IsSoftwareTouchProbeLatched(unsigned int channel, unsigned char *pLatched)

Check whether a software touch probe channel has latched data.

Check whether a software touch probe channel has latched data.

Parameters:
  • channel[in] The channel of the software touch probe.

  • pLatched[out] A pointer to an unsigned char that will contain whether the software touch probe channel has latched data. This value is set to 1 if encoder data has been latched. This value is reset to 0 whenever the GetSoftwareTouchProbeCounterValue API function is called.

WMX3APIFUNC GetSoftwareTouchProbeCounterValue(unsigned int channel, unsigned char *pLatched, double *pCounterValue)

Get latched data of software touch probe.

Get latched data of software touch probe.

Parameters:
  • channel[in] The channel of the software touch probe.

  • pLatched[out] A pointer to an unsigned char that will contain whether the software touch probe channel has latched data. This value is set to 1 if encoder data has been latched. This value is reset to 0 whenever the GetSoftwareTouchProbeCounterValue API function is called.

  • pCounterValue[out] The encoder data latched by the software touch probe.

WMX3APIFUNC SetHardwareTouchProbe(int axis, unsigned char enable, TouchProbeMode::T mode, TouchProbeSource::T triggerSource, unsigned int channel)

Set parameters for the hardware touch probe of an axis. A hardware touch probe latches the encoder data of the axis when the touch probe input signal is detected.

Set parameters for the hardware touch probe of an axis. A hardware touch probe latches the encoder data of the axis when the touch probe input signal is detected.

Parameters:
  • axis[in] The axis of the hardware touch probe.

  • enable[in] This value determines the initial state of the hardware touch probe. Set to 0 to disable the hardware touch probe and 1 to enable the hardware touch probe.

  • mode[in] The mode of the touch probe. If set to LatchFirst, the hardware touch probe will latch the encoder data when the next touch probe input signal is detected, but will not latch the encoder data for any subsequent touch probe input signals. If set to LatchLast, the hardware touch probe will latch the encoder data each time the touch probe input signal is detected.

  • triggerSource[in] The trigger source of the touch probe. If set to ZPulse, the Z-pulse (index pulse) signal will trigger the touch probe. If set to TouchProbe, the touch probe signal will trigger the touch probe. The touch probe signal specifications will be dependent on the servo drive, and can often be configured to one of several inputs.

  • channel[in] The channel of the touch probe. The allowed values are 0 or 1.

WMX3APIFUNC GetHardwareTouchProbeStatus(int axis, HardwareTouchProbeStatus *pStatus)

Get parameters and current state of the hardware touch probe of an axis.

Get parameters and current state of the hardware touch probe of an axis.

Parameters:
  • axis[in] The axis of the hardware touch probe.

  • pStatus[out] A pointer to a HardwareTouchProbeStatus class object that contains the parameters and current state of the hardware touch probe.

WMX3APIFUNC EnableHardwareTouchProbe(int axis, unsigned char enable)

Enable or disable the hardware touch probe of an axis.

Enable or disable the hardware touch probe of an axis.

Parameters:
  • axis[in] The axis of the hardware touch probe.

  • enable[in] Set to 0 to disable the hardware touch probe and 1 to enable the hardware touch probe.

WMX3APIFUNC SetPSOConfig(unsigned int channel, ComparisonType::T type, ComparatorSource *pSource, PSOOutput *pOutput, double minDurationMilliseconds, PSOOption *pOption = NULL)

Set parameters for a position synchronous output channel. A position synchronous output channel is able to output an output signal when certain conditions, such as an axis reaching a certain position, are met.

Set parameters for a position synchronous output channel. A position synchronous output channel is able to output an output signal when certain conditions, such as an axis reaching a certain position, are met.

Parameters:
  • channel[in] The channel of the position synchronous output. The number of available channels is contained in the maxPsoChannel constant.

  • type[in] The type of comparison to perform.

  • pSource[in] The source to use for the comparison.

  • pOutput[in] A pointer to an PSOOutput class object that specifies the type and address of the output to set based on the result of the comparison.

  • minDurationMilliseconds[in] The duration to keep the output set after the comparison changes from true to false. The output will be set while the comparison yields true, and for the period specified in this argument after the comparison changes from true to false. This value has units of milliseconds.

  • pOption[in] An optional argument that is a pointer to a class containing additional position synchronous output options.

WMX3APIFUNC GetPSOConfig(unsigned int channel, ComparisonType::T *pType, ComparatorSource *pSource, PSOOutput *pOutput, double *pMinDurationMilliseconds, PSOOption *pOption = NULL)

Get parameters for a position synchronous output channel.

Get parameters for a position synchronous output channel.

Parameters:
  • channel[in] The channel of the position synchronous output. The number of available channels is contained in the maxPsoChannel constant.

  • pType[out] A pointer to a ComparisonType that will contain the type of comparison to perform.

  • pSource[out] A pointer to a ComparatorSource class object that specifies the source to use for the comparison.

  • pOutput[out] A pointer to an PSOOutput class object that specifies the type and address of the output to set based on the result of the comparison.

  • pMinDurationMilliseconds[out] A pointer to a double that will contain the duration to keep the output set when the comparison changes from true to false, in units of milliseconds.

  • pOption[out] An optional argument that is a pointer to a class that will return additional position synchronous output options.

WMX3APIFUNC SetPSOSingleData(unsigned int channel, double sData)

Set a single data point for a position synchronous output channel.

Set a single data point for a position synchronous output channel.

This function sets a single data point for a position synchronous output channel. Any data points that have been previously set by the SetPSOSingleData, SetPSOMultipleData, or SetPSOIntervalData functions are cleared.

Remark

Parameters:
  • channel[in] The channel of the position synchronous output. The number of available channels is contained in the maxPsoChannel constant.

  • sData[in] The data point.

WMX3APIFUNC SetPSOMultipleData(unsigned int channel, int count, double *pMData)

Set multiple data points for a position synchronous output channel.

Set multiple data points for a position synchronous output channel.

This function sets multiple data points for a position synchronous output channel. Any data points that have been previously set by the SetPSOSingleData, SetPSOMultipleData, or SetPSOIntervalData functions are cleared.

Remark

Parameters:
  • channel[in] The channel of the position synchronous output. The number of available channels is contained in the maxPsoChannel constant.

  • count[in] The number of data points at the memory location pointed by mData. The maximum number of data points is contained in the maxPsoData constant.

  • pMData[in] A pointer to memory location containing a sequence of data points.

WMX3APIFUNC SetPSOIntervalData(unsigned int channel, double rangeStart, double rangeEnd, double interval)

Set data points over a range for a position synchronous output channel.

Set data points over a range for a position synchronous output channel.

This function sets data points over a range for a position synchronous output channel. Any data points that have been previously set by the SetPSOSingleData, SetPSOMultipleData, or SetPSOIntervalData functions are cleared.

Remark

All points p that satisfy [p = rangeStart + n*interval] and [rangeStart < p <= rangeEnd] for integer n will trigger the output. For example, if rangeStart = 0, rangeEnd = 5000, and interval = 1000, then the output will be triggered at positions 1000, 2000, 3000, 4000, and 5000.

The activeDataIndex status will return n when the output is set by the nth point. For example, in the above example, activeDataIndex will be set to 1 when the output is set by position 1000, 2 when the output is set by position 2000, 3 when the output is set by position 3000, 4 when the output is set by position 4000, and 5 when the output is set by position 5000.

The number of points p that are generated by this function is unlimited, and may exceed maxPsoData.

Parameters:
  • channel[in] The channel of the position synchronous output. The number of available channels is contained in the maxPsoChannel constant.

  • rangeStart[in] The starting position of the range. The first data point will be set to rangeStart + interval.

  • rangeEnd[in] The end position of the range. This is the greatest position where the data point may be set.

  • interval[in] The interval between each data point.

WMX3APIFUNC GetPSOData(unsigned int channel, int *pCount, double *pMData, int maxCount)

Get all data points that are currently set for a position synchronous output channel.

Get all data points that are currently set for a position synchronous output channel.

This function obtains the data points that have been set for a position synchronous output channel using the SetPSOSingleData or SetPSOMultipleData functions.

Remark

The GetFunctionDoesNotMatchSetFunction error is returned if the data for the position synchronous output channel has been set by the SetPSOIntervalData function.

Parameters:
  • channel[in] The channel of the position synchronous output. The number of available channels is contained in the maxPsoChannel constant.

  • pCount[out] A pointer to an int that will contain the number of data points at the memory location pointed by mData. The maximum number of data points is contained in the maxPsoData constant.

  • pMData[out] A pointer to a memory location that will contain the sequence of data points that are currently set for the position synchronous output channel. Enough space for the maximum number of data points (maxPsoData) must be reserved.

  • maxCount[in] The maximum count of data to copy into pMData.

WMX3APIFUNC GetPSODataCount(unsigned int channel, int *pCount)

Get the number of data points that are currently set for a position synchronous output channel.

Get the number of data points that are currently set for a position synchronous output channel.

This function obtains the number of data points that have been set for a position synchronous output channel using the SetPSOSingleData or SetPSOMultipleData functions.

Remark

The GetFunctionDoesNotMatchSetFunction error is returned if the data for the position synchronous output channel has been set by the SetPSOIntervalData function.

Parameters:
  • channel[in] The channel of the position synchronous output. The number of available channels is contained in the maxPsoChannel constant.

  • pCount[out] A pointer to an int that will contain the number of data points that are set for the position synchronous output channel. The maximum number of data points is contained in the maxPsoData constant.

WMX3APIFUNC GetPSOIntervalData(unsigned int channel, double *pRangeStart, double *pRangeEnd, double *pInterval)

Get the range and interval of a position synchronous output channel.

Get the range and interval of a position synchronous output channel.

This function obtains the range and interval that have been set for a position synchronous output channel using the SetPSOIntervalData function.

Remark

The GetFunctionDoesNotMatchSetFunction error is returned if the data for the position synchronous output channel has been set by the SetPSOSingleData or SetPSOMultipleData functions.

Parameters:
  • channel[in] The channel of the position synchronous output. The number of available channels is contained in the maxPsoChannel constant.

  • pRangeStart[out] A pointer to a double that will contain the starting position of the range.

  • pRangeEnd[out] A pointer to a double that will contain the end position of the range.

  • pInterval[out] A pointer to a double that will contain the interval between each data point.

WMX3APIFUNC StartPSO(unsigned int channel)

Start a position synchronous output channel. A position synchronous output channel must be started before it controls the output.

Start a position synchronous output channel. A position synchronous output channel must be started before it controls the output.

Parameters:

channel[in] The channel of the position synchronous output. The number of available channels is contained in the maxPsoChannel constant.

WMX3APIFUNC StopPSO(unsigned int channel)

Stop a position synchronous output channel. A stopped position synchronous output channel will stop controlling any outputs.

Stop a position synchronous output channel. A stopped position synchronous output channel will stop controlling any outputs.

Parameters:

channel[in] The channel of the position synchronous output. The number of available channels is contained in the maxPsoChannel constant.

WMX3APIFUNC GetPSOStatus(unsigned int channel, PSOStatus *pStatus)

Get the state of a position synchronous output channel.

Get the state of a position synchronous output channel.

Parameters:
  • channel[in] The channel of the position synchronous output. The number of available channels is contained in the maxPsoChannel constant.

  • pStatus[out] A pointer to a PSOStatus class object that contains the state of the position synchronous output channel.

WMX3APIFUNC SetPlannedVelOverrideConfig(unsigned int channel, ComparisonType::T type, ComparatorSource *pSource, int axis)

Set parameters for a planned velocity override channel. A planned velocity override channel is able to override the velocity of an axis when certain conditions, such as an axis reaching a certain position, are met.

Set parameters for a planned velocity override channel. A planned velocity override channel is able to override the velocity of an axis when certain conditions, such as an axis reaching a certain position, are met.

Parameters:
  • channel[in] The channel of the planned velocity override. The number of available channels is contained in the maxPveloChannel constant.

  • type[in] The type of comparison to perform.

  • pSource[in] A pointer to a ComparatorSource class object that specifies the source to use for the comparison.

  • axis[in] The axis to override the velocity of when the condition yields true.

WMX3APIFUNC GetPlannedVelOverrideConfig(unsigned int channel, ComparisonType::T *pType, ComparatorSource *pSource, int *pAxis)

Get parameters for a planned velocity override channel.

Get parameters for a planned velocity override channel.

Parameters:
  • channel[in] The channel of the planned velocity override. The number of available channels is contained in the maxPveloChannel constant.

  • pType[out] A pointer to a ComparisonType that will contain the type of comparison to perform.

  • pSource[out] A pointer to a ComparatorSource class object that specifies the source to use for the comparison.

  • pAxis[out] A pointer to an int that will contain the axis to override the velocity of when the condition yields true.

WMX3APIFUNC SetPlannedVelOverrideSingleData(unsigned int channel, PlannedVelocityData sData)

Set a single data point for a planned velocity override channel.

Set a single data point for a planned velocity override channel.

This function sets a single data point for a planned velocity override channel. Any data points that have been previously set by the SetPlannedVelOverrideSingleData or SetPlannedVelOverrideMultipleData functions are cleared.

Remark

Parameters:
  • channel[in] The channel of the planned velocity override. The number of available channels is contained in the maxPveloChannel constant.

  • sData[in] The data point as represented by a PlannedVelocityData class object.

WMX3APIFUNC SetPlannedVelOverrideMultipleData(unsigned int channel, int count, PlannedVelocityData *pMData)

Set multiple data points for a planned velocity override channel.

Set multiple data points for a planned velocity override channel.

This function sets multiple data points for a position synchronous output channel. Any data points that have been previously set by the SetPlannedVelOverrideSingleData or SetPlannedVelOverrideMultipleData functions are cleared.

Remark

Parameters:
  • channel[in] The channel of the planned velocity override. The number of available channels is contained in the maxPveloChannel constant.

  • count[in] The number of data points at the memory location pointed by mData. The maximum number of data points is contained in the maxPveloData constant.

  • pMData[in] A pointer to a memory location containing a sequence of data points. Data points are represented by PlannedVelocityData class objects.

WMX3APIFUNC GetPlannedVelOverrideData(unsigned int channel, int *pCount, PlannedVelocityData *pMData, int maxCount)

Get all data points that are currently set for a planned velocity override channel.

Get all data points that are currently set for a planned velocity override channel.

Parameters:
  • channel[in] The channel of the planned velocity override. The number of available channels is contained in the maxPveloChannel constant.

  • pCount[out] A pointer to an int that will contain the number of data points at the memory location pointed by mData. The maximum number of data points is contained in the maxPveloData constant.

  • pMData[out] A pointer to a memory location that will contain the sequence of data points that are currently set for the planned velocity override channel. Enough space to store the maximum number of data points (maxPveloData) must be reserved. Data points are represented PlannedVelocityData class objects.

  • maxCount[in] The maximum count of data to copy into pMData.

WMX3APIFUNC GetPlannedVelOverrideDataCount(unsigned int channel, int *pCount)

Get the number of data points that are currently set for a planned velocity override channel.

Get the number of data points that are currently set for a planned velocity override channel.

Parameters:
  • channel[in] The channel of the planned velocity override. The number of available channels is contained in the maxPveloChannel constant.

  • pCount[out] A pointer to an int that will contain the number of data points that are set for the planned velocity override channel. The maximum number of data points is contained in the constants::maxPveloData.

WMX3APIFUNC StartPlannedVelOverride(unsigned int channel)

Start a planned velocity override channel. A planned velocity override channel must be started before it controls the output.

Start a planned velocity override channel. A planned velocity override channel must be started before it controls the output.

Parameters:

channel[in] The channel of the planned velocity override. The number of available channels is contained in the maxPveloChannel constant.

WMX3APIFUNC StopPlannedVelOverride(unsigned int channel)

Stop a planned velocity override channel. A stopped planned velocity override channel will stop controlling any outputs.

Stop a planned velocity override channel. A stopped planned velocity override channel will stop controlling any outputs.

Parameters:

channel[in] The channel of the planned velocity override. The number of available channels is contained in the maxPveloChannel constant.

WMX3APIFUNC GetPlannedVelOverrideStatus(unsigned int channel, PlannedVelocityStatus *pStatus)

Get the state of a planned velocity override channel.

Get the state of a planned velocity override channel.

Parameters:
  • channel[in] The channel of the planned velocity override. The number of available channels is contained in the maxPveloChannel constant.

  • pStatus[out] A pointer to a PlannedVelocityStatus class object that contains the state of the planned velocity override channel.

Public Static Functions

static WMX3APIFUNC ErrorToString(int errCode, char *pString, unsigned int size)

Get a string representation of the specified error code.

Get a string representation of the specified error code.

This function returns a string representation of the specified error code. The error code must be defined in the EventErrorCode enum or the ErrorCode enum in the WMX3Api.h header. All errors returned by functions in class EventControl will be defined in one of these enums. Errors returned by functions in other classes may not be defined in one of these enums, and when such errors are passed to this function, an ErrorCodeNotDefined error will be returned and pString will contain the string representation of this error.

Remark

If pString is too small to contain the entire string representation of the error code, pString will be set to an empty string. An array size of 256 characters will be enough to hold all string representations.

This function is static, and may be called without declaring an instance of the EventControl class or creating a device.

Parameters:
  • errCode[in] The error code to get the string representation of.

  • pString[in] A char array that will contain the string representation of the error.

  • size[in] The size of the char array in number of characters.

static WMX3APIFUNC ErrorToString(int errCode, wchar_t *pString, unsigned int size)

Get a string representation of the specified error code.

Get a string representation of the specified error code.

This function is a variation of ErrorToString that accepts a wchar_t array. Use this function when using Unicode character sets.

Remark

Parameters:
  • errCode[in] The error code to get the string representation of.

  • pString[in] A wchar_t array that will contain the string representation of the error.

  • size[in] The size of the wchar_t array in number of characters.

static WMX3APIFUNC ApiLogToString(unsigned char *pLogData, unsigned int logDataSize, char *pString, unsigned int size)

Get a string representation of the raw data of an API log.

Get a string representation of the raw data of an API log.

This function converts the raw data for one API function call that was extracted from the API log with the GetApiLogData function.

Remark

Parameters:
  • pLogData[in] A char array containing the raw data.

  • logDataSize[in] The size of the pLogData char array. This size must be equal to or greater than the size of the raw data.

  • pString[out] A char array that will contain the string representation of the raw data of the API log.

  • size[in] The size of the pString char array in number of characters.

static WMX3APIFUNC ApiLogToString(unsigned char *pLogData, unsigned int logDataSize, wchar_t *pString, unsigned int size)

Get a string representation of the raw data of an API log.

Get a string representation of the raw data of an API log.

This function is a variation of ApiLogToString that accepts a wchar_t array. Use this function when using Unicode character sets.

Remark

Parameters:
  • pLogData[in] A char array containing the raw data.

  • logDataSize[in] The size of the char array. This size must be equal to or greater than the size of the raw data.

  • pString[out] A wchar_t array that will contain the string representation of the raw data of the API log.

  • size[out] The size of the pString wchar_t array in number of characters.

static WMX3APIFUNC GetLibVersion(int *pMajorVersion, int *pMinorVersion, int *pRevisionVersion, int *pFixVersion)

Get the version of the module library.

Get the version of the module library.

This function is static, and may be called without declaring an instance of this class or creating a device.

Remark

Parameters:
  • pMajorVersion[out] The major version number.

  • pMinorVersion[out] The minor version number.

  • pRevisionVersion[out] The revision version number.

  • pFixVersion[out] The fix version number.

class ComparatorSource

This class contains data to perform a comparison.

Public Functions

ComparatorSource()
ComparatorSource(ComparatorSourceType::T sourceType, int axis)

Public Members

ComparatorSourceType::T sourceType

The type of source data to compare to.

int axis

The axis to obtain the source data from.

class ComparatorSourceType

This enumerator class enumerates the sources for comparisons.

Public Types

enum T

Values:

enumerator PosCommand

Use the position command of an axis as the source.

enumerator PosFeedback

Use the position feedback of an axis as the source.

enumerator FollowingError

Use the following error of an axis (the difference between the position command and feedback) as the source.

class ComparisonType

This enumerator class enumerates types of comparisons. Comparisons are used to define conditions for certain functions.

Public Types

enum T

Values:

enumerator Disable

The comparison always yields false.

enumerator Equal

The comparison yields true when the source moves past one of the data points. The source is considered to move past a data point if the source is greater than or equal to the data point this cycle and less than that data point in the previous cycle, or if the source is less than or equal to the data point this cycle and greater than that data point in the previous cycle.

enumerator PositiveDirection

This comparison yields true when the source moves past one of the data points while moving in the positive direction. This occurs if the source is greater than or equal to a data point this cycle and less than that data point in the previous cycle.

enumerator NegativeDirection

This comparison yields true when the source moves past one of the data points while moving in the negative direction. This occurs if the source is less than or equal to a data point this cycle and greater than that data point in the previous cycle.

enumerator MoreThan

The comparison yields true when the source is greater than or equal to one of the data points.

enumerator LessThan

The comparison yields true when the source is less than or equal to one of the data points.

class Event

This class defines an event.

Public Functions

Event()

Public Members

EventInputFunction::T inputFunction

The input function of the event. The struct of the “input” union that is used depends on the selection of the input function.

union wmx3Api::EventControl::Event::InputFunctionArguments input

Arguments for the input function of the event.

EventOutputFunction::T outputFunction

The output function of the event. The struct of the “output” union that is used depends on the selection of the output function.

union wmx3Api::EventControl::Event::OutputFunctionArguments output

Arguments for the output function of the event.

unsigned char enabled

0: Event is disabled, 1: Event is enabled. If this class is used as a parameter for the SetEvent function, this value determines the initial enabled state of the event. If this class is used as a parameter for the GetEvent function, this value will contain the current enabled state of the event.

union InputFunctionArguments

This union defines the structs containing arguments for each input function type.

Public Functions

InputFunctionArguments()

Public Members

struct wmx3Api::EventControl::Event::InputFunctionArguments::None none
struct wmx3Api::EventControl::Event::InputFunctionArguments::IOBit ioBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::NotIOBit notIOBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::OrIOBit orIOBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::AndIOBit andIOBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::XorIOBit xorIOBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::NandIOBit nandIOBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::NorIOBit norIOBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::XnorIOBit xnorIOBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::DelayIOBit delayIOBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::MBit mBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::NotMBit notMBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::OrMBit orMBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::AndMBit andMBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::XorMBit xorMBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::NandMBit nandMBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::NorMBit norMBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::XnorMBit xnorMBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::DelayMBit delayMBit
struct wmx3Api::EventControl::Event::InputFunctionArguments::AnotherEvent anotherEvent
struct wmx3Api::EventControl::Event::InputFunctionArguments::DelayAnotherEvent delayAnotherEvent
struct wmx3Api::EventControl::Event::InputFunctionArguments::EqualPos equalPos
struct wmx3Api::EventControl::Event::InputFunctionArguments::GreaterPos greaterPos
struct wmx3Api::EventControl::Event::InputFunctionArguments::LessPos lessPos
struct wmx3Api::EventControl::Event::InputFunctionArguments::EqualVelocity equalVelocity
struct wmx3Api::EventControl::Event::InputFunctionArguments::GreaterVelocity greaterVelocity
struct wmx3Api::EventControl::Event::InputFunctionArguments::LessVelocity lessVelocity
struct wmx3Api::EventControl::Event::InputFunctionArguments::EqualTrq equalTrq
struct wmx3Api::EventControl::Event::InputFunctionArguments::GreaterTrq greaterTrq
struct wmx3Api::EventControl::Event::InputFunctionArguments::LessTrq lessTrq
struct wmx3Api::EventControl::Event::InputFunctionArguments::OpState opState
struct wmx3Api::EventControl::Event::InputFunctionArguments::PosSET posSET
struct wmx3Api::EventControl::Event::InputFunctionArguments::DelayedPosSET delayedPosSET
struct wmx3Api::EventControl::Event::InputFunctionArguments::CommandDistributedEnd commandDistributedEnd
struct wmx3Api::EventControl::Event::InputFunctionArguments::RemainingTime remainingTime
struct wmx3Api::EventControl::Event::InputFunctionArguments::RemainingDistance remainingDistance
struct wmx3Api::EventControl::Event::InputFunctionArguments::CompletedTime completedTime
struct wmx3Api::EventControl::Event::InputFunctionArguments::CompletedDistance completedDistance
struct AndIOBit

This structure contains arguments for the AndIOBit input function type.

Public Members

unsigned int byteAddress[2]

The byte address of the first I/O bit is specified in byteAddress[0]. The byte address of the second I/O bit is specified in byteAddress[1].

unsigned char bitAddress[2]

The bit address of the first I/O bit is specified in bitAddress[0]. The bit address of the second I/O bit is specified in bitAddress[1].

unsigned char invert[2]

If invert[0] is set to 1, the value of the first I/O bit will be inverted when calculating the event trigger. If invert[0] is set to 0, the first I/O bit is processed normally. If invert[1] is set to 1, the value of the second I/O bit will be inverted when calculating the event trigger. If invert[1] is set to 0, the second I/O bit is processed normally.

IOSourceType::T ioSourceType[2]

Determines the source of the I/O (input or output). ioSourceType[0] corresponds to the first I/O bit and ioSourceType[1] corresponds to the second I/O bit.

struct AndMBit

This structure contains arguments for the AndMBit input function type.

Public Members

unsigned int byteAddress[2]

The byte address of the first user memory bit is specified in byteAddress[0]. The byte address of the second user memory bit is specified in byteAddress[1].

unsigned char bitAddress[2]

The bit address of the first user memory bit is specified in bitAddress[0]. The bit address of the second user memory bit is specified in bitAddress[1].

unsigned char invert[2]

If invert[0] is set to 1, the value of the first user memory bit will be inverted when calculating the event trigger. If invert[0] is set to 0, the first user memory bit is processed normally. If invert[1] is set to 1, the value of the second user memory bit will be inverted when calculating the event trigger. If invert[1] is set to 0, the second user memory bit is processed normally.

struct AnotherEvent

This structure contains arguments for the AnotherEvent input function type.

Public Members

unsigned int eventID

The id number of the other event.

unsigned char invert

If set to 1, the result of the input function of the other event is inverted. This event will trigger when the other event would not trigger, and this event will not trigger when the other event would trigger. If set to 0, the result of the input function of the other event is processed normally.

struct CommandDistributedEnd

This structure contains arguments for the CommandDistributedEnd input function type.

Public Members

unsigned int axis

The axis to monitor.

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis command distribution end signal is 0. If set to 0, the input function is processed normally.

struct CompletedDistance

This structure contains arguments for the CompletedDistance input function type.

Public Members

unsigned int axis

The axis to monitor.

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis completed distance for the position command is less than the specified value. The event will not trigger if the axis is not executing a position command. If set to 0, the input function is processed normally.

double distance

The distance at which the event output will trigger, in user units.

unsigned char disableIdleAxisTrigger

If set to 1, the event will not trigger while the axis is in the Idle operation state. If set to 0, the event will trigger when the axis is in the Idle operation state.

struct CompletedTime

This structure contains arguments for the CompletedTime input function type.

Public Members

unsigned int axis

The axis to monitor.

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis elapsed time for the position command is less than the specified value. The event will not trigger if the axis is not executing a position command. If set to 0, the input function is processed normally.

double timeMilliseconds

The time at which the event output will trigger, in units of milliseconds.

unsigned char disableIdleAxisTrigger

If set to 1, the event will not trigger while the axis is in the Idle operation state. If set to 0, the event will trigger when the axis is in the Idle operation state.

struct DelayAnotherEvent

This structure contains arguments for the DelayAnotherEvent input function type.

Public Members

unsigned int eventID

The id nunmber of the other event.

unsigned char invert

If set to 1, the result of the input function of the other event is inverted. This event will trigger when the other event would not trigger (continuously for the specified period of time), and this event will not trigger when the other event would trigger. If set to 0, the result of the input function of the other event is processed normally.

unsigned int delayTime

The delay time in units of milliseconds.

struct DelayedPosSET

This structure contains arguments for the DelayedPosSET input function type.

Public Members

unsigned int axis

The axis to monitor.

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis delayed position set signal is 0. If set to 0, the input function is processed normally.

struct DelayIOBit

This structure contains arguments for the DelayIOBit input function type.

Public Members

unsigned int byteAddress

The byte address of the I/O bit.

unsigned char bitAddress

The bit address of the I/O bit.

unsigned char invert

If set to 1, the value of the I/O bit will be inverted when calculating the event trigger. The input function will trigger the event output when the I/O bit is continuously 0 for the specified period of time. If set to 0, the I/O bit is processed normally.

IOSourceType::T ioSourceType

Determines the source of the I/O (input or output).

unsigned int delayTime

The delay time in units of milliseconds.

struct DelayMBit

This structure contains arguments for the DelayMBit input function type.

Public Members

unsigned int byteAddress

The byte address of the user memory bit.

unsigned char bitAddress

The bit address of the user memory bit.

unsigned char invert

If set to 1, the value of the user memory bit will be inverted when calculating the event trigger. The input function will trigger the event output when the user memory bit is continuously 0 for the specified period of time. If set to 0, the user memory bit is processed normally.

unsigned int delayTime

The delay time in units of milliseconds.

struct EqualPos

This structure contains arguments for the EqualPos input function type.

Public Members

unsigned int axis

The axis to monitor.

double pos

The position at which the event output will trigger.

unsigned char disablePositiveDirection

If 0, process the input function normally. If 1, the event output will not trigger when the specified axis passes through the specified position while traveling in the positive direction.

unsigned char disableNegativeDirection

If 0, process the input function normally. If 1, the event output will not trigger when the specified axis passes through the specified position while traveling in the negative direction.

unsigned char useFeedback

If 0, the command position will be monitored. If 1, the feedback position will be monitored.

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis is not at the specified position and is not passing the specified position. If set to 0, the input function is processed normally.

unsigned char enableTolerance

If set to 1, the tolerance parameter determines the difference between the specified position and the position of the axis below which the event output will trigger. If set to 0, the tolerance will be set to the default value of 0.5 user units.

double tolerance

If the enableTolerance parameter is set to 1, this parameter determines the difference between the specified position and the position of the axis below which the event output will trigger. This parameter is specified in units of user units.

struct EqualTrq

This structure contains arguments for the EqualTrq input function type.

Public Members

unsigned int axis

The axis to monitor.

double trq

The torque at which the event output will trigger. The torque is specified in units of [%].

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis is not at the specified torque. If set to 0, the input function is processed normally.

unsigned char enableTolerance

If set to 1, the tolerance parameter determines the difference between the specified torque and the torque of the axis below which the event output will trigger. If set to 0, the tolerance will be set to the default value of 0.5 (in 0.1% units, indicating a tolerance of 0.05%).

double tolerance

If the enableTolerance parameter is set to 1, this parameter determines the difference between the specified torque and the torque of the axis below which the event output will trigger. This parameter is specified in 0.1% units.

unsigned char enableUnsigned

If set to 1, the trq parameter is specified as an unsigned value. The input function is evaluated using the absolute value of the axis torque. If set to 0, the trq parameter is specified as a signed value. The input function is evaluated using the axis torque that is negative when applied in the negative direction.

struct EqualVelocity

This structure contains arguments for the EqualVelocity input function type.

Public Members

unsigned int axis

The axis to monitor.

double velocity

The velocity at which the event output will trigger.

unsigned char useFeedback

If 0, the command velocity will be monitored. If 1, the feedback velocity will be monitored.

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis is not at the specified velocity. If set to 0, the input function is processed normally.

unsigned char enableTolerance

If set to 1, the tolerance parameter determines the difference between the specified velocity and the velocity of the axis below which the event output will trigger. If set to 0, the tolerance will be set to the default value of 0.5 user units per second.

double tolerance

If the enableTolerance parameter is set to 1, this parameter determines the difference between the specified velocity and the velocity of the axis below which the event output will trigger. This parameter is specified in units of user units per second.

unsigned char enableUnsigned

If set to 1, the velocity parameter is specified as an unsigned value. The input function is evaluated using the absolute value of the axis velocity. If set to 0, the velocity parameter is specified as a signed value. The input function is evaluated using the axis velocity that is negative when traveling in the negative direction.

struct GreaterPos

This structure contains arguments for the GreaterPos input function type.

Public Members

unsigned int axis

The axis to monitor.

double pos

The position at which the event output will trigger.

unsigned char disablePositiveDirection

If 0, process the input function normally. If 1, the event output will not trigger while the axis is stationary or traveling in the positive direction.

unsigned char disableNegativeDirection

If 0, process the input function normally. If 1, the event output will not trigger while the axis is stationary or traveling in the negative direction.

unsigned char useFeedback

If 0, the command position will be monitored. If 1, the feedback position will be monitored.

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis position is not greater than the specified position. If set to 0, the input function is processed normally.

struct GreaterTrq

This structure contains arguments for the GreaterTrq input function type.

Public Members

unsigned int axis

The axis to monitor.

double trq

The torque at which the event output will trigger. The torque is specified in units of [%].

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis torque is not greater than the specified torque. If set to 0, the input function is processed normally.

unsigned char enableUnsigned

If set to 1, the trq parameter is specified as an unsigned value. The input function is evaluated using the absolute value of the axis torque. If set to 0, the trq parameter is specified as a signed value. The input function is evaluated using the axis torque that is negative when applied in the negative direction.

struct GreaterVelocity

This structure contains arguments for the GreaterVelocity input function type.

Public Members

unsigned int axis

The axis to monitor.

double velocity

The velocity at which the event output will trigger.

unsigned char useFeedback

If 0, the command velocity will be monitored. If 1, the feedback velocity will be monitored.

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis velocity is not greater than the specified velocity. If set to 0, the input function is processed normally.

unsigned char enableUnsigned

If set to 1, the velocity parameter is specified as an unsigned value. The input function is evaluated using the absolute value of the axis velocity. If set to 0, the velocity parameter is specified as a signed value. The input function is evaluated using the axis velocity that is negative when traveling in the negative direction.

struct IOBit

This structure contains arguments for the IOBit input function type.

Public Members

unsigned int byteAddress

The byte address of the I/O bit.

unsigned char bitAddress

The bit address of the I/O bit.

unsigned char invert

If set to 1, the value of the I/O bit will be inverted when calculating the event trigger. The input function will trigger the event output when the I/O bit is 0. If set to 0, the I/O bit is processed normally.

IOSourceType::T ioSourceType

Determines the source of the I/O (input or output).

struct LessPos

This structure contains arguments for the LessPos input function type.

Public Members

unsigned int axis

The axis to monitor.

double pos

The position at which the event output will trigger.

unsigned char disablePositiveDirection

If 0, process the input function normally. If 1, the event output will not trigger while the axis is stationary or traveling in the positive direction.

unsigned char disableNegativeDirection

If 0, process the input function normally. If 1, the event output will not trigger while the axis is stationary or traveling in the negative direction.

unsigned char useFeedback

If 0, the command position will be monitored. If 1, the feedback position will be monitored.

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis position is not less than the specified position. If set to 0, the input function is processed normally.

struct LessTrq

This structure contains arguments for the LessTrq input function type.

Public Members

unsigned int axis

The axis to monitor.

double trq

The torque at which the event output will trigger. The torque is specified in units of [%].

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis torque is not less than the specified torque. If set to 0, the input function is processed normally.

unsigned char enableUnsigned

If set to 1, the trq parameter is specified as an unsigned value. The input function is evaluated using the absolute value of the axis torque. If set to 0, the trq parameter is specified as a signed value. The input function is evaluated using the axis torque that is negative when applied in the negative direction.

struct LessVelocity

This structure contains arguments for the LessVelocity input function type.

Public Members

unsigned int axis

The axis to monitor.

double velocity

The velocity at which the event output will trigger.

unsigned char useFeedback

If 0, the command velocity will be monitored. If 1, the feedback velocity will be monitored.

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis velocity is not less than the specified velocity. If set to 0, the input function is processed normally.

unsigned char enableUnsigned

If set to 1, the velocity parameter is specified as an unsigned value. The input function is evaluated using the absolute value of the axis velocity. If set to 0, the velocity parameter is specified as a signed value. The input function is evaluated using the axis velocity that is negative when traveling in the negative direction.

struct MBit

This structure contains arguments for the MBit input function type.

Public Members

unsigned int byteAddress

The byte address of the user memory bit.

unsigned char bitAddress

The bit address of the user memory bit.

unsigned char invert

If set to 1, the value of the user memory bit will be inverted when calculating the event trigger. The input function will trigger the event output when the user memory bit is 0. If set to 0, the user memory bit is processed normally.

struct NandIOBit

This structure contains arguments for the NandIOBit input function type.

Public Members

unsigned int byteAddress[2]

The byte address of the first I/O bit is specified in byteAddress[0]. The byte address of the second I/O bit is specified in byteAddress[1].

unsigned char bitAddress[2]

The bit address of the first I/O bit is specified in bitAddress[0]. The bit address of the second I/O bit is specified in bitAddress[1].

unsigned char invert[2]

If invert[0] is set to 1, the value of the first I/O bit will be inverted when calculating the event trigger. If invert[0] is set to 0, the first I/O bit is processed normally. If invert[1] is set to 1, the value of the second I/O bit will be inverted when calculating the event trigger. If invert[1] is set to 0, the second I/O bit is processed normally.

IOSourceType::T ioSourceType[2]

Determines the source of the I/O (input or output). ioSourceType[0] corresponds to the first I/O bit and ioSourceType[1] corresponds to the second I/O bit.

struct NandMBit

This structure contains arguments for the NandMBit input function type.

Public Members

unsigned int byteAddress[2]

The byte address of the first user memory bit is specified in byteAddress[0]. The byte address of the second user memory bit is specified in byteAddress[1].

unsigned char bitAddress[2]

The bit address of the first user memory bit is specified in bitAddress[0]. The bit address of the second user memory bit is specified in bitAddress[1].

unsigned char invert[2]

If invert[0] is set to 1, the value of the first user memory bit will be inverted when calculating the event trigger. If invert[0] is set to 0, the first user memory bit is processed normally. If invert[1] is set to 1, the value of the second user memory bit will be inverted when calculating the event trigger. If invert[1] is set to 0, the second user memory bit is processed normally.

struct None

This structure contains arguments for the None input function type.

Public Members

unsigned int reserved

Reserved.

struct NorIOBit

This structure contains arguments for the NorIOBit input function type.

Public Members

unsigned int byteAddress[2]

The byte address of the first I/O bit is specified in byteAddress[0]. The byte address of the second I/O bit is specified in byteAddress[1].

unsigned char bitAddress[2]

The bit address of the first I/O bit is specified in bitAddress[0]. The bit address of the second I/O bit is specified in bitAddress[1].

unsigned char invert[2]

If invert[0] is set to 1, the value of the first I/O bit will be inverted when calculating the event trigger. If invert[0] is set to 0, the first I/O bit is processed normally. If invert[1] is set to 1, the value of the second I/O bit will be inverted when calculating the event trigger. If invert[1] is set to 0, the second I/O bit is processed normally.

IOSourceType::T ioSourceType[2]

Determines the source of the I/O (input or output). ioSourceType[0] corresponds to the first I/O bit and ioSourceType[1] corresponds to the second I/O bit.

struct NorMBit

This structure contains arguments for the NorMBit input function type.

Public Members

unsigned int byteAddress[2]

The byte address of the first user memory bit is specified in byteAddress[0]. The byte address of the second user memory bit is specified in byteAddress[1].

unsigned char bitAddress[2]

The bit address of the first user memory bit is specified in bitAddress[0]. The bit address of the second user memory bit is specified in bitAddress[1].

unsigned char invert[2]

If invert[0] is set to 1, the value of the first user memory bit will be inverted when calculating the event trigger. If invert[0] is set to 0, the first user memory bit is processed normally. If invert[1] is set to 1, the value of the second user memory bit will be inverted when calculating the event trigger. If invert[1] is set to 0, the second user memory bit is processed normally.

struct NotIOBit

This structure contains arguments for the NotIOBit input function type.

Public Members

unsigned int byteAddress

The byte address of the I/O bit.

unsigned char bitAddress

The bit address of the I/O bit.

unsigned char invert

If set to 1, the value of the I/O bit will be inverted when calculating the event trigger. The input function will trigger the event output when the I/O bit is 1. If set to 0, the I/O bit is processed normally.

IOSourceType::T ioSourceType

Determines the source of the I/O (input or output).

struct NotMBit

This structure contains arguments for the NotMBit input function type.

Public Members

unsigned int byteAddress

The byte address of the user memory bit.

unsigned char bitAddress

The bit address of the user memory bit.

unsigned char invert

If set to 1, the value of the user memory bit will be inverted when calculating the event trigger. The input function will trigger the event output when the user memory bit is 1. If set to 0, the user memory bit is processed normally.

struct OpState

This structure contains arguments for the OpState input function type.

Public Members

unsigned int axis

The axis to monitor.

OperationState::T opState

The operation state at which the event output will trigger.

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis operation state is not the specified operation state. If set to 0, the input function is processed normally.

struct OrIOBit

This structure contains arguments for the OrIOBit input function type.

Public Members

unsigned int byteAddress[2]

The byte address of the first I/O bit is specified in byteAddress[0]. The byte address of the second I/O bit is specified in byteAddress[1].

unsigned char bitAddress[2]

The bit address of the first I/O bit is specified in bitAddress[0]. The bit address of the second I/O bit is specified in bitAddress[1].

unsigned char invert[2]

If invert[0] is set to 1, the value of the first I/O bit will be inverted when calculating the event trigger. If invert[0] is set to 0, the first I/O bit is processed normally. If invert[1] is set to 1, the value of the second I/O bit will be inverted when calculating the event trigger. If invert[1] is set to 0, the second I/O bit is processed normally.

IOSourceType::T ioSourceType[2]

Determines the source of the I/O (input or output). ioSourceType[0] corresponds to the first I/O bit and ioSourceType[1] corresponds to the second I/O bit.

struct OrMBit

This structure contains arguments for the OrMBit input function type.

Public Members

unsigned int byteAddress[2]

The byte address of the first user memory bit is specified in byteAddress[0]. The byte address of the second user memory bit is specified in byteAddress[1].

unsigned char bitAddress[2]

The bit address of the first user memory bit is specified in bitAddress[0]. The bit address of the second user memory bit is specified in bitAddress[1].

unsigned char invert[2]

If invert[0] is set to 1, the value of the first user memory bit will be inverted when calculating the event trigger. If invert[0] is set to 0, the first user memory bit is processed normally. If invert[1] is set to 1, the value of the second user memory bit will be inverted when calculating the event trigger. If invert[1] is set to 0, the second user memory bit is processed normally.

struct PosSET

This structure contains arguments for the PosSET input function type.

Public Members

unsigned int axis

The axis to monitor.

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis position set signal is 0. If set to 0, the input function is processed normally.

struct RemainingDistance

This structure contains arguments for the RemainingDistance input function type.

Public Members

unsigned int axis

The axis to monitor.

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis remaining distance for the position command is greater than the specified value. The event will not trigger if the axis is not executing a position command. If set to 0, the input function is processed normally.

double distance

The distance at which the event output will trigger, in user units.

unsigned char disableIdleAxisTrigger

If set to 1, the event will not trigger while the axis is in the Idle operation state. If set to 0, the event will trigger when the axis is in the Idle operation state.

struct RemainingTime

This structure contains arguments for the RemainingTime input function type.

Public Members

unsigned int axis

The axis to monitor.

unsigned char invert

If set to 1, the logic of the input function is inverted. The event will trigger when the axis remaining time for the position command is greater than the specified value. The event will not trigger if the axis is not executing a position command. If set to 0, the input function is processed normally.

double timeMilliseconds

The time at which the event output will trigger, in units of milliseconds.

unsigned char disableIdleAxisTrigger

If set to 1, the event will not trigger while the axis is in the Idle operation state. If set to 0, the event will trigger when the axis is in the Idle operation state.

struct XnorIOBit

This structure contains arguments for the XnorIOBit input function type.

Public Members

unsigned int byteAddress[2]

The byte address of the first I/O bit is specified in byteAddress[0]. The byte address of the second I/O bit is specified in byteAddress[1].

unsigned char bitAddress[2]

The bit address of the first I/O bit is specified in bitAddress[0]. The bit address of the second I/O bit is specified in bitAddress[1].

unsigned char invert[2]

If invert[0] is set to 1, the value of the first I/O bit will be inverted when calculating the event trigger. If invert[0] is set to 0, the first I/O bit is processed normally. If invert[1] is set to 1, the value of the second I/O bit will be inverted when calculating the event trigger. If invert[1] is set to 0, the second I/O bit is processed normally.

IOSourceType::T ioSourceType[2]

Determines the source of the I/O (input or output). ioSourceType[0] corresponds to the first I/O bit and ioSourceType[1] corresponds to the second I/O bit.

struct XnorMBit

This structure contains arguments for the XnorMBit input function type.

Public Members

unsigned int byteAddress[2]

The byte address of the first user memory bit is specified in byteAddress[0]. The byte address of the second user memory bit is specified in byteAddress[1].

unsigned char bitAddress[2]

The bit address of the first user memory bit is specified in bitAddress[0]. The bit address of the second user memory bit is specified in bitAddress[1].

unsigned char invert[2]

If invert[0] is set to 1, the value of the first user memory bit will be inverted when calculating the event trigger. If invert[0] is set to 0, the first user memory bit is processed normally. If invert[1] is set to 1, the value of the second user memory bit will be inverted when calculating the event trigger. If invert[1] is set to 0, the second user memory bit is processed normally.

struct XorIOBit

This structure contains arguments for the XorIOBit input function type.

Public Members

unsigned int byteAddress[2]

The byte address of the first I/O bit is specified in byteAddress[0]. The byte address of the second I/O bit is specified in byteAddress[1].

unsigned char bitAddress[2]

The bit address of the first I/O bit is specified in bitAddress[0]. The bit address of the second I/O bit is specified in bitAddress[1].

unsigned char invert[2]

If invert[0] is set to 1, the value of the first I/O bit will be inverted when calculating the event trigger. If invert[0] is set to 0, the first I/O bit is processed normally. If invert[1] is set to 1, the value of the second I/O bit will be inverted when calculating the event trigger. If invert[1] is set to 0, the second I/O bit is processed normally.

IOSourceType::T ioSourceType[2]

Determines the source of the I/O (input or output). ioSourceType[0] corresponds to the first I/O bit and ioSourceType[1] corresponds to the second I/O bit.

struct XorMBit

This structure contains arguments for the XorMBit input function type.

Public Members

unsigned int byteAddress[2]

The byte address of the first user memory bit is specified in byteAddress[0]. The byte address of the second user memory bit is specified in byteAddress[1].

unsigned char bitAddress[2]

The bit address of the first user memory bit is specified in bitAddress[0]. The bit address of the second user memory bit is specified in bitAddress[1].

unsigned char invert[2]

If invert[0] is set to 1, the value of the first user memory bit will be inverted when calculating the event trigger. If invert[0] is set to 0, the first user memory bit is processed normally. If invert[1] is set to 1, the value of the second user memory bit will be inverted when calculating the event trigger. If invert[1] is set to 0, the second user memory bit is processed normally.

union OutputFunctionArguments

This union defines the structs containing arguments for each output function type.

Public Functions

OutputFunctionArguments()

Public Members

struct wmx3Api::EventControl::Event::OutputFunctionArguments::None none
struct wmx3Api::EventControl::Event::OutputFunctionArguments::SetIOOutBit setIOOutBit
struct wmx3Api::EventControl::Event::OutputFunctionArguments::SetMBit setMBit
struct wmx3Api::EventControl::Event::OutputFunctionArguments::EnableAnotherEvent enableAnotherEvent
struct wmx3Api::EventControl::Event::OutputFunctionArguments::StopSingleAxis stopSingleAxis
struct wmx3Api::EventControl::Event::OutputFunctionArguments::StartSinglePos startSinglePos
struct wmx3Api::EventControl::Event::OutputFunctionArguments::StartSingleMov startSingleMov
struct wmx3Api::EventControl::Event::OutputFunctionArguments::StartMultiplePos startMultiplePos
struct wmx3Api::EventControl::Event::OutputFunctionArguments::StartMultipleMov startMultipleMov
struct wmx3Api::EventControl::Event::OutputFunctionArguments::LinearIntplPos linearIntplPos
struct wmx3Api::EventControl::Event::OutputFunctionArguments::LinearIntplMov linearIntplMov
struct wmx3Api::EventControl::Event::OutputFunctionArguments::StartAPIBuffer startAPIBuffer
struct wmx3Api::EventControl::Event::OutputFunctionArguments::ExecQuickStopSingleAxis execQuickStopSingleAxis
struct wmx3Api::EventControl::Event::OutputFunctionArguments::OverrideVelSingleAxis overrideVelSingleAxis
struct wmx3Api::EventControl::Event::OutputFunctionArguments::ExecEStop execEStop
struct wmx3Api::EventControl::Event::OutputFunctionArguments::TriggerFlightRecorder triggerFlightRecorder
struct wmx3Api::EventControl::Event::OutputFunctionArguments::ResetFlightRecorder resetFlightRecorder
struct EnableAnotherEvent

This structure contains arguments for the EnableAnotherEvent output function type.

Public Members

unsigned int eventID

The event ID of the event to enable or disable.

unsigned char invert

If set to 1, the specified event is disabled when this event is triggered. If set to 0, the specified event is enabled normally.

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

unsigned char setOffState

If set to 1, the specified event is disabled when the input function is FALSE (i.e. when the event is not triggered), in addition to the specified event being enabled when the input function is TRUE (i.e. when the event is triggered). Once the specified event is disabled this way, this event output function will not disable it again until the input function becomes TRUE and then FALSE again (so the event enabled state may be overwritten by other functions). If the invert parameter is set to 1, the specified evevnt will be enabled when the input function is FALSE and disabled when the input function is TRUE. If this parameter is set to 0, the specified event will only be enabled when this event is triggered.

struct ExecEStop

This structure contains arguments for the ExecEStop output function type.

Public Members

EStopLevel::T eStopLevel

The level of the emergency stop.

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

struct ExecQuickStopSingleAxis

This structure contains arguments for the ExecQuickStopSingleAxis output function type.

Public Members

int axis

The axis to stop.

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

struct LinearIntplMov

This structure contains arguments for the LinearIntplMov output function type.

Public Members

unsigned int axisCount

The number of axes of the motion.

int axis[constants::maxEventInterpolationAxes]

The axes of the motion.

double target[constants::maxEventInterpolationAxes]

The target positions of the motion.

double maxVelocity[constants::maxEventInterpolationAxes]

The maximum velocities of the motion.

double maxAcc[constants::maxEventInterpolationAxes]

The maximum accelerations of the motion.

double maxDec[constants::maxEventInterpolationAxes]

The maximum decelerations of the motion.

double maxJerkAcc[constants::maxEventInterpolationAxes]

The maximum acceleration jerks of the motion.

double maxJerkDec[constants::maxEventInterpolationAxes]

The maximum deceleration jerks of the motion.

ProfileType::T type

The profile of the motion.

double velocity

The velocity of the motion.

double acc

The composite acceleration of the motion.

double dec

The composite deceleration of the motion.

double jerkAcc

The composite acceleration jerk of the motion.

double jerkDec

The composite deceleration jerk of the motion.

double jerkAccRatio

The composite acceleration jerk ratio of the motion.

double jerkDecRatio

The composite deceleration jerk ratio of the motion.

double accTime

The composite acceleration time of the motion.

double decTime

The composite deceleration time of the motion.

double startingVelocity

The composite starting velocity of the motion.

double endVelocity

The composite end velocity of the motion.

double secondVelocity

The composite second velocity of the motion.

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

struct LinearIntplPos

This structure contains arguments for the LinearIntplPos output function type.

Public Members

unsigned int axisCount

The number of axes of the motion.

int axis[constants::maxEventInterpolationAxes]

The axes of the motion.

double target[constants::maxEventInterpolationAxes]

The target positions of the motion.

double maxVelocity[constants::maxEventInterpolationAxes]

The maximum velocities of the motion.

double maxAcc[constants::maxEventInterpolationAxes]

The maximum accelerations of the motion.

double maxDec[constants::maxEventInterpolationAxes]

The maximum decelerations of the motion.

double maxJerkAcc[constants::maxEventInterpolationAxes]

The maximum acceleration jerks of the motion.

double maxJerkDec[constants::maxEventInterpolationAxes]

The maximum deceleration jerks of the motion.

ProfileType::T type

The profile of the motion.

double velocity

The composite velocity of the motion.

double acc

The composite acceleration of the motion.

double dec

The composite deceleration of the motion.

double jerkAcc

The composite acceleration jerk of the motion.

double jerkDec

The composite deceleration jerk of the motion.

double jerkAccRatio

The composite acceleration jerk ratio of the motion.

double jerkDecRatio

The composite deceleration jerk ratio of the motion.

double accTime

The composite acceleration time of the motion.

double decTime

The composite deceleration time of the motion.

double startingVelocity

The composite starting velocity of the motion.

double endVelocity

The composite end velocity of the motion.

double secondVelocity

The composite second velocity of the motion.

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

struct None

This structure contains arguments for the None output function type.

Public Members

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

struct OverrideVelSingleAxis

This structure contains arguments for the OverrideVelSingleAxis output function type.

Public Members

int axis

The axis to stop.

double velocity

The velocity of the motion.

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

struct ResetFlightRecorder

This structure contains arguments for the ResetFlightRecorder output function type.

Public Members

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

struct SetIOOutBit

This structure contains arguments for the SetIOOutBit output function type.

Public Members

unsigned int byteAddress

The byte address of the I/O output bit.

unsigned char bitAddress

The bit address of the I/O output bit.

unsigned char invert

If set to 1, the I/O output bit will be set to 0 when the event is triggered. If set to 0, the I/O output bit will be set to 1 normally.

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

unsigned char setOffState

If set to 1, the I/O output bit will be set to 0 when the input function is FALSE (i.e. when the event is not triggered), in addition to the I/O output bit being set to 1 when the input function is TRUE (i.e. when the event is triggered). Once the I/O output bit is set to 0 this way, this event output function will not be set it to 0 again until the input function becomes TRUE and then FALSE again (so the I/O output bit may be overwritten by other functions). If the invert parameter is set to 1, the I/O output bit will be set to 1 when the input function is FALSE and set 0 when the input function is TRUE. If this parameter is set to 0, the I/O output bit will only be set when the event is triggered.

struct SetMBit

This structure contains arguments for the SetMBit output function type.

Public Members

unsigned int byteAddress

The byte address of the user memory bit.

unsigned char bitAddress

The bit address of the user memory bit.

unsigned char invert

If set to 1, the user memory bit is set to 0 when the event is triggered. If set to 0, the user memory bit will be set to 1 normally.

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

unsigned char setOffState

If set to 1, the user memory bit will be set to 0 when the input function is FALSE (i.e. when the event is not triggered), in addition to the user memory bit being set to 1 when the input function is TRUE (i.e. when the event is triggered). Once the user memory bit is set to 0 this way, this event output function will not be set it to 0 again until the input function becomes TRUE and then FALSE again (so the user memory bit may be overwritten by other functions). If the invert parameter is set to 1, the user memory bit will be set to 1 when the input function is FALSE and set to 0 when the input function is TRUE. If this parameter is set to 0, the user memory bit will only be set when the event is triggered.

struct StartAPIBuffer

This structure contains arguments for the StartAPIBuffer output function type.

Public Members

unsigned int channel

The channel of the API buffer.

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

struct StartMultipleMov

This structure contains arguments for the StartMultipleMov output function type.

Public Members

unsigned int axisCount

The number of axes of the motion.

int axis[constants::maxEventInterpolationAxes]

The axes of the motion.

double target[constants::maxEventInterpolationAxes]

The target positions of the motion.

ProfileType::T type[constants::maxEventInterpolationAxes]

The profiles of the motion.

double velocity[constants::maxEventInterpolationAxes]

The velocities of the motion.

double acc[constants::maxEventInterpolationAxes]

The accelerations of the motion.

double dec[constants::maxEventInterpolationAxes]

The decelerations of the motion.

double jerkAcc[constants::maxEventInterpolationAxes]

The acceleration jerks of the motion.

double jerkDec[constants::maxEventInterpolationAxes]

The deceleration jerks of the motion.

double jerkAccRatio[constants::maxEventInterpolationAxes]

The acceleration jerk ratios of the motion.

double jerkDecRatio[constants::maxEventInterpolationAxes]

The deceleration jerk ratios of the motion.

double accTime[constants::maxEventInterpolationAxes]

The acceleration times of the motion.

double decTime[constants::maxEventInterpolationAxes]

The deceleration times of the motion.

double startingVelocity[constants::maxEventInterpolationAxes]

The starting velocities of the motion.

double endVelocity[constants::maxEventInterpolationAxes]

The end velocities of the motion.

double secondVelocity[constants::maxEventInterpolationAxes]

The second velocities of the motion.

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

struct StartMultiplePos

This structure contains arguments for the StartMultiplePos output function type.

Public Members

unsigned int axisCount

The number of axes of the motion.

int axis[constants::maxEventInterpolationAxes]

The axes of the motion.

double target[constants::maxEventInterpolationAxes]

The target positions of the motion.

ProfileType::T type[constants::maxEventInterpolationAxes]

The profiles of the motion.

double velocity[constants::maxEventInterpolationAxes]

The velocities of the motion.

double acc[constants::maxEventInterpolationAxes]

The accelerations of the motion.

double dec[constants::maxEventInterpolationAxes]

The decelerations of the motion.

double jerkAcc[constants::maxEventInterpolationAxes]

The acceleration jerks of the motion.

double jerkDec[constants::maxEventInterpolationAxes]

The deceleration jerks of the motion.

double jerkAccRatio[constants::maxEventInterpolationAxes]

The acceleration jerk ratios of the motion.

double jerkDecRatio[constants::maxEventInterpolationAxes]

The deceleration jerk ratios of the motion.

double accTime[constants::maxEventInterpolationAxes]

The acceleration times of the motion.

double decTime[constants::maxEventInterpolationAxes]

The deceleration times of the motion.

double startingVelocity[constants::maxEventInterpolationAxes]

The starting velocities of the motion.

double endVelocity[constants::maxEventInterpolationAxes]

The end velocities of the motion.

double secondVelocity[constants::maxEventInterpolationAxes]

The second velocities of the motion.

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

struct StartSingleMov

This structure contains arguments for the StartSingleMov output function type.

Public Members

int axis

The axis of the motion.

double target

The target position of the motion.

ProfileType::T type

The profile of the motion.

double velocity

The velocity of the motion.

double acc

The acceleration of the motion.

double dec

The deceleration of the motion.

double jerkAcc

The acceleration jerk of the motion.

double jerkDec

The deceleration jerk of the motion.

double jerkAccRatio

The acceleration jerk ratio of the motion.

double jerkDecRatio

The deceleration jerk ratio of the motion.

double accTime

The acceleration time of the motion.

double decTime

The deceleration time of the motion.

double startingVelocity

The starting velocity of the motion.

double endVelocity

The end velocity of the motion.

double secondVelocity

The second velocity of the motion.

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

struct StartSinglePos

This structure contains arguments for the StartSinglePos output function type.

Public Members

int axis

The axis of the motion.

double target

The target position of the motion.

ProfileType::T type

The profile of the motion.

double velocity

The velocity of the motion.

double acc

The acceleration of the motion.

double dec

The deceleration of the motion.

double jerkAcc

The acceleration jerk of the motion.

double jerkDec

The deceleration jerk of the motion.

double jerkAccRatio

The acceleration jerk ratio of the motion.

double jerkDecRatio

The deceleration jerk ratio of the motion.

double accTime

The acceleration time of the motion.

double decTime

The deceleration time of the motion.

double startingVelocity

The starting velocity of the motion.

double endVelocity

The end velocity of the motion.

double secondVelocity

The second velocity of the motion.

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

struct StopSingleAxis

This structure contains arguments for the StopSingleAxis output function type.

Public Members

int axis

The axis to stop.

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

struct TriggerFlightRecorder

This structure contains arguments for the TriggerFlightRecorder output function type.

Public Members

unsigned char singleShot

If set to 1, the output function is single shot, and the entire event will be deleted after the output function is executed. If set to 0, the event is not deleted after the output function is executed, and may be triggered again.

unsigned char disableAfterActivate

If set to 1, the event will be disabled after the output function is executed. The event is not deleted, and it may be enabled again using the EnableEvent API function. If set to 0, the event remains enabled after the output function is executed.

class EventInputFunction

This enumerator class enumerates the input functions of events. The input function determines the condition at which the event is triggered.

Public Types

enum T

Values:

enumerator None

The input function never triggers the event output. The output is always 0.

enumerator IOBit

The input function triggers the event output when the specified I/O bit is 1.

This input function uses the parameters in the IOBit structure of Event.

enumerator NotIOBit

The input function triggers the event output when the specified I/O bit is 0.

This input function uses the parameters in the NotIOBit structure of Event.

enumerator OrIOBit

The input function triggers the event output when either of the two specified I/O bits is 1.

This input function uses the parameters in the OrIOBit structure of Event.

enumerator AndIOBit

The input function triggers the event output when both of the two specified I/O bits are 1.

This input function uses the parameters in the AndIOBit structure of Event.

enumerator XorIOBit

The input function triggers the event output when one but not both of the specified I/O bits is 1 (this input function implements an exclusive-or logic).

This input function uses the parameters in the XorIOBit structure of Event.

enumerator NandIOBit

The input function triggers the event output when not both of the two specified I/O bits are 1.

This input function uses the parameters in the NandIOBit structure of Event.

enumerator NorIOBit

The input function triggers the event output when neither of the two specified I/O bits is 1.

This input function uses the parameters in the NorIOBit structure of Event.

enumerator XnorIOBit

The input function triggers the event output when both of the specified I/O bits are 1 or both of the specified I/O bits are 0 (this input function implements a not exclusive-or logic).

This input function uses the parameters in the XnorIOBit structure of Event.

enumerator DelayIOBit

The input function triggers the event output after the specified I/O bit remains continuously 1 for the specified period of time.

This input function uses the parameters in the DelayIOBit structure of Event.

enumerator MBit

The input function triggers the event output when the specified user memory bit is 1.

This input function uses the parameters in the MBit structure of Event.

enumerator NotMBit

The input function triggers the event output when the specified user memory bit is 0.

This input function uses the parameters in the NotMBit structure of Event.

enumerator OrMBit

The input function triggers the event output when either of the two specified user memory bits is 1.

This input function uses the parameters in the OrMBit structure of Event.

enumerator AndMBit

The input function triggers the event output when both of the two specified user memory bits are 1.

This input function uses the parameters in the AndMBit structure of Event.

enumerator XorMBit

The input function triggers the event output when one but not both of the specified user memory bits is 1 (this input function implements an exclusive-or logic).

This input function uses the parameters in the XorMBit structure of Event.

enumerator NandMBit

The input function triggers the event output when not both of the two specified user memory bits are 1.

This input function uses the parameters in the NandMBit structure of Event.

enumerator NorMBit

The input function triggers the event output when neither of the two specified user memory bits is 1.

This input function uses the parameters in the NorMBit structure of Event.

enumerator XnorMBit

The input function triggers the event output when both of the specified user memory bits are 1 or both of the specified user memory bits are 0 (this input function implements a not exclusive-or logic).

This input function uses the parameters in the XnorMBit structure of Event.

enumerator DelayMBit

The input function triggers the event output after the specified user memory bit remains continuously 1 for the specified period of time.

This input function uses the parameters in the DelayMBit structure of Event.

enumerator AnotherEvent

The input function triggers the event output when another event triggers. This input function will have almost the same effect as if the input function is set to the same values as the input function of the other event.

This input function uses the parameters in the AnotherEvent structure of Event.

enumerator DelayAnotherEvent

The input function triggers the event output after the input function of another event remains continuously TRUE for the specified time period.

This input function uses the parameters in the DelayAnotherEvent structure of Event.

enumerator EqualPos

The input function monitors the position command (Pos Cmd) or the position feedback (Actual Pos) of an axis (depending on the parameters). When the axis is within 0.5 user unit of the specified position, or travels through the specified position in either direction, the event output will be triggered.

This input function uses the parameters in the EqualPos structure of Event.

enumerator GreaterPos

The input function monitors the position command (Pos Cmd) or the position feedback (Actual Pos) of an axis (depending on the parameters). When the axis position is greater than the specified position, the event output will be triggered.

This input function uses the parameters in the GreaterPos structure of Event.

enumerator LessPos

The input function monitors the position command (Pos Cmd) or the position feedback (Actual Pos) of an axis (depending on the parameters). When the axis position is less than the specified position, the event output will be triggered.

This input function uses the parameters in the LessPos structure of Event.

enumerator EqualVelocity

This input function monitors the velocity command (Velocity Cmd) or the velocity feedback (Actual Velocity) of an axis (depending on the parameters). When the axis is within 0.5 user units per second of the specified velocity, accelerates from a velocity lower than the specified velocity to a velocity higher than the specified velocity, or decelerates from a velocity higher than the specified velocity to a velocity lower than the specified velocity, the event output will be triggered.

This input function uses the parameters in the EqualVelocity structure of Event.

enumerator GreaterVelocity

This input function monitors the velocity command (Velocity Cmd) or the velocity feedback (Actual Velocity) of an axis (depending on the parameters). When the axis velocity is greater than the specified velocity, the event output will be triggered.

This input function uses the parameters in the GreaterVelocity structure of Event.

enumerator LessVelocity

This input function monitors the velocity command (Velocity Cmd) or the velocity feedback (Actual Velocity) of an axis (depending on the parameters). When the axis velocity is less than the specified velocity, the event output will be triggered.

This input function uses the parameters in the LessVelocity structure of Event.

enumerator EqualTrq

This input function monitors the torque feedback (Actual Torque) of an axis. When the axis torque is within 0.05% of the specified torque value (the torque resolution is 0.1%), increases from a torque lower than the specified torque to a torque higher than the specified torque, or decreases from a torque higher than the specified torque to a torque lower than the specified torque, the event output will be triggered.

This input function uses the parameters in the EqualTrq structure of Event.

enumerator GreaterTrq

This input function monitors the torque feedback (Actual Torque) of an axis. When the axis torque is greater than the specified torque value, the event output will be triggered.

This input function uses the parameters in the GreaterTrq structure of Event.

enumerator LessTrq

This input function monitors the torque feedback (Actual Torque) of an axis. When the axis torque is less than the specified torque value, the event output will be triggered.

This input function uses the parameters in the LessTrq structure of Event.

enumerator OpState

This input function monitors the operation state (Op State) of an axis. When the operation state of the axis is the same as the specified operation state, the event output will be triggered.

This input function uses the parameters in the OpState structure of Event.

enumerator PosSET

This input function monitors the position set (Pos Set) signal of an axis. When the position set signal is 1, the event output will be triggered.

This input function uses the parameters in the PosSET structure of Event.

enumerator DelayedPosSET

This input function monitors the delayed position set (Delayed Pos Set signal of an axis. When the delayed position set signal is 1, the event output will be triggered.

This input function uses the parameters in the DelayedPosSET structure of Event.

enumerator CommandDistributedEnd

This input function monitors the command distribution end (Cmd Distribution End) signal of an axis. When the command distribution end signal is 1, the event output will be triggered.

This input function uses the parameters in the CommandDistributedEnd structure of Event.

enumerator RemainingTime

This input function monitors the remaining time (Profile Remaining Milliseconds) for the position command of an axis. If the remaining time until the position command completes is less than or equal to the specified value, or if the axis is not executing a position command, the event output will be triggered.

This input function uses the parameters in the RemainingTime structure of Event.

enumerator RemainingDistance

This input function monitors the remaining distance (Profile Remaining Distance) for the position command of an axis. If the remaining distance until the position command completes is less than or equal to the specified value, or if the axis is not executing a position command, the event output will be triggered.

This input function uses the parameters in the RemainingDistance structure of Event.

enumerator CompletedTime

This input function monitors the completed time (Profile Completed Milliseconds) for the position command of an axis. If the elapsed time of the current position command is greater than or equal to the specified value, or the axis is not executing a position command, the event output will be triggered.

This input function uses the parameters in the CompletedTime structure of Event.

enumerator CompletedDistance

This input function monitors the completed distance (Profile Completed Distance) for the position command of an axis. If the distance traveled by the current position command is greater than or equal to the specified value, or if the axis is not executing a position command, the event output will be triggered.

This input function uses the parameters in the CompletedDistance structure of Event.

enumerator Unknown
class EventOutputFunction

This enumerator class enumerates the output functions of events. The output function determines the action that is executed when the event is triggered.

Public Types

enum T

Values:

enumerator None

No action is executed when the event is triggered.

enumerator SetIOOutBit

This output function sets an I/O output bit to 1 when the input function triggers.

If the I/O output bit is changed by another function, this output function will not overwrite the value of the I/O output bit until the input function becomes FALSE, and then TRUE again (see the discussion at Triggering Events ).

This output function uses the parameters in the SetIOOutBit structure of Event.

enumerator SetMBit

This output function sets a user memory output bit to 1 when the input function triggers.

If the user memory bit is changed by another function, this output function will not overwrite the value of the user memory bit until the input function becomes FALSE, and then TRUE again (see the discussion at Triggering Events ).

This output function uses the parameters in the SetMBit structure of Event.

enumerator EnableAnotherEvent

This output function sets the enabled state of another event to enabled when the input function of this event triggers.

If the enabled state of the specified event is changed by another function, this output function will not overwrite the enabled state of the specified event until the input function becomes FALSE, and then TRUE again (see the discussion at Triggering Events ).

This output function uses the parameters in the EnableAnotherEvent structure of Event.

enumerator StopSingleAxis

This output function stops the motion of a single axis when the input function triggers. This function can operate on axes in Position mode and Velocity mode.

This output function uses the parameters in the StopSingleAxis structure of Event.

enumerator StartSinglePos

This output function starts an absolute position motion for a single axis when the input function triggers.

This output function uses the parameters in the StartSinglePos structure of Event.

enumerator StartSingleMov

This output function starts a relative position motion for a single axis when the input function triggers.

This output function uses the parameters in the StartSingleMov structure of Event.

enumerator StartMultiplePos

This output function starts absolute position motions for multiple axes when the input function triggers.

This output function uses the parameters in the StartMultiplePos structure of Event.

enumerator StartMultipleMov

This output function starts relative position motions for multiple axes when the input function triggers.

This output function uses the parameters in the StartMultipleMov structure of Event.

enumerator LinearIntplPos

This output function starts an absolute linear interpolation motion when the input function triggers.

This output function uses the parameters in the LinearIntplPos structure of Event.

enumerator LinearIntplMov

This output function starts a relative linear interpolation motion when the input function triggers.

This output function uses the parameters in the LinearIntplMov structure of Event.

enumerator StartAPIBuffer

This output function starts the execution of an API buffer when the input function triggers.

This output function uses the parameters in the StartAPIBuffer structure of Event.

enumerator ExecQuickStopSingleAxis

This output function stops the motion of a single axis using the quick stop deceleration (Quick Stop Dec) when the input function triggers.

This output function uses the parameters in the ExecQuickStopSingleAxis structure of Event.

enumerator OverrideVelSingleAxis

This output function overrides the velocity of a single axis executing motion when the input function triggers.

This output function uses the parameters in the OverrideVelSingleAxis structure of Event.

enumerator ExecEStop

This output function triggers an emergency stop when the input function triggers.

This output function uses the parameters in the ExecEStop structure of Event.

enumerator TriggerFlightRecorder

This output function triggers the flight recorder to write the flight recorder data to file when the input function triggers.

This output function uses the parameters in the TriggerFlightRecorder structure of Event.

enumerator ResetFlightRecorder

This output function resets the flight recorder so that it may be triggered again when the input function triggers.

This output function uses the parameters in the ResetFlightRecorder structure of Event.

enumerator Unknown
class HardwareTouchProbeStatus

This class contains the status of a hardware touch probe channel.

Public Functions

HardwareTouchProbeStatus()

Public Members

int axis

The axis of the hardware touch probe.

unsigned char enabled

This value will equal 0 if the hardware touch probe is disabled and 1 if the hardware touch probe is enabled.

TouchProbeMode::T mode

The mode of the touch probe.

TouchProbeSource::T triggerSource

The trigger source of the touch probe.

unsigned int channel

The channel of the touch probe. This can be 0 or 1.

unsigned char latched

A pointer to an unsigned char that will contain whether the hardware touch probe channel has latched data. This value is set to 1 if encoder data has been latched. This value is reset to 0 whenever the SetHardwareTouchProbe function or the EnableHardwareTouchProbe function is called.

unsigned int latchedValueCount

The number of latched encoder data in the latchedValue array. This value is reset to 0 whenever the SetHardwareTouchProbe function is called, but not when the EnableHardwareTouchProbe function is called.

unsigned int latchedValue[constants::maxHardwareTouchProbeLatchedValues]

A buffer array that contains the latched encoder data. The first numLatchedValue elements of the array contain the latched encoder data, with the newer latched encoder data occupying the higher element index. The latched encoder data is a raw 32-bit integer encoder value, and is not in the same coordinates as the axis position (which is affected by factors such as the home position, gear ratio, and compensation). This array is cleared whenever the SetHardwareTouchProbe function is called, but not when the EnableHardwareTouchProbe function is called.

double latchedPos[constants::maxHardwareTouchProbeLatchedValues]

A buffer array that contains the same data as the latchedValue array, but in the same coordinates as the axis position (and thus is affected by factors such as home position, gear ratio, and compensation). Because this value is in the axis position coordinates, any multi-turn data (when the encoder loops around the 32-bit integer range) will be reflected in the latched position.

class PlannedVelocityData

This class contains a planned velocity override data point.

Public Functions

PlannedVelocityData()
PlannedVelocityData(double pos, double velocity)

Public Members

double pos

The position at which to override the velocity.

double velocity

The velocity to override to.

class PlannedVelocityStatus

This class contains the current status of a planned velocity override channel.

Public Functions

PlannedVelocityStatus()

Public Members

unsigned char enabled

0: Planned Velocity Override channel is disabled, 1: Planned Velocity Override channel is enabled.

unsigned char active

Whether the velocity has been overridden by the Planned Velocity Override channel. 0: Velocity was not overridden, 1: Velocity was overridden.

int activeDataIndex

If “active” is 1, this value contains the index of the Planned Velocity Override data point that caused the velocity to be overridden. If multiple data points caused the velocity to be overridden, this value contains the index of the data point with the smallest index among them. If “active” is 0, this value contains the index of the Planned Velocity Override data point that last caused the velocity to be overridden.

double activeVelocityCommand

If “active” is 1, this value contains the velocity that the axis velocity was overridden by. If “active” is 0, this value contains the velocity that the axis velocity was last overridden by. This value will always be equal to the velocity that is associated with the data point with the index equal to activeDataIndex.

int axis

The axis of the motion.

class PSOOption

This class contains options for a position synchronous output channel.

Public Functions

PSOOption()

Public Members

unsigned char allowTriggerOnStart

If this option is set to 1, if the source is within 0.5 user units of any data point on the cycle that position synchronous output is started with the StartPSO function, the PSO comparison immediately yields true. This option only affects the following comparison types: Equal, PositiveDirection, and NegativeDirection. If this option is set to 0, the PSO comparison will yield false on cycles that the source is not moving (the source value is the same for that cycle and the previous cycle) for these comparison types. If this option is not specified, it is set to 0 by default.

class PSOOutput

This class describes the output for position synchronous output.

Public Functions

PSOOutput()
PSOOutput(PSOOutputType::T outputType, unsigned int byteAddress, unsigned char bitAddress, unsigned char invert)

Public Members

PSOOutputType::T outputType

The type of output.

unsigned int byteAddress

The byte address of the output.

unsigned char bitAddress

The bit address of the output.

unsigned char invert

If this value is set to 0, the output will be set to 1 when the PSO comparison yields true and 0 otherwise. If this value is set to 1, the output will be set to 0 when the PSO comparison yields true and 1 otherwise.

class PSOOutputType

This enumerator class contains the type of output for position synchronous output.

Public Types

enum T

Values:

enumerator IOOutput

The output is an I/O output bit.

enumerator UserMemory

The output is a user memory bit.

class PSOStatus

This class contains the current status of a position synchronous output channel.

Public Functions

PSOStatus()

Public Members

unsigned char enabled

0: PSO channel is disabled, 1: PSO channel is enabled.

unsigned char active

Whether the output was set to 1 or 0 by the PSO channel during this communication cycle. 0: The output was set to 0 (the PSO comparison yielded false and the minimum duration has elapsed). 1: The output was set to 1 (the PSO comparison yielded true or the PSO comparison yielded false but the minimum duration has not elapsed). If the invert option is set to 1, this value will contain 0 when the output is 1 and 1 when the output is 0.

int activeDataIndex

This value contains the index of the PSO data point for which the PSO comparison last yielded true. If there have been no PSO data points for which the PSO comparison yielded true since the PSO channel was enabled, this value contains 0. If there are multiple PSO data points for which the PSO comparison yields true in the same cycle (for example, the MoreThan and LessThan comparison types will often have multiple PSO data points that are greater than or less than the source), this value will contain the smallest index among them. The index of the data points are assigned from 0 after the data points are sorted in ascending order. If the SetPSOIntervalData function is used to set the data points, the index of the data points are assigned from 1 instead (each data point is calculated as [p = rangeStart + n*interval], where n is the index of that data point). If the SetPSOIntervalData function is used to set the data points and there are multiple PSO data points for which the PSO comparison yields true in the same cycle, this value will contain the index of the data point nearest to the source from among them.

PSOOutput output

The output of the PSO channel as defined by the SetPSOConfig function. The output is set to 1 or 0 depending on the result of the PSO comparison.

class TouchProbeMode

This enumerator class contains the operation mode of a touch probe.

Public Types

enum T

Values:

enumerator LatchFirst

Latch the position when the touch probe signal is set for the first time.

enumerator LatchLast

Latch the position whenever the touch probe signal is set.

class TouchProbeSource

This enumerator class contains the source for a touch probe.

Public Types

enum T

Values:

enumerator ZPulse

The touch probe latches the Z-pulse (index pulse).

enumerator TouchProbe

The touch probe latches the touch probe signal.