Motion Control Signal Attributes

The Motion Control Signal Attributes associated with the axis provide access to the current and historical position, velocity, and acceleration information of the axis. These values may be used as part of the user program to implement sophisticated real-time computations associated with motion control applications.
NOTE:
Configuration of Scaling page parameters is required for any attributes expressed in position, velocity, or acceleration units to return meaningful values.
All Motion Control Signal Attributes support Direct Tag Access through the Logix Designer application. Thus, a Motion Signal attribute may be directly referenced in a program as <axis tag name>.<motion status tag name>. For example, FeedAxis.ActualPosition.
To avoid the unnecessary processor effort associated with real-time conversion of certain Motion Status tags that are not of interest to the user, you need to explicitly activate real-time update of these attributes using the Auto Tag Update attribute of the associated motion group. A subset of the Motion Control Signal Attributes must have the Auto Tag Update attribute enabled to perform scaling conversion. If disabled, the tag value will be forced to zero. The following attributes are impacted:
  • Actual Position
  • Actual Velocity
  • Actual Acceleration
  • Master Offset
  • Command Position
  • Command Velocity
  • Command Acceleration
  • Average Velocity
The following are the signal attributes associated a Motion Control Axis:
Actual Position
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - All
Get/GSV
T
REAL
-
-
-
Position Units
Tag access is supported by the value is valid only when Auto Tag Update of the Motion Group Object is enabled.
The Actual Position attribute is the current absolute position of an axis, in the configured Position Units of that axis. This value is based on data reported to the Logix Processor as part of an ongoing synchronous data transfer process which results in a delay of one Coarse Update Period. Thus, the Actual Position value that is obtained is the actual position of the axis one Coarse Update Period ago.
Tag access supported but value is valid only when Auto Tag Update of the Motion Group Object is enabled.
Axis Test Mode
Axes with the Test Mode attribute set to Enabled and that are configured for Controller Loop Back tracks the commanded position perfectly with a simulated delay of two controller updates.
Strobe Actual Position
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - All
Get/GSV
T
REAL
-
-
-
Position Units
Strobe Command Position
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - FPV
Get/GSV
T
REAL
-
-
-
Position Units
Strobe Actual Position and Strobe Command Position attributes 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 axes to provide a form of slip compensation in web handling applications.
Start Position and Start Command Position
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - FPV
Get/GSV
T
REAL
-
-
-
Position Units
Whenever 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.
Average Velocity
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - All
Get/GSV
T
REAL
-
-
-
Position Units / Sec
The Average Velocity attribute is the current speed and direction of an axis in the configured Position Units per second of the axis.
Unlike the Actual Velocity attribute value, it is calculated by averaging the actual velocity of the axis over the configured Average Velocity Timebase for that axis. Average velocity is a signed value with the sign indicating the direction the axis is currently moving.
The resolution of the Average Velocity variable is determined by the current value of the Averaged Velocity Timebase parameter, and the configured Conversion Constant (feedback counts per Position Unit) for the axis. The Average Velocity Timebase determines the length over which the Average Velocity is computed. The greater the Average Velocity Timebase value, the better the speed resolution, but the slower the response to changes in speed.
The Average Velocity resolution in Position Units per second may be calculated using this equation.
For example, on an axis with position units of inches and a conversion constant (K) of 20000, an averaged velocity time-base of 0.25 seconds results in an average velocity resolution of:
The minimum Average Velocity Timebase value is one Coarse Update Period defined by the associated Motion Group Object.
Tag access supported but value is valid only when Auto Tag Update of the Motion Group Object is enabled.
Actual Velocity
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - All
Get/
GSV
T
REAL
-
-
-
Position Units / Sec
Tag access is supported but the value is valid only when Auto Tag Update of the Motion Group Object is enabled.
The Actual Velocity attribute is the current instantaneously measured speed and direction of an axis, in the configured axis Position Units per second. It is calculated as the current increment to the actual position per coarse update interval.
Actual Velocity is a signed floating point value—the sign (+ or -) depends on which direction the axis is currently moving. Its resolution does not depend on the Averaged Velocity Timebase, but rather on the conversion constant of the axis and the fact that the internal resolution limit on actual velocity is 1 feedback count per coarse update.
Tag access supported but value is valid only when Auto Tag Update of the Motion Group Object is enabled.
Actual Acceleration
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - All
Get/
GSV
T
REAL
-
-
-
Position Units / Sec
2
Tag access supported but the value is valid only when Auto Tag Update of the Motion Group Object is enabled.
The Actual Acceleration attribute is the current instantaneously measured acceleration of an axis in the configured axis Position Units per second per second. It is calculated as the current increment to the actual velocity per coarse update interval.
Actual Acceleration is a signed floating-point value. Its resolution does not depend on the Averaged Velocity Timebase, but rather on the Conversion Constant of the axis and the fact that the internal resolution limit on actual velocity is 1 feedback count per Coarse Update Period
2
.
Tag access supported but value is valid only when Auto Tag Update of the Motion Group Object is enabled.
Watch Position
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - E
Get/
GSV
T
REAL
-
-
-
Position Units
The Watch Position attribute 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.
Registration 1 Position and Registration 2 Position
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - E
Get/
GSV
T
REAL
-
-
-
Position Units
Two registration position attributes are provided to independently store axis position associated with two different registration input events. The Registration Position value is the absolute position of a physical or virtual axis (in the position units of that axis) at the occurrence of the most recent registration event for that axis.
This figure shows how the registration position is latched by the registration input when a registration event occurs. The latching mechanism can be implemented in the controller software (soft registration) or, for greater accuracy, in physical hardware (hard registration).
The Registration Latch mechanism is controlled two Event Control instructions, MAR (Motion Arm Registration) and MDR (Motion Disarm Registration).
The accuracy of the registration position value, saved as a result of a registration event, is a function of the delay in recognizing the specified transition (typically 1 µsec for hardware registration) and the speed of the axis during this time. The uncertainty in the registration position is the distance traveled by the axis during this interval as shown in this equation:
Use the formula given above to calculate the maximum registration position error for the expected axis speed. Alternatively, you can calculate the maximum axis speed for a specified registration accuracy by re-arranging this formula:
Registration 1 Time and Registration 2 Time
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - E
Get/
GSV
T
DINT
-
-
-
CST time in microseconds
The two Registration Time values contain the lower 32-bits of CST time at which their respective registration events occurred. Units for this attribute are in microseconds.
Interpolation Time
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - E
Set/
SSV
T
DINT
-
-
-
CST time to Interpolation
The Interpolation Time attribute is the 32-bit CST time used to calculate the interpolated positions. When this attribute is updated with a valid CST value, the Interpolated Actual Position and Interpolated Command Position values are automatically calculated.
Interpolated Actual Position
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - E
Get/
GSV
T
REAL
-
-
-
Position Units
The Interpolated Actual Position attribute is the interpolation of the actual position, based on past axis trajectory history, at the time specified by the Interpolation Time attribute.
Command Position
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - FPV
Get/
GSV
T
REAL
-
-
-
Position Units
Tag access is supported but the value is valid only when Auto Tag Update of the Motion Group Object is enabled.
The Command Position attribute is the desired or commanded position of a physical axis, in the configured Position Units of that axis, as generated by the controller in response to any previous motion Position Control instruction. Command Position data is transferred by the Logix Processor to a physical axis as part of an ongoing synchronous data transfer process which results in a delay of one Coarse Update Period. Thus, the Command Position value that is obtained is the command position that will be acted upon by the physical servo axis one Coarse Update Period from now.
The figure below shows the relationship between Actual Position, Command Position, and Position Error for an axis with an active servo loop. Actual Position is the current position of the axis as measured by the feedback device, for example an encoder. Position error is the difference between the Command and Actual Positions of the servo loop, and is used to drive the motor to make the actual position equal to the command position.
Command position is useful when performing motion calculations and incremental moves based on the current position of the axis while the axis is moving. Using command position rather than actual position avoids the introduction of errors due to the position error of the axis at the time the calculation is performed.
Tag access supported but value is valid only when Auto Tag Update of the Motion Group Object is enabled.
Axis Test Mode
Axes with the Test Mode attribute set to Enabled and that are configured for Controller Loop Back copy the commanded position, with a simulated controller-drive interface delay. This results in a zero position error.
Strobe Command Position
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - FPV
Get/
GSV
T
REAL
-
-
-
Position Units
Strobe Actual Position, Strobe Command Position and Strobe Master Offset attributes 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, Strobe Command Position and Strobe Master Offset values for different axes can be used to perform real-time calculations. For example, the Strobe Actual Positions can be compared between two axes to provide a form of slip compensation in web handling applications.
Start Command Position
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - FPV
Get/
GSV
T
REAL
-
-
-
Position Units
Whenever 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.
Command Velocity
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - FPV
Get/
GSV
T
REAL
-
-
-
Position Units / Sec
Tag access is supported but the value is valid only when Auto Tag Update of the Motion Group Object is enabled.
The Command Velocity is the commanded speed and direction of an axis, in the configured axis Position Units per second, as generated by any previous motion instructions. It is calculated as the current increment to the command position per coarse update interval. Command Velocity is a signed value—the sign (+ or -) depends on which direction the axis is being commanded to move.
Command Velocity is a signed floating-point value. Its resolution does not depend on the Averaged Velocity Timebase, but rather on the conversion constant of the axis and the fact that the internal resolution limit on command velocity is 0.00001 feedback counts per coarse update.
Tag access supported but value is valid only when Auto Tag Update of the Motion Group Object is enabled.
Command Acceleration
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - FPV
Get/
GSV
T
REAL
-
-
-
Position Units / Sec
2
Tag access is supported but the value is valid only when Auto Tag Update of the Motion Group Object is enabled.
The Command Acceleration attribute is the commanded speed and direction of an axis, in the configured axis Position Units per second per second, as generated by any previous motion instructions. It is calculated as the current increment to the command velocity per coarse update interval. Command Acceleration is a signed value: the sign (+ or -) depends on which direction the axis is being commanded to move.
Command Acceleration is a signed floating-point value. Its resolution does not depend on the Averaged Velocity Timebase, but rather on the conversion constant of the axis and the fact that the internal resolution limit on command velocity is 0.00001 feedback counts per Coarse Update Period
2
.
Tag access supported but value is valid only when Auto Tag Update of the Motion Group Object is enabled.
Command Torque
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - VT
Get/
SSV
T
REAL
0
-
+
% Rated
The Command Torque attribute is the commanded torque in units of percent Rated Torque of the motor. This tag value is transferred by the Logix Processor to a physical axis as part of an ongoing synchronous data transfer process. Unlike Command Position, Command Velocity, and Command Acceleration, the Command Torque attribute is not generated by the motion planner. Instead, the value may be written directly by the application program.
Command Torque has no effect on the axis unless the axis is configured for Torque Loop operation. In order for the this attribute's value to be applied as the torque command, a Motion Drive Start instruction will be executed, which in turn sets the Direct Torque Control Status bit of the Motion Status Bits attribute. If this bit is not set, the Command Torque value has no effect on axis motion. Only CIP Drive Axis data types currently support this capability.
Interpolated Command Position
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - E
PV only
Get/
GSV
T
REAL
-
-
-
Position Units
The Interpolated Command Position attribute is the interpolation of the commanded position, based on past axis trajectory history, at the time specified by the Interpolation Time attribute.
Master Offset
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - FPV
PV only
Get/
GSV*
T
REAL
-
-
-
Master Position Units
Tag access supported but the value is valid only when Auto Tag Update of the Motion Group Object is enabled.
The Master Offset attribute is the position offset that is currently applied to the master side of the position cam. The Master Offset is returned in master position units. The Master Offset shows the same unwind characteristic as the position of a linear axis. Tag access is supported but the tag value is valid only when Auto Tag Update of the Motion Group Object is enabled
Strobe Master Offset
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - FPV
PV only
Get/
GSV
T
REAL
-
-
-
Master Position Units
The Strobe Master Offset attribute 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 shows the same unwind characteristic as the position of a linear axis.
Start Master Offset
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - FPV
PV only
Get/
GSV
T
REAL
-
-
-
Master Position Units
The Start Master Offset attribute 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 shows the same unwind characteristic as the position of a linear axis.
Direct Command Velocity
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - FV
Get/
SSV
T
REAL
-
-
+
Position Units / Sec
The Direct Command Velocity attribute provides tag access to the velocity command for the specified axis. This can be used to directly control the speed of a motor when an associated drive is configured for velocity control mode. In order for this attribute's value to be applied as the velocity command, a Motion Drive Start instruction will be executed, which in turn sets the Direct Velocity Control Status bit of the Motion Status Bits attribute. If this bit is not set, the Direct Command Velocity value has no effect on axis motion. Only CIP Drive Axis data types currently support this capability.
Interpolated Position Configuration
Usage
Access
T
Data Type
Default
Min
Max
Semantics of Values
Required - E
Set/
SSV
T
DWORD
0:0
1:1
-
-
Bitmap
0 = 2
nd
Order Actual Position Interpolation
1 = 2
nd
Order Command Position Interpolation
This bit mapped attribute configures the interpolation algorithm used to calculate Interpolated Actual Position and Interpolated Command Position based on axis position history based on the current value of Interpolation Time.
The 2
nd
Order Actual Position Interpolation bit controls the order of the interpolation algorithm used to calculate Interpolated Actual Position based on Interpolation Time. If the bit is set, 2
nd
order interpolation is used. If the bit is clear, 1
st
order interpolation is used. Generally, 2
nd
order interpolation results in more accurate estimates of position, but if the actual position signal has high levels of quantization noise, 1
st
order interpolation gives better results.
The 2nd Order Command Position Interpolation bit controls the order of the interpolation algorithm used to calculate Interpolated Command Position based on Interpolation Time. If the bit is set, 2
nd
order interpolation is used. If the bit is clear, 1
st
order interpolation is used. Generally, 2
nd
order interpolation results in more accurate estimates of position, but if the command position signal has high levels of quantization noise, 1
st
order interpolation gives better results.
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.