The MotionController object represents the RMP INtime soft motion controller. More...
Attributes | |
RapidCode Objects | |
RapidCodeOS * | OS |
Static Functions | |
Creation Methods | |
static MotionController * | CreateFromSoftware () |
Initialize and start the RMP EtherCAT controller. More... | |
static MotionController * | CreateFromSoftware (char *RtaPath) |
static MotionController * | Create () |
Initialize and start the RMP EtherCAT controller. More... | |
static MotionController * | CreateFromServer (char *server, int32 serverPort) |
Initialize a SynqNet controller in another computer on a TCP/IP network. More... | |
Functions | |
Create and Initialize RapidCode Objects | |
virtual IO * | IOGet (int32 nodeNumber)=0 |
IOGet returns a pointer to an IO object using its node number and initializes its internals. More... | |
virtual Axis * | AxisGet (int32 axisNumber)=0 |
AxisGet returns a pointer to an Axis object and initializes its internals. More... | |
virtual MultiAxis * | MultiAxisGet (int32 motionSupervisorNumber)=0 |
MultiAxisGet returns a pointer to a MultiAxis object and initializes its internals. More... | |
virtual MultiAxis * | LoadExistingMultiAxis (int32 motionSupervisorNumber)=0 |
Get/Create a MultiAxis object from one that already exists (previously setup) on the RMP motion controller firmware. | |
virtual void | Delete (void)=0 |
Delete the MotionController and all its objects. More... | |
Action | |
virtual void | Reset ()=0 |
Reset (power cycle) the controller. More... | |
virtual void | Refresh ()=0 |
virtual void | Shutdown ()=0 |
Shutdown the controller. EtherCAT only – this stops the RMP process. | |
Information | |
virtual int32 | SerialNumberGet (void)=0 |
Get the controller's serial number. More... | |
virtual int32 | SampleCounterGet ()=0 |
Get the current value of the controller's processor's sample counter. More... | |
virtual void | SampleWait (uint32 samples)=0 |
Wait for controller firmware to execute samples. More... | |
virtual RSIControllerType | ControllerTypeGet ()=0 |
Get the type of motion controller. | |
virtual char * | ServerNameGet ()=0 |
Get the name of the server. (Valid if controller type is CLIENT.) | |
virtual int32 | ServerPortGet ()=0 |
Get the TCP port of the server. (Valid if controller type is CLIENT.) | |
virtual int32 | NumberGet ()=0 |
Get the zero-based index of this object. More... | |
virtual RSIProcessorType | ProcessorTypeGet ()=0 |
Get the processor type. More... | |
virtual double | ProcessorUsageGet ()=0 |
Get the processor usage percent. More... | |
virtual void | ProcessorUsageClear ()=0 |
Clear the processor usage percent. More... | |
virtual void | SampleRateSet (double sampleRate)=0 |
virtual double | SampleRateGet ()=0 |
virtual int32 | AxisCountGet ()=0 |
Get the number of axes processing. More... | |
virtual void | AxisCountSet (int32 axisCount)=0 |
Set the number of allocated and processed axes in the controller. More... | |
virtual void | AxisCountSet (int32 axisCount, bool setMotorFilterSupervisor)=0 |
virtual int32 | AxisLicenseCountGet ()=0 |
Get the number of licensed Axis objects on this motion controller. If you need more, call RSI. | |
virtual bool | MechaWareLicenseGet ()=0 |
Returns true if this motion controller is licensed to run MechaWare. | |
virtual int32 | MotionCountGet ()=0 |
Get the number of Motion Supervisors available in the firmware. More... | |
virtual void | MotionCountSet (int32 motionCount)=0 |
Set the number of processed Motion Supervisors in the controller. More... | |
virtual int32 | UserVersionGet ()=0 |
Get a customer designated Version for the application. More... | |
virtual void | UserVersionSet (int32 version)=0 |
Sets a customer designed Version for the application. More... | |
virtual int32 | ExternalMemorySizeGet ()=0 |
virtual void | AxisFrameBufferSizeSet (int32 axisNumber, int32 frameBufferSize)=0 |
Set Frame buffer size for the axis. More... | |
virtual int32 | AxisFrameBufferSizeGet (int32 axisNumber)=0 |
Get Frame buffer size for the axis. More... | |
Firmware | |
virtual char * | MpiVersionGet ()=0 |
Get the MPI version. More... | |
virtual int32 | MpiFirmwareVersionGet ()=0 |
Get firwmare version required by this MPI version. More... | |
virtual int32 | FirmwareVersionGet ()=0 |
Get the firmware version. More... | |
virtual char | FirmwareRevisionGet ()=0 |
Get the firmware revision. More... | |
virtual int32 | FirmwareSubRevisionGet ()=0 |
Get the subrevision number of the firmware. More... | |
virtual int32 | FirmwareDevelopmentIDGet ()=0 |
Get the development ID of the firmware. More... | |
virtual int32 | FirmwareOptionGet ()=0 |
Get the firmware option number. More... | |
virtual bool | HasMechaWare ()=0 |
Returns true if this RMP firmware supports MechaWare. | |
virtual int32 | MemoryGet (uint64 address)=0 |
Read controller memory. More... | |
virtual double | MemoryDoubleGet (uint64 address)=0 |
Read a 64-bit double value from controller memory. More... | |
virtual void | MemoryBlockGet (uint64 address, void *data, int32 size)=0 |
Read controller memory. More... | |
virtual void | MemorySet (uint64 address, int32 data)=0 |
Write a value to controller memory. More... | |
virtual void | MemoryDoubleSet (uint64 address, double data)=0 |
Write a 64-bit double value to controller memory. More... | |
virtual void | MemoryBlockSet (uint64 address, void *data, int32 size)=0 |
Set controller memory. More... | |
virtual uint32 | FirmwareAddressGet (uint64 hostAddress)=0 |
Convert a host controller address to a firmware address. More... | |
virtual uint64 | HostAddressGet (uint32 firmwareAddress)=0 |
Convert a firmware address to a host controller address. More... | |
virtual int32 | SequencerCountGet ()=0 |
Get the number of Sequencer available in the firmware. More... | |
virtual void | SequencerCountSet (int32 sequencerCount)=0 |
Set the number of processed Sequencers in the controller. More... | |
virtual int32 | BackgroundCycleCounterGet ()=0 |
Get the current value of the controller's processor's background cycle counter. More... | |
virtual uint64 | AddressFromStringGet (char *addressName)=0 |
Get a controller memory address from string. More... | |
virtual char * | StringFromAddressGet (uint64 hostAddress)=0 |
Get a human-readable string from a memory address. More... | |
virtual uint64 | AddressGet (RSIControllerAddressType type)=0 |
Get the an address for some location on the MotionController. More... | |
virtual uint64 | AddressGet (RSIControllerAddressType type, int32 objectIndex)=0 |
Get the an address for some location on the MotionController. More... | |
virtual bool | MotionHoldGateGet (int32 gateNumber)=0 |
Get the state of the hold gate. More... | |
virtual void | MotionHoldGateSet (int32 gateNumber, bool hold)=0 |
Set the Motion Hold Gate. More... | |
Network Interface | |
virtual RSINetworkTechnologyType | NetworkTechnologyTypeGet ()=0 |
Get the network technology type EtherCAT. | |
virtual RSINetworkType | NetworkTypeGet ()=0 |
Returns network type. (Currently only STRING type is supported.) | |
virtual int32 | NetworkNodeCountGet ()=0 |
virtual void | NetworkStart ()=0 |
Start the network with RSINetworkStartupMethodNORMAL. | |
virtual void | NetworkStart (RSINetworkStartupMethod startupMethod)=0 |
virtual void | NetworkStart (RSINetworkStartMode startMode, RSINetworkStartupMethod startupMethod)=0 |
virtual void | NetworkStart (RSINetworkStartMode startMode, RSINetworkStartupMethod startupMethod, uint32 timeoutMilliseconds)=0 |
virtual void | NetworkShutdown ()=0 |
Shutdown the network. For EtherCAT, this will kill the RMPNetwork process. | |
virtual RSINetworkState | NetworkStateGet ()=0 |
virtual int32 | NetworkCounterGet ()=0 |
Read the network counter. This increments by one for each cycle of the network. | |
virtual int32 | NetworkInputCountGet ()=0 |
Get the number of PDO inputs found on the network. | |
virtual int32 | NetworkInputBitSizeGet (int32 index)=0 |
Get the size (in bits) of a network input. | |
virtual int32 | NetworkInputBitOffsetGet (int32 index)=0 |
virtual char * | NetworkInputNameGet (int32 index)=0 |
Get the name of a PDO network input. | |
virtual uint64 | NetworkInputValueGet (int32 index)=0 |
virtual uint64 | NetworkInputAddressGet (int32 index)=0 |
Get the host address for a PDO input. | |
virtual int32 | NetworkOutputCountGet ()=0 |
Get the number of PDO outputs. | |
virtual int32 | NetworkOutputBitSizeGet (int32 index)=0 |
Get the size (in bits) of a PDO output. | |
virtual int32 | NetworkOutputBitOffsetGet (int32 index)=0 |
Get the raw PDO offest for an output. | |
virtual char * | NetworkOutputNameGet (int32 index)=0 |
Get the name of a PDO output. | |
virtual uint64 | NetworkOutputValueGet (int32 index)=0 |
Gets the value sent out over EtherCAT. More... | |
virtual void | NetworkOutputValueSet (int32 index, uint64 value)=0 |
Sets a PDO output directly. More... | |
virtual uint64 | NetworkOutputAddressGet (int32 index)=0 |
Returns an Address of a Network Output. More... | |
virtual uint64 | NetworkOutputAddressGet (int32 index, RSINetworkOutputAddressType type)=0 |
Get the network output address for a given output address type. | |
virtual uint64 | NetworkOutputIntendedValueGet (int32 index)=0 |
Gets the value set by the cyclic RMP processes. More... | |
virtual void | NetworkOutputOverrideSet (int32 index, bool outputOverride)=0 |
Set NetworkOutputValue to override RMP cyclic value. More... | |
virtual bool | NetworkOutputOverrideGet (int32 index)=0 |
Gets if the NetworkOutputValue or the RMP cyclic value is exchanged over EtherCAT. More... | |
virtual void | NetworkOutputOverrideValueSet (int32 index, uint64 value)=0 |
Sets a PDO output directly. More... | |
virtual uint64 | NetworkOutputOverrideValueGet (int32 index)=0 |
Sets a PDO output directly. More... | |
virtual uint64 | NetworkOutputSentValueGet (int32 index)=0 |
Gets the value sent out over EtherCAT. More... | |
virtual int32 | NetworkLogMessageCountGet ()=0 |
virtual RSINetworkStartError | LastNetworkStartErrorGet ()=0 |
Get the last (most recent) network start error. | |
virtual char * | NetworkLogMessageGet (int32 messageIndex)=0 |
virtual void | NetworkTimingEnableSet (bool enable)=0 |
Enable or disable the firmware to start timing the network packets. | |
virtual void | NetworkTimingClear ()=0 |
Clear all the network timing values. | |
virtual uint32 | NetworkTimingDeltaGet ()=0 |
Get the number of microseconds since the previous network packet was sent. | |
virtual uint32 | NetworkTimingMinGet ()=0 |
Get the minimum microseconds recorded between network packets. | |
virtual uint32 | NetworkTimingMaxGet ()=0 |
Get the maximum microseconds recorded between consecutive network packets. | |
virtual void | NetworkTimingThresholdLowSet (uint32 microseconds)=0 |
Set a low threshold. The RMP will count the number of network packets sent below this threshold (too short between packets). | |
virtual void | NetworkTimingThresholdHighSet (uint32 microseconds)=0 |
Set a high threshold. The RMP will count the number of network packets sent above this threshold (too long between packets). | |
virtual uint32 | NetworkTimingThresholdLowCountGet ()=0 |
Get the number of network packets that were sent to quickly (below the low threshold). | |
virtual uint32 | NetworkTimingThresholdHighCountGet ()=0 |
Get the number of network packets that were sent to slowly (above the high threshold). | |
virtual bool | NetworkSynchronizedGet ()=0 |
Returns true if the network is synchronized with distributed clocks. | |
Interrupts | |
virtual void | InterruptEnableSet (bool enable)=0 |
Control interrupts for this class. More... | |
virtual void | InterruptWake ()=0 |
Wake all threads waiting for a controller interrupt. More... | |
virtual void | SyncInterruptEnableSet (bool enable)=0 |
Configure Sync (periodic) interrupts for the controller. More... | |
virtual void | SyncInterruptPeriodSet (int32 samples)=0 |
Configure the period for the Sync Interrupt on the controller. More... | |
virtual int32 | SyncInterruptWait ()=0 |
Suspend the current thread until an interrupt arrives from the controller. More... | |
virtual bool | ServiceThreadStateGet ()=0 |
Returns true if the service thread was started. | |
virtual int32 | SyncInterruptHostProcessTimeGet ()=0 |
Get the total number of microseconds availble for host processing. More... | |
virtual int32 | SyncInterruptHostProcessFlagGet ()=0 |
Get the host process flag. | |
virtual void | SyncInterruptHostProcessFlagSet (bool value)=0 |
Set the Host Process flag. More... | |
virtual bool | SyncInterruptHostProcessStatusBitGet ()=0 |
See if the host was processing too int32 on previous Sync Interrupt. More... | |
virtual void | SyncInterruptHostProcessStatusClear ()=0 |
Clear the Host Process status bit. More... | |
virtual void | ServiceThreadEnableSet (bool enable)=0 |
Enable or disable the service thread. More... | |
Recorder | |
virtual int32 | RecorderCountGet ()=0 |
Get the number of Recorder available in the firmware. More... | |
virtual void | RecorderCountSet (int32 recorderCount)=0 |
Set the number of processed Recorders in the controller. More... | |
virtual void | RecorderPeriodSet (int32 samples)=0 |
Set the number of samples between records. More... | |
virtual void | RecorderPeriodSet (int32 recorderNumber, int32 samples)=0 |
virtual void | RecorderCircularBufferSet (bool enable)=0 |
Configure recorder as circular buffer (or not). More... | |
virtual void | RecorderCircularBufferSet (int32 recorderNumber, bool enable)=0 |
virtual void | RecorderDataCountSet (int32 count)=0 |
Set the number of data values to be recorded. More... | |
virtual void | RecorderDataCountSet (int32 recorderNumber, int32 count)=0 |
virtual void | RecorderDataAddressSet (int32 index, uint64 address)=0 |
Setup the addresses to be recorded. More... | |
virtual void | RecorderDataAddressSet (int32 recorderNumber, int32 index, uint64 address)=0 |
virtual void | RecorderConfigureToTriggerOnMotion (Axis *axis, bool triggerOnMotion)=0 |
Setup the recorder to trigger on motion. More... | |
virtual void | RecorderConfigureToTriggerOnMotion (int32 recorderNumber, Axis *axis, bool triggerOnMotion)=0 |
virtual void | RecorderConfigureToTriggerOnMotion (MultiAxis *multiAxis, bool triggerOnMotion)=0 |
virtual void | RecorderConfigureToTriggerOnMotion (int32 recorderNumber, MultiAxis *multiAxis, bool triggerOnMotion)=0 |
virtual bool | RecorderEnabledGet ()=0 |
Determine if the recorder is recording. More... | |
virtual bool | RecorderEnabledGet (int32 recorderNumber)=0 |
virtual int32 | RecorderRecordCountGet ()=0 |
Get the number of records that are stored and ready for reading. More... | |
virtual int32 | RecorderRecordCountGet (int32 recorderNumber)=0 |
virtual int32 | RecorderRecordMaxCountGet ()=0 |
Get the maximum number of records the recorder can store. More... | |
virtual int32 | RecorderRecordMaxCountGet (int32 recorderNumber)=0 |
virtual void | RecorderStart ()=0 |
Start recording data. More... | |
virtual void | RecorderStart (int32 recorderNumber)=0 |
virtual void | RecorderStop ()=0 |
Stop recording data. More... | |
virtual void | RecorderStop (int32 recorderNumber)=0 |
virtual int32 * | RecorderRecordDataGet ()=0 |
Get one record of recorded data. More... | |
virtual int32 * | RecorderRecordDataGet (int32 recorderNumber)=0 |
virtual void | RecorderRecordDataRetrieve ()=0 |
Retrieve one record of recorded data. More... | |
virtual int32 | RecorderRecordDataRetrieveBulk (int32 recorderNumber, int32 recordCount)=0 |
Retrieve a group of records of recorded data. More... | |
virtual void | RecorderRecordDataRetrieve (int32 recorderNumber)=0 |
virtual int32 | RecorderRecordDataValueGet (int32 index)=0 |
Get one value from a retrieved record. More... | |
virtual int32 | RecorderRecordDataValueGet (int32 recorderNumber, int32 index)=0 |
virtual int32 | RecorderRecordDataValueGet (int32 recorderNumber, int32 recordIndex, int32 dataIndex)=0 |
Get one indexed data value from collected data. More... | |
virtual double | RecorderRecordDataDoubleGet (int32 index)=0 |
virtual double | RecorderRecordDataDoubleGet (int32 recorderNumber, int32 index)=0 |
virtual double | RecorderRecordDataDoubleGet (int32 recorderNumber, int32 recordIndex, int32 dataIndex)=0 |
Get one indexed double value from collected data. More... | |
virtual void | RecorderBufferHighCountSet (int32 bufferHighCount)=0 |
Set the high count for the recording buffer. More... | |
virtual void | RecorderBufferHighCountSet (int32 recorderNumber, int32 bufferHighCount)=0 |
virtual void | RecorderReset ()=0 |
Reset the recorder. More... | |
virtual void | RecorderReset (int32 recorderNumber)=0 |
virtual int32 | RecorderBufferSizeGet (int32 recorderNumber)=0 |
Get Frame buffer size for the Recorder. More... | |
virtual void | RecorderBufferSizeSet (int32 recorderNumber, int32 bufferSize)=0 |
Set buffer size for the Recorder. More... | |
Compensator | |
virtual int32 | CompensatorCountGet ()=0 |
Get the number of Compensators available in the firmware. More... | |
virtual void | CompensatorCountSet (int32 compensatorCount)=0 |
Set the number of Compensators available in the firmware. More... | |
virtual int32 | CompensatorPointCountGet (int32 compensatorNumber)=0 |
Get the number of points for use with a Compensator. More... | |
virtual void | CompensatorPointCountSet (int32 compensatorNumber, int32 pointCount)=0 |
Set the number of points for use with a Compensator. More... | |
virtual int32 | CompensatorDimensionGet (int32 compensatorNumber)=0 |
Get the dimension of the compensator. More... | |
virtual void | CompensatorConfigSet (int32 compensatorNumber, int32 firstInputAxisNumber, RSIAxisMasterType firstInputAxisType, double firstInputAxisMinimum, double firstInputAxisMaximum, double firstInputAxisDelta, int32 secondInputAxisNumber, RSIAxisMasterType secondInputAxisType, double secondInputAxisMinimum, double secondInputAxisMaximum, double secondInputAxisDelta, int32 outputAxisNumber, RSICompensatorOutputType outputType, double *table)=0 |
Configure a 2D compensator. More... | |
virtual void | CompensatorConfigSet (int32 compensatorNumber, Axis *firstInputAxis, RSIAxisMasterType firstInputAxisType, double firstInputAxisMinimum, double firstInputAxisMaximum, double firstInputAxisDelta, Axis *secondInputAxis, RSIAxisMasterType secondInputAxisType, double secondInputAxisMinimum, double secondInputAxisMaximum, double secondInputAxisDelta, Axis *outputAxis, RSICompensatorOutputType outputType, double *table)=0 |
Configure a 2D compensator. More... | |
virtual void | CompensatorConfigSet (int32 compensatorNumber, int32 inputAxisNumber, RSIAxisMasterType inputAxisType, double inputAxisMinimum, double inputAxisMaximum, double inputAxisDelta, int32 outputAxisNumber, RSICompensatorOutputType outputType, double *table)=0 |
Configure a 1D compensator. More... | |
virtual void | CompensatorConfigSet (int32 compensatorNumber, Axis *inputAxis, RSIAxisMasterType inputAxisType, double inputAxisMinimum, double inputAxisMaximum, double inputAxisDelta, Axis *outputAxis, RSICompensatorOutputType outputType, double *table)=0 |
Configure a 1D compensator. More... | |
virtual void | CompensatorTableSet (int32 compensatorNumber, double *table)=0 |
Override the table for a configured compensator. More... | |
virtual void | CompensatorTableGet (int32 compensatorNumber, double *table)=0 |
Read the table for a configured compensator. More... | |
virtual double | CompensatorPositionGet (int32 compensatorNumber)=0 |
Get the compensator position. More... | |
virtual void | CompensatorTableClear (int32 compensatorNumber)=0 |
Sets all values in the compensator table to 0. More... | |
virtual void | CompensatorDisable (int32 compensatorNumber)=0 |
Disables the compensator only if it will not cause errors. More... | |
virtual void | CompensatorDisable (int32 compensatorNumber, bool force)=0 |
Disable a compensator with the option to force the action. More... | |
virtual void | CompensatorEnable (int32 compensatorNumber)=0 |
Enables the compensator only if it will cause no errors. More... | |
User Limits | |
virtual int32 | UserLimitCountGet ()=0 |
Get the number of UserLimits processing in the firmware. More... | |
virtual void | UserLimitCountSet (int32 userLimitCount)=0 |
Set the number of processed UserLimits in the MotionController. More... | |
virtual void | UserLimitConfigSet (int32 number, RSIUserLimitTriggerType triggerType, RSIAction action, int32 actionAxis, double duration)=0 |
virtual void | UserLimitConfigSet (int32 number, RSIUserLimitTriggerType triggerType, RSIAction action, int32 actionAxis, double duration, bool singleShot)=0 |
Configure a User Limit. More... | |
virtual RSIUserLimitTriggerType | UserLimitTriggerTypeGet (int32 number)=0 |
Get the user limit trigger type. | |
virtual RSIAction | UserLimitActionGet (int32 number)=0 |
Get the user limit action. | |
virtual int32 | UserLimitAxisNumberGet (int32 number)=0 |
Get the user limit axis number. | |
virtual double | UserLimitDurationGet (int32 number)=0 |
Get the user limit duration (seconds). | |
virtual bool | UserLimitSingleShotGet (int32 number)=0 |
Returns true if the user limit is configured for single-shot. | |
virtual void | UserLimitConditionSet (int32 number, int32 conditionNumber, RSIUserLimitLogic logic, uint64 address, uint32 mask, uint32 limitValue)=0 |
Set the conditions for a User Limit. More... | |
virtual void | UserLimitConditionSet (int32 number, int32 conditionNumber, RSIUserLimitLogic logic, uint64 address, double limitValue)=0 |
Set the conditions for a User Limit. More... | |
virtual RSIDataType | UserLimitConditionDataTypeGet (int32 number, int32 conditionNumber)=0 |
Get the user limit condition data type. | |
virtual RSIUserLimitLogic | UserLimitConditionLogicGet (int32 number, int32 conditionNumber)=0 |
Get the user limit condition logic. | |
virtual uint64 | UserLimitConditionAddressGet (int32 number, int32 conditionNumber)=0 |
Get the user limit condition address. | |
virtual uint32 | UserLimitConditionMaskGet (int32 number, int32 conditionNumber)=0 |
Get the user limit condition mask. | |
virtual int32 | UserLimitConditionLimitValueGet (int32 number, int32 conditionNumber)=0 |
Get the user limit condition value. | |
virtual double | UserLimitConditionLimitValueDoubleGet (int32 number, int32 conditionNumber)=0 |
Get the user limit condition limit value (as 64-bit double). | |
virtual void | UserLimitOutputSet (int32 number, uint32 andMask, uint32 orMask, uint64 outputPtr, bool enabled)=0 |
Configure a User Limit Output block. More... | |
virtual void | UserLimitOutputSet (int32 number, int32 valueSet, uint64 outputPtr, bool enabled)=0 |
User Limit will output a 32-bit value. More... | |
virtual void | UserLimitOutputSet (int32 number, uint64 andMask, uint64 orMask, uint64 outputPtr, bool enabled)=0 |
User Limit will output a 64-bit value with an AND and OR masks. More... | |
virtual void | UserLimitOutputSet (int32 number, double value, uint64 outputPtr, bool enabled)=0 |
virtual void | UserLimitOutputSet (int32 number, RSIDataType dataType, uint64 inputPtr, uint64 outputPtr, bool enabled)=0 |
Configure a User Limit Output block to copy a value, then output the value. More... | |
virtual bool | UserLimitOutputEnableGet (int32 number)=0 |
Returns true if the user limit output is enabled. | |
virtual RSIDataType | UserLimitOutputDataTypeGet (int32 number)=0 |
Get the user limit output data type. | |
virtual uint64 | UserLimitOutputAddressGet (int32 number)=0 |
Get the user limit output address. The output will write its value to this address. | |
virtual uint64 | UserLimitOutputInputAddressGet (int32 number)=0 |
Get the user limit output address. The user limit will output the value stored at this address when the user limit triggers. | |
virtual uint32 | UserLimitOutputAndMaskGet (int32 number)=0 |
Get the user limit output AND mask. | |
virtual uint32 | UserLimitOutputOrMaskGet (int32 number)=0 |
Get the user limit output OR mask. | |
virtual int32 | UserLimitOutputValueGet (int32 number)=0 |
Get the user limit output value. | |
virtual uint64 | UserLimitOutputAndMask64Get (int32 number)=0 |
Get the user limit outout 64-bit AND mask. | |
virtual uint64 | UserLimitOutputOrMask64Get (int32 number)=0 |
Get the user limit output 64-bit OR mask. | |
virtual double | UserLimitOutputDoubleGet (int32 number)=0 |
Get the user limit output 64-bit double value. | |
virtual bool | UserLimitStateGet (int32 number)=0 |
Get the state of a User Limit. More... | |
virtual bool | UserLimitEnableGet (int32 number)=0 |
Get the enabled state of a User Limit. More... | |
virtual void | UserLimitEnableSet (int32 number, bool enable)=0 |
Enable or siable a user limit to be processed by the RMP firmware. | |
virtual void | UserLimitDisable (int32 number)=0 |
Disable the processing of a User Limit. More... | |
virtual void | UserLimitReset (int32 number)=0 |
Clear the latched status of a User Limit. More... | |
virtual int32 | UserLimitCountMax ()=0 |
Get the total number of User Limits available. More... | |
virtual void | UserLimitInterruptUserDataAddressSet (int32 number, int32 userDataIndex, uint64 address)=0 |
Set the User Data address based on a User Limit trigger. More... | |
virtual uint64 | UserLimitInterruptUserDataAddressGet (int32 number, int32 userDataIndex)=0 |
Get the user limit interrupt user data address. | |
Interrupts | |
virtual RSIEventType | InterruptWait (int32 milliseconds)=0 |
Suspend the current thread until an interrupt arrives from the controller. More... | |
virtual char * | InterruptNameGet ()=0 |
Get the text name of an interrupt type. More... | |
virtual int32 | InterruptSampleTimeGet ()=0 |
Get the sample timer value when the last interrupt was generated. More... | |
virtual int32 | InterruptSourceNumberGet ()=0 |
Get the number (or index) of the object (Axis, Motor, etc) that generated the interrupt. More... | |
virtual uint16 | InterruptMotionIdGet ()=0 |
Get the 16-bit MotionId - only valid if RSIEventType == MOTION_DONE. | |
virtual void | InterruptMaskClear ()=0 |
Clear the interrupt mask so no interrupts will be generated. | |
virtual void | InterruptMaskAllSet ()=0 |
Set all the bits of the interrupt mask to get interrupts for ALL sources. | |
virtual void | InterruptMaskOnSet (RSIEventType eventType)=0 |
Set a bit in the interrupt mask so you will get interrupts for the given RSIEventType. | |
virtual void | InterruptMaskOffSet (RSIEventType eventType)=0 |
Clear a bit in the interrupt mask so you won't get interrupts for the given RSIEventType. | |
virtual bool | InterruptMaskOnGet (RSIEventType eventType)=0 |
Get the status of the interrupt mask for the given RSIEventType. | |
virtual uint64 | InterruptUserDataGet (uint32 index)=0 |
Get the user data associated with the interrupt. More... | |
Version | |
virtual char * | VersionGet ()=0 |
Get the RSI RapidCode version. More... | |
virtual int32 | MpiVersionMajor ()=0 |
Get the major version number of the MPI library. | |
virtual int32 | MpiVersionMinor ()=0 |
Get the minor version number of the MPI library. | |
virtual int32 | MpiVersionRelease ()=0 |
Get the release version number of the MPI library. | |
virtual int32 | RSIVersionMajor ()=0 |
Get the major version number of the RSI library. | |
virtual int32 | RSIVersionMinor ()=0 |
Get the minor version number of the RSI library. | |
virtual int32 | RSIVersionMicro ()=0 |
Get the micro version number of the RSI library. | |
Errors and Exceptions | |
virtual int32 | ErrorLogCountGet ()=0 |
Get the number of software errors in the error log. More... | |
virtual RsiError * | ErrorLogGet ()=0 |
Get the next RsiError in the log. More... | |
virtual void | ErrorLogClear ()=0 |
Clear the error log. More... | |
virtual void | ThrowExceptions (bool state)=0 |
Configure a class to throw exceptions. More... | |
virtual void | CacheEnableSet (RSICacheObject cache, bool enable, uint32 expirationMilliseconds)=0 |
Configure a class to cache data for specified time. More... | |
virtual char * | RsiErrorMessageGet (RSIErrorMessage msg)=0 |
Get the RSI-specific error message text for a specific RSIErrorMessage. | |
virtual char * | ErrorMessageGet (RSIErrorMessage msg)=0 |
Get the detailed text message for an RSIErrorMessage. | |
virtual bool | WarningMsgCheck (RSIErrorMessage msg)=0 |
Check to see if an RSIErrorMessage is a warning (true) or not (false). | |
Tracing | |
virtual void | Trace (bool state)=0 |
Enables/Disables trace output. More... | |
virtual void | TraceMaskOnSet (RSITrace maskOn)=0 |
Turn on a particular trace output mask. More... | |
virtual bool | TraceMaskOnGet (RSITrace maskOn)=0 |
Check to see if a particular trace output mask is turned on. More... | |
virtual void | TraceMaskOffSet (RSITrace maskOff)=0 |
Turn off a particular trace output mask. More... | |
virtual void | TraceMaskClear ()=0 |
Clear the trace output mask. More... | |
virtual void | TraceFileSet (const char *fileName)=0 |
Channels Tracing messages to specified file. More... | |
virtual void | TraceFileClose ()=0 |
Stops Logging to the file. More... | |
virtual void | TraceInjectMessage (RSITrace traceLevel, const char *msg)=0 |
Add a message to the Trace Log. More... | |
The MotionController object represents the RMP INtime soft motion controller.
This class provides an interface to general controller configuration, firmware upload/download, network, and data recording.
The MotionController object is the application software representation of the RMP. It handles motion controller firmware, network, interrupts, controller io, user limits, recorders and sequencers. In every application it is used to initialize your controller, axes, and io.