APIs, concepts, guides, and more
|
Represents multiple axes of motion control, allows you to map two or more Axis objects together for error propagation and commanding coordinated, synchronized motion. Create or get a MultiAxis object using MotionController::MultiAxisGet or MotionController::LoadExistingMultiAxis. More...
Functions | |
void | AxisAdd (Axis *axis) |
Add an Axis to a MultiAxis group. | |
void | AxesAdd (Axis **axes, int32_t axisCount) |
void | AxisRemoveAll () |
Remove all axes from a MultiAxis group.s. | |
Axis * | AxisGet (int32_t index) |
Get the Axis class used in this MultiAxis class. | |
const char *const | UserLabelGet () |
Get the MultiAxis User defined Label. | |
void | UserLabelSet (const char *const userLabel) |
Set the MultiAxis User defined Label. | |
double | VectorVelocityGet () |
Get the vector velocity. | |
void | VectorVelocitySet (double velocity) |
Set the vector velocity. | |
double | VectorAccelerationGet () |
Get the vector acceleration. | |
void | VectorAccelerationSet (double acceleration) |
Set the vector acceleration. | |
double | VectorDecelerationGet () |
Get the vector deceleration. | |
void | VectorDecelerationSet (double deceleration) |
Set the vector deceleration. | |
double | VectorJerkPercentGet () |
Get the vector jerk percent. | |
void | VectorJerkPercentSet (double jerkPercent) |
Set the jerk percent for a vector move. | |
void | MoveVector (const double *const position) |
Point-to-point vector move. | |
void | MoveVectorRelative (const double *const relativePosition) |
double | PathTimeSliceGet () |
Set the time slice for the Path. | |
void | PathTimeSliceSet (double seconds) |
Set the time slice for the Path. | |
void | PathRatioSet (const double *const ratio) |
Set the scale factor ratios for each axis. | |
double | PathRatioGet (int32_t index) |
void | PathBlendSet (bool blend) |
Set the blending attribute. | |
void | PathPlanTypeSet (RSIPathPlanType type) |
Set the path motion planning type. | |
RSIPathPlanType | PathPlanTypeGet () |
Get the path motion planning type. | |
void | PathListStart (const double *const startPosition) |
Start a line and arc point list for path motion. | |
void | PathLineAdd (const double *const position) |
Add a line segment to the path. | |
void | PathArcAdd (const double *const center, double angle) |
Add an arc segment to the path. | |
void | PathListEnd () |
End a line and arc point list for path motion. | |
void | PathMotionStart () |
Start the path motion. | |
void | MoveTrapezoidal (const double *const position, const double *const vel, const double *const accel, const double *const decel) |
Point-to-point trapezoidal move. | |
void | MoveTrapezoidal (const double *const position) |
Point-to-point trapezoidal move using default values from each Axis. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
void | MoveSCurve (const double *const position, const double *const vel, const double *const accel, const double *const decel, const double *const jerkPct) |
Point-to-point S-Curve Move. | |
void | MoveSCurve (const double *const position) |
Point-to-point S-Curve motion using default Axis values. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
void | MoveVelocity (const double *const velocity, const double *const accel) |
Velocity move. | |
void | MoveVelocity (const double *const velocity) |
Velocity move using all the Axis default values for accelerations. | |
void | MoveRelative (const double *const relativePosition, const double *const vel, const double *const accel, const double *const decel, const double *const jerkPct) |
Command a relative point-to-point S-Curve motion. | |
void | MoveRelative (const double *const relativePosition) |
Command a relative point-to-point S-Curve motion using default values from each Axis. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
void | MoveVelocitySCurve (const double *const velocity, const double *const accel, const double *const jerkPct) |
Velocity move with non-constant acceleration. | |
uint16_t | MotionIdExecutingGet () |
uint16_t | MotionElementIdExecutingGet () |
int32_t | AxisMapCountGet () |
Get the number of Axis objects in the Axis map. | |
uint64_t | AddressGet (RSIMultiAxisAddressType addressType) |
Get the host address for some location on the MultiAxis. | |
RSIDataType | AddressDataTypeGet (RSIMultiAxisAddressType type) |
Get the data type for an address of the MultiAxis. | |
bool | AmpEnableGet () |
Get the enabled/disabled state of the multi axis. | |
int32_t | NumberGet () |
Get the axis number. | |
int32_t | AxisCountGet () |
Get the axis count. | |
void | TriggeredModify () |
Modify the currently executing motion to decelerate the Axis or MultiAxis to a zero velocity IDLE state. | |
void | Stop () |
Stop an axis. | |
void | Resume () |
Resume an axis. | |
void | EStop () |
E-Stop an axis. | |
void | EStopAbort () |
E-Stop, then abort an axis. | |
void | EStopModify () |
E-Stop with a deceleration rate. | |
void | EStopModifyAbort () |
void | Abort () |
Abort an axis. | |
void | ClearFaults () |
Clear all faults for an Axis or MultiAxis. | |
void | AmpEnableSet (bool enable) |
Enable all amplifiers. | |
int32_t | AmpEnableSet (bool enable, int32_t ampActiveTimeoutMilliseconds) |
Enable all amplifiers. | |
void | Map () |
Writes the axis mapping relationship to the Controller. | |
void | Unmap () |
Removes the axis mapping relationship of the MultiAxis. | |
bool | IsMapped () |
Check to see if the axis mapping is active on the firmware. | |
void | FeedRateSet (double rate) |
Set the feed rate for an Axis. | |
double | FeedRateGet () |
Get the axis feed rate. | |
RSIState | StateGet () |
Get the Axis or MultiAxis state. | |
RSISource | SourceGet () |
Get the source of an error state for an Axis or MultiAxis. | |
const char *const | SourceNameGet (RSISource source) |
Get the name (string) of the source of an error for an Axis or MultiAxis. | |
int32_t | MotionDoneWait () |
Waits for a move to complete. | |
int32_t | MotionDoneWait (int32_t waitTimeoutMilliseconds) |
Waits for a move to complete. | |
bool | MotionDoneGet () |
Check to see if motion is done and settled. | |
bool | StatusBitGet (RSIEventType bitMask) |
Return the state of a status bit. | |
uint64_t | StatusBitsGet () |
Return all the RMP firmware status bits as a 64-bit unsigned bitmask. | |
void | InterruptEnableSet (bool enable) |
Control interrupts for this class. | |
void | InterruptWake () |
Wake all threads waiting for an interrupt on this Axis. | |
double | StopTimeGet () |
Get Stop Event deceleration time. | |
void | StopTimeSet (double seconds) |
Set the deceleration time for a Stop Event. | |
double | EStopTimeGet () |
Get E-Stop Event deceleration time. | |
void | EStopTimeSet (double seconds) |
Set the deceleration time for an E-Stop Event. | |
double | MotionDelayGet () |
Get the delay (seconds) that will occur before motion starts. | |
void | MotionDelaySet (double seconds) |
Set the time (seconds) that a motion will wait before starting. | |
uint16_t | MotionIdGet () |
Get the motion identifier. | |
void | MotionIdSet (uint16_t id) |
Set the Motion identifier. | |
double | MotionFinalVelocityGet () |
Gets final velocity value (!!! only used if FINAL_VEL motion attribute is used !!!) | |
void | MotionFinalVelocitySet (double finalVelocity) |
Sets final velocity value in UserUnits (!!! only used if FINAL_VEL motion attribute is used !!!) | |
RSIMotionHoldType | MotionHoldTypeGet () |
Get the motion hold attribute type. | |
void | MotionHoldTypeSet (RSIMotionHoldType type) |
Set the motion hold type. | |
int32_t | MotionHoldGateNumberGet () |
Returns the Motion Hold Gate number that the axis or multiaxis is set to. | |
void | MotionHoldGateNumberSet (int32_t gateNumber) |
Assigns the axis or multiaxis Motion Hold Gate number to the specified controller gate. | |
double | MotionHoldTimeoutGet () |
Get the motion hold timeout value. | |
void | MotionHoldTimeoutSet (double seconds) |
Set the motion hold timeout value. | |
bool | MotionHoldGateGet () |
Get the state of the hold gate. | |
void | MotionHoldGateSet (bool hold) |
Set the Motion Hold Gate. | |
int32_t | MotionHoldAxisNumberGet () |
Gets the Axis number. | |
void | MotionHoldAxisNumberSet (int32_t number) |
Sets the Axis number for Motion Hold. | |
double | MotionHoldAxisPositionGet () |
Gets the Axis position. | |
void | MotionHoldAxisPositionSet (double position) |
Sets the Axis position. | |
RSIUserLimitLogic | MotionHoldAxisLogicGet () |
Get the logic when holding for Axis ActualPosition. | |
void | MotionHoldAxisLogicSet (RSIUserLimitLogic logic) |
Set the logic when holding for Axis ActualPosition. | |
uint64_t | MotionHoldUserAddressGet () |
Gets the Motion Hold User Address. | |
void | MotionHoldUserAddressSet (uint64_t address) |
Sets the Motion Hold User Address. | |
int32_t | MotionHoldUserMaskGet () |
Gets the Motion Hold User Mask. | |
void | MotionHoldUserMaskSet (int32_t holdMask) |
Sets the Motion Hold User bit mask. | |
int32_t | MotionHoldUserPatternGet () |
Gets the Motion Hold user bit pattern. | |
void | MotionHoldUserPatternSet (int32_t pattern) |
Sets the Motion Hold User pattern bit mask. | |
void | MotionAttributeMaskDefaultSet () |
Restore the motion attribute mask to the RapidCode default. | |
bool | MotionAttributeMaskOnGet (RSIMotionAttrMask maskOn) |
Check to see if a particular motion attribute mask is turned on. | |
void | MotionAttributeMaskOnSet (RSIMotionAttrMask maskOn) |
Turn on a particular motion attribute mask. | |
void | MotionAttributeMaskOffSet (RSIMotionAttrMask maskOff) |
Turn off a particular motion attribute mask. | |
void | MovePT (RSIMotionType type, const double *const position, const double *const time, int32_t pointCount, int32_t emptyCount, bool retain, bool final) |
A move commanded by a list of position and time points. | |
void | MovePVT (const double *const position, const double *const velocity, const double *const time, int32_t pointCount, int32_t emptyCount, bool retain, bool final) |
Move commanded by list of positions, velocities, and times. | |
void | MovePVAJT (const double *const position, const double *const velocity, const double *const acceleration, const double *const jerk, const double *const time, int32_t pointCount, int32_t emptyCount, bool retain, bool final) |
void | StreamingOutputAdd (int32_t onMask, int32_t offMask, uint64_t address) |
void | StreamingOutputAdd (int32_t onMask, int32_t offMask, uint64_t address, int32_t ptPointIndex) |
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. | |
void | StreamingOutputAdd (RapidCode::IOPoint *point, bool on) |
void | StreamingOutputAdd (RapidCode::IOPoint *point, bool on, int32_t ptPointIndex) |
Sets the state of the specified IOPoint when the motion reaches the specified streaming point index. | |
void | StreamingOutputsClear () |
Clear the contents of the Streaming Output List. | |
void | StreamingOutputsEnableSet (bool enable) |
Sets whether Streaming Output is enabled (true) or disabled (false). | |
RSIEventType | InterruptWait (int32_t milliseconds) |
Suspend the current thread until an interrupt arrives from the controller. | |
const char *const | InterruptNameGet () |
Get the text name of an interrupt type. | |
int32_t | InterruptSampleTimeGet () |
Get the sample timer value when the last interrupt was generated. | |
int32_t | InterruptSourceNumberGet () |
Get the number (or index) of the object (Axis, Motor, etc) that generated the interrupt. | |
uint16_t | InterruptMotionIdGet () |
Get the 16-bit MotionId - only valid if RSIEventType == MOTION_DONE. | |
void | InterruptMaskClear () |
Clear the interrupt mask so no interrupts will be generated. | |
void | InterruptMaskAllSet () |
Set all the bits of the interrupt mask to get interrupts for ALL sources. | |
void | InterruptMaskOnSet (RSIEventType eventType) |
Set a bit in the interrupt mask so you will get interrupts for the given RSIEventType. | |
void | InterruptMaskOffSet (RSIEventType eventType) |
Clear a bit in the interrupt mask so you won't get interrupts for the given RSIEventType. | |
bool | InterruptMaskOnGet (RSIEventType eventType) |
Get the status of the interrupt mask for the given RSIEventType. | |
uint64_t | InterruptUserDataGet (uint32_t userDataIndex) |
Get the user data associated with the interrupt, as a 64-bit unsigned integer. | |
double | InterruptUserDataDoubleGet (uint32_t userDataIndex) |
Get the user data associated with the interrupt, as a 64-bit double. | |
FirmwareValue | InterruptUserDataValueGet (uint32_t userDataIndex) |
Read the user data associated with the interrupt as a FirmwareValue. | |
void | InterruptUserDataAddressSet (uint32_t userDataIndex, uint64_t hostAddress) |
Set the interrupt's UserData address. | |
uint64_t | InterruptUserDataAddressGet (uint32_t userDataIndex) |
Get the 64-bit host address from the interrupt's UserData. | |
const char *const | VersionGet () |
Get the RSI RapidCode version. | |
int32_t | MpiVersionMajor () |
Get the major MPI version. | |
int32_t | MpiVersionMinor () |
Get the minor MPI version. | |
int32_t | MpiVersionRelease () |
Get the release MPI version. | |
int32_t | RSIVersionMajor () |
Get the major RSI version. | |
int32_t | RSIVersionMinor () |
Get the minor RSI version. | |
int32_t | RSIVersionMicro () |
Get the micro RSI version. | |
int32_t | RSIVersionPatch () |
Get the patch RSI version. | |
int32_t | ErrorLogCountGet () |
Get the number of software errors in the error log. | |
const RsiError *const | ErrorLogGet () |
Get the next RsiError in the log. | |
void | ErrorLogClear () |
Clear the error log. | |
void | ThrowExceptions (bool state) |
Configure a class to throw exceptions. | |
const char *const | RsiErrorMessageGet (RSIErrorMessage msg) |
Get the RSI-specific error message text for a specific RSIErrorMessage. | |
const char *const | ErrorMessageGet (RSIErrorMessage msg) |
Get the detailed text message for an RSIErrorMessage. | |
bool | WarningMsgCheck (RSIErrorMessage msg) |
Check to see if an RSIErrorMessage is a warning (true) or not (false). | |
void | Trace (bool state) |
Enables/Disables trace output. | |
void | TraceMaskOnSet (RSITrace maskOn) |
Turn on a particular trace output mask. | |
bool | TraceMaskOnGet (RSITrace maskOn) |
Check to see if a particular trace output mask is turned on. | |
void | TraceMaskOffSet (RSITrace maskOff) |
Turn off a particular trace output mask. | |
void | TraceMaskClear () |
Clear the trace output mask. | |
void | TraceFileSet (const char *const fileName) |
Channels Tracing messages to specified file. | |
void | TraceFileClose () |
Stops Logging to the file. | |
void | TraceInjectMessage (RSITrace traceLevel, const char *const message) |
Add a message to the Trace Log. | |
Attributes | |
RapidCode Objects | |
MotionController * | rsiControl |
Gets the parent MotionController object. | |