MotionController Axis MultiAxis IO IOPoint NetworkNode RsiError
Sample Apps Changelog

RapidCode API

Axisabstract

The Axis object manages a single physical axis on a motion controller. More...

Attributes

RapidCode Objects
RapidCodeNetworkNodeNetworkNode
 
RapidCode Objects
MotionControllerrsiControl
 

Functions

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

Description

The Axis object manages a single physical axis on a motion controller.

It represents a reference line in a coordinate system. The controller calculates an axis's command position every sample based on the motion commanded by the Motion Supervisor. The Axis object contains command, actual, and error position data, plus status.

Examples
AbsoluteMotion.cpp, AbsoluteMotion.cs, AxisSettling.cpp, AxisSettling.cs, AxisStatus.cpp, AxisStatus.cs, Camming.cpp, Camming.cs, Compensator1D.cs, Compensator2D.cs, CompensatorSingleAxis.cs, ConfigAmpFault.cpp, CustomEtherCATHome.cpp, CustomHome.cpp, DedicatedIO.cpp, DedicatedIO.cs, ErrorLog.cpp, ErrorLog.cs, FeedRate.cpp, FeedRate.cs, FinalVelocity.cpp, FinalVelocity.cs, Gantry.cpp, Gearing.cpp, Gearing.cs, HardwareLimits.cpp, HardwareLimits.cs, Home.cpp, HomeToNegativeLimit.cpp, HomeToNegativeLimit.cs, HomingWithAKDdrive.cpp, HomingWithAKDdrive.cs, HomingWithDS402drive.cs, IOwithAKD.cpp, Memory.cpp, MotionHoldReleasedByDigitalInput.cpp, MotionHoldReleasedByDigitalInput.cs, MotionHoldReleasedByPosition.cpp, MotionHoldReleasedByPosition.cs, MotionHoldReleasedBySoftwareAddress.cpp, MotionHoldReleasedBySoftwareAddress.cs, MultiaxisMotion.cpp, MultiAxisVelocityMotion.cs, PathMotion.cpp, PhantomAxis.cpp, PhantomAxis.cs, PointToPointMultiaxisMotion.cpp, PointToPointMultiaxisMotion.cs, PTmotion.cpp, PTmotion.cs, PTmotionWhileStopping.cpp, PTmotionWhileStopping.cs, PVAJTmotion.cs, PVTmotion.cpp, PVTmotion.cs, PVTmotionMultiAxis.cpp, Recorder.cpp, RelativeMotion.cpp, RelativeMotion.cs, SCurveMotion.cpp, SCurveMotion.cs, SettleCriteria.cpp, SetUserUnits.cpp, SetUserUnits.cs, SingleAxisSyncOutputs.cpp, SingleAxisSyncOutputs.cs, StopRate.cpp, StopRate.cs, SyncInterrupt.cpp, SyncOutputWithMotion.cpp, Template.cpp, TouchProbe.cs, UpdateBufferPoints.cpp, UserLimitCommandPositionDirectSet.cs, UserLimitDigitalInputEStopStorePosition.cs, UserLimitFeedRate.cs, UserLimitGainChangeBasedOnPosition.cpp, UserLimitPositionOneCondition.cpp, UserLimitPositionOneCondition.cs, UserLimitStateAction.cpp, VelocitySetByAnalogInputValue.cpp, and VelocitySetByAnalogInputValue.cs.