Behavior models used in CIP Motion
32 Rockwell Automation Publication MOTION-RM003I-EN-P - February 2018
Alternatively, the values for t, t
0
, and t
1
can be based on local time rather than
system time by using the current System Time Offset to convert between System
Time to local time. This may be more convenient for the interpolator
implementation and is left to the device vendor's discretion.
The polynomial coefficients are computed based on standard formulas that are a
function of the history of command values over the last few updates. The number
of historical command values used in the formula depends on the order of the
polynomial. For example, the 3
rd
order command position polynomial uses the
three previous command position values. For convenience, the interpolator
polynomial coefficient formulas are provided in the following table:
Coefficient name Equations
Position Fine Interpolation Polynomial
Coefficients
a
0
= P
-1
a
1
= 1/T * (∆P
0
- 1/2*∆V
0
- 1/6*∆A
0
)
a
2
= 1/T
2
* (1/2*∆V
0
)
a
3
= 1/T
3
* (1/6*∆A
0
)
Velocity Fine Interpolation Polynomial
Coefficients
b
0
= V
-1
b
1
= 1/T * (V- 1/2*∆A
0
)
b
2
= 1/T
2
* (1/2*∆A
0
)
Acceleration Fine Interpolation Polynomial
Coefficients (Torque is same form as Accel)
c
0
= A
-1

c
1
= 1/T * ∆A
0
These equations are based on the following nomenclature:
T = Controller Update Period
∆P
0
= (P
0
- P
-1
)
∆V
0
= (V
0
- V
-1
) = (P
0
- 2P
-1
+ P
-2
)
∆A
0
= (A
0
- A
-1
) = (V
0
- 2V
-1
+ V
-2
) = (P
0
- 3P
-1
+ 3P
-2
- P
-3
)
The preceding polynomial coefficients should be applied to the fine interpolator as
soon possible after t is equal to or greater than t
0
. Applying the new coefficients
too early, for example, with significantly less than t
0
, can create unnecessary error
in the command trajectory when connecting the last fine interpolator segment to
the new fine interpolator segment at t
0
.
When t > t
1
, the fine interpolation polynomial becomes an extrapolation
polynomial. In the absence of a fresh update from the Motion Planner, the
extrapolation polynomial can be used to provide estimated command data to the
device control structure until fresh Motion Planner command data is available.
Once fresh command data is made available, new polynomial coefficients are
computed and applied without delay. In this way, the motion control can
'ride-through' occasionally late or with lost connection data packets resulting in a
robust distributed motion control network solution. To be clear, late connection
data is always applied and never thrown away; late data still represents the freshest
data available from the controller and the extrapolation polynomial ensures that
the command data is applied in such a way as to maintain a smooth motion
trajectory despite variations in command data delivery.