MotionController Axis MultiAxis IO IOPoint NetworkNode RsiError
Sample Apps Changelog

RapidCode API

RapidCodeMotionabstract

The RapidCodeMotion interface is implemented by Axis and MultiAxis . More...

Attributes

RapidCode Objects
MotionControllerrsiControl
 

Functions

Info
virtual int32 NumberGet ()=0
 Get the axis number. More...
 
Action
virtual void TriggeredModify ()=0
 Modify the currently execuing motion to decelerate the Axis or MultiAxis to a zero velocity IDLE state. More...
 
virtual void Stop ()=0
 Stop an axis. More...
 
virtual void Resume ()=0
 Resume an axis. More...
 
virtual void EStop ()=0
 E-Stop an axis. More...
 
virtual void EStopAbort ()=0
 E-Stop, then abort an axis. More...
 
virtual void EStopModify ()=0
 E-Stop with a deceleration rate. More...
 
virtual void EStopModifyAbort ()=0
 
virtual void Abort ()=0
 Abort an axis. More...
 
virtual void ClearFaults ()=0
 Clear all faults for an Axis or MultiAxis. More...
 
virtual void AmpEnableSet (bool enable)=0
 Enable all amplifiers. More...
 
virtual void Map ()=0
 Writes the axis mapping relationship to the Controller. More...
 
virtual void Unmap ()=0
 Removes the axis mapping relationship of the MultiAxis. More...
 
virtual void FeedRateSet (double rate)=0
 Set the feed rate for an Axis. More...
 
virtual double FeedRateGet ()=0
 Get the axis feed rate. More...
 
State and Status
virtual RSIState StateGet ()=0
 Get the Axis or MultiAxis state. More...
 
virtual RSISource SourceGet ()=0
 Get the source of an error state for an Axis or MultiAxis. More...
 
virtual char * SourceNameGet (RSISource source)=0
 Get the name (string) of the source of an error for an Axis or MultiAxis. More...
 
virtual int32 MotionDoneWait ()=0
 Waits for a move to complete. More...
 
virtual int32 MotionDoneWait (int32 timeoutMilliseconds)=0
 Waits for a move to complete. More...
 
virtual bool MotionDoneGet ()=0
 Check to see if motion is done and settled. More...
 
virtual bool StatusBitGet (RSIEventType bitMask)=0
 Return the state of a status bit. More...
 
Interrupts
virtual void InterruptEnableSet (bool enable)=0
 Control interrupts for this class. More...
 
virtual void InterruptWake ()=0
 Wake all threads waiting for an interrupt on this Axis. More...
 
Motion Configuration
virtual double StopTimeGet ()=0
 Get Stop Event deceleration time. More...
 
virtual void StopTimeSet (double seconds)=0
 Set the deceleration time for a Stop Event. More...
 
virtual double EStopTimeGet ()=0
 Get E-Stop Event deceleration time. More...
 
virtual void EStopTimeSet (double seconds)=0
 Set the deceleration time for an E-Stop Event. More...
 
virtual double MotionDelayGet ()=0
 Get the delay (seconds) that will occur before motion starts. More...
 
virtual void MotionDelaySet (double seconds)=0
 Set the time (seconds) that a motion will wait before starting. More...
 
virtual uint16 MotionIdGet ()=0
 Get the motion identifier. More...
 
virtual void MotionIdSet (uint16 id)=0
 Set the Motion identifier. More...
 
virtual uint16 MotionIdExecutingGet ()=0
 Get the currently executing motion ID.
 
virtual uint16 MotionElementIdExecutingGet ()=0
 Get the currently executing element ID.
 
virtual double MotionFinalVelocityGet ()=0
 Gets final velocity value.
 
virtual void MotionFinalVelocitySet (double finalVelocity)=0
 Sets final velocity value in UserUnits (!!! only used if FINAL_VEL motion attribute is used !!!) More...
 
virtual RSIMotionHoldType MotionHoldTypeGet ()=0
 Get the motion hold attribute type. More...
 
virtual void MotionHoldTypeSet (RSIMotionHoldType type)=0
 Set the motion hold type. More...
 
virtual int32 MotionHoldGateNumberGet ()=0
 Returns the Motion Hold Gate number that the axis or multiaxis is set to. More...
 
virtual void MotionHoldGateNumberSet (int32 gateNumber)=0
 Assigns the axis or multiaxis Motion Hold Gate number to the specified controller gate. More...
 
virtual double MotionHoldTimeoutGet ()=0
 Get the motion hold timeout value. More...
 
virtual void MotionHoldTimeoutSet (double seconds)=0
 Set the motion hold timeout value. More...
 
virtual bool MotionHoldGateGet ()=0
 Get the state of the hold gate. More...
 
virtual void MotionHoldGateSet (bool hold)=0
 Set the Motion Hold Gate. More...
 
virtual int32 MotionHoldAxisNumberGet ()=0
 Gets the Axis number. More...
 
virtual void MotionHoldAxisNumberSet (int32 number)=0
 Sets the Axis number for Motion Hold. More...
 
virtual double MotionHoldAxisPositionGet ()=0
 Gets the Axis position. More...
 
virtual void MotionHoldAxisPositionSet (double position)=0
 Sets the Axis position. More...
 
virtual RSIUserLimitLogic MotionHoldAxisLogicGet ()=0
 Get the logic when holding for Axis ActualPosition.
 
virtual void MotionHoldAxisLogicSet (RSIUserLimitLogic logic)=0
 Set the logic when holding for Axis ActualPosition.
 
virtual uint64 MotionHoldUserAddressGet ()=0
 Gets the Motion Hold User Address. More...
 
virtual void MotionHoldUserAddressSet (uint64 address)=0
 Sets the Motion Hold User Address. More...
 
virtual int32 MotionHoldUserMaskGet ()=0
 Gets the Motion Hold User Mask. More...
 
virtual void MotionHoldUserMaskSet (int32 mask)=0
 Sets the Motion Hold User bit mask. More...
 
virtual int32 MotionHoldUserPatternGet ()=0
 Gets the Motion Hold user bit pattern. More...
 
virtual void MotionHoldUserPatternSet (int32 pattern)=0
 Sets the Motion Hold User pattern bit mask. More...
 
virtual void MotionAttributeMaskDefaultSet ()=0
 Restore the motion attribute mask to the RapidCode default.
 
virtual bool MotionAttributeMaskOnGet (RSIMotionAttrMask maskOn)=0
 Check to see if a particular motion attribute mask is turned on. More...
 
virtual void MotionAttributeMaskOnSet (RSIMotionAttrMask maskOn)=0
 Turn on a particular motion attribute mask. More...
 
virtual void MotionAttributeMaskOffSet (RSIMotionAttrMask maskOff)=0
 Turn off a particular motion attribute mask. More...
 
Streaming Motion
virtual void MovePT (RSIMotionType type, double *position, double *time, int32 pointCount, int32 emptyCount, bool retain, bool final)=0
 A move commanded by a list of position and time points. More...
 
virtual void MovePVT (double *position, double *velocity, double *time, int32 pointCount, int32 emptyCount, bool retain, bool final)=0
 Move commanded by list of positions, velocities, and times. More...
 
virtual void MovePVAJT (double *position, double *velocity, double *acceleration, double *jerk, double *time, int32 pointCount, int32 emptyCount, bool retain, bool final)=0
 
virtual void StreamingOutputAdd (int32 onMask, int32 offMask, uint64 address)=0
 
virtual void StreamingOutputAdd (int32 onMask, int32 offMask, uint64 address, int ptPointIndex)=0
 Applies the on and off bitmasks to the controller's memory address when the motion reaches the specified streaming point index. Used to toggle Digital Outputs and/or memory. More...
 
virtual void StreamingOutputAdd (RapidCode::IOPoint *point, bool on)=0
 
virtual void StreamingOutputAdd (RapidCode::IOPoint *point, bool on, int ptPointIndex)=0
 Sets the state of the specified IOPoint when the motion reaches the specified streaming point index. More...
 
virtual void StreamingOutputsClear ()=0
 Clear the contents of the Streaming Output List. More...
 
virtual void StreamingOutputsEnableSet (bool enable)=0
 Sets whether Streaming Output is enabled (true) or disabled (false). More...
 
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 RsiErrorErrorLogGet ()=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...
 

Description

The RapidCodeMotion interface is implemented by Axis and MultiAxis .