The RMP Motion Controller APIs

Represents a single axis of motion control. This class provides an interface for commanding motion, reading trajectory parameters, homing, limit switch configuration, motor configuration, position capture, configuring filter (control law) parameters, electronic gearing and access to its NetworkNode. Get or create an Axis object using MotionController::AxisGet. More...

Functions

void MoveTrapezoidal (double position, double vel, double accel, double decel)
 Point-to-point trapezoidal move.
 
void MoveTrapezoidal (double position, double vel, double accel, double decel, double finalVel)
 Point-to-point trapezoidal move.
 
void MoveTrapezoidal (double position)
 Point-to-point trapezoidal move.
 
void MoveSCurve (double position, double vel, double accel, double decel, double jerkPct)
 Command a point-to-point S-Curve motion.
 
void MoveSCurve (double position)
 
void MoveSCurve (double position, double vel, double accel, double decel, double jerkPct, double finalVel)
 
void MoveVelocity (double velocity)
 
void MoveVelocity (double velocity, double accel)
 Command a constant velocity move (jog).
 
void MoveVelocitySCurve (double velocity, double accel, double jerkPct)
 Command a constant velocity move (jog) with non-constant acceleration.
 
void MoveRelative (double relativePosition, double vel, double accel, double decel, double jerkPct)
 Command a relative point-to-point S-Curve motion.
 
void MoveRelative (double releativePosition)
 
void MoveRelative (double relativePosition, double vel, double accel, double decel, double jerkPct, double finalVel)
 
void PositionSet (double position)
 Set the Command and Actual positions.
 
double ActualPositionGet ()
 Get the current actual position.
 
void ActualPositionSet (double position)
 Set the actual position.
 
double CompensationPositionGet ()
 Get the compensator position.
 
void CompensationPositionSet (double position)
 Set the compensator position.
 
double TargetPositionGet ()
 Get the target position.
 
double CommandPositionGet ()
 Get the current command position.
 
void CommandPositionSet (double position)
 Sets the value of the command and actual positions of an axis.
 
void CommandPositionDirectSet (double position)
 directly sets the value of the command position of an axis
 
double OriginPositionGet ()
 Get the origin position.
 
void OriginPositionSet (double position)
 Set the origin position.
 
double PositionErrorGet ()
 Get the current position error.
 
double CommandVelocityGet ()
 Get the current commanded velocity.
 
double ActualVelocityGet ()
 Get the current actual velocity.
 
double CommandAccelGet ()
 Get the current commanded acceleration.
 
double CommandJerkGet ()
 Get the current commanded jerk value (custom firmware required).
 
double EncoderPositionGet (RSIMotorFeedback encoder)
 Get the raw encoder position.
 
double UserUnitsGet ()
 Get the number of counts per User Unit.
 
void UserUnitsSet (double countsPerUserUnit)
 Sets the number of counts per User Unit.
 
double UserUnitsToCounts (double userUnits)
 Convert from UserUnits to raw feedback counts.
 
double CountsToUserUnits (double counts)
 Convert from raw feedback counts to UserUnits.
 
int32_t FramesToExecuteGet ()
 
void Home ()
 Execute the homing routine.
 
void Home (bool moveToZero)
 
RSIHomeMethod HomeMethodGet ()
 Get the method to be used for homing.
 
void HomeMethodSet (RSIHomeMethod method)
 Set the method to be used for homing.
 
double HomeOffsetGet ()
 Get the home offset.
 
void HomeOffsetSet (double offset)
 Set the home offset.
 
double HomeVelocityGet ()
 Get the home velocity.
 
double HomeVelocityGet (RSIHomeStage homeStage)
 
void HomeVelocitySet (double velocity)
 Set the home velocity.
 
void HomeVelocitySet (RSIHomeStage homeStage, double velocity)
 
double HomeSlowVelocityGet ()
 Get the slow home velocity.
 
void HomeSlowVelocitySet (double velocity)
 Set the slow home velocity.
 
double HomeAccelerationGet ()
 Get the deceleration used for homing.
 
double HomeAccelerationGet (RSIHomeStage homeStage)
 
void HomeAccelerationSet (double accel)
 Set the deceleration used for homing.
 
void HomeAccelerationSet (RSIHomeStage homeStage, double accel)
 
double HomeDecelerationGet ()
 Get the decleration to be used for homing when using the switch is not detected before the HomeTravelDistanceSet() has been reached.
 
double HomeDecelerationGet (RSIHomeStage homeStage)
 
void HomeDecelerationSet (double decel)
 Set the decleration to be used for homing when using the switch is not detected before the HomeTravelDistanceSet() has been reached.
 
void HomeDecelerationSet (RSIHomeStage homeStage, double decel)
 
double HomeJerkPercentGet ()
 Get the Jerk Percent used for homing.
 
double HomeJerkPercentGet (RSIHomeStage homeStage)
 
void HomeJerkPercentSet (double percent)
 Set the Jerk Percent used for homing.
 
void HomeJerkPercentSet (RSIHomeStage homeStage, double percent)
 
void HomeCancelSet (bool cancel)
 Cancel Homing.
 
bool HomeStateGet ()
 Get the home state.
 
void HomeStateSet (bool homed)
 Set the home state.
 
void HomeLimitCustomConfigSet (uint64_t address, int32_t bitIndex)
 
void HomeLimitCustomConfigReset ()
 Remove any custom home input configuration and reset to use the Axis' dedicated home input bit.
 
uint64_t HomeLimitCustomConfigAddressGet ()
 Get the host address of the custom home input configuration.
 
int32_t HomeLimitCustomConfigBitIndexGet ()
 
void HomeTravelDistanceSet (RSIHomeStage stage, double distanceToTravel)
 Set the max travel used in a specific Homing Stage.
 
RSIHomeStage HomeStageGet ()
 Get the current Homing Stage.
 
void HomeBehaviorSet (RSIAction behavior)
 Set the Action used for Master based homing.
 
RSIAction HomeBehaviorGet ()
 Get the Action used during Master based Homing.
 
bool FaultMaskBitGet (RSIMotorFaultMask bitMask)
 Unsupported Function. Likely to be removed in the future.
 
uint16_t StatusWordGet ()
 Get the DS402 status word.
 
bool NegativeLimitGet ()
 Get the state of the Hardware Negative Limit input.
 
bool PositiveLimitGet ()
 Get the state of the Hardware Positive Limit input.
 
bool HomeLimitGet ()
 Get the current state of the Home limit.
 
bool HomeSwitchGet ()
 Get the current state of the Home switch input.
 
bool AmpFaultGet ()
 Get the current state of the Amp Fault input.
 
bool AmpEnableGet ()
 Get the state of the Amp Enable Output.
 
bool DedicatedInExists (RSIMotorDedicatedIn motorDedicatedInNumber)
 Determine if a particular Dedicated input bit exists for a motor.
 
bool DedicatedOutExists (RSIMotorDedicatedOut motorDedicatedOutNumber)
 Determine if a particular Dedicated output bit exists for a motor.
 
bool DedicatedInGet (RSIMotorDedicatedIn motorDedicatedInNumber)
 Read a digital input.
 
bool DedicatedOutGet (RSIMotorDedicatedOut motorDedicatedOutNumber)
 Get the state of dedicated output bit.
 
bool DigitalInGet (RSIMotorGeneralIo motorGeneralIoNumber)
 Read a digital input.
 
bool DigitalOutGet (RSIMotorGeneralIo motorGeneralIoNumber)
 Get the state of digital output bit.
 
void DigitalOutSet (RSIMotorGeneralIo motorGeneralIoNumber, bool outValue)
 Set a digital output bit.
 
bool DigitalIoExists (RSIMotorGeneralIo motorGeneralIoNumber)
 Determine if a particular General I/O bit exists for a motor.
 
const char *const DigitalIoNameGet (RSIMotorGeneralIo motorGeneralIoNumber)
 Get the name of a Motor I/O bit.
 
RSIMotorIoTypeMask DigitalIoValidTypesMaskGet (RSIMotorGeneralIo motorGeneralIoNumber)
 Get the type mask for a Motor I/O bit.
 
void DigitalIoTypeSet (RSIMotorGeneralIo motorGeneralIoNumber, RSIMotorIoType type)
 Set the type for a Motor I/O bit.
 
double AnalogInGet (int32_t channel)
 Get the value of an analog input.
 
double EStopDecelerationGet ()
 Get the deceleration rate for an E-Stop, Modify Event.
 
void EStopDecelerationSet (double decel)
 Set the deceleration rate for an E-Stop, Modify Event.
 
double EStopJerkPercentGet ()
 Get the jerk percent for an E-Stop, Modify Event.
 
void EStopJerkPercentSet (double jerkPct)
 Set the jerk percent for an E-Stop, Modify Event.
 
double TriggeredModifyDecelerationGet ()
 Get the deceleration rate for an Triggered Modify Event.
 
void TriggeredModifyDecelerationSet (double decel)
 Set the deceleration rate for an Triggered Modify Event.
 
double TriggeredModifyJerkPercentGet ()
 Get the jerk percent for an Triggered Modify Event.
 
void TriggeredModifyJerkPercentSet (double jerkPct)
 Set the jerk percent for an Triggered Modify Event.
 
int32_t FrameBufferSizeGet ()
 
void FrameBufferSizeSet (int32_t frameSize)
 
uint16_t MotionIdExecutingGet ()
 
uint16_t MotionElementIdExecutingGet ()
 
double MotionFinalVelocityGet ()
 Get final velocity of a motion, when FINAL_VEL motion attribute is used.
 
void MotionFinalVelocitySet (double finalVelocity)
 Set the final velocity of a motion, when FINAL_VEL motion attribute is used.
 
double DefaultVelocityGet ()
 Get the default velocity in UserUnits.
 
void DefaultVelocitySet (double velocity)
 Set the default velocity in UserUnits.
 
double DefaultAccelerationGet ()
 Get the default acceleration in UserUnits.
 
void DefaultAccelerationSet (double acceleration)
 Set the default acceleration in UserUnits.
 
double DefaultDecelerationGet ()
 Get the default deceleration in UserUnits.
 
void DefaultDecelerationSet (double deceleration)
 Set the default deceleration in UserUnits.
 
double DefaultJerkPercentGet ()
 Get the default jerk percent.
 
void DefaultJerkPercentSet (double jerkPercent)
 Set the default jerk percent.
 
double DefaultPosition1Get ()
 Get the default Position 1 value in UserUnits (used by RapidSetup).
 
void DefaultPosition1Set (double position1)
 Set the default Position 1 value in UserUnits (used by RapidSetup).
 
double DefaultPosition2Get ()
 Get the default Position 2 value in UserUnits (used by RapidSetup).
 
void DefaultPosition2Set (double position2)
 Set the default Position 2 value in UserUnits (used by RapidSetup).
 
double DefaultRelativeIncrementGet ()
 Get the default relative increment value in UserUnits (used by RapidSetup).
 
void DefaultRelativeIncrementSet (double relativeIncrement)
 Set the default relative value in UserUnits (used by RapidSetup).
 
RSIAction AmpFaultActionGet ()
 Get the Amp Fault action.
 
void AmpFaultActionSet (RSIAction action)
 Set the Amp Fault action.
 
bool AmpFaultTriggerStateGet ()
 Get the Amp Fault trigger state.
 
void AmpFaultTriggerStateSet (bool state)
 Set the trigger state of the Amp Fault input.
 
double AmpFaultDurationGet ()
 Get the duration required before the Amp Fault event triggers.
 
void AmpFaultDurationSet (double seconds)
 Set the duration required before the Amp Fault event triggers.
 
RSIAction HomeActionGet ()
 Get the action that will occur when the Home LIMIT triggers.
 
void HomeActionSet (RSIAction action)
 Set the action that will occur when the Home Event triggers.
 
bool HomeTriggerStateGet ()
 Get the trigger state for the Home input.
 
void HomeTriggerStateSet (bool state)
 Set the trigger state for the Home input.
 
double HomeDurationGet ()
 Get the duration required before the Home event triggers.
 
void HomeDurationSet (double seconds)
 Set the duration required before the Home event triggers.
 
RSIAction ErrorLimitActionGet ()
 Get the action that will occur when the Position Error Limit Event triggers.
 
void ErrorLimitActionSet (RSIAction action)
 Set the action that will occur when the Error Limit Event triggers.
 
double ErrorLimitTriggerValueGet ()
 Get the Position Error Limit trigger value.
 
void ErrorLimitTriggerValueSet (double triggerValue)
 Set the Position Error Limit trigger value.
 
double ErrorLimitDurationGet ()
 Get the duration required before the Position Error Limit event triggers.
 
void ErrorLimitDurationSet (double seconds)
 Sets the duration required before the Position Error Limit event triggers.
 
RSIAction HardwareNegLimitActionGet ()
 Get the action that will occur when the Hardware Negative Limit Event triggers.
 
void HardwareNegLimitActionSet (RSIAction action)
 Set the action that will occur when the Hardware Negative Limit Event triggers.
 
bool HardwareNegLimitTriggerStateGet ()
 Trigger state return.
 
void HardwareNegLimitTriggerStateSet (bool state)
 Sets the trigger state.
 
double HardwareNegLimitDurationGet ()
 Get the duration required before the Hardware Negative Limit event triggers.
 
void HardwareNegLimitDurationSet (double seconds)
 Set the duration required before the Hardware Negative Limit event triggers.
 
RSIAction HardwarePosLimitActionGet ()
 Get the action that will occur when the Hardware Positive Limit Event triggers.
 
void HardwarePosLimitActionSet (RSIAction action)
 Set the action that will occur when the Hardware Positive Limit Event triggers.
 
bool HardwarePosLimitTriggerStateGet ()
 trigger state return.
 
void HardwarePosLimitTriggerStateSet (bool state)
 sets the trigger state.
 
double HardwarePosLimitDurationGet ()
 Get the duration required before the Hardware Positive Limit event triggers.
 
void HardwarePosLimitDurationSet (double seconds)
 Set the duration required before the Hardware Positive Limit event triggers.
 
RSIAction SoftwareNegLimitActionGet ()
 Get the action that will occur when the Software Negative Limit Event triggers.
 
void SoftwareNegLimitActionSet (RSIAction action)
 Set the action that will occur when the Software Negative Limit Event triggers.
 
double SoftwareNegLimitTriggerValueGet ()
 Get the Software Negative Position limit.
 
void SoftwareNegLimitTriggerValueSet (double triggerValue)
 Set the Software Negative Position limit.
 
RSIAction SoftwarePosLimitActionGet ()
 Get the action that will occur when the Software Positive Limit Event triggers.
 
void SoftwarePosLimitActionSet (RSIAction action)
 Set the action that will occur when the Software Positive Limit Event triggers.
 
double SoftwarePosLimitTriggerValueGet ()
 Get the Software Positive Position limit.
 
void SoftwarePosLimitTriggerValueSet (double triggerValue)
 Set the Software Positive Position limit.
 
RSIAction EncoderFaultActionGet ()
 Get the action that will occur when the Encoder Fault Limit Event triggers.
 
void EncoderFaultActionSet (RSIAction action)
 Set the action that will occur when the Encoder Fault Limit Event triggers.
 
RSIMotorFeedbackFault EncoderFaultTriggerGet ()
 Get the encoders which are used to generate encoder faults.
 
void EncoderFaultTriggerSet (RSIMotorFeedbackFault encoder)
 Set the encoders which are used to generate encoder faults.
 
double EncoderFaultDurationGet ()
 Get the duration required before the Encoder Fault Limit event triggers.
 
void EncoderFaultDurationSet (double seconds)
 Set the duration required before the Encoder Fault Limit event triggers.
 
RSIAction NodeFailureActionGet ()
 Get the action for a node failure.
 
void NodeFailureActionSet (RSIAction action)
 Set the action for a node failure.
 
uint64_t AddressGet (RSIAxisAddressType addressType)
 Get the an address for some location on the Axis.
 
RSIDataType AddressDataTypeGet (RSIAxisAddressType type)
 Get the data type for an address the Axis.
 
RSIAction LimitActionGet (RSIEventType limit)
 Get the action for any type of limit.
 
void LimitActionSet (RSIEventType limit, RSIAction action)
 Set the action for any type of limit.
 
bool LimitTriggerStateGet (RSIEventType limit)
 Get the trigger state for any type of limit.
 
void LimitTriggerStateSet (RSIEventType limit, bool triggerState)
 Set the trigger state for any type of limit.
 
double LimitTriggerValueGet (RSIEventType limit)
 Get the trigger value for any type of limit.
 
void LimitTriggerValueSet (RSIEventType limit, double triggerValue)
 Set the trigger value for any type of limit.
 
double LimitDurationGet (RSIEventType limit)
 Get the duration for any type of limit.
 
void LimitDurationSet (RSIEventType limit, double seconds)
 Set the duration for any type of limit.
 
double PositionToleranceFineGet ()
 Get the Fine Position Tolerance for axis settling.
 
void PositionToleranceFineSet (double tolerance)
 Set the Fine Position Tolerance for Axis settling.
 
double PositionToleranceCoarseGet ()
 Get the Coarse Position Tolerance for axis settling.
 
void PositionToleranceCoarseSet (double tolerance)
 Set the Coarse Position Tolerance for Axis settling.
 
double VelocityToleranceGet ()
 Get the velocity tolerance used for settling.
 
void VelocityToleranceSet (double tolerance)
 Set the Velocity Tolerance used for settling.
 
double SettlingTimeGet ()
 Get the Settling time.
 
void SettlingTimeSet (double time)
 Set the settling time.
 
bool SettleOnStopGet ()
 Get the Stop Event settling configuration.
 
void SettleOnStopSet (bool state)
 Set the Stop Event settling configuration.
 
bool SettleOnEStopGet ()
 Get the E-Stop Event settling configuration.
 
void SettleOnEStopSet (bool state)
 Set the E-Stop Event settling configuration.
 
bool SettleOnEStopCmdEqActGet ()
 Get the E-Stop Event settling configuration when E-Stop is configured for (Command = Actual).
 
void SettleOnEStopCmdEqActSet (bool state)
 Set the settling configuration for E-Stop events (when configured for Command = Actual).
 
RSIMotorType MotorTypeGet ()
 Get the motor type.
 
void MotorTypeSet (RSIMotorType type)
 Set the motor type.
 
RSIMotorDisableAction AmpDisableActionGet ()
 Get the Amp Disable action.
 
void AmpDisableActionSet (RSIMotorDisableAction action)
 Set the Amp Disable action.
 
RSIMotorBrakeMode BrakeModeGet ()
 Get the brake mode.
 
void BrakeModeSet (RSIMotorBrakeMode mode)
 Set the brake mode.
 
double BrakeApplyDelayGet ()
 Get the delay time for the brake to be applied.
 
void BrakeApplyDelaySet (double seconds)
 Set the brake apply delay.
 
double BrakeReleaseDelayGet ()
 Get the brake release delay time.
 
void BrakeReleaseDelaySet (double seconds)
 Set the Brake Release Delay.
 
void ClosedLoopStepperSet (bool enable)
 Unsupported.
 
int32_t ClosedLoopStepperVersionGet ()
 Unsupported.
 
uint64_t EncoderPointerGet (RSIMotorFeedback encoder)
 Get the pointer (host address) for the motor feedback.
 
void EncoderPointerSet (RSIMotorFeedback encoder, uint64_t address)
 Set the pointer (host address) for the motor feedback.
 
uint64_t FeedbackDeltaPointerGet (RSIAxisPositionInput input)
 Get the pointer (host address) for the axis feedback.
 
void FeedbackDeltaPointerSet (RSIAxisPositionInput input, uint64_t address)
 Set the pointer (host address) for the axis feedback.
 
uint64_t FeedbackPointerGet (RSIAxisPositionInput input)
 Get the pointer (host address) for the axis feedback.
 
void FeedbackPointerSet (RSIAxisPositionInput input, uint64_t address)
 Configure an axis for dual loop feedback.
 
int32_t EncoderRatioNumeratorGet (RSIMotorFeedback encoder)
 Get the encoder ratio numerator.
 
int32_t EncoderRatioDenominatorGet (RSIMotorFeedback encoder)
 Get the encoder ration denominator.
 
void EncoderRatioSet (RSIMotorFeedback encoder, int32_t numerator, int32_t denominator)
 Sets the ratio to scale Encoder counts.
 
const char *const EncoderRatioPrimaryGet ()
 Get the primary feedback encoder ratio as text.
 
void EncoderRatioPrimarySet (char *numeratorCommaDenominator)
 Set the primary feedback encoder ratio as text. "1.0 ,2.0".
 
const char *const EncoderRatioSecondaryGet ()
 Get the secondary feedback encoder ratio as text.
 
void EncoderRatioSecondarySet (char *numeratorCommaDenominator)
 Set the secondary feedback encoder ratio as text. "1.0 ,2.0".
 
int32_t EncoderCountGet ()
 Get the number of encoders processed in firmware by the motor object. Valid values: 0,1,2.
 
void EncoderCountSet (int32_t count)
 
RSIAxisGantryType GantryTypeGet ()
 Get the gantry type.
 
void GantryTypeSet (RSIAxisGantryType type)
 Set the gantry type.
 
RSIOperationMode OperationModeGet ()
 Get the operation mode.
 
void OperationModeSet (RSIOperationMode mode)
 Set the axis operation mode.
 
int32_t MotorFaultMaskGet ()
 Get the Motor Fault Mask.
 
void MotorFaultMaskSet (int32_t faultMask)
 Set the Motor Fault Mask.
 
void GearingEnable (int32_t masterAxisNumber, RSIAxisMasterType masterFeedbackSource, int32_t numerator, int32_t denominator)
 Enable this Axis to be follower (slave) using electronic gearing.
 
void GearingEnable (Axis *masterAxis, RSIAxisMasterType masterFeedbackSource, int32_t numerator, int32_t denominator)
 Enable this Axis to be a follower (slave) using electronic gearing. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
void GearingRatioChange (int32_t numerator, int32_t denominator)
 Change the electronic gearing ratio.
 
void GearingDisable ()
 Disable the electronic gearing.
 
int32_t GearingNumeratorGet ()
 Get the numerator of the gearing ratio.
 
int32_t GearingDenominatorGet ()
 Get the denominator of the gearing ratio.
 
bool GearingEnableGet ()
 Get the state of gearing feature. If true, this Axis is a geared slave.
 
int32_t GearingMasterAxisNumberGet ()
 Get a Slave's Master Axis Number.
 
RSIAxisMasterType GearingSourceGet ()
 Get the Source used to slave to the Master Axis.
 
double MotionCamMasterStartGet (Axis *master)
 Gets the position on the master that will start the cam when exceeded.
 
void MotionCamMasterStartSet (Axis *master, double startPosition)
 Set the position at which camming starts.
 
int32_t MotionCamRepeatFromGet ()
 Get the segment at which camming repeats.
 
void MotionCamRepeatFromSet (int32_t repeatFrom)
 Set the segment at which camming repeats.
 
void MotionCamRepeatStop ()
 Stops a Repeating Cam.
 
void MoveCamLinear (int32_t masterAxisNumber, RSIAxisMasterType masterFeedbackSource, const double *const masterDistances, const double *const slavePositions, int32_t pointCount)
 Enable this Axis to be linear follower (slave) using an electronic cam.
 
void MoveCamCubic (int32_t masterAxisNumber, RSIAxisMasterType masterFeedbackSource, const double *const masterDistances, const double *const slavePositions, const double *const gearRatios, int32_t pointCount)
 Enable this Axis to be cubic follower (slave) using an electronic cam.
 
int32_t DriveIndexGet ()
 Get the drive index, relative to the Network Node (multi-axis drives)
 
double BacklashWidthGet ()
 Gets the Backlash Width which was set by the user.
 
void BacklashWidthSet (double width)
 Sets the total range of the give in a system with Backlash.
 
double BacklashRateGet ()
 Gets the Backlash Rate which was set by the user.
 
void BacklashRateSet (double rate)
 Sets the rate at which Backlash is applied.
 
double BacklashValueGet ()
 Gets the current backlash compensation value.
 
RSIFilterAlgorithm FilterAlgorithmGet ()
 Get the control algorithm type for an axis.
 
void FilterAlgorithmSet (RSIFilterAlgorithm algorithm)
 Set the algorithm type for an axis.
 
double FilterCoeffGet (RSIFilterGainPIDCoeff coeff, int32_t gainTable)
 Get value for a filter coefficient (ex: Kp, Ki, Kd, etc).
 
void FilterCoeffSet (RSIFilterGainPIDCoeff coeff, int32_t gainTable, double coeffValue)
 Set a filter coefficient (ex: Kp, Ki, Kd).
 
double FilterCoeffGet (RSIFilterGainPIVCoeff coeff, int32_t gainTable)
 
void FilterCoeffSet (RSIFilterGainPIVCoeff coeff, int32_t gainTable, double coeffValue)
 
int32_t FilterGainTableGet ()
 Gets which gain table is currently in use by the axis.
 
void FilterGainTableSet (int32_t gainTable)
 Set the gain table to be used by an axis.
 
int32_t FilterGainTableSizeGet ()
 Gets the size of gain tables.
 
double FilterOutputGet (void)
 Get the output of a demand filter, range is +/- 100.0.
 
double FilterLowPassGet ()
 Get the value of the Low-Pass filter.
 
void FilterLowPassSet (double frequency)
 Use a Low-Pass filter.
 
void FilterDualLoopSet (Axis *velocityAxis, RSIMotorFeedback velocityEncoder, bool enable)
 Configure an axis for dual loop feedback.
 
bool FilterGainSchedulingGet ()
 Get the status of automatic gain scheduling.
 
void FilterGainSchedulingSet (bool enable)
 Enable or disable automatic gain scheduling.
 
bool IsTuneable ()
 Is an Axis tunable? Returns false if Axis is in position mode, otherwise true.
 
void PostFilterLowPassSet (int32_t sectionNumber, double frequency)
 Use a Low-Pass filter.
 
void PostFilterUnityGainSet (int32_t sectionNumber)
 Use a Unity Gain Post Filter.
 
void PostFilterSingleOrderSet (int32_t sectionNumber, double aOne, double bZero, double bOne)
 Use a Single Order Post Filter.
 
void PostFilterHighPassSet (int32_t sectionNumber, double cornerFreq)
 Use a High Pass Post Filter.
 
void PostFilterNotchSet (int32_t sectionNumber, double centerFreq, double bandwidth)
 Use a Notch Post Filter.
 
void PostFilterResonatorSet (int32_t sectionNumber, double centerFreq, double bandwidth, double gain)
 Use a Resonator Post Filter.
 
void PostFilterLeadLagSet (int32_t sectionNumber, double lowGain, double highGain, double centerFreq)
 Use a Lead Lag Post Filter.
 
void PostFilterClear (int32_t sectionNumber)
 Remove any Post Filters in section Number.
 
void PostFilterBiquadSet (int32_t sectionNumber, double aOne, double aTwo, double bZero, double bOne, double bTwo)
 Use a Digital Biquad Post Filter.
 
const char *const PostFilterInfoGet ()
 Get a text description of the current post filters.
 
const char *const UserLabelGet ()
 Get the axis User defined Label.
 
void UserLabelSet (const char *const userLabel)
 Set the axis User defined Label.
 
void PostTrajectoryGearingEnableSet (bool enable)
 Enable or disable the post-trajectory gearing feature.
 
bool PostTrajectoryGearingEnableGet ()
 Get the state of post-trajectory gearing feature. If true, this Axis is a post-trajectory geared slave.
 
void PostTrajectoryGearingMasterAxisSet (int32_t masterAxisNumber)
 Set the master axis number of the post-trajectory gearing.
 
int32_t PostTrajectoryGearingMasterAxisGet ()
 Get the master axis number of the post-trajectory gearing.
 
void PostTrajectoryGearingMultiplierSet (double multiplier)
 Set the multiplier for post-trajectory gearing. This feature only works for an Axis in position mode.
 
double PostTrajectoryGearingMultiplierGet ()
 Get the multiplier for the post-trajectory gearing.
 
uint32_t NetworkIndexGet (RSINetworkIndexType indexType)
 Get the Network Index associated with a DS402 Axis Feature.
 
void NetworkIndexSet (RSINetworkIndexType indexType, uint32_t newIndex)
 Set the Network Index associated with a DS402 Axis Feature.
 
double BacklashHysteresisLimitGet ()
 Get the backlash hysteresis limit.
 
void BacklashHysteresisLimitSet (double hysteresisLimit)
 Brief.
 
bool StepperMotorLoopbackGet ()
 Determine if the stepper is open or closed loop.
 
void StepperMotorLoopbackSet (bool loopback)
 Configure the stepper to be open or closed loop.
 
RSIMotorStepperPulseType StepperMotorPulseTypeGet (RSIMotorStepperPulse pulse)
 Determine how the stepper pulse outputs are configured.
 
void StepperMotorPulseTypeSet (RSIMotorStepperPulse pulse, RSIMotorStepperPulseType type)
 Set how the stepper pulse outputs are configured.
 
uint64_t GearingMasterAddressGet ()
 Get the address of the gearing master.
 
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.
 
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.
 
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

NetworkNodeNetworkNode
 Gets the associated NetworkNode object.
 
MotionControllerrsiControl
 Gets the parent MotionController object.
 

Static Attributes

static constexpr uint32_t NetworkIndexInvalid = 65535
 Returned by NetworkIndexGet() when the index is invalid or nonexistent for this Axis.
 
static constexpr double AmpEnableAmpFaultTimeoutSecondsDefault = 1.0
 Default time an Axis waits before generating an AmpFault if the Axis does not enable after calling AmpEnableSet(true).
 

Description