Motion Scaling Attributes

These are the basic motion scaling configuration attributes associated with a Motion Control Axis. These attributes are involved in conversion between position, speed, and acceleration expressed in Motion Counts and Motion Units, and the user-defined Position Unit of the axis. The motion scaling function is also involved in conversion of Motion Counts to/from Feedback Counts, and Motion Units to/from Feedback Units.
Motion Scaling Configuration
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - All
Set/GSV
USINT
0
-
-
Enumeration
0 = Control Scaling (R)
1 = Drive Scaling (O)
2-255 = Reserved
The Motion Scaling Configuration attribute determines whether the scaling function is performed by the controller or the drive. The Control Scaling selection configures the control system to perform the scaling calculations in the controller. In this mode, the controller interacts with the drive in terms of Feedback Counts or Motor Units, hence no scaling operations are required by the drive. Also, in Control Scaling mode the controller is responsible for Position Unwind (Cyclic Unwind for device axis objects) operations associated with Cyclic Travel Mode (Cyclic Unwind Control for device axis objects).
The Drive Scaling selection configures the control system to perform the scaling calculations in the drive device. In this mode, the controller interacts with the drive in terms of Motion Counts or Motion Units and the drive is responsible for conversion to equivalent Feedback Counts and Motor Units. Also, in Drive Scaling mode the drive is responsible for Position Unwind (Cyclic Unwind) operations associated with Cyclic Travel Mode (Cyclic Unwind Control).
Scaling Source
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - All
Set/ SSV#
USINT
0
-
-
Enumeration:
0 = From Calculator
1 = Direct Scaling Factor Entry
2-255 = reserved
#
Indicates the attribute cannot be set while the tracking command (Tracking Command bit in CIP Axis Status is true).
Enumerated attribute used to determine whether the scaling factors are going to be entered directly from the user or calculated based on Position Scaling, Position Unwind, and Travel Range values. When entered directly, the scaling factors, for example, Conversion Constant, Position Unwind, and Motion Resolution are expressed in units of "counts". When using the scaling calculator, the scaling factors are calculated based on values entered by the user in the preferred units of the application without requiring any knowledge of "counts".
NOTE:
Configuration of Scaling page parameters is required for any attributes expressed in position, velocity, or acceleration units to return meaningful values.
Scaling Calculations are performed by the Logix Designer application whenever the Scaling attribute values change. Scaling attributes are defined as Position Scaling Numerator, Position Scaling Denominator, Position Unwind Numerator, Position Unwind Denominator, Travel Mode, and Travel Range. The purpose of the Scaling Calculation is to generate the key Scaling Factors used to convert between the user defined Position Units and the quantized Motion Count units used by the control system. The set of Scaling Factor attributes consist of Motion Resolution, Conversion Constant, and Position Unwind.
The specific Scaling Calculations performed by the Logix Designer application depend on the Travel Mode setting as follows:
Cyclical Travel:
  • Max Resolution = Int((2^31-1) * (Pos Scaling Num/Pos Scaling Denom) / (Unwind Num/Unwind Denom))
  • Base Resolution = Minimum (Default Motion Resolution, Max Resolution)
  • Motion Resolution = (Pos Scaling Num*Unwind Denom) * (10^(Int (Log10(Base Resolution/(Pos Scaling Num*Unwind Denom)))))
  • Conversion Constant = Motion Resolution * (Pos Scaling Denom/Pos Scaling Num)
  • Unwind = Conversion Constant * (Unwind Num/Unwind Denom)
Limited Travel:
  • Max Resolution = Int((2^31-1) * (Pos Scaling Num/Pos Scaling Denom) / Travel Range)
  • Base Resolution = Minimum (Default Motion Resolution, Max Resolution)
  • Motion Resolution = Pos Scaling Num * (10^(Int (Log10(Base Resolution/Pos Scaling Num))))
  • Conversion Constant = Motion Resolution * (Pos Scaling Denom/Pos Scaling Num)
Unlimited Travel:
  • Base Resolution = Default Motion Resolution
  • Motion Resolution = Pos Scaling Num * (10^(Int (Log10(Base Resolution/Pos Scaling Num))))
  • Conversion Constant = Motion Resolution * (Pos Scaling Denom/Pos Scaling Num)
When Scaling Calculations are performed, the Logix Designer application sets the Scaling Source to "from calculator". If any of the Scaling Factor attributes is changed directly by the user either through Logix Designer or through programmatic access, Scaling Source is set to "direct entry". The "direct entry" setting indicates that the Scaling Factors are no longer consistent with the current Scaling attribute values.
Travel Mode
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - All
Set/ SSV#
USINT
0
-
-
Enumeration:
0 = Unlimited
1 = Limited (E)
2 = Cyclic (E)
3-255 = reserved
#
Indicates the attribute cannot be set while the tracking command (Tracking Command bit in CIP Axis Status is true).
Enumerated attribute used to determine the travel constraints of the axis. Unlimited travel is for axes that run continuously without limit but are not cyclic. Limited travel is for axes that have imposed limits to their travel, usually due to mechanical limitations. Cyclic travel is for axes whose position repeats as part of a product cycle. While the axis may run continuously, the position value is bound between 0 and the Position Unwind value. If the Feedback Configuration = No Feedback, such as with Sensorless/Encoderless operation, then the only valid Travel Mode setting is "Unlimited".
Position Scaling Numerator
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - All
Set/ GSV
REAL
1
0+
Infinity symbol
Position Units
A floating point value used by the scaling calculator to determine the number of Position Units per Position Scaling Denominator units (Motion Units).
Position Scaling Denominator
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - All
Set/ GSV
REAL
1
0+
Motion Unit
A floating point value used by the scaling calculator to determine the number of Motion Units per Position Scaling Numerator units (Position Units).
Position Unwind Numerator
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - E
Set/ GSV
REAL
1
0+
Position Units
A floating point value used by the scaling calculator to determine the number of Position Units per Position Unwind Denominator units (Unwind Cycles). This value is only used by the calculator if cyclic Travel Mode is selected.
Position Unwind Denominator
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - E
Set/ GSV
REAL
1
0+
Unwind Cycles
A floating point value used by the scaling calculator to determine the number of Unwind Cycles per Position Unwind Numerator units (Position Units). This value is only used by the calculator if cyclic Travel Mode is selected.
Travel Range
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - E
Set/ GSV
REAL
1000
0+
Position Units
A floating point value used by the scaling calculator to determine the maximum travel range in Position Units for a limited Travel Mode position scaling calculation.
Motion Unit
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - All
Set/ GSV
USINT
0
-
-
Enumeration
0 = Motor Rev
1 = Load Rev
2 = Feedback Rev
3 = Motor mm
4 = Load mm
5 = Feedback mm
6 = Motor inch
7 = Load inch
8 = Feedback inch
9 = Motor Rev/s
10 = Load Rev/s
11 = Motor m/s
12 = Load m/s
13 = Motor inch/s
14 = Load inch/s
15-255 = Reserved
The Motion Unit attribute determines the unit of measure used to express the Motion Resolution used by motion planner functions. A Motion Unit is the standard engineering unit of measure for motion displacement. Motion Units may be configured as Revs, Inches, or Millimeters depending on the specific application.
Motion Resolution
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - All
Set/ SSV#
DINT
Default Motion Resolution
1
2
31
-1
Motion Counts / Motion Unit
#
Indicates the attribute cannot be set while the tracking command (Tracking Command bit in CIP Axis Status is true).
The Motion Resolution attribute is an integer value that determines the number of Motion Counts per Motion Unit used by the scaling function to convert between Motion Counts and Feedback Counts. This attribute determines how many Motion Counts there are in a Motion Unit. A Motion Count is the fundamental unit of displacement used by the Motion Planner and a Motion Unit is the standard engineering unit of measure for motion displacement. Motion Units may be configured as Revs, Inches, or Millimeters depending on the specific application.
All command position, velocity, and acceleration data is scaled from the user's preferred Position Units to Motion Units for the Motion Planner based on the Motion Resolution and Conversion Constant. The ratio of the Conversion Constant to Motion Resolution determines the number of Position Units in a Motion Unit as described using the following formula.
  • Conversion Constant / Motion Resolution = Motion Units (revs, inches, or millimeters) / Position Unit
Conversely, all actual position, velocity, and acceleration data from the Motion Planner is scaled from Motion Units to the user's preferred Position Units based on the Motion Resolution and Conversion Constant. The ratio of Motion Resolution and the Conversion Constant determines the number of Position Units in a Motion Unit as described using the following formula:
  • Motion Resolution / Conversion Constant = Position Units / Motion Unit (rev, inch, or millimeter)
In general, the Motion Resolution value may be may be configured in Motion Counts per Motion Unit independent of the resolution of the feedback device(s) used. The drive's scaling function takes care of scaling between Feedback Counts and Motion Counts. Providing a configurable Motion Resolution value is particularly useful for addressing Fractional Unwind applications where it is necessary to have an integer number of Motion Counts per Unwind Cycle.
Valid Motion Unit attribute selections are determined by the Feedback Configuration, Load Type, and Linear Actuator Unit (Lead Unit or Diameter Unit) values according to the following table:
Feedback Configuration
Load Type
Linear Actuator Unit
Motion Unit
No Feedback
Direct Rotary
-
Motor Rev/s
No Feedback
Rotary Transmission
-
Load Rev/s
No Feedback
Linear Actuator
mm/rev | mm
Load m/s
No Feedback
Linear Actuator
inch/rev| inch
Load inch/s
Master Feedback
Direct Rotary
-
Feedback Rev
Master Feedback
Direct Linear
-
Feedback mm
Master Feedback
Rotary Transmission
-
Load Rev
Master Feedback
Linear Actuator
mm/rev | mm
Load mm
Master Feedback
Linear Actuator
inch/rev| inch
Load inch
Motor Feedback
Direct Rotary
-
Motor Rev
Motor Feedback
Direct Linear
-
Motor mm
Motor Feedback
Rotary Transmission
-
Load Rev
Motor Feedback
Linear Actuator
mm/rev |mm
Load mm
Motor Feedback
Linear Actuator
inch/rev | inch
Load inch
Load | Dual Feedback
Direct Rotary
-
Load Rev
Load | Dual Feedback
Direct Linear
-
Load mm
Load | Dual Feedback
Rotary Transmission
-
Load Rev
Load | Dual Feedback
Linear Actuator
mm/rev | mm
Load mm
Load | Dual Feedback
Linear Actuator
inch/rev | inch
Load inch
The Default Motion Resolution value used for scaling factors, Motion Resolution, Conversion Constant, and Position Unwind, depends on the Motion Unit selection according to the following table:
Motion Unit
Default Motion Resolution
Motor|Load|Feedback Rev
1,000,000
Motor|Load|Feedback mm
10,000
Motor|Load|Feedback Inch
200,000
Motor|Load|Feedback Rev/s
1,000,000
Motor|Load|Feedback m/s
10,000,000
Motor|Load|Feedback Inch/s
200,000
Travel Range Limit
Because the position parameters are sometimes internally limited to signed 32-bit representation, the Motion Resolution parameter impacts the travel range. In such a case, the equation for determining the maximum travel range based on Motion Resolution is as follows:
  • Travel Range Limit (in Motion Units) = +/- 2,147,483,647 / Motion Resolution
Based on a default value of 1,000,000 Motion Counts per Motion Unit, the range limit is 2,147 Motion Units. When the axis position exceeds this value, the position accumulators roll-over, essentially flipping the sign of the axis position value. Motion continuous smoothly through the roll-over but the position values are obviously not contiguous. This is nominal operation in Unlimited Travel Mode. While it is relatively rare for this travel range limitation to present a problem, say in point-to-point positioning applications, it is a simple matter to lower the Motion Resolution to increase the travel range. The downside of doing so is that the position data is then passed with lower resolution that could impact the smoothness of motion. Selecting Limit Travel Mode sets the Motion Resolution value close to the maximum value that complies with the specified Travel Range of the application.
Fractional Unwind
In some cases, however, you may also want to specifically configure Motion Resolution value to handle fractional unwind applications or multi-turn absolute applications requiring cyclic compensation. In these cases where the Position Unwind value for a rotary application does not work out to be an integer number of Motion Counts, the Motion Resolution attribute may be modified to a value that is integer divisible by the Position Unwind value. This is done automatically when selecting the Cyclic Travel Mode.
Motion Polarity
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - All
Set/ SSV#
USINT
0
-
-
Enumeration:
0 = Normal
1 = Inverted
2-255 = (Reserved)
#
Indicates the attribute cannot be set while the tracking command (Tracking Command bit in CIP Axis Status is true).
Use Motion Polarity to switch the directional sense of the motion control system. A Normal setting leaves the sign of the motion control command and actual signal values unchanged from their values in the drive control structure. An Inverted setting flips the sign of the command signal values to the drive control structure and flips the sign of the actual signal values coming from the drive control structure. Also use Motion Polarity to adjust the sense of the positive direction of the motion control system to agree with the positive direction on the machine.
Cyclic Unwind Control
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - Scaling
Set
BOOL
-
-
-
0 = Non-Cyclic Operation (R)
1 = Cyclic Operation (E)
When this Boolean attribute is set true (1), it enables the cyclic unwind capability of the scaling function. This feature provides infinite positioning range by “unwinding” the axis position whenever the axis moves through a complete machine cycle. The number of Motion Counts per machine cycle of the axis is specified by the Cyclic Unwind Position attribute. Thus, if the axis is configured for Cyclic Operation, implementation of the Cyclic Unwind Position attribute is required.
If the Cyclic Unwind attribute is false (0), indicating non-cyclic operation, no “unwind” operation is performed, and unidirectional motion continues to accumulate position and can eventually exceed the range of the position representation resulting in a roll-over. For this reason, non-cyclic travel is typically limited for position control applications.
Cyclic Unwind Position
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - Scaling E
Set
DINT
-
-
-
Motion Counts / Unwind Cycle
This integer value is used to “unwind” command and actual position values every machine cycle. Cyclic unwind functionality provides infinite position range for cyclic axes by subtracting the Cyclic Unwind Position value from both the actual and command position whenever the axis reaches or crosses the Cyclic Unwind Position. Similarly when moving in the reverse direction, the Cyclic Unwind Position value is added to both the actual and command position whenever the axis reaches or crosses zero. Thus command and actual position values shall never be outside the range of 0 and the Cyclic Unwind Position. To avoid accumulated error due to round-off with irrational conversion constants, the unwind value is represented as an integer number of Motion Counts per Cycle.
When the Motion Scaling Configuration is set to Drive Scaling, the CIP Motion Connection interface and the drive control structure performs the Motion Polarity. When the Motion Scaling Configuration is set to Controller Scaling, the controller performs the Motion Polarity inversion.
To maintain directional consistency, the signs of all Signal Attribute values read from the drive control structure or being written to the drive control structure are determined by Motion Polarity. A comprehensive list of Signal Attributes and their access rules is defined in the following table:
ID
Access Rule
Signal Attribute Name
1402+o
Get
Position Feedback n
1403+o
Get
Velocity Feedback n
1404+o
Get
Acceleration Feedback n
2380+o
Get
Position Feedback nU
2381+o
Get
Velocity Feedback nU
2382+o
Get
Acceleration Feedback nU
2383+o
Get
Position Feedback nS
2384+o
Get
Velocity Feedback nS
2385+o
Get
Acceleration Feedback nS
62
Get
Registration 1 Positive Edge Position
63
Get
Registration 1 Negative Edge Position
64
Get
Registration 2 Positive Edge Position
65
Get
Registration 2 Negative Edge Position
70
Get
Home Event Position
360
Set*
Controller Position Command - Integer
361
Set*
Controller Position Command - Float
362
Set*
Controller Velocity Command
363
Set*
Controller Acceleration Command
364
Set*
Controller Torque Command
365
Get
Fine Command Position
366
Get
Fine Command Velocity
367
Get
Fine Command Acceleration
370
Set
Skip Speed 1
371
Set
Skip Speed 2
372
Set
Skip Speed 3
430
Get
Position Command
431
Set*
Position Trim
432
Get
Position Reference
433
Get
Velocity Feedforward Command
434
Get
Position Feedback
435
Get
Position Feedback – 64 Bit
780
Get
Position Integral Feedback
436
Get
Position Error
437
Get
Position Integrator Output
438
Get
Position Loop Output
450
Get
Velocity Command
451
Set*
Velocity Trim
452
Get
Acceleration Feedforward Command
453
Get
Velocity Reference
454
Get
Velocity Feedback
455
Get
Velocity Error
456
Get
Velocity Integrator Output
457
Get
Velocity Loop Output
480
Get
Acceleration Command
481
Set*
Acceleration Trim
482
Get
Acceleration Reference
483
Get
Acceleration Feedback
801
Get
Load Observer Acceleration Estimate
802
Get
Load Observer Torque Estimate
490
Get
Torque Command
491
Set*
Torque Trim
492
Get
Torque Reference
493
Get
Torque Reference - Filtered
494
Get
Torque Reference - Limited
495
Get
Torque Estimate
520
Get
Iq Current Command
523
Get
Motor Electrical Angle
524
Get
Id Current Reference
525
Get
Id Current Reference
840
Set
Current Disturbance
527
Get
Iq Current Error
528
Get
Id Current Error
529
Get
Iq Current Feedback
530
Get
Id Current Feedback
531
Get
Vq Decoupling
532
Get
Vd Decoupling
533
Get
Vq Voltage Output
534
Get
Vd Voltage Output
535
Get
U Voltage Output
536
Get
V Voltage Output
537
Get
W Voltage Output
538
Get
U Current Feedback
539
Get
V Current Feedback
540
Get
W Current Feedback
541
Get
U Current Offset
542
Get
V Current Offset
543
Get
W Current Offset
565
Get
Slip Compensation
566
Set
Slip Compensation Enable
600
Get
Output Frequency
601
Get
Output Current
602
Get
Output Voltage
603
Get
Output Power
Motion Polarity also impacts directional position, velocity, acceleration, and torque limit attributes. When the Motion Scaling Configuration is set to Drive Scaling, inverting Motion Polarity requires that positive and negative position, velocity, acceleration*, and torque limit values be both sign inverted and swapped between the CIP Motion Connection interface and the drive's internal control structure.
When the Motion Scaling Configuration is set to Controller Scaling, inverting Motion Polarity requires that positive and negative position, velocity, acceleration, and torque limit attribute values in Motion Control Axis Object be inverted and swapped with the corresponding attributes in the Motion Device Axis Object. For example entering a Velocity Limit – Positive value in the controller of 100 revs/sec would result in a "Velocity Limit – Negative" value of -100 revs/sec in the drive device.
A comprehensive list of these Directional Limit Attributes and their access rules is defined in the following table:
ID
Access Rule
Attribute Name
374
Set
Ramp Velocity - Positive
375
Set
Ramp Velocity - Negative
376
Set
Ramp Acceleration
377
Set
Ramp Deceleration
448
Set
Position Limit - Positive
449
Set
Position Limit - Negative
473
Set
Velocity Limit - Positive
474
Set
Velocity Limit - Negative
485
Set
Acceleration Limit*
486
Set
Deceleration Limit*
504
Set
Torque Limit - Positive
505
Set
Torque Limit - Negative
*
Acceleration and Deceleration Limits are unsigned positive values and, therefore, do not need to be sign inverted.
Position Units
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - All
Set
STRING
"Position Units"
-
-
"Revs"
The Position Units string attribute allows user-defined engineering units rather than "counts" to be used for measuring and programming all motion-related values (position, velocity, acceleration, etc). Position Units can be different for each axis and should be chosen for maximum ease of use in the machine application. For example, linear axes might use Position Units of "Inches", "Meters", or "mm" while rotary axes might use Position Units of "Revs" or "Degrees".
The Position Units attribute can support an ASCII text string of up to 32 characters. This string is used by the Logix Designer application in the axis configuration dialogs to request values for motion-related parameters in the specified Position Units. In this case, the software limits the maximum string length to 15 characters.
Average Velocity Timebase
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - All
Set/ SSV#
REAL
0.25
0.001
(1 coarse update period)
32 (1000 coarse update period)
Sec
#
Indicates the attribute cannot be set while the tracking command (Tracking Command bit in CIP Axis Status is true).
This attribute determines the period of time over which the system computes Average Velocity for this axis instance.
Range limits based on coarse update period and history array size are ultimately enforced for Average Velocity Timebase attribute by clamping to limit rather than generating a value out of range error. Only if the value is outside the fixed Min/Max limits is an out of range error given.
Conversion Constant
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - All
Set/
SSV#
REAL
Default Motion Resolution
10
-12
10
12
Counts/Position Unit
#
Indicates the attribute cannot be set while the tracking command (Tracking Command bit in CIP Axis Status is true).
This attribute is used as a scaling factor allowing axis position, velocity, and acceleration attributes to be displayed or configured in the user's preferred units specified by the Position Unit string attribute. Specifically, the Conversion Constant, is used by the motion system to scale the axis position units into motion planner counts and vice versa. The Conversion Constant represents the number of counts of the motion planner per Position Unit.
Position Unwind
Usage
Access
Data Type
Default
Min
Max
Semantics of Values
Required - E
Set/
SSV#
DINT
Default Motion Resolution
1
10
9
Counts/Cycle
#
Indicates the attribute cannot be set while the tracking command (Tracking Command bit in CIP Axis Status is true).
If the axis is configured for cyclic Travel Mode, a value for the Position Unwind attribute is required. This is the value used to perform electronic unwind of the cyclic axis' position. Electronic unwind operation provides infinite position range for cyclic axes by subtracting the position unwind value from both the actual and command position every time the axis completes a machine cycle. To avoid accumulated error due to round-off with irrational conversion constants, the unwind value is expressed as an integer number of feedback counts per cycle.
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.