|
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 from DefaultVelocitySet, DefaultAccelerationSet, DefaultDecelerationSet, and DefaultJerkPercentSet . | |
| void | MoveSCurve (const double *const position, const double *const vel, const double *const accel, const double *const decel, const double *const jerkPct, const double *const finalVel) |
| MoveSCurve with a final velocity array, instead of ending the point-to-point move at zero velocity. | |
| 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 Axis default values from DefaultVelocitySet, DefaultAccelerationSet, DefaultDecelerationSet, and DefaultJerkPercentSet . | |
| void | MoveRelative (const double *const relativePosition, const double *const vel, const double *const accel, const double *const decel, const double *const jerkPct, const double *const finalVel) |
| MoveRelative with a final velocity array, instead of ending the point-to-point move at zero velocity. | |
| 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. | |
| int32_t | AmpEnableSet (bool enable, int32_t ampActiveTimeoutMilliseconds=AmpEnableTimeoutMillisecondsDefault, bool overrideRestrictedState=false) |
| 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 | MovePTF (const double *const position, const double *const time, const double *const feedforward, int32_t pointCount, int32_t emptyCount, bool retain, bool final) |
| A move commanded by a list of position, time, and feedforward points. | |
| void | MovePVTF (const double *const position, const double *const velocity, const double *const time, const double *const feedforward, int32_t pointCount, int32_t emptyCount, bool retain, bool final) |
| Move commanded by list of positions, velocities, times, and feedforward values. | |
| 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. | |
Static Attributes | |
| static constexpr int32_t | AmpEnableTimeoutMillisecondsDefault = 500 |
| Default timeout in milliseconds for AmpEnableSet() to wait for AMP_ACTIVE / OPERATION_ENABLED to go high. | |