Table of Contents
Setting Mode Of Operation
There are a number of modes of operation the motor can be set to.
- CML mode - this is the standard and default mode. If no mode is selected, this is the mode the motor Cool Muscle operates in.
- Profile mode - run position or speed profiles.
- Torque mode - run the motor by adjusting the torque and maximum speed values.
The control registers in the mode selected use either standard CML registers or registers set directly such as through Modbus-TCP. The mode of operation selected indicates where the control registers will be received
The following table lists the mode of operation and the associated registers
Mode of Operation | Value | Description |
---|---|---|
CML Mode | 0 | Standard CML mode. No control registers associated |
Profile Mode | 2 | Profile mode using P1, S1, A1, A2, R1 and N1 |
3 | Profile mode using Modbus control registers (see registers starting 41029). | |
Torque Mode | 10 | Torque mode using N1, S1 and R1 |
11 | Torque mode using Modbus control registers (see registers starting 41029). |
- Bit0 of the mode of operation selects the register source. I.e. P1 to N1 or the Modbus contorl registers.
Set the mode of operation by the following
- Send "_mop=x" on the CML port when x is the value of the mode of operation
- Assign a variable to "mop" and write the variable in a logic bank. E.g. V0="mop".
- Set modbus register 41041 to the value of the required mode of operation.
Registers
The following registers are used in the different modes of operation. They are NOT use on CML mode.
Controlword
The Controlword is used to control the motor. The usage does depend on the mode that is selected. See the mode for bit usage. B4-B7 are common to all modes.
Register Name | CML Register | Modbus Register | Unit | Range |
---|---|---|---|---|
Controlword | R1 | 41039 | N/A | See below |
Bit Descriptions:
BIT | Name | Value | Description |
---|---|---|---|
B0 | Operation mode specific | ||
B1 | Operation mode specific | ||
B2 | Operation mode specific | ||
B3 | Operation mode specific | ||
B4 | Disable | 0 1 1 → 0 | Enable the motor Disable the motor Reset any error |
B5 | Reset Error | 0 → 1 | Reset any error |
B6 | Set to Zero | 0 → 1 | Set the current position to 0 |
B7 | Home | 0 → 1 | Start a home search(1) |
(1) Set the home search parameters with K parameters K42-K48
TargetPosition
The TargetPosition sets a new target position for the motor.
Register Name | CML Register | Modbus Register | Unit | Range |
---|---|---|---|---|
TargetPosition | P1 | 41029 | pulses (counts) | -2^31 to +2^31 |
The motor has a maximum resolution of 50,000 counts per revolution. Regardless of the resolution defined in K37 the motor internally will convert the target position to a position based on 50,000. As such the maximum range depends on the motor resolution. For example if K37=3 and the resolution is 1000 pulses/revolution, the maximum target position is 2^31 ÷ (50,000/1,000) = 2^31 ÷ 50 = 42,949,672.
TargetSpeed
The TargetSpeed sets a new maximum speed.
Register Name | CML Register | Modbus Register | Unit | Range |
---|---|---|---|---|
TargetSpeed | S1 | 41031 | pulses/second 10 pulses/second 100 pulses/second | -2^31 to +2^31 |
The unit depends on the motor resolution (K37) value selected. See K37 for more details.
TargetTorque
The TargetTorque sets the maximum torque used by the motor.
Register Name | CML Register | Modbus Register | Unit | Range |
---|---|---|---|---|
TargetTorque | N1 | 41033 | 0.1% rated torque | 0 - 1100 |
The torque is set in a percentage of rated torque. The Cool Muscle will only use the torque required so typically this value should be set to 1100 unless the application requires that the torque is limited.
TargetAcceleration
The TargetAcceleration sets the acceleration used by the motion profile.
Register Name | CML Register | Modbus Register | Unit | Range |
---|---|---|---|---|
TargetAcceleration | A1 | 41035 | Kpulses/second2 | ± 32767 |
If the TargetAcceleration=0 the profile shall be undefined and may result in an unexpected motion profile.
TargetDeceleration
Register Name | CML Register | Modbus Register | Unit | Range |
---|---|---|---|---|
TargetDeceleration | A2 | 41037 | Kpulses/second2 | ± 32767 |
If the TargetDeceleration=0 the TargetAcceleration shall be used. This allows the user to only change the acceleration if a trapezoid type profile is required.
Modes
CML Mode
CML mode is the standard mode that the Cool Muscle motor typically operates in. There are no specific control registers. See the CM1 documentation for CML mode usage.
Profile Mode
Profile mode would be a typical mode used in point-to-point motion and/or continuous velocity motion. The following registers are used depending on the profile mode selected.
Register Name | Profile Mode = 2 (CML Registers) | Profile Mode = 3 (Modbus Registers) | Description |
---|---|---|---|
TargetPosition | P1 | 41029 | The target position the motor will move to.
(1) See the Controlword for switching to speed or relative control. |
TargetSpeed | S1 | 41031 | The maximum speed of the profile trajectory. |
TargetTorque | N1 | 41033 | The maximum torque the motor will use |
TargetAcceleration | A1 | 41035 | Acceleration is used when the profile is accelerating to the target speed. |
TargetDeceleration | A2 | 41037 | Deceleration is used when the profile is decelerating to the target position. |
Controlword | R1 | 41039 | Bits in the Controlword dictate profile execution. A more detailed description can be found below. |
Controlword Usage
Profile mode uses some specific bits in the Controlword
BIT | Name | Value | Description |
---|---|---|---|
B0 | Start/New Set Point | 0 |
|
0 → 1 |
| ||
1 | Execute any changes in any of the profile registers immediately. | ||
B1 | Halt | 0 | Do nothing |
1 |
| ||
B2 | Relative mode | 0 | TargetPosition is an absolute position |
1 | TargetPosition is a relative incremental position | ||
B3 | Speed control | 0 | Position control mode |
1 | Speed control mode | ||
B4 | See Controlword | ||
B5 | See Controlword | ||
B6 | See Controlword | ||
B7 | See Controlword |
Profile Mode Examples
The following example uses the standard registers to run an absolute move. This could be run from a Control Room CML script.
R1=0 //clear the controlword before setting the mode _mop=2 //set the mode of operation to 2. Profile mode P1=10000 //set target position S1=100 //set target speed A1=10 //set target acceleration A2=10 //set target deceleration N1=1100 //set the target torque to peak R1=1 //start the profile move //While R1=1 any change in the profile registers would execute an immediate change
The following example uses the standard registers to run a speed move. This could be run from a Control Room CML script.
R1=0 //clear the controlword before setting the mode _mop=2 //set the mode of operation to 2. Profile mode S1=100 //set target speed A1=10 //set target acceleration A2=10 //set target deceleration N1=1100 //set the target torque to peak R1=9 //start the profile move with the speed mode bit set.