The MultiAxis object allows you to map two or more axes together and command synchronized motion. More...
Attributes | |
RapidCode Objects | |
MotionController * | rsiControl |
Functions | |
Initialization | |
virtual void | AxisAdd (Axis *axis)=0 |
Add an Axis to a MultiAxis group. More... | |
virtual void | AxesAdd (Axis **axes, int32 axisCount)=0 |
virtual void | AxisRemoveAll ()=0 |
Remove all axes from a MultiAxis group.s. More... | |
Information | |
virtual int32 | AxisCountGet ()=0 |
Get the number axes in the MultiAxis class. More... | |
virtual Axis * | AxisGet (int32 index)=0 |
Get the Axis class used in this MultiAxis class. More... | |
virtual char * | UserLabelGet ()=0 |
Get the MultiAxis User defined Label. More... | |
virtual void | UserLabelSet (char *userLabel)=0 |
Set the MultiAxis User defined Label. More... | |
Coordinated Motion | |
virtual double | VectorVelocityGet ()=0 |
Get the vector velocity. More... | |
virtual void | VectorVelocitySet (double velocity)=0 |
Set the vector velocity. More... | |
virtual double | VectorAccelerationGet ()=0 |
Get the vector acceleration. More... | |
virtual void | VectorAccelerationSet (double acceleration)=0 |
Set the vector acceleration. More... | |
virtual double | VectorDecelerationGet ()=0 |
Get the vector deceleration. More... | |
virtual void | VectorDecelerationSet (double deceleration)=0 |
Set the vector deceleration. More... | |
virtual double | VectorJerkPercentGet ()=0 |
Get the vector jerk percent. More... | |
virtual void | VectorJerkPercentSet (double jerkPercent)=0 |
Set the jerk percent for a vector move. More... | |
virtual void | MoveVector (double *position)=0 |
Point-to-point vector move. More... | |
virtual void | MoveVectorRelative (double *relativePosition)=0 |
Path Motion | |
virtual double | PathTimeSliceGet ()=0 |
Set the time slice for the Path. More... | |
virtual void | PathTimeSliceSet (double seconds)=0 |
Set the time slice for the Path. More... | |
virtual void | PathRatioSet (double *ratio)=0 |
Set the scale factor ratios for each axis. More... | |
virtual double | PathRatioGet (int32 index)=0 |
Get the ratio value for a given zero-based index. More... | |
virtual void | PathBlendSet (bool blend)=0 |
Set the blending attribute. More... | |
virtual void | PathPlanTypeSet (RSIPathPlanType type)=0 |
Set the path motion planning type. More... | |
virtual RSIPathPlanType | PathPlanTypeGet ()=0 |
Get the path motion planning type. More... | |
virtual void | PathListStart (double *startPosition)=0 |
Start a line and arc point list for path motion. More... | |
virtual void | PathLineAdd (double *position)=0 |
Add a line segment to the path. More... | |
virtual void | PathArcAdd (double *center, double angle)=0 |
Add an arc segment to the path. More... | |
virtual void | PathListEnd ()=0 |
End a line and arc point list for path motion. More... | |
virtual void | PathMotionStart ()=0 |
Start the path motion. More... | |
Point to Point Motion | |
virtual void | MoveTrapezoidal (double *position, double *vel, double *accel, double *decel)=0 |
Point-to-point trapezoidal move. More... | |
virtual void | MoveTrapezoidal (double *position)=0 |
Point-to-point trapezoidal move using default values from each Axis. More... | |
virtual void | MoveSCurve (double *position, double *vel, double *accel, double *decel, double *jerkPct)=0 |
Point-to-point S-Curve Move. More... | |
virtual void | MoveSCurve (double *position)=0 |
Point-to-point S-Curve motion using default Axis values. More... | |
virtual void | MoveVelocity (double *velocity, double *accel)=0 |
Velocity move. More... | |
virtual void | MoveVelocity (double *velocity)=0 |
Command a velocity move using Axis default values for acceleration and jerk percent. More... | |
virtual void | MoveRelative (double *relativePosition, double *vel, double *accel, double *decel, double *jerkPct)=0 |
Command a relative point-to-point S-Curve motion. More... | |
virtual void | MoveRelative (double *relativePosition)=0 |
Command a relative point-to-point S-Curve motion using default values from each Axis. More... | |
virtual void | MoveVelocitySCurve (double *velocity, double *accel, double *jerkPct)=0 |
Velocity move with non-constant acceleration. More... | |
virtual void | MotionDelaySet (double seconds)=0 |
Set the time (seconds) that a motion will wait before starting. More... | |
virtual uint16 | MotionIdExecutingGet ()=0 |
virtual uint16 | MotionElementIdExecutingGet ()=0 |
virtual int | AxisMapCountGet ()=0 |
Get the number of Axis objects in the Axis map. | |
virtual uint64 | AddressGet (RSIMultiAxisAddressType addressType)=0 |
Get the host address for some location on the MultiAxis. More... | |
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 uint16 | MotionIdGet ()=0 |
Get the motion identifier. More... | |
virtual void | MotionIdSet (uint16 id)=0 |
Set the Motion identifier. More... | |
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 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 MultiAxis object allows you to map two or more axes together and command synchronized motion.
This class provides an interface to a group or collection of axes. When axes are mapped together it is easir to command synchronized, coordinated, and/or with path motion.