You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

Tables of Contents

Introduction

This section explains how to use the CM1-T Cool Muscle motor with EtherNet/IP. It is assumed there is a basic knowledge of EtherNet/IP and PLC programming. The implementation makes use of the different Modes Of Operation in the motor. It does not use CML logic and bank programming. However, setup (K) and controller gain (H) parameters are used for things like motor resolution, s-curve, software limits, etc. These are all accessible to be setup with Control Room or over explicit messages.

Device Profile

The CM1-T uses a generic device profile. This is to allow it to be flexible and operate in a number of control modes.

I/O Messages

The breakdown of the I/O messages is shown below.

T2O (Input) Message

The input message is 32 bytes long.

ByteNameData Type
0-3us50CounterDINT
4-7ActualPositionDINT
8-11MotionTargetDINT
12-15ActualSpeedDINT
16-17MotorStatusINT
18-19PercentActualCurrentINT
20-21PercentOverloadTorqueINT
22-23AnalogININT
24-25DCVoltageINT
26-27PADINT
28DigitalINSINT
29TemperatureSINT
30ModeOfOperationDisplaySINT
31ErrorCodeSINT

O2T (Output) Message

The output message is 20 byes long

ByteNameData Type
0-3TargetPositionDINT
4-7TargetSpeedDINT
8-9TargetTorqueINT
10-11TargetAccelertionINT
12-13TargetDecelerationINT
14-15ControlwordINT
16ModeOfOperationSINT
17DigitalOUTSINT
18-19PADINT

Control Modes

This section focuses on controlling the motor with the provided Add on Instructions (AOIs). These will satisfy most applications, however, if required, the motor can be controlled by setting the CM1-T objects directly (see I/O Messages). Understanding the Modes Of Operation will be important in this case.

There are currently 3 main control modes available while running the motor over EtherNet/IP. 

  1. Position - this mode sets the motor to run to a target position. The position could be absolute or relative
  2. Speed - this mode allows the motors speed to be controlled for continuous motion
  3. Torque - this mode allows the motors torque to be controlled.

The control modes are mapped to the ModeOfOperation value from the CM1T_ControlMode  AOI:

Control ModeCM1T_ControlMode AOI valueO2T ModeOfOperation Value
Position03
Speed13
Torque211


In addition:

  • Homing is an additional mode that can be executed at any point. Homing should start from a known safe state to avoid unexpected changes in motion
  • All modes can be switched to during motion. It is recommended the state is switched during a known safe state.
  • Torque can be limited in all modes. Running in torque mode will disable errors such as position error which can still occur in other modes if the set torque is too low. The torque is set in 0.1% of rated torque. The range is [0,1100]. By default the torque is set to 1100 when using the AOIs supplied.


All modes use common objects such as position, speed, torque, acceleration and controlword. Switching parameters in another mode will change the value in the existing mode.

Setting the Start bit to 0 will NOT halt motion. The HALT bit must be used to interrupt motion.

Position Mode

Absolute position and relative position both use the position mode. The key difference in operation between the two is the usage of the start bit in the CM1T_Controlword. An absolute move will accept a new position immediately if the start bit is 1.

Start Bit Usage

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 1ms target position not the actual position.
      • This will be the same if there is no position error
      • This is to account for possible drift in a repetitive motion.
1Execute any changes in any of the profile registers immediately.

Motion Parameters

Position moves will accept the following motion parameters. These will be processed immediately if the start bit is high.

NameUnitData TypeAccess
PositionTargetcountsDINTAOI(2) or Axis tag
SpeedTargetcounts/sDINTAOI or Axis tag
AccelerationTarget1000 counts/s2INTAOI or Axis tag
DecelerationTarget(1)1000 counts/s2INTAOI or Axis tag
TorqueTarget0.1% rated torqueSINTAxis Tag

(1) If the deceleration is set to 0 the acceleration value will be used
(2) MoveAbsolute or MoveRelative AOI

Speed Mode

A speed move has no target position and will continue to run at the target speed. Setting a -ve speed value will reverse direction.

Start Bit Usage

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.
1Execute any changes in any of the profile registers immediately.

Motion Parameters

Speed moves will accept the following motion parameters. These will be processed immediately if the start bit is high.

NameUnitData TypeAccess
SpeedTargetcounts/sDINTAOI(2) or Axis tag
AccelerationTarget1000 counts/s2INTAOI or Axis tag
DecelerationTarget(1)1000 counts/s2INTAOI or Axis tag
TorqueTarget0.1% rated torque (11SINTAxis Tag

(1) If the deceleration is set to 0 the acceleration value will be used
(2) MoveSpeed AOI

Torque Mode

A torque move only uses a target torque and maximum speed. Acceleration of the motor should be limited by adjusting the target torque or speed.

Setting a -ve torque value will reverse direction.

Start Bit Usage

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.
1Execute any changes in any of the profile registers immediately.

Motion Parameters

Torque moves will accept the following motion parameters. These will be processed immediately if the start bit is high.

NameUnitData TypeAccess
SpeedTargetcounts/sDINTAOI(1) or Axis tag
TorqueTarget

0.1% rated torque

Range: ± 1100

Where:

  • 1100 = peak torque 
  • 1000 = rated torque
SINTAOI or Axis Tag

(1) MoveTorque AOI

RSLogix Resources

CM1T_Axis Data Type

The CM1-T_Axis data type defines how the bytes are assigned withing the IO message.

NameData TypeDescription
InputSINT[32]Data coming from the CM1-T
OutputSINT[20]Data going to the CM1-T
us50CounterDINTMotor 50us counter
ModeOfOperationSINTSelect control mode
ModeOfOperationDisplaySINTCurrent control mode
ControlwordCM1T_ControlwordControl operation
DriveStatusCM1T_DriveStatusDrive status
PositionTargetDINTTarget position for position move
SpeedTargetDINTMax speed for target move
TorqueTargetINTMax torque for target move
AccelerationTargetINTAcceleration for target move
DecelerationTargetINTDeceleration for target move
PositionActualDINTActual position of the motor
TargetActualDINT1ms target position of the motor
PositionErrorDINTError between actual and target
SpeedActualDINTActual speed of the motor
CurrentActualINTActual current percentage of the motor (0.1% rated)
OverloadActualINT0.1% of overload torque
DCVoltageINT24V DC input value at 0.1V
AnalogININT10bit analog input (0-1023)
DigitalINSINTRead digital inputs
DigitalOUTSINTSet digital outputs
TemperatureSINTDrive temperature in °C
ErrorCodeSINTError in communication module

CM1T_Controlword

NameData TypeDescription
StartBOOLStart/New set point
HaltBOOLHalt current motion
Relative_MoveBOOLExecute position move as relative
Speed_ControlBOOLExecute move as a speed only move
DisableBOOLDisable the drive
Reset_ErrorBOOLReset error with rising edge
Set_to_ZeroBOOLSet the current position to zero with rising edge
HomeBOOLHome the motor with rising edge

CM1T_DriveStatus

NameData TypeDescription
StatusValueSINTMotor status and error type
StatusValue1SINTAdditional motor status
In_PositionBOOLMotor is in position and ready to move
MovingBOOLMotor is currently moving
DisabledBOOLDrive is disabled
ErrorBOOLDrive is in error state
MoveCompleteBOOLMove is completed
NewStartRequiredBOOLRising edge required to restart motion
HomeAchievedBOOLHoming has been achieved

Add-On Instructions


  • No labels