AXIS Attributes (S-Z)
This table describes axis attributes S-Z. To view the other attributes or to find out how to access the attributes, click one of the following topics.
- AttributeAxis TypeData TypeAccessDescriptionSafe-Off Mode Active StatusAXIS_SERVO_DRIVEBOOLTagThis bit is the status indication of theKinetixDrive's Safe-Off circuitry. If this bit is the following:ON — The Drive's Safety monitor circuitry has encountered a loss of signal from Enable_1 or Enable_2.OFF — The Drive's Safety monitor circuitry has no fault from Enable_1 or_2.Note that for theKinetixDrive to pass back this status to the Controller via this bit, the Drive must have firmware version 1.85 or higher.SERCOS Error CodeAXIS_SERVO_DRIVEINTGSV*TagError code returned by SERCOS module indicating source of drive parameter update failure.The SERCOS Error Code value can be used to identify the source of the drive parameter update failure that resulted in the Axis Configuration Fault. The error codes for this attribute are derived from the IEC-1394 SERCOS Interface standard.SERCOS FaultAXIS_SERVO_DRIVEBOOLTagSet when either a requested SERCOS procedure fails to execute properly or the associated drive node has detected a SERCOS communication fault.SERCOS Ring FaultAXIS_SERVO_DRIVEBOOLTagIf this bit is set, there is a problem on the SERCOS ring; that is, the light has been broken or a drive has been powered down.Servo Action StatusAXIS_CONSUMEDAXIS_GENERICAXIS_SERVOAXIS_SERVO_DRIVEAXIS_VIRTUALBOOLTagIf this bit is the following.ON—The axis is under servo control.OFF—Servo action is disabled.Servo FaultAXIS_SERVODINTTagLets you access all the servo fault bits in one 32-bit word. This tag is the same as the Servo Fault Bits attribute.Servo FaultBitPos Soft Overtravel Fault0Neg Soft Overtravel Fault1Reserved2Reserved3Feedback Fault4Feedback Noise Fault5Reserved6Reserved7Positive Error Fault8Drive Fault9These fault bits are updated every coarse update period.Do you want any of these faults to give the controller a major fault?YES—Set the General Fault Type of the motion group = Major Fault.NO — You must write code to handle these faults.Servo Fault BitsAXIS_SERVODINTGSV*Lets you access all the servo fault bits in one 32-bit word. This attribute is the same as the Servo Fault tag.Servo FaultBitPos Soft Overtravel Fault0Neg Soft Overtravel Fault1Reserved2Reserved3Feedback Fault4Feedback Noise Fault5Reserved6Reserved7Positive Error Fault8Drive Fault9These fault bits are updated every coarse update period.Do you want any of these faults to give the controller a major fault?YES—Set the General Fault Type of the motion group = Major Fault.NO—You must write code to handle these faults.Servo Feedback TypeAXIS_SERVOSINTGSVThis attribute provides a selection for the Feedback Type.0 = A Quadrature B (AQB)1 = Synchronous Serial Interface (SSI)2 = Linear Displacement Transducer (LDT)A Quadrature B Encoder Interface (AQB)Servo modules, such as the 175-6M02AE, provide interface hardware to support incremental quadrature encoders equipped with standard 5-Volt differential encoder interface signals. This interface hardware provides a robust differential encoder input interface to condition each of the encoder signals before being applied to an Encoder-to-Digital Converter (EDC) FPGA.The EDC decodes the encoder signals and uses a 16-bit bidirectional counter to accumulate feedback counts. A regular Timer Event signal, applied to the EDC, latches the encoder counters for all axes simultaneously. This same Timer Event signal also triggers the servo interrupt service routine that performs the servo loop computations.One of the first things done by the interrupt service routine is to read the latched encoder counter values from the EDC. The change in the encoder counter value from the last timer event is computed and this delta value is added to a 32-bit signed integer position accumulator, which represents the Actual Position of the axis.The Actual Position value is used as feedback to the position servo loop and as input to the Watch Event Handler. The delta position value represents velocity feedback, which when configured to do so, may be filtered and applied to the inner velocity servo loop.Synchronous Serial Interface (SSI)Some servo modules, like the 1756-M02AS, provide an interface to transducers with Synchronous Serial Interface (SSI) outputs. SSI outputs use standard 5V differential signals (RS422) to transmit information from the transducer to the controller. The signals consist of a Clock generated by the controller and Data generated by the transducer.Each transducer with an SSI output provides output data of a specified number of bits of either Binary or Gray code data. The controller must generate a stream of clock pulses with the correct number of bits and a frequency within the range supported by the transducer.The servo module can be configured via the Servo Axis Object to generate any number of clock pulses between 8 and 32, and the frequency can be set to either 208kHz or 650kHz. The clock signal is maintained in the High state between pulse strings.The transducer shifts data out on the Data line MSB first on each rising edge of the clock signal. The transducer also maintains the data signal in specified states before and after the data is shifted out. These states are checked by the controller to detect missing transducers or broken wires.A Field Programmable Gate Array (FPGA) is used to implement a multi-channel SSI Interface on the controller. Each channel is functionally equivalent.Linear Displacement Transducer (LDT)Servo modules like the 1756-HYD02 use the Linear Magnetostrictive Displacement Transducer, or LDT. A Field Programmable Gate Array (FPGA) is used to implement a multi-channel LDT Interface. Each channel is functionally equivalent and is capable of interfacing to an LDT device with a maximum count of 240,000. The LDT interface has transducer failure detection and digital filtering to reduce electrical noise.The FPGA can interface to two types of LDTs: Start/Stop and PWM. Start/Stop transducers accept an input (interrogate) signal to start the measurement cycle and respond with two pulses on the Return line. The time between the pulses is proportional to the position. PWM transducers respond to the interrogate signal with a single long pulse on the Return line. The pulse width is proportional to the position.The FPGA generates the Interrogate signal every Servo Update time and measures the time between the Start/Stop pulses or the PWM pulse width. The resolution of the position measurement is determined by the frequency of the clock used for the time measurement. In the 1756-HYD02 design, a 60 MHz clock is used, and both edges of the clock signal are used for an effective time resolution of 8.3 nanoseconds. This translates into a position resolution better than 0.001 inch.Tip:It is possible to achieve higher resolutions with PWM transducers that are configured to perform multiple internal measurements (recirculations) and report the sum of those measurements in the pulse width.Servo Loop ConfigurationAXIS_SERVOAXIS_SERVO_DRIVEINTGSVSSVThe Servo Loop Configuration attribute determines the specific configuration of the servo loop topology when the axis is set to "servo".0 = custom1 = feedback only2 = aux. feedback only3 = position servo4 = aux. position servo5 = dual position servo6 = dual command servo7 = aux. dual command servo8 = velocity servo9 = torque servo10 = dual command/feedback servoServo Output LevelAXIS_SERVOREALGSVTagImportant: To use this attribute, choose it as one of the attributes for Real Time Axis Information for the axis. Otherwise, you won’t see the right value as the axis runs. See Axis Info Select 1.Servo Output Level in VoltsServo Output Level is the current voltage level of the servo output of the specified axis. The Servo Output Level can be used in drilling applications, for example, where the servo module is interfaced to an external Torque Loop Servo Drive, to detect when the drill bit has engaged the surface of the work piece.Servo Polarity BitsAXIS_SERVODINTGSV0 = Feedback Polarity Negative1 = Servo Polarity NegativeFeedback Polarity NegativeThis Feedback Polarity Negative bit attribute controls the polarity of the encoder feedback and, when properly configured, insures that when the axis is moved in the user defined positive direction that the axis Actual Position value increases. This bit can be configured automatically using the MRHD and MAHD motion instructions.Servo Polarity NegativeThis Servo Polarity Negative bit attribute controls the polarity of the servo output to the drive. When properly configured along with the Feedback Polarity Negative bit, it insures that when the axis servo loop is closed that it is closed as a negative feedback system and not an unstable positive feedback system. This bit can be configured automatically using the MRHD and MAHD motion instructions.Servo StatusAXIS_SERVODINTTagLets you access the status bits for your servo loop in one 32-bit word. This tag is the same as the Servo Status Bits attribute.Servo StatusBitServo Action Status0Drive Enable Status1Shutdown Status2Process Status3Output Limit Status4Position Lock Status5Home Input Status6Reg 1 Input Status7Reg 2 Input Status8Reserved9Reserved10Drive Fault Input Status11Servo Status BitsAXIS_SERVODINTGSV*Lets you access the status bits for your servo loop in one 32-bit word. This attribute is the same as the Servo Status tag.Servo StatusBitServo Action Status0Drive Enable Status1Shutdown Status2Process Status3Output Limit Status4Position Lock Status5Home Input Status6Reg 1 Input Status7Reg 2 Input Status8Reserved9Reserved10Drive Fault Input Status11Shutdown StatusAXIS_CONSUMEDAXIS_GENERICAXIS_SERVOAXIS_SERVO_DRIVEAXIS_VIRTUALBOOLTagIf this bit is the following:ON—The axis is in the Shutdown state.OFF—The axis isn’t in the Shutdown state.Soft Overtravel Fault ActionAXIS_SERVOAXIS_SERVO_DRIVESINTGSVSSVFault ActionValueShutdown0Disable Drive1Stop Motion2Status Only3SSI Clock FrequencyAXIS_SERVOSINTGSV0 = 208 kHz1 = 650 kHzThis attribute provides for setting the Clock Frequency in kHz of the SSI device. This attribute is only active if the Transducer Type is set to SSI.SSI Code TypeAXIS_SERVOSINTGSV0 = Binary1 = GrayThis attribute provides for setting the whether the SSI device is using Binary or Gray code. This attribute is only active if the Transducer Type is set to SSI.SSI Data LengthAXIS_SERVOSINTGSVThis attribute provides for setting the data length of the SSI device. This attribute is only active if the Transducer Type is set to SSI.Start Actual PositionAXIS_CONSUMEDAXIS_GENERICAXIS_SERVOAXIS_SERVO_DRIVEAXIS_VIRTUALREALGSVTagStart Actual Position in Position UnitsWhenever a new motion planner instruction starts for an axis (for example, using a MAM instruction), the value of the axis command position and actual position is stored at the precise instant the motion begins. These values are stored as the Start Command Position and Start Actual Position respectively in the configured Position Units of the axis.Start Positions are useful to correct for any motion occurring between the detection of an event and the action initiated by the event. For instance, in coil winding applications, Start Command Positions can be used in an expression to compensate for overshooting the end of the bobbin before the gearing direction is reversed. If you know the position of the coil when the gearing direction was supposed to change, and the position at which it actually changed (the Start Command Position), you can calculate the amount of overshoot, and use it to correct the position of the wire guide relative to the bobbin.Start Command PositionAXIS_CONSUMEDAXIS_GENERICAXIS_SERVOAXIS_SERVO_DRIVEAXIS_VIRTUALREALGSVTagStart Command Position in Position UnitsWhenever a new motion planner instruction starts for an axis (for example, using a MAM instruction), the value of the axis command position and actual position is stored at the precise instant the motion begins. These values are stored as the Start Command Position and Start Actual Position respectively in the configured Position Units of the axis.Start Positions are useful to correct for any motion occurring between the detection of an event and the action initiated by the event. For instance, in coil winding applications, Start Command Positions can be used in an expression to compensate for overshooting the end of the bobbin before the gearing direction is reversed. If you know the position of the coil when the gearing direction was supposed to change, and the position at which it actually changed (the Start Command Position), you can calculate the amount of overshoot, and use it to correct the position of the wire guide relative to the bobbin.Start Master OffsetAXIS_CONSUMEDAXIS_GENERICAXIS_SERVOAXIS_SERVO_DRIVEAXIS_VIRTUALREALGSVTagStart Master Offset in Master Position UnitsThe Start Master Offset is the position offset that was applied to the master side of the position cam when the last Motion Axis Move (MAM) instruction with the move type set to "Absolute Master Offset" or "Incremental Master Offset" was executed. The Start Master Offset is returned in master position units. The Start Master Offset will show the same unwind characteristic as the position of a linear axis.Stopping StatusAXIS_CONSUMEDAXIS_GENERICAXIS_SERVOAXIS_SERVO_DRIVEAXIS_VIRTUALBOOLTagSet if there is a stopping process currently in progress. Cleared when the stopping process is complete. The stopping process is used to stop an axis (initiated by an MAS, MGS, Stop Motion fault action, or mode change).Stopping Time LimitAXIS_SERVO_DRIVEREALGSVSSVSecThis attribute maps directly to a SERCOS IDN. See the SERCOS Interface standard for a description. This attribute is automatically set. You usually don’t have to change it.Stopping TorqueAXIS_SERVO_DRIVEREALGSVSSV% RatedThis attribute maps directly to a SERCOS IDN. See the SERCOS Interface standard for a description. This attribute is automatically set. You usually don’t have to change it.Strobe Actual PositionAXIS_CONSUMEDAXIS_GENERICAXIS_SERVOAXIS_SERVO_DRIVEAXIS_VIRTUALREALGSVTagStrobe Actual Position in Position UnitsStrobe Actual Position, and Strobe Command Position are used to simultaneously store a snap-shot of the actual, command position and master offset position of an axis when the MGSP (Motion Group Strobe Position) instruction is executed. The values are stored in the configured Position Units of the axis.Since the MGSP instruction simultaneously stores the actual and command positions for all axes in the specified group of axes, the resultant Strobe Actual Position and Strobe Command Position values for different axes can be used to perform real time calculations. For example, the Strobe Actual Positions can be compared between two axis to provide a form of "slip compensation" in web handling applications.Strobe Command PositionAXIS_CONSUMEDAXIS_GENERICAXIS_SERVOAXIS_SERVO_DRIVEAXIS_VIRTUALREALGSVTagStrobe Command Position in Position UnitsStrobe Actual Position, and Strobe Command Position are used to simultaneously store a snap-shot of the actual, command position and master offset position of an axis when the MGSP (Motion Group Strobe Position) instruction is executed. The values are stored in the configured Position Units of the axis.Since the MGSP instruction simultaneously stores the actual and command positions for all axes in the specified group of axes, the resultant Strobe Actual Position and Strobe Command Position values for different axes can be used to perform real time calculations. For example, the Strobe Actual Positions can be compared between two axis to provide a form of "slip compensation" in web handling applications.Strobe Master OffsetAXIS_CONSUMEDAXIS_GENERICAXIS_SERVOAXIS_SERVO_DRIVEAXIS_VIRTUALREALGSVTagStrobe Master Offset in Master Position UnitsThe Strobe Master Offset is the position offset that was applied to the master side of the position cam when the last Motion Group Strobe Position (MGSP) instruction was executed. The Strobe Master Offset is returned in master position units. The Strobe Master Offset will show the same unwind characteristic as the position of a linear axis.Telegram TypeAXIS_SERVO_DRIVEINTGSVSet to a value of 7, which means Application Telegram. See IDN 15 in IEC 1491.Test Direction ForwardAXIS_SERVOAXIS_SERVO_DRIVESINTGSVThe direction of axis travel during the last hookup test initiated by a MRHD (Motion Run Hookup Test) instruction.0 = reverse1 = forward ( positive)For This Data TypeDetailsAXIS_SERVOThis value doesn’t depend on the Servo Polarity Bits attribute. The MAHD (Motion Apply Hookup Test) instruction uses the Test Direction Forward attribute and the Test Output Polarity attribute to set the Servo Polarity Bits attribute for negative feedback and correct directional sense.AXIS_SERVO_DRIVEThis value doesn’t depend on the Drive Polarity attribute. The MAHD (Motion Apply Hookup Test) instruction uses the Test Direction Forward attribute and the Test Output Polarity attribute to set the Drive Polarity attribute for the correct directional sense.Test IncrementAXIS_SERVOAXIS_SERVO_DRIVEREALGSVSSVPosition UnitsThe Motor Feedback Test Increment attribute is used in conjunction with the MRHD (Motion Run Hookup Diagnostic) instruction to determine the amount of motion that is necessary to satisfy the MRHD initiated test process. This value is typically set to approximately a quarter of a revolution of the motor.Test StatusAXIS_SERVOAXIS_SERVO_DRIVEINTGSV0 = test process successful1 = test in progress2 = test process aborted by user3 = test process time-out fault (~2 seconds)4 = test failed – servo fault5 = test failed – insufficient test incrementMore for AXIS_SERVO_DRIVE data type:6 = test failed – wrong polarity7 = test failed – missing signal8 = test failed – device comm error9 = test failed – feedback config error10 = test failed – motor wiring errorThis attribute returns the status of the last run MRHD (Motion Run Hookup Diagnostic) instruction that initiates a hookup diagnostic process on the axis. Use this attribute to determine when the MRHD initiated operation has successfully completed.Conditions may occur, however, that make it impossible to properly perform the operation. When that happens, the test process is automatically aborted and a test fault reported that is stored in the Test Status output parameter.Time Cam Pending StatusAXIS_CONSUMEDAXIS_GENERICAXIS_SERVOAXIS_SERVO_DRIVEAXIS_VIRTUALBOOLTagSet if a Time Cam motion profile is currently pending the completion of a currently executing cam profile. This would be initiated by executing an MATC instruction with Pending execution selected. This bit is cleared when the current time cam profile completes, initiating the start of the pending cam profile. This bit is also cleared if the time cam profile completes, or is superseded by some other motion operation.Time Cam StatusAXIS_CONSUMEDAXIS_GENERICAXIS_SERVOAXIS_SERVO_DRIVEAXIS_VIRTUALBOOLTagSet if a Time Cam motion profile is currently in progress. Cleared when the Time Cam is complete or is superseded by some other motion operation.Time Event FaultAXIS_SERVOAXIS_SERVO_DRIVEBOOLTagIf this bit is set, the motion module has a problem with its timer event that synchronizes the module’s servo loop to the master timebase of the chassis (that is, Coordinated System Time). To clear this bit, reconfigure the motion module.Torque CommandAXIS_SERVO_DRIVEREALGSVTagImportant: To use this attribute, choose it as one of the attributes for Real Time Axis Information for the axis. Otherwise, you won’t see the right value as the axis runs. See Axis Info Select 1.%RatedThe command when operating in Torque Mode in terms of % rated.Torque Data ScalingAXIS_SERVO_DRIVEINTGSVThis attribute is derived from the Drive Units attribute. See IDN 86 in IEC 1491.Torque Data Scaling ExpAXIS_SERVO_DRIVEINTGSVThis attribute is derived from the Drive Units attribute. See IDN 94 in IEC 1491.Torque Data Scaling FactorAXIS_SERVO_DRIVEDINTGSVThis attribute is derived from the Drive Units attribute. See IDN 93 in IEC 1491.Torque FeedbackAXIS_SERVO_DRIVEREALGSVTagImportant: To use this attribute, choose it as one of the attributes for Real Time Axis Information for the axis. Otherwise, you won’t see the right value as the axis runs. See Axis Info Select 1.%RatedThe torque feedback when operating in Torque Mode in terms of % rated.Torque Limit BipolarAXIS_SERVO_DRIVEREALGSVSSV%RatedThe Torque Limit attribute provides a method of limiting the maximum command current/torque to the motor to a specified level in terms of the motor’s continuous current/torque rating. The output of the servo drive to the motor as a function of position servo error, both with and without servo torque limiting, is shown below.The torque limit specifies the maximum percentage of the motors rated current that the drive can command as either positive or negative torque. For example, a torque limit of 150% shall limit the current delivered to the motor to 1.5 times the continuous current rating of the motor.Torque Limit NegativeAXIS_SERVO_DRIVEREALGSVSSV%RatedThis attribute maps directly to a SERCOS IDN. See the SERCOS Interface standard for a description. This attribute is automatically set. You usually don’t have to change it.Torque Limit PositiveAXIS_SERVO_DRIVEREALGSVSSV%RatedThis attribute maps directly to a SERCOS IDN. See the SERCOS Interface standard for a description. This attribute is automatically set. You usually don’t have to change it.Torque Limit SourceAXIS_SERVO_DRIVEDINTGSVTagImportant: To use this attribute, choose it as one of the attributes for Real Time Axis Information for the axis. Otherwise, you won’t see the right value as the axis runs. See Axis Info Select 1.This parameter displays the present source (if any) of any torque limiting for the axis.0 = Not Limited1 = Neg. Torque Limit2 = Pos. Torque Limit3 = Amp Peak Limit4 = Amp I(t) Limit5 = Bus Regulator Limit6 = Bipolar Torque Limit7 = Motor Peak Limit8 = Motor I(t) LimitTorque Limit StatusAXIS_SERVO_DRIVEBOOLTagSet when the magnitude of the axis torque command is greater than the configured Torque Limit.Torque OffsetAXIS_SERVOAXIS_SERVO_DRIVEREALGSVSSVTagTorque Offset from –100% to +100%Torque Offset compensation can be used to provide a dynamic torque command correction to the output of the velocity servo loop. Since this value is updated synchronously every Coarse Update Period, the Torque Offset can be tied into custom outer control loop algorithms using Function Block programming.Torque PolarityAXIS_SERVO_DRIVEINTGSVThis attribute is derived from the Drive Polarity attribute. See IDN 85 in IEC 1491.Torque ScalingAXIS_SERVOAXIS_SERVO_DRIVEREALGSVSSV% / Position Units Per Second2The Torque Scaling attribute is used to convert the acceleration of the servo loop into equivalent % rated torque to the motor. This has the effect of "normalizing" the units of the servo loop’s gain parameters so that their values are not affected by variations in feedback resolution, drive scaling, motor and load inertia, and mechanical gear ratios. In fact, the Torque Scaling value, when properly established, represents the inertia of the system and is related to the Tune Inertia attribute value by a factor of the Conversion Constant.AXIS_SERVO — The Torque Scaling value is typically established by the MAAT instruction as part of the controller’s automatic tuning procedure.AXIS_SERVO_DRIVE — The Torque Scaling value is typically established by the drive’s automatic tuning procedure.The value can be manually calculated, if necessary, using the following guidelines.Torque Scaling = 100% Rated Torque / (Acceleration @ 100% Rated Torque)For example, if this axis is using position units of motor revolutions (revs), and that with 100% rated torque applied to the motor, the motor accelerates at a rate of 3000 Revs/Sec2, the Torque Scaling attribute value would be calculated as shown below.Torque Scaling = 100% Rated / (3000 RPS2) = 0.0333% Rated/ Revs Per Second2Note that if the Torque Scaling value does not reflect the true torque to acceleration characteristic of the system, the gains also do not reflect the true performance of the system.Torque ThresholdAXIS_SERVO_DRIVEREALGSVSSV%RatedThis attribute maps directly to a SERCOS IDN. See the SERCOS Interface standard for a description. This attribute is automatically set. You usually don’t have to change it.Torque Threshold StatusAXIS_SERVO_DRIVEBOOLTagSet when the magnitude of the physical axis Torque Feedback is less than the configured Torque Threshold.Transform State StatusAXIS_CONSUMEDAXIS_GENERICAXIS_SERVOAXIS_SERVO_DRIVEAXIS_VIRTUALBOOLTagIf the bit is the following:ON — The axis is part of an active transform.OFF — The axis isn't part of an active transform.Tune AccelerationAXIS_SERVOAXIS_SERVO_DRIVEREALGSVPosition Units / Sec2The Tune Acceleration and Tune Deceleration attributes return the measured acceleration and deceleration values for the last run tuning procedure. These values are used, in the case of an external torque servo drive configuration, to calculate the Tune Inertia value of the axis, and are also typically used by a subsequent MAAT (Motion Apply Axis Tune) to determine the tuned values for the Maximum Acceleration and Maximum Deceleration attributes.Tune Acceleration TimeAXIS_SERVOAXIS_SERVO_DRIVEREALGSVSecThe Tune Acceleration Time and Tune Deceleration Time attributes return acceleration and deceleration time in seconds for the last run tuning procedure. These values are used to calculate the Tune Acceleration and Tune Deceleration attributes.Tune DecelerationAXIS_SERVOAXIS_SERVO_DRIVEREALGSVPosition Units / Sec2The Tune Acceleration and Tune Deceleration attributes return the measured acceleration and deceleration values for the last run tuning procedure. These values are used, in the case of an external torque servo drive configuration, to calculate the Tune Inertia value of the axis, and are also typically used by a subsequent MAAT (Motion Apply Axis Tune) to determine the tuned values for the Maximum Acceleration and Maximum Deceleration attributes.Tune Deceleration TimeAXIS_SERVOAXIS_SERVO_DRIVEREALGSVSecThe Tune Acceleration Time and Tune Deceleration Time attributes return acceleration and deceleration time in seconds for the last run tuning procedure. These values are used to calculate the Tune Acceleration and Tune Deceleration attributes.Tune InertiaAXIS_SERVOAXIS_SERVO_DRIVEREALGSV% / MegaCounts Per Sec2The Tune Inertia value represents the total inertia for the axis as calculated from the measurements made during the tuning procedure. In actuality, the units of Tune Inertia are not industry standard inertia units but rather in terms of percent (%) of rated drive output per MegaCounts/Sec2of feedback input. In this sense it represents the input gain of torque servo drive. These units represent a more useful description of the inertia of the system as seen by the servo controller. The Tune Inertia value is used by the MAAT (Motion Apply Axis Tune) instruction to calculate the Torque Scaling.If the Tune Inertia value exceeds 100%Rated/MegaCounts Per Second2, performance of the digital servo loop may be compromised due to excessive digitization noise associated with the velocity estimator. This noise is amplified by the Torque Scaling gain which is related to the Tune Inertia factor and passed on to the torque output of the drive. A high Tune Inertia value can, thus, result in excitation of mechanical resonances and also result in excessive heating of the motor due to high torque ripple. The only solution to this problem is to lower the loop bandwidths and optionally apply some output filtering.Since the Tune Inertia value represents a measure of the true system inertia, this situation can occur when driving a high inertia load relative to the motor, that is, a high inertia mismatch. But it can also occur when working with a drive that is undersized for the motor or with a system having low feedback resolution. In general, the lower the Tune Inertia the better the performance of the digital servo loops approximates that of an analog servo system.The product of the Tune Inertia (% Rated/MCPS) and the Velocity Servo BW (Hertz) can be calculated to directly determine quantization noise levels. Based on this product, the tuning algorithm can take action to limit high frequency noise injection to the motor.For motors with a Tune Inertia BW product of 1000 or more, the LP Filter is applied with a Filter BW of 5x the Velocity Servo Bandwidth in Hertz. This limits the amount of phase lag introduced by the LP filter to ~12 degrees which is relatively small compared to the 30 to 60 degrees of phase margin that we have for a typical tuned servo system. With a typical tuned LP filter BW value of 200 Hz, we can expect the high frequency quantization noise in the 1 KHz range to be attenuated roughly by a factor of 5.When the Tune Inertia BW product reaches 4000 or more, the LP filter alone is not going to be enough to manage the quantization noise level. So the tune algorithm begins to taper the system bandwidth by the ratio of 4000/(Tune Inertia * Vel Servo BW). This holds the quantization noise level at a fixed value, independent of the Tune Inertia BW product. For example, a motor with a Tune Inertia value of 213 and a Vel Servo BW of 41 Hz (8733 Inertia BW product) tunes with a Pos P Gain of 46 and a Vel P Gain of 117 and LP Filter BW of 93. This is a good noise-free gain set.Tune Rise TimeAXIS_SERVOREALGSVSecThe Tune Rise Time attribute returns the axis rise time as measured during the tuning procedure. This value is only applicable to axes configured for interface to an external velocity servo drive. In this case, the Tune Rise Time attribute value is used to calculate the Tune Velocity Bandwidth.Tune Speed ScalingAXIS_SERVOREALGSV% / KiloCounts Per SecThe Tune Speed Scaling attribute returns the axis drive scaling factor measured during the tuning procedure. This value is only applicable to axes configured for interface to an external velocity servo drive. In this case, the Tune Speed Scaling attribute value is directly applied to the Velocity Scaling attribute by a subsequent MAAT (Motion Apply Axis Tune) instruction.Tune StatusAXIS_SERVOAXIS_SERVO_DRIVEINTGSV0 = tune process successful1 = tune in progress2 = tune process aborted by user3 = tune process timed out4 = AXIS_SERVO — tune process failed due to servo fault4 = AXIS_SERVO_DRIVE — tune process failed due to drive fault5 = axis reached Tuning Travel Limit6 = axis polarity set incorrectlyMore codes for an AXIS_SERVO_DRIVE:7 = tune measurement fault8 = tune configuration faultThe Tune Status attribute returns status of the last run MRAT (Motion Run Axis Tuning) instruction that initiates a tuning procedure on the targeted axis. Use the attribute to determine when the MRAT initiated operation has successfully completed. Conditions may occur, however, that make it impossible for the control to properly perform the operation. When this is the case, the tune process is automatically aborted and a tune fault reported that is stored in the Tune Status output parameter.Tuning Configuration BitsAXIS_SERVOAXIS_SERVO_DRIVEDINTGSVSSVBits0 = Tuning Direction Reverse1 = Tune Position Error Integrator2 = Tune Velocity Error Integrator3 = Tune Velocity Feedforward4 = Tune Acceleration Feedforward5 = Tune Output Low-Pass Filter6 = bidirectional Tuning7 = Tune Friction Compensation8 = Tune Torque OffsetTuning Direction ReverseThe Tune Direction Reverse bit determines the direction of the tuning procedure. If this bit is set (true), motion is initiated in the reverse (or negative) direction.Tune Position Error IntegratorIf this bit is:ON — The tuning procedure calculates the Position Integral Gain.OFF — The tuning procedure sets the Position Integral Gain to 0.Tune Velocity Error IntegratorIf this bit is:ON — The tuning procedure calculates the Velocity Integral Gain.OFF — The tuning procedure sets the Velocity Integral Gain to 0.Tune Velocity FeedforwardIf this bit is:ON — The tuning procedure calculates the Velocity Feedforward Gain.OFF — The tuning procedure sets the Velocity Feedforward Gain to 0.Tune Acceleration FeedforwardIf this bit is:ON — The tuning procedure calculates the Acceleration Feedforward Gain.OFF — The tuning procedure sets the Acceleration Feedforward Gain to 0.Tune Output Low-Pass FilterIf this bit is:ON — The tuning procedure calculates the Output Filter Bandwidth.OFF — The tuning procedure sets the Output Filter Bandwidth to 0, which disables the filter.Bidirectional TuningThe Bidirectional Tuning bit determines whether the tuning procedure is unidirectional or bidirectional. If this bit is set (true), the tuning motion profile is first initiated in the specified tuning direction and then is repeated in the opposite direction. Information returned by the Bidirectional Tuning profile can be used to tune Friction Compensation and Torque Offset. When configured for a hydraulics External Drive Type the bidirectional tuning algorithm also computes the Directional Scaling Ratio.Tune Friction CompensationThis tuning configuration is only valid if configured for bidirectional tuning.If this bit is:ON — The tuning procedure calculates the Friction Compensation Gain.OFF — The Friction Compensation Gain is not affected.Tune Torque OffsetThis tuning configuration is only valid if configured for bidirectional tuning.If this bit is:ON — The tuning procedure calculates the Torque Offset.OFF — The Torque Offset is not affected.Tuning SpeedAXIS_SERVOAXIS_SERVO_DRIVEREALGSVSSVPosition Units / SecThe Tuning Speed attribute sets the maximum speed of the tuning procedure. This attribute should be set to the desired maximum operating speed of the motor before you run the tuning procedure. The tuning procedure measures maximum acceleration and deceleration rates based on ramps to and from the Tuning Speed. Thus, the accuracy of the measured acceleration and deceleration capability is reduced by tuning at a speed other than the desired operating speed of the system.Tuning TorqueAXIS_SERVOAXIS_SERVO_DRIVEREALGSVSSV%The Tuning Torque attribute determines the maximum torque of the tuning procedure. This attribute should be set to the desired maximum safe torque level before you run the tuning procedure. The default value is 100%, which yields the most accurate measure of the acceleration and deceleration capabilities of the system. In some cases a lower tuning torque limit value may be desirable to limit the stress on the mechanics during the tuning procedure. In this case the acceleration and deceleration capabilities of the system are extrapolated based on the ratio of the tuning torque to the maximum torque output of the system. Note that the extrapolation error increases as the Tuning Torque value decreases.Tuning Travel LimitAXIS_SERVOAXIS_SERVO_DRIVEREALGSVSSVPosition UnitsThe Tuning Travel Limit attribute limits the travel of the axis during the tuning procedure. If the axis can’t complete the tuning procedure before exceeding the Tuning Travel Limit, the motion module stops the tuning procedure and reports that the Tuning Travel Limit was exceeded via the Tune Status attribute. This does not mean that the Tuning Travel Limit was actually exceeded, but that had the tuning procedure gone to completion that the limit would have been exceeded.Velocity Data ScalingAXIS_SERVO_DRIVEINTGSVThis attribute is derived from the Drive Units attribute. See IDN 44 in IEC 1491.Velocity Data Scaling ExpAXIS_SERVO_DRIVEINTGSVThis attribute is derived from the Drive Units attribute. See IDN 46 in IEC 1491.Velocity Data Scaling FactorAXIS_SERVO_DRIVEDINTGSVThis attribute is derived from the Drive Units attribute. See IDN 45 in IEC 1491.Velocity DroopAXIS_SERVO_DRIVEREALGSVSSVPosition Units / SecThis attribute maps directly to a SERCOS IDN. See the SERCOS Interface standard for a description. This attribute is automatically set. You usually don't have to change it.Velocity ErrorAXIS_SERVOAXIS_SERVO_DRIVEREALGSVTagImportant: To use this attribute, choose it as one of the attributes for Real Time Axis Information for the axis. Otherwise, you won’t see the right value as the axis runs. See Axis Info Select 1.Velocity Error in Position Units / SecVelocity Error is the difference, in configured axis Position Units per Second, between the commanded and actual velocity of an axis. For an axis with an active velocity servo loop, velocity error is used, along with other error terms, to drive the motor to the condition where the velocity feedback is equal to the velocity command.Velocity FeedbackAXIS_SERVO AXIS_SERVO_DRIVEREALGSVTagImportant: To use this attribute, choose it as one of the attributes for Real Time Axis Information for the axis. Otherwise, you won’t see the right value as the axis runs. See Axis Info Select 1.Velocity Feedback in Position Units / SecVelocity Feedback is the actual velocity of the axis as estimated by the motion module, in the configured axis Position Units per second. The estimated velocity is computed by applying a 1 KHz low-pass filter to the change in actual position over the servo update interval. Velocity Feedback is a signed value—the sign (+ or -) depends on which direction the axis is currently moving.Velocity Feedback GainAXIS_SERVOAXIS_SERVO_DRIVEREALGSVSSV%Servo Drives require non-zero command input to generate steady-state axis acceleration or velocity. To provide the non-zero output from the Servo Module a non-zero position or velocity error needs to be present. We call this dynamic error while moving "following error". Well, this non-zero following error condition is a situation we are trying to avoid. We ideally want zero following error -- all the time. This could be achieved through use of the position integral gain controls as described above, but typically the response time of the integrator action is too slow to be effective. An alternative approach that has superior dynamic response is to use Velocity and Acceleration Feedforward.The Velocity Feedforward Gain attribute is used to provide the Velocity Command output necessary to generate the commanded velocity. It does this by scaling the current Command Velocity by the Velocity Feedforward Gain and adding it as an offset to the Velocity Command generated by the position loop control elements. With this done, the position loop control elements do not need to generate much of a contribution to the Velocity Command, hence the Position Error value is significantly reduced. Hence, the Velocity Feedforward Gain allows the following error of the servo system to be reduced to nearly zero when running at a constant speed. This is important in applications such as electronic gearing and synchronization applications where it is necessary that the actual axis position not significantly lag behind the commanded position at any time.The optimal value for Velocity Feedforward Gain is 100% theoretically. In reality, however, the value may need to be tweaked to accommodate velocity loops with non-infinite loop gain and other application considerations. One thing that may force a smaller Velocity Feedforward value is that increasing amounts of feedforward tends to exacerbate axis overshoot.If necessary, the Velocity Feedforward Gain may be "tweaked" from the 100% value by running a simple user program that jogs the axis in the positive direction and monitor the Position Error of the axis during the jog.Increase the Velocity Feedforward Gain until the Position Error at constant speed is as small as possible, but still positive. If the Position Error at constant speed is negative, the actual position of the axis is ahead of the command position. If this occurs, decrease the Velocity Feedforward Gain such that the Position Error is again positive.Note that reasonable maximum velocity, acceleration, and deceleration values must be entered to jog the axis.Velocity Integral GainAXIS_SERVOAXIS_SERVO_DRIVEREALGSVSSV1/mSec-SecWhen configured for a torque (current) loop servo drive, every servo update the current Velocity Error is also accumulated in a variable called the Velocity Integral Error. This value is multiplied by the Velocity Integral Gain to produce a component to the Servo Output or Torque Command that attempts to correct for the velocity error. The characteristic of Vel I Gain correction, however, is that any non-zero Velocity Error accumulates in time to generate enough force to make the correction. This attribute of Vel I Gain makes it invaluable in applications where velocity accuracy is critical. The higher the Vel I Gain value the faster the axis is driven to the zero Velocity Error condition. Unfortunately, I Gain control is intrinsically unstable. Too much I Gain results in axis oscillation and servo instability.In certain cases, Vel I Gain control is disabled. One such case is when the servo output to the axis’ drive is saturated. Continuing integral control behavior in this case would only exacerbate the situation. Another common case is when performing certain motion. When the Integrator Hold Enable attribute is set, the servo loop automatically disables the integrator during commanded motion.Due to the destabilizing nature of Integral Gain, it is recommended that Position Integral Gain and Velocity Integral Gain be considered mutually exclusive. If Integral Gain is needed for the application use one or the other, but not both. In general, where static positioning accuracy is required, Velocity Integral Gain is the better choice.The typical value for the Velocity Integral Gain is ~15 mSec-1-Sec-1.If you have an AXIS_SERVO_DRIVE data type:While the Vel I Gain, if employed, is typically established by the automatic servo tuning procedure, the Pos I Gain value may also be set manually. Before doing this it must be stressed that the Torque Scaling factor for the axis must be established for the drive system. Refer to Torque Scaling attribute description for an explanation of how the Torque Scaling factor can be calculated. Once this is done the Vel I Gain can be computed based on the current or computed value for the Vel P Gain using the following formula:Vel I Gain = 0.25 * 0.001 Sec/mSec * (Vel P Gain)2Assuming a Vel P Gain value of 0.25 Sec-1this results in a Vel I Gain value of ~15.6 mSec-1-Sec-1-Velocity Feedback ErrorAXIS_SERVOAXIS_SERVO_DRIVEREALGSVTagImportant: To use this attribute, choose it as one of the attributes for Real Time Axis Information for the axis. Otherwise, you won’t see the right value as the axis runs. See Axis Info Select 1.Velocity Integrator Error in Position Units – mSec / SecVelocity Integrator Error is the running sum of the Velocity Error, in the configured axis Position Units per Second, for the specified axis. For an axis with an active velocity servo loop, the velocity integrator error is used, along with other error terms, to drive the motor to the condition where the velocity feedback is equal to the velocity command.Velocity Limit BipolarAXIS_SERVO_DRIVEREALGSVSSVPosition Units / secThis attribute maps directly to a SERCOS IDN. See the SERCOS Interface standard for a description. This attribute is automatically set. You usually don’t have to change it.Velocity Limit NegativeAXIS_SERVO_DRIVEREALGSVSSVPosition Units / secThis attribute maps directly to a SERCOS IDN. See the SERCOS Interface standard for a description. This attribute is automatically set. You usually don’t have to change it.Velocity Limit PositiveAXIS_SERVO_DRIVEREALGSVSSVPosition Units / secThis attribute maps directly to a SERCOS IDN. See the SERCOS Interface standard for a description. This attribute is automatically set. You usually don’t have to change it.Velocity Limit StatusAXIS_SERVO_DRIVEBOOLTagSet when the magnitude of the commanded velocity to the velocity servo loop input is greater than the configured Velocity Limit.Velocity Lock StatusAXIS_SERVO_DRIVEBOOLTagSet when the magnitude of the physical axis Velocity Feedback is within the configured Velocity Window of the current velocity command.Velocity OffsetAXIS_SERVOAXIS_SERVO_DRIVEREALGSVSSVTagVelocity Offset in Position Units / SecVelocity Offset compensation can be used to give a dynamic velocity correction to the output of the position servo loop. Since this value is updated synchronously every Coarse Update Period, the Velocity Offset can be tied into custom outer control loop algorithms using Function Block programming.Velocity PolarityAXIS_SERVO_DRIVEINTGSVThis attribute is derived from the Drive Polarity attribute. See IDN 42 in IEC 1491.Velocity Proportional GainAXIS_SERVOAXIS_SERVO_DRIVEREALGSVSSV1/SecAXIS_SERVOWhen configured for a torque (current) loop servo drive, the servo module’s digital velocity loop provides damping without the requirement for an analog tachometer. The Velocity Error is multiplied by the Velocity Proportional Gain to produce a component to the Servo Output or Torque Command that ultimately attempts to correct for the velocity error, creating the damping effect. Thus, increasing the Velocity Proportional Gain results in smoother motion, enhanced acceleration, reduced overshoot, and greater system stability. The velocity loop also allows higher effective position loop gain values to be used, however, too much Velocity Proportional Gain leads to high frequency instability and resonance effects. Note that units for Velocity Proportional Gain are identical to that of the Position Proportional Gain making it easy to perform classic inches/min/mil calculations to determine static stiffness or damping.Maximum BandwidthThere are limitations to the maximum bandwidth that can be achieved for the velocity loop based on the dynamics of the torque loop of the servo drive and the desired damping of the system, Z. These limitations may be expressed as follows:Bandwidth (Velocity) = 0.25 * 1/Z2* Bandwidth (Torque)For example, if the bandwidth of the drive’s torque loop is 100 Hz and the damping factor, Z, is 0.8, the velocity bandwidth is approximately 40 Hz. Based on this number the corresponding gains for the loop can be computed. Note that the bandwidth of the torque loop includes feedback sampling delay and filter time constant.The velocity loop in the motion controller is not used when the servo module is configured for a velocity loop servo drive, Thus, establishing the Velocity Proportional Gain is not required in this case.The typical value for the Velocity Proportional Gain is ~250 Sec-1.AXIS_SERVO_DRIVEThe standard RA SERCOS drive’s digital velocity loop provides damping without the requirement for an analog tachometer. The Velocity Error is multiplied by the Velocity Proportional Gain to produce a Torque Command that ultimately attempts to correct for the velocity error, creating the damping effect. Thus, increasing the Velocity Proportional Gain results in smoother motion, enhanced acceleration, reduced overshoot, and greater system stability. The velocity loop also allows higher effective position loop gain values to be used, however, too much Velocity Proportional Gain leads to high frequency instability and resonance effects. Note that units for Velocity Proportional Gain are identical to that of the Position Proportional Gain making it easy to perform classic calculations to determine damping and bandwidth.If you know the desired unity gain bandwidth of the velocity servo in Hertz, use the following formula to calculate the corresponding P gain.Vel P Gain = Bandwidth (Hertz) / 6.28In general, modern velocity servo systems typically run with a unity gain bandwidth of ~40 Hertz. The typical value for the Velocity Proportional Gain is ~250 Sec-1.Maximum BandwidthThere are limitations to the maximum bandwidth that can be achieved for the velocity loop based on the dynamics of the inner torque loop of the system and the desired damping of the system, Z. These limitations may be expressed as follows:Bandwidth (Velocity) = 0.25 * 1/Z2* Bandwidth (Torque)For example, if the bandwidth of the drive’s torque loop is 100 Hz and the damping factor, Z, is 0.8, the velocity bandwidth is approximately 40 Hz. Based on this number the corresponding gains for the loop can be computed. Note that the bandwidth of the torque loop includes feedback sampling delay and filter time constant.Velocity ScalingAXIS_SERVOREALGSVSSV% / Position Units Per SecondThe Velocity Scaling attribute is used to convert the output of the servo loop into equivalent voltage to an external velocity servo drive. This has the effect of "normalizing" the units of the servo loop gain parameters so that their values are not affected by variations in feedback resolution, drive scaling, or mechanical gear ratios. The Velocity Scaling value is typically established by servo’s automatic tuning procedure but these values can be calculated if necessary using the following guidelines.If the axis is using a velocity servo drive, the software velocity loop in the servo module is disabled. In this case the Velocity Scaling value can be calculated by the following formula:Velocity Scaling = 100% / (Speed @ 100%)For example, if this axis is using position units of motor revolutions (revs), and the servo drive is scaled such that with an input of 100% (for example, 10 Volts) the motor goes 5,000 RPM (or 83.3 RPS), the Torque Scaling attribute value would be calculated as shown below.Velocity Scaling = 100% / (83.3 RPS) = 1.2% / Revs Per SecondVelocity Servo BandwidthAXIS_SERVOAXIS_SERVO_DRIVEREALGSVSSVHertzThe value for the Velocity Servo Bandwidth represents the unity gain bandwidth that is to be used to calculate the gains for a subsequent MAAT (Motion Apply Axis Tune) instruction. The unity gain bandwidth is the frequency beyond which the velocity servo is unable to provide any significant position disturbance correction. In general, within the constraints of a stable servo system, the higher the Velocity Servo Bandwidth is the better the dynamic performance of the system. A maximum value for the Velocity Servo Bandwidth is generated by the MRAT (Motion Run Axis Tune) instruction. Computing gains based on this maximum value via the MAAT instruction results in dynamic response in keeping with the current value of the Damping Factor described above. Alternatively, the responsiveness of the system can be "softened" by reducing the value of the Velocity Servo Bandwidth before executing the MAAT instruction..There are practical limitations to the maximum Velocity Servo Bandwidth for the velocity servo loop based on the drive system and, in some cases, the desired damping factor of the system, Z. Exceeding these limits could result in an unstable servo operation.Data TypeBandwidth LimitsAXIS_SERVOFor an external velocity loop servo drive,Max Velocity Servo Bandwidth (Hz) = 0.159 * 2/Tune Rise TimeFor an external torque loop servo drive,Max Velocity Servo Bandwidth (Hz) = 0.159 * 0.25 * 1/Z2 * 1/Drive Model Time ConstantAXIS_SERVO_DRIVEMax Velocity Servo Bandwidth (Hz) = 0.159 * 0.25 * 1/Z2 * 1/Drive Model Time ConstantThe factor of 0.159 represents the 1/2PI factor required to convert Radians per Second units to Hertz.Velocity Standstill StatusAXIS_SERVO_DRIVEBOOLTagSet when the magnitude of the physical axis Velocity Feedback is less than the configured Velocity Standstill Window.Velocity Standstill WindowAXIS_SERVO_DRIVEREALGSVSSVPosition Units / secThis attribute maps directly to a SERCOS IDN. See the SERCOS Interface standard for a description. This attribute is automatically set. You usually don’t have to change it.Velocity ThresholdAXIS_SERVO_DRIVEREALGSVSSVPosition Units / secThis attribute maps directly to a SERCOS IDN. See the SERCOS Interface standard for a description. This attribute is automatically set. You usually don’t have to change it.Velocity Threshold StatusAXIS_SERVO_DRIVEBOOLTagSet when the magnitude of the physical axis Velocity Feedback is less than the configured Velocity Threshold.Velocity WindowAXIS_SERVO_DRIVEREALGSVSSVPosition Units / secThis attribute maps directly to a SERCOS IDN. See the SERCOS Interface standard for a description. This attribute is automatically set. You usually don’t have to change it.Watch Event Armed StatusAXIS_CONSUMEDAXIS_GENERICAXIS_SERVOAXIS_SERVO_DRIVEAXIS_VIRTUALBOOLTagSet when a watch event has been armed through execution of the MAW (Motion Arm Watch) instruction. Cleared when either a watch event occurs or a MDW (Motion Disarm Watch) instruction is executed.Watch Event StatusAXIS_CONSUMEDAXIS_GENERICAXIS_SERVOAXIS_SERVO_DRIVEAXIS_VIRTUALBOOLTagSet when a watch event has occurred. Cleared when either another MAW (Motion Arm Watch) instruction or a MDW (Motion Disarm Watch) instruction is executed.Watch Event TaskAXIS_CONSUMEDAXIS_GENERICAXIS_SERVOAXIS_SERVO_DRIVEAXIS_VIRTUALDINTMSGShows which task is triggered when the watch event happens.An instance of 0 means that no event task is configured to be triggered by the watch event.The task is triggered at the same time that the Process Complete bit is set for the instruction that armed the watch event.The controller sets this attribute. Don’t set it by an external device.Watch PositionAXIS_CONSUMEDAXIS_GENERICAXIS_SERVOAXIS_SERVO_DRIVEAXIS_VIRTUALREALGSVTagWatch Position in Position UnitsWatch Position is the current set-point position of an axis, in the configured axis Position Units, as set up in the last, most recently executed, MAW (Motion Arm Watch) instruction for that axis.
Provide Feedback