Mode: RFC‑A
System components
The diagram below shows the format and interface for the Advance Motion Controller.
The Advanced Motion Controller includes its own profile generator and combines the speed feed-forwards from the profile with the output of its position control loop to give a single speed reference in 0.1rpm or 0.1mm/s units. The conversion to the output speed is based on the set-up parameters of the position feedback selected to control the motor.
The Advanced Motion Controller is made up from the components shown in the diagram below. Individual menus are provided for each of the components as indicated in the diagram.
Function | Description |
Master Position |
The master position can be used as the input to the Cam or electronic gearbox functions and can be derived as follows: From a position feedback interface in the drive or a position feedback interface in an option module. |
Slave Position |
The slave position is used as the feedback for the position control loop and can be derived as follows: From a position feedback interface in the drive or a position feedback interface in an option module. |
Reference selector | The reference selector is used to select the input to the profile generator. In addition to the output from the Cam or electronic gearbox functions, a position or speed reference can be selected. The stop reference is a position that is constantly updated to provide a target when the system is to stop under the constraints of the profile generator. The homing system can provide a reference at the input to the profile generator during a homing routine. |
Cam | The Cam function uses a table to define the movement of the slave with respect to the master. The Cam table consists of a number of segments. Interpolation functions are provided to define the type of movement required by the slave within each segment. |
Cam Table | The Cam table is used by the Cam to define the required movement of the slave in response to the movement of the master. |
Electronic gearbox | The electronic gearbox allows the slave to be locked to the master including a gearbox ratio. The profile generator is used during the transition between the unlocked and locked states to control the acceleration of the slave. |
Profile generator | The input to the profile generator is a target that it attempts to attain within the required constraints. These constraints can be maximum linear acceleration/deceleration, maximum jerk and maximum speed. The profile generator target can be a position, a speed, or a position and a speed. One output of the profile generator is a speed that is used directly as a speed feed-forward term. The other profile generator output is a position that is used as the input to a position control loop to correct the slave position and compensate for deviations from the required profile due to control system and load effects. |
Position control loop | The position control loop modifies the motion controller output speed to correct the slave position. |
Homing system | The homing system can move the slave under the constraints of the profile generator to find the home position. Once the home position is detected the system can be offset so that the required position is seen at the homing point. |
Control and status | The control and status system provides overall control for the motion controller and gives status information with a number of flags. |
Position units
Position feedback from a drive or option module position feedback interface is given as a 32 bit signed value including the effect of the marker input for the interface (if relevant). The number of bits that represent turns (for a rotary position feedback device) or motor poles (for a linear position feedback device) can be selected for each position feedback device with a parameter in the set-up menu for that interface. Position is represented in the Advanced Motion Controller as a 32 bit signed value. Conversion ratios can be applied to the master position (AMC Master User Units Ratio Numerator (31.004) / AMC Master User Units Ratio Denominator (31.005)), the slave position (AMC Slave User Units Ratio Numerator (31.006) / AMC Slave User Units Ratio Denominator (31.007)) and the motion controller output (AMC Output User Units Ratio Numerator (31.008) / AMC Output User Units Ratio Denominator (31.009)). The input ratios should be used to convert from the normalised master and slave positions to the required user units used for position within the motion controller. The output ratio should be setup to convert from user units to the normalised position units for the feedback device used to control the motor. If the slave feedback is derived from the position feedback used to control the motor the output ratio will be the inverse of the slave ratio. Otherwise, the output ratio must be setup to correct for any differences between the normalised units and the speed of the slave and motor feedback.
The conversion from position units to user units (input ratio) and from user units back into position units (output ratio) is demonstrated in the following examples. In each example the parameter references for the position feedback refer to a feedback device connected to the drives P1 feedback interface.
Example 1 - Rotary encoder
Position feedback configuration and user units requirements:
The slave user units ratio can be setup to convert the 32 bit normalised position into 35.7mm units as follows:
AMC Slave User Units Ratio Numerator (31.006) = 107
AMC Slave User Units Ratio Denominator (31.007) = 216 x 357 = 23396352
The output ratio is the inverse of the input ratio:
AMC Output User Units Ratio Numerator (31.008) = 216 x 357 = 23396352
AMC Output User Units Ratio Denominator (31.009) = 107
Example 2: Linear Encoder
Position feedback configuration and user units requirements:
The slave user units ratio can be setup to convert the 32 bit normalised position into 0.001mm units as follows:
AMC Slave User Units Ratio Numerator (31.006) = 107
AMC Slave User Units Ratio Denominator (31.007) = 230
The output ratio is the inverse of the input ratio:
AMC Output User Units Ratio Numerator (31.008) = 230
AMC Output User Units Ratio Denominator (31.009) = 107
Example 3 - Rotary encoders with different motor and slave feedback (Dual loop)
Position feedback configuration and user units requirements:
The slave user units ratio can be setup to convert the 32 bit normalised position into 0.001 degree units as follows:
AMC Slave User Units Ratio Numerator (31.006) = 360000
AMC Slave User Units Ratio Denominator (31.007) = 220
In this example the output ratio is setup to convert from user units to the normalised position units for the motor feedback and must include the inverse of the gear ratio to ensure that the required output speed is seen at the slave feedback.
AMC Output User Units Ratio Numerator (31.008) = 216 x 16
AMC Output User Units Ratio Denominator (31.009) = 360000
Speed units
Speed parameters are 32 bit values specified in User units/ms with a range from -231 to 231-1. The speed parameters have two decimal places. If PosBits are the number of bits representing the number of counts per revolution for a rotary position feedback device then the speed resolution is calculated as follows:
Speed resolution
= 0.01 user units/ms
= (0.01 / User units ratio) PosBits/ms
= (0.01 / 2PosBits / User units ratio) revs/ms
= (10 / 2PosBits / User units ratio) revs/s
= (600 / 2PosBits / User units ratio) rpm
If PosBits are the number of bits representing the number of counts per pole pitch of PolePitch mm for a linear feedback device then the speed resolution is calculated as follows:
Speed resolution
= 0.01 user units/ms
= (0.01 / User units ratio) PosBits/ms
= (0.01 / 2PosBits / User units ratio) poles/ms
= (0.01 x PolePitch / 2PosBits / User units ratio) mm/ms
= (10 x PolePitch / 2PosBits / User units ratio) mm/s
The table below gives the equations for the speed resolution and the maximum speed equivalent to the maximum of the speed parameters.
Speed | Calculation | Units |
Resolution with rotary position feedback device | (600 / 2PosBits) / User units ratio | rpm |
Maximum speed with rotary position feedback device | Resolution x 231-1 | rpm |
Resolution with linear position feedback device | (10 x PolePitch / 2PosBits) / User units ratio | mm/s |
Maximum speed with linear position feedback device | Resolution x 231-1 | mm/s |
The resolution can be used to relate the parameter value to the speed of the position feedback device as follows.
Speed parameter value = Speed of position feedback device / Resolution
The table below shows the speed resolution and the maximum possible speed for a rotary application in rpm and for a linear application with a pole pitch of 50mm in mm/s with a user units ratio of unity. A user units ratio of more than unity will not change the resolution, but a user units ratio of less than unity will make the resolution coarser.
Turns bits | Position bits | Resolution (rpm) | Maximum speed (rpm) | Resolution (mm/s) | Maximum speed (mm/s) |
8 | 24 | 3.58x10-5 | 7.68x104 | 2.98x10-5 | 6.40x104 |
12 | 20 | 5.72x10-4 | 1.23x106 | 4.77x10-4 | 1.02x106 |
16 | 16 | 9.16x10-3 | 1.97x107 | 7.63x10-3 | 1.64x107 |
20 | 12 | 1.46x10-1 | 3.15x108 | 1.22x10-1 | 2.62x108 |
24 | 8 | 2.34 | 5.03x109 | 1.95 | 4.19x109 |
To allow the profile generator to work at the minimum acceleration (0.001 user units/ms/ms) the internal speed resolution used by the profile generator is defined by the minimum acceleration unit. When the profile generator is enabled (AMC Profile Disable (38.005) = 0) the maximum speed can be limited by the output of the profile generator. As above, the maximum profile speed is calculated from the speed resolution and the internal speed resolution of the profile generator is calculated as follows:
Profile speed resolution = Speed resolution / 10.24 x (1ms / AMC Rate Selected (31.013))
The table below shows the profile speed resolution and maximum speed when AMC Rate Selected (31.013) = 250μs.
Turns bits | Position bits | Profile Internal Resolution (rpm) | Profile Maximum Speed (rpm) | Profile Internal Resolution (mm/s) | Profile Maximum Speed (mm/s) |
8 | 24 | 8.73x10-7 | 1.87x103 | 7.28x10-7 | 1.56x103 |
12 | 20 | 1.40x10-5 | 3.00x104 | 1.16x10-5 | 2.50x104 |
16 | 16 | 2.24x10-4 | 4.80x105 | 1.86x10-4 | 4.00x105 |
20 | 12 | 3.58x10-3 | 7.68x106 | 2.98x10-3 | 6.40x106 |
24 | 8 | 5.72x10-2 | 1.23x108 | 4.77x10-2 | 1.02x108 |
If a higher maximum profile speed is required the resolution can be decreased by using a user unit ratio less than unity or AMC Rate Selected (31.013) can be increased.
Acceleration units
Acceleration parameters are 32 bit values specified in User units/ms/ms with a range from 0 to 232 - 1. The acceleration parameters have 4 decimal places. If PosBits are the number of counts per revolution for a rotary position feedback device then the acceleration resolution is calculated as follows:
Acceleration resolution
= 0.001 user units/ms/ms
= (0.001 / User units ratio) PosBits/ms/ms
= (0.001 / 2PosBits / User units ratio) revs/ms/ms
= (1000 / 2PosBits / User units ratio) revs/s/s
= (60000 / 2PosBits / User units ratio) rpm/s
If PosBits are the number of counts per pole pitch of PolePitch mm for a linear feedback device then the acceleration resolution is calculated as follows:
Acceleration resolution
= 0.001 user units/ms/ms
= (0.001 / User units ratio) PosBits/ms/ms
= (0.001 / 2PosBits / User units ratio) poles/ms/ms
= (0.001 x PolePitch / 2PosBits / User units ratio) mm/ms/ms
= (1000 x PolerPitch / 2PosBits / User units ratio) mm/s2
The table below gives the equations for the acceleration resolution and the maximum acceleration equivalent to the maximum of the acceleration parameters.
Acceleration | Calculation | Units |
Resolution with rotary position feedback device | (60000 / 2PosBits) / User units ratio | rpm/s |
Maximum acceleration with rotary position feedback device | Resolution x 230-1 | rpm/s |
Resolution withe linear position feedback device | (1000 x PolePitch / 2PosBits) / User units ratio | mm/s2 |
Maximum acceleration with linear position feedback device | Resolution x 230-1 | mm/s2 |
The resolution can be used to relate the parameter value to the acceleration of the position feedback device as follows:
Acceleration parameter value = Acceleration of position feedback device / Resolution
The table below shows the minimum and maximum time that can be set up for acceleration to 3000rpm for a rotary application and 1m/s for a linear application with a user units ratio of unity. A user units ratio of more than unity will not change the resolution, but a user units ratio of less than unity will make the resolution coarser.
Turns bits | Position bits | Maximum acceleration time to 3000rpm (s) | Minimum acceleration time to 3000rpm (s) | Maximum acceleration time to 1ms-1 (s) | Minimum acceleration time to 1ms-1 (s) |
8 | 24 | 8.39x105 | 7.81x10-4 | 3.36x105 | 3.13x10-4 |
12 | 20 | 5.24x104 | 4.88x10-5 | 2.10x104 |
1.95x10-5 |
16 | 16 | 3.28x103 | 3.05x10-6 | 1.31x103 | 1.22x10-6 |
20 | 12 | 2.05x105 | 1.91x10-7 | 8.19x101 | 7.63x10-8 |
24 | 8 | 1.28x101 | 1.19x10-8 |
5.12 |
4.77x10-9 |
Parameter | 31.001 AMC Select | ||
---|---|---|---|
Short description | Set to 1 to write the output of the motion controller to the Hard Speed Reference | ||
Mode | RFC‑A | ||
Minimum | 0 | Maximum | 1 |
Default | 0 | Units | |
Type | 1 Bit User Save | Update Rate | Background read |
Display Format | None | Decimal Places | 0 |
Coding | RW |
When the Advanced Motion Controller is selected (i.e. AMC Select (31.001) = 1) the output of the motion controller is written to the Hard Speed Reference (03.022). It should be noted that AMC Select (31.001) has no effect and the Advanced Motion Controller remains disabled if Standard Motion Controller Mode (13.010) is set to a non-zero value. Also note that the Advanced Motion Controller cannot be enabled unless the ramp system is disabled with Timing Options Select (02.050). The table below shows the effect of changing the value of AMC Select (31.001).
AMC Select (31.001) | Action |
0 |
On changing from 1 to 0: |
1 |
Hard Speed Reference (03.022) = motion controller output |
Parameter | 31.002 AMC Absolute Mode Enable | ||
---|---|---|---|
Short description | Set to 1 to enable the absolute mode of the advance motion controller | ||
Mode | RFC‑A | ||
Minimum | 0 | Maximum | 1 |
Default | 0 | Units | |
Type | 1 Bit User Save | Update Rate | Background read |
Display Format | None | Decimal Places | 0 |
Coding | RW |
AMC Absolute Mode Enable (31.002) defines how the position feedback information is transferred to the integrators shown for the master and slave source positions.
If AMC Absolute Mode Enable (31.002) = 0 then the integrators are either held at zero (AMC Incremental Position Reset Mode (31.003) = 0), or continue to operate normally (AMC Incremental Position Reset Mode (31.003) = 1), when the motion controller is disabled. (See AMC Enable (41.001) for details on how to enable or disable the motion controller.) Therefore both the master and slave positions are incremental relative to zero when the motion controller is enabled or when the drive was powered up respectively. When the motion controller is enabled the change of position from the position feedback device is modified by the user units ratio, and inverted if required, before being accumulated in the integrator.
If AMC Absolute Mode Enable (31.002) = 1 then the position is taken from the position feedback device, modified by the user units ratio, inverted if required and then written to the integrator, whether the motion controller is enabled or not. Therefore the integrator always represents the position from the position feedback device modified by the user units ratio and the inversion if required.
AMC Absolute Mode Enable (31.002) has no effect when the AMC Master Speed Reference (32.008) is selected.
Parameter | 31.003 AMC Incremental Position Reset Mode | ||
---|---|---|---|
Short description | If set to 0 the integrators are held at zero when the AMC is disabled, and if set to 1 the integrators continue to operate normally when the AMC is disabled | ||
Mode | RFC‑A | ||
Minimum | 0 | Maximum | 1 |
Default | 0 | Units | |
Type | 1 Bit User Save | Update Rate | Background read |
Display Format | None | Decimal Places | 0 |
Coding | RW |
See AMC Absolute Mode Enable (31.002).
Parameter | 31.004 AMC Master User Units Ratio Numerator | ||
---|---|---|---|
Short description | Defines the numerator of the AMC Master User Units Ratio | ||
Mode | RFC‑A | ||
Minimum | 1 | Maximum | 2147483647 |
Default | 1000 | Units | |
Type | 32 Bit User Save | Update Rate | Background read |
Display Format | None | Decimal Places | 0 |
Coding | RW |
The master user units ratio ( AMC Master User Units Ratio Numerator (31.004) / AMC Master User Units Ratio Denominator (31.005)) is applied to the master position to convert from the position feedback to user units.
Similar ratios are provided for the slave position and at the output of the motion controller. The inverse of the output user units ratio is applied at the output of the motion controller to convert from user units to the units of the position device used to control the motor. In many applications the slave position is provided by the position feedback device that is used to control the motor, and so in these cases the slave user units ratio and the output user units ratio should be the same.
If the denominator parameter for any of the user units ratios is set to zero the user units ratio will be limited to 232-1.
Parameter | 31.005 AMC Master User Units Ratio Denominator | ||
---|---|---|---|
Short description | Defines the denominator of the AMC Master User Units Ratio | ||
Mode | RFC‑A | ||
Minimum | 1 | Maximum | 2147483647 |
Default | 1000 | Units | |
Type | 32 Bit User Save | Update Rate | Background read |
Display Format | None | Decimal Places | 0 |
Coding | RW |
See AMC Master User Units Ratio Numerator (31.004).
Parameter | 31.006 AMC Slave User Units Ratio Numerator | ||
---|---|---|---|
Short description | Defines the numerator of the AMC Slave User Units Ratio | ||
Mode | RFC‑A | ||
Minimum | 1 | Maximum | 2147483647 |
Default | 1000 | Units | |
Type | 32 Bit User Save | Update Rate | Background read |
Display Format | None | Decimal Places | 0 |
Coding | RW |
See AMC Master User Units Ratio Numerator (31.004).
Parameter | 31.007 AMC Slave User Units Ratio Denominator | ||
---|---|---|---|
Short description | Defines the denominator of the AMC Slave User Units Ratio | ||
Mode | RFC‑A | ||
Minimum | 1 | Maximum | 2147483647 |
Default | 1000 | Units | |
Type | 32 Bit User Save | Update Rate | Background read |
Display Format | None | Decimal Places | 0 |
Coding | RW |
See AMC Master User Units Ratio Numerator (31.004).
Parameter | 31.008 AMC Output User Units Ratio Numerator | ||
---|---|---|---|
Short description | Defines the numerator of the AMC Output User Units Ratio | ||
Mode | RFC‑A | ||
Minimum | 1 | Maximum | 2147483647 |
Default | 1000 | Units | |
Type | 32 Bit User Save | Update Rate | Background read |
Display Format | None | Decimal Places | 0 |
Coding | RW |
See AMC Master User Units Ratio Numerator (31.004).
Parameter | 31.009 AMC Output User Units Ratio Denominator | ||
---|---|---|---|
Short description | Defines the denominator of the AMC Output User Units Ratio | ||
Mode | RFC‑A | ||
Minimum | 1 | Maximum | 2147483647 |
Default | 1000 | Units | |
Type | 32 Bit User Save | Update Rate | Background read |
Display Format | None | Decimal Places | 0 |
Coding | RW |
See AMC Master User Units Ratio Numerator (31.004).
Parameter | 31.011 AMC Synchronise To Timed Tasks | ||
---|---|---|---|
Short description | Set to 1 to allow the AMC to be controlled synchronously by an onboard user program clock task | ||
Mode | RFC‑A | ||
Minimum | 0 | Maximum | 1 |
Default | 0 | Units | |
Type | 1 Bit User Save | Update Rate | Background read |
Display Format | None | Decimal Places | 0 |
Coding | RW |
Most time critical parts of the Advanced Motion Controller operate at a fixed sample rate of 250μs. The homing function and most parameter access operate at a 4ms rate. The timing of the controller and parameter reading and writing is shown below with respect to other tasks in the drive.
The following examples show how the Advanced Motion Controller can be used in different configurations that are not related to the on-board user program. AMC Synchronise To Timed Tasks (31.011) should be set to zero.
Stand-alone motion controller
Most parameters are set up during commissioning and are not time critical. AMC Action On Event (34.008) can be used to set up triggered time critical events, or the position and speed references can be controlled via communications.
Simple position control loop with option module providing the rest of the motion controller
The AMC External Position Reference (39.002) and the AMC External Speed Reference (39.004) can be used by an option module as the references for a simple position control loop. These values should be set up outside the AMC active period.
Motion controller controlled by an option module
AMC Master User Position Reference (32.009), AMC Slave User Position Reference (33.009), AMC Position Reference (34.003), AMC Speed Reference (34.006) and AMC Reference Select (34.007) can be modified every 250μs as references for the controller and should be set up outside the AMC active period. AMC Action On Event (34.008) can be used to set up triggered time critical events.
The following example shows how the Advanced Motion Controller can be used with the on-board user program. AMC Synchronise To Timed Tasks (31.011) should be set to one.
Motion controller controlled by an on-board user program
All 250μs read parameters are cached for use by the Advanced Motion Controller only at the start of the thread where the user program timed task will be started and not at the start of every thread in which the Advanced Motion Controller runs. This means that the values that were set up during the previous timed task are read together.
Parameter | 31.012 AMC Rate Select | ||
---|---|---|---|
Short description | Defines the sample rate of the AMC | ||
Mode | RFC‑A | ||
Minimum | 1 | Maximum | 5 |
Default | 5 | Units | |
Type | 8 Bit User Save | Update Rate | Background Read |
Display Format | None | Decimal Places | 0 |
Coding | RW, TE |
Value | Text |
1 | 4ms |
2 | 2ms |
3 | 1ms |
4 | 500us |
5 | 250us |
AMC Rate Selected (31.013) indicates whether the Advanced Motion Controller is active or not, and the sample rate being used. The sample rate for the Advanced Motion Controller is selected with AMC Rate Select (31.012). It should be noted that both the Advanced and Standard motion controllers cannot be active at the same time. If both are selected at power-up then only the Standard Motion Controller becomes active. If one controller is active and the other is subsequently enabled without disabling the active controller then the active controller remains active until the drive is powered down and back up again.
The sample rate of the Advanced Motion Controller is limited in the following conditions:
Mode | Maximum sample rate | Description |
AMC Master Source Select (32.001) ≥ 4 or AMC Slave Source Select (33.001) ≥ 4 |
500μs | When an option module feedback source is selected the sample rate is limited by the access time to the option module position parameters |
Sensorless Mode Active (03.078) = On (1) | 4ms | The sample rate is limited by the available processor resources |
Parameter | 31.013 AMC Rate Selected | ||
---|---|---|---|
Short description | Shows the actual sample rate of the AMC | ||
Mode | RFC‑A | ||
Minimum | 0 | Maximum | 5 |
Default | Units | ||
Type | 8 Bit Volatile | Update Rate | Background Write |
Display Format | None | Decimal Places | 0 |
Coding | RO, TE, ND, NC, PT |
Value | Text |
0 | Not Active |
1 | 4ms |
2 | 2ms |
3 | 1ms |
4 | 500us |
5 | 250us |