Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

As can be seen  above, if EtherNet/IP is used it will overwrite any of the other protocols in a write operation. The other protocols can still be used for read operations and diagnostics.

Read Registers

RegisterDescription
CPUTimeCPU clock time in 50us counts
ActualPositionThe actual position of the motor in encoder counts
ActualTargetPositionThe actual instantaneous position the motor is currently moving to.
MotorStatusThe motors status (error, homing, in position, etc)
ActualRatedCurrentPercentage (0.1%) of rated current. 1000 = rated, 1100 = peak.
ActualOverloadTorquePercentage (0.1%) of overload torque.
AnalogIN10 bit analog input value (0-1023)
DigitalIN
DigitalIO

Digital

IN

IO status.

  • B3-B0
-B3 = IN1-IN4
  • = IN4-IN1
  • B5-B4 = OUT2 - OUT1
TemperatureDrive temperature in ºC
DCVoltage24V DC bus voltage in 0.1V
DigitalOUTDigital OUT status. B0-B1 = OUT1-OUT2
ModeOfOperationDisplayIndicates the mode of operation currently set
ActualSpeedActual speed of the motor in encoder counts/s

Write Registers

RegisterDescription
TargetPositionFinal target position
TargetSpeedMaximum speed
TargetTorqueMaximum torque
TargetAccelerationAcceleration (used when accelerating to target speed)
TargetDecelerationDeceleration  (used when stopping)
ControlwordControl the motor operation
ModeOfOperationSet the required mode of operation
DigitalOUTSet the 2 digital outputs. Requires K34=44.

Setting Mode Of Operation 
Anchor
Setting Mode of Operation
Setting Mode of Operation

...

Mode of OperationValueDescription
CML Mode0Standard CML mode. No control registers associated
Profile Mode2Profile mode using P1, S1, A1, A2, R1 and N1
3

Profile mode using

  • Modbus control registers (see registers starting 41029).
  • EtherNet/IP IO messaging
  • TCP/UDP port 10002
Dynamic Position Mode4Dynamic position mode using P1, A1, R1 and N1
5

Dynamic position mode using

  • Modbus control registers (see registers starting 41029).
  • EtherNet/IP IO messaging
  • TCP/UDP port 10002
Torque Mode10Torque mode using N1, S1 and R1
11

Torque mode using

  • Modbus control registers (see registers starting 41029).
  • EtherNet/IP IO messaging
  • TCP/UDP port 10002

...

  1. CML
    1. Send "_mop=x" on the CML port when x is the value of the mode of operation
    2. Assign a variable to "mop" and write the variable in a logic bank. E.g. V0="mop".
  2. Direct
    1. Set modbus register 41041 to the value of the required mode of operation.
    2. Set Byte[16] in EtherNet/IP
    3. Set Byte[2016] in TCP/UDP Port 10002

Registers

...

Register NameProfile Mode = 2Profile Mode = 3UnitDescription
CML RegistersModbus RegistersTCP/UPD BytesEthernet/IP O2T Bytes
ControlwordR1410391814-191514-15N/ASee below


Bit Descriptions:

...

(1) Set the home search parameters with K parameters K42-K48

TargetPosition

Statusword
Anchor
statusword
statusword

The Statusword returns information on the status of The TargetPosition sets a new target position for the motor. 

Scroll Table Layout
orientationdefault
sortDirectionASC
repeatTableHeadersdefault
style
widths16%,14%,13%,13%,16%,12%,14%
sortByColumn1
tableStylingconfluence
sortEnabledfalse
cellHighlightingtrue

Register NameProfile Mode = 2Profile Mode = 3UnitRangeDescription
CML RegistersModbus RegistersTCP/UPD BytesEthernet/IP O2T Bytes
TargetPositionStatuswordP1Query ?994102940009416-717016-3pulses (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.

...

Profile Mode = 2

...

Profile Mode = 3

...

17N/ASee below


Bit Descriptions:

BITName
B0Position overflow alarm
B1Overspeed alarm
B2Overload alarm
B3Inposition
B4Disable
B5Pushmode limit
B6Communication error alarm
B7Over temperature alarm
B8Pushmode Timeout warning
B9E-Stop active
B10N/A
B11N/A
B12N/A
B13N/A
B14New start required
B15Home achieved

TargetPosition

The TargetPosition sets a new target position for the motor.

Scroll Table Layout
orientationdefault
sortDirectionASC
repeatTableHeadersdefault
style
widths16%,14%,13%,13%,16%,12%,14%
sortByColumn1
tableStylingconfluence
sortEnabledfalse
cellHighlightingtrue

Register Name

Profile Mode = 2

Profile Mode = 3

UnitRange
CML RegistersModbus RegistersTCP/UPD BytesEthernet/IP O2T Bytes
TargetPositionP1410290-30-3pulses (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.

Scroll Table Layout
orientationdefault
sortDirectionASC
repeatTableHeadersdefault
style
widths16%,14%,13%,13%,16%,12%,14%
sortByColumn1
tableStylingconfluence
sortEnabledfalse
cellHighlightingtrue

Register Name

Profile Mode = 2

Profile Mode = 3

UnitRange
CML RegistersModbus RegistersTCP/UPD BytesEthernet/IP O2T Bytes
TargetSpeedS1410314-74-7pulses/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.

Scroll Table Layout
orientationdefault
sortDirectionASC
repeatTableHeadersdefault
style
widths16%,14%,13%,13%,16%,12%,14%
sortByColumn1
tableStylingconfluence
sortEnabledfalse
cellHighlightingtrue

Register Name

Profile Mode = 2

Profile Mode = 3

UnitRange
CML RegistersModbus RegistersTCP/UPD BytesEthernet/IP O2T Bytes
TargetTorqueN1410338-98-90.1% rated torque

0-1100
(±1100 in Torque mode)

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.

Scroll Table Layout
orientationdefault
sortDirectionASC
repeatTableHeadersdefault
style
widths16%,14%,13%,13%,16%,12%,14%
sortByColumn1
tableStylingconfluence
sortEnabledfalse
cellHighlightingtrue

Register Name

Profile Mode = 2

Profile Mode = 3

UnitRange
CML RegistersModbus RegistersTCP/UPD BytesEthernet/IP IO Bytes
TargetAccelerationA14103510-1110-11Kpulses/second2± 32767

If the TargetAcceleration=0 the profile shall be undefined and may result in an unexpected motion profile.

TargetDeceleration

Scroll Table Layout
orientationdefault
sortDirectionASC
repeatTableHeadersdefault
style
widths16%,14%,13%,13%,16%,12%,14%
sortByColumn1
tableStylingconfluence
sortEnabledfalse
cellHighlightingtrue

Register Name

Profile Mode = 2

Profile Mode = 3

UnitRange
CML RegistersModbus RegistersTCP/UPD BytesEthernet/IP O2T Bytes
TargetDecelerationA24103712-1312-13Kpulses/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 of Operation

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 (Position and Speed)

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.

Scroll Table Layout
orientationdefault
sortDirectionASC
repeatTableHeadersdefault
style
widths16%,14%,13%,13%,16%,26%
sortByColumn1
tableStylingconfluence
sortEnabledfalse
cellHighlightingtrue

Register Name

Profile Mode = 2

Profile Mode = 3

Description
CML RegistersModbus Registers(1)TCP/UPD Bytes(2)Ethernet/IP O2T Bytes(3)
TargetPositionP1410290-30-3

The target position the motor will move to.

  • Used as an absolute position
  • Used as an incremental position in a relative control(1) move
  • Not used in speed control(1)

(1) See the Controlword for switching to speed or relative control.

TargetSpeedS1410314-74-7

The maximum speed of the profile trajectory.

  • the sign of S1 is ignored in a position control move.
  • +ve S1 in speed control will run the motor in a +ve direction (typically CW)
  • -ve S1 in speed control will run the motor in a -ve direction (typically CCW)
TargetTorqueN1410338-98-9The maximum torque the motor will use.
TargetAccelerationA14103510-1110-11

Acceleration is used when the profile is accelerating to the target speed.
This is regardless of whether the target speed will be reached or not

TargetDecelerationA24103712-1312-13Deceleration is used when the profile is decelerating to the target position.
ControlwordR14103914-1514-15Bits in the Controlword dictate profile execution. A more detailed description can be found below.
ModeOfOperationSet with "_mop"410411616Sets the mode of operation see Setting Mode of Operation
DigitalOUTN/A410431717Binary value to set the digital output (Register K34=44 to enable this function)

(1) See Modbus-TCP for additional details
(2) See TCP/UDP Port 10002 for additional details
(3) See EtherNet/IP for additional details. EtherNet/IP includes AOIs that setup all required mappings.

Controlword Usage

Profile mode uses some specific bits in the Controlword

BITNameValueDescription
B0Start/New Set Point

0

  • Do not execute any changes in profile registers
  • Do not start a new profile
  • Any profile currently in motion will be completed
0 → 1
  • Start a profile move defined by the profile registers
  • 0 → 1 transition is required to start a profile after
    • an error has been cleared
    • a home has been completed
    • a stop command has been given from CML or an input.
  • In relative mode transition is required to start the next incremental move.
    • The move is incremented from the current target position not the actual position.
1Execute any changes in any of the profile registers immediately.
B1Halt

0

Do nothing
1
  • Halt the current profile being executed
  • Prohibit execution of a profile if no profile is being run
B2Relative mode0TargetPosition is an absolute position
1TargetPosition is a relative incremental position
B3Speed control0Position control mode
1Speed control mode
B7-B4See 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.

Code Block
languagecpp
titleAbsolute Move Example
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 will 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.

Code Block
languagecpp
titleSpeed Move Example
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.

//While R1=9 any change in the profile registers will execute an immediate change

Dynamic Position Mode

This mode can be used to dynamically stream a target position only and have the motor track it. There is a filter that filters the responsiveness of the position change as no speed or acceleration is defined. For best performance try used a fixed time interval on the position update. 

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.

...

Profile Mode = 2

...

Profile Mode = 3

...

0-1100
(±1100 in Torque mode)

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.

...

Profile Mode = 2

...

Profile Mode = 3

...

If the TargetAcceleration=0 the profile shall be undefined and may result in an unexpected motion profile.

TargetDeceleration

...

Profile Mode = 2

...

Profile Mode = 3

...

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 of Operation

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 (Position and Speed)

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.

Scroll Table Layout
orientationdefault
sortDirectionASC
repeatTableHeadersdefault
style
widths16%,14%,13%,13%,16%,26%
sortByColumn1
tableStylingconfluence
sortEnabledfalse
cellHighlightingtrue

Register Name

Profile Mode = 24

Profile Mode = 35

Description
CML RegistersModbus Registers(1)TCP/UPD Bytes(2)Ethernet/IP O2T Bytes(3)
TargetPositionP1410294-70-3

The target position the motor will move to.

  • Used as an absolute position
  • Used as an incremental position in a relative control(1) move
  • Not used in speed control(1)

(1) See the Controlword for switching to speed or relative control.

0-30-3

The target position the motor will move to.

  • Used as an absolute position
TargetSpeedS1410318-114-7

The maximum speed of the profile trajectory.

  • the sign of S1 is ignored in a position control move.
  • +ve S1 in speed control will run the motor in a +ve direction (typically CW)
  • -ve S1 in speed control will run the motor in a -ve direction (typically CCW)
TargetTorqueN141033128-1398-9The maximum torque the motor will use.
TargetAccelerationFilter GainA1410351410-151110-11

Acceleration is used when the profile is accelerating to the target speed.
This is regardless of whether the target speed will be reached or not

TargetDecelerationA24103716-1712-13Deceleration is used when the profile is decelerating to the target position

The A1 register is used to store the filter gain.

ControlwordR1410391814-191514-15Bits in the Controlword dictate profile the execution. A more detailed description can be found below.
ModeOfOperationSet with "_mop"41041201616Sets the mode of operation see 51511389Setting Mode of Operation
DigitalOUTN/A41043211717Binary value to set the digital output (Register K34=44 to enable this function)

(1) See Modbus-TCP for additional details
(2) See 51511389 TCP/UDP Port 10002 for additional details
(3) See EtherNet/IP for additional details. EtherNet/IP includes AOIs that setup all required mappings.

Controlword Usage

Profile mode uses some specific bits in the Controlword

Speed control mode
BITNameValueDescription
B0Start/New Set Point

0

  • Do not execute any changes in profile registerstarget position register
  • Do not start a new profilemode
  • Any profile currently in motion active move will be completed
0 → 1
  • Start a profile move defined by the profile registers
  • 0 → 1 transition is required to start a profile after
    • an error has been cleared
    • a home has been completed
    • a stop command has been given from CML or an input.
    In relative mode transition is required to start the next incremental move.
    • a stop command has been given from CML or an input
    • The move is incremented from the current target position not the actual position.
1Execute any changes in any of the profile registers immediately.
B1Halt

0

Do nothing
1
  • Halt the current profile being tracking position executed
  • Prohibit execution of a profile if no profile is being run
B2Relative mode0TargetPosition is an absolute position
1TargetPosition is a relative incremental position
B3Speed control0Position control mode
B3-B2N/A1

B7-B4See 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.

Code Block
languagecpp
titleAbsolute Move Example
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 will 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.

Code Block
languagecpp
titleSpeed Move Example
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.

//While R1=9 any change in the profile registers will execute an immediate change

Torque Mode

Dynamic Position Mode Example

The following example uses the standard registers to continuously update the motor position

Code Block
languagecpp
titleDynamic Position Mode Example
K87=10
V1="mop"	//assign V1 to set the mode of operation

a1=10		//set the filter gain to 10 (1-1024)
p1=0		//target position	
p2=10		//amount to increment each iteration of the logic scan
N1=1100		//run motor at full torque

|2			//reset position to 0


L1.1		//Logic bank 1 to init all parameters
R1=0		//clear control word
V1=4		//set mode of operation to 4
|2			//set motor position to 0
P1=0		//set target position to 0
R1=1		//set control word to start running dynamic position
JL2.1		//jump to L2		
END.1

L2.1		//L2 will continuously loop every #ms set in K87. 
p1=p1+p2;	//increment target position by P2 
end.1

Torque Mode
Anchor
Torque
Torque

Torque Torque mode would be used where there is no target position but the motor is required to continuously hold or move at a required maximum torque. In this mode the toque set is a maximum torque and the torque will only be reached if required.

Scroll Table Layout
orientationdefault
sortDirectionASC
repeatTableHeadersdefault
style
widths16%,14%,13%,13%,16%,26%
sortByColumn1
tableStylingconfluence
sortEnabledfalse
cellHighlightingtrue

Register Name

Profile Mode =

2

10

Profile Mode =

3

11

Description
CML RegistersModbus Registers(1)TCP/UPD Bytes(2)Ethernet/IP O2T Bytes(3)
TargetSpeedS141031
8
4-
11
74-7

The maximum speed of the profile

TargetTorqueN141033
12
8-
13
98-9

The maximum torque the motor will use while moving.

  • +ve N1 will rotate the motor in a +ve direction (typically CW)
  • -ve N1 will rotate the motor in a -ve direction (typically CCW)
ControlwordR141039
18
14-
19
1514-15

Bits in the Controlword dictate torque execution. A more detailed description can be found below.

ModeOfOperationSet with "mop"41041
20
1616Sets the mode of operation see 
51511389
Setting Mode of Operation
DigitalOUTN/A41043
21
1717Binary value to set the digital output (Register K34=44 to enable this function)

(1) See Modbus-TCP for additional details
(2) See 51511389 TCP/UDP Port 10002 for additional details
(3) See EtherNet/IP for additional details. EtherNet/IP includes AOIs that setup all required mappings.

Controlword Usage

Torque mode uses some specific bits in the Controlword

BITNameValueDescription
B0Start/New Set Point

0

  • Do not follow the N1 target torque
  • Target Speed S1 is still executed
  • Do not start a new torque move
0 → 1
  • Start a torque move defined by the torque registers
  • 0 → 1 transition is required to start a torque move after
    • an error has been cleared
    • a home has been completed
    • a stop command has been given from CML or an input.
1

Following N1 target torque

B1Halt0Do nothing
1
  • Halt all motion and inhibit further motion
  • Halt all torque related parameters (torque & speed)
B3-B2N/A
B7-B4See Controlword

The interaction of the halt bit and the new set point (nsp) bit is quite specific. See the table below for additional important interaction.

B0 (nsp) B1 (Halt)Description
10Motion profile follows torque and speed values
10 → 1

All motion stops

11

Motion is inhibited

  • Changes in speed are NOT followed
  • Changes in torque are NOT followed
01Operation is the same as above.
00

Motion may resume based on values

  • Torque will NOT be updated
  • Motion will continue if speed > 0


Note

It is important to understand that the halt bit temporarily halts operation. It does not interrupt motion. This means that a rising edge (0 → 1) is not required on B0 to continue operation. To keep prohibiting motion the following could be use

  • Keep the halt bit at 1
  • Set target velocity = 0
  • Move out of torque mode

...