Table of Contents

Connections and Ports

Any TCP/IP enabled client device can connect and communicate with the CM1-T. The table below lists the ports and protocols they are associated with


Protocol

Port #

# TCP

# UDP

Description

CML1000111

Protocol used by the standard motor. Program the motor to run from IO, etc.

Direct Control Port1000211

Directly control the motor in a number of modes such as position, speed and torque

  • The CM1-T Library can be used with the Direct Control port 
Modbus TCP50210

Modbus access to all motor registers including CML and Direct Control.

  • The CM1-T Library can be used with the Modbus TCP port
Motor Information Port3071801
  1. Query the motors configuration (Network configuration, serial number, etc)
  2. Query/Stream the motors information (status, position, speed, etc)
EtherNet/IP44818
2222
2
0

1
1

EtherNet/IP CIP
EtherNet/IP IO

  • The CM1-T Library can be used with the EtherNet/IP port

This section focus on the Direct Control Port and the Motor Information port. For information on the other protocols go to their specific section.

Direct Control Port 

Port 10002 can be used to read and write the Direct Control registers. TCP/IP or UDP can be used.

Write Data Packet

This is the data received by the motor on a write from the TCP/UDP Client.

  • TCP/IP or UDP
  • Port 10002
  • Length = 28 bytes

Data

ByteRegisterSize/TypeDescription
0-3TargetPositionDINTFinal target position
4-7TargetSpeedDINTMaximum targetspeed
8-9TargetTorqueINTMaximum torque
10-11TargetAccelertionINTAcceleration (used when accelerating to target speed)
12-13TargetDecelerationINTDeceleration  (used when stopping)
14-15ControlwordINTControl the motor operation
16ModeOfOperationSINTSet the required mode of operation
17DigitalOUTSINTSet the 2 digital outputs. Requires K34=44.
18-19WriteAddress1INTAddress of the motor register to write to
20-23WriteValue1DINTValue to be written to the motor register
24-25ReadAddress1INTAddress of the motor register to read
26-27PADINT16-bit padding not used

Read Data Packet

This is the data transmitted by the motor to the TCP/UDP Client when a write packet is received

  • TCP/IP or UDP
  • Port 10002
  • Length = 36 bytes

Data

ByteRegister
Description
0-3us50CounterDINTCPU clock time in 50us counts
4-7ActualPositionDINTThe actual position of the motor in encoder counts
8-11MotionTargetDINTThe actual instantaneous position the motor is currently moving to.
12-15ActualSpeedDINTActual speed of the motor in encoder counts/s
16-17MotorStatusINTThe motors status (error, homing, in position, etc)
18-19PercentActualCurrentINTPercentage (0.1%) of rated current. 1000 = rated, 1100 = peak.
20-21PercentOverloadTorqueINTPercentage (0.1%) of overload torque.
22-23AnalogININT10 bit analog input value (0-1023)
24-25DCVoltageINT24V DC bus voltage in 0.1V
26DigitalINSINTDigital IN status. B0-B3 = IN1-IN4
27TemperatureSINTDrive temperature in ºC
28ModeOfOperationDisplaySINTIndicates the mode of operation currently set
29ErrorCodeSINTError code on communication error
30-31ReadAddress1INTAddress of the motor register for ReadValue1
32-35ReadValue1DINTThe value in the motor register displayed in ReadAddress1

Motor Information Port 

The motor information port is used to query the motor configuration data as well as all status data. The status data can also be set to stream out at defined time intervals.

  • Port 30718
  • UDP only

The motor receives a 4 byte data packet which indicates the type of request. The response includes a 4 byte header. The request and expected response header are defined as such:


CommandB3 (Command ID)B2B1B0
1Configuration Request0xF60x000x00some data
Configuration Response0xF70x000x00echo some data
2Information Request0xF4Time ms high byteTime ms low bysome data
Information Response0xF5Counter high byteCounter low byteecho some data

Configuration Data

The configuration data responds with info regarding the motor's network configuration, firmware versions and serial number

To request the configuration data send the following data packet

ByteValueDescription
00x00-0xFFAny value. This will be echoed back on the response
10x00Ignored
20x00Ignored
30xF6Command ID for configuration request

The response packet is returned as follows

BytesDescription
0Echo of some data
1-20x0000
30xF7 (Command ID)
4-11N/A
12-15Current IP Address
16-19Subnet Mask
20-23Gateway IP
24-29MAC Address
30DHCP Enabled
31N/A
32-35CM1-T Interface Firmware Version
36-39CM1 Drive Firmware Version
40-99Part Number (ascii)
100-103Reserved
104-105Production Date
106-107Product ID
108-109Serial Number
110-118CM1-T Interface Hardware Version
119Reserved

Information Data

The information request returns a complete set of the motor's state data including, position, speed, drive status, IO, etc

Send Data

To request the information data send the following data packet:

length = 4 bytes

ByteValueDescription
00x00-0xFFAny value. This will be echoed back on the response
10x00Interval Time in ms low byte
20x00Interval Time in ms high byte
30xF4Command ID for information request

Interval Time

The Interval Time is a 16 bit value that sets the response interval in ms. It has the following characteristics

  • Value range: [0-65536]
  • If value = 0 then the query sends a single response
  • If value > 0 then a response is sent at the interval time

Receive Data

The following data is received on a request or on an interval response

length = 33 bytes

ByteNameDescription
0Data echoEcho the data sent in B0 of the request
1-2Counter ValueEach response increments the counter value. A query resets the counter.
30xF5 - Command IDResponse command ID is 0xF5
4-7CPUTimeCPU clock time in 50us counts
8-11ActualPositionThe actual position of the motor in encoder counts
12-15ActualTargetPositionThe actual instantaneous position the motor is currently moving to.
16-17MotorStatusThe motors status (error, homing, in position, etc)
18-19ActualRatedCurrentPercentage (0.1%) of rated current. 1000 = rated, 1100 = peak.
20-21ActualOverloadTorquePercentage (0.1%) of overload torque.
22-23AnalogIN10 bit analog input value (0-1023)
24DigitalINDigital IN status. B0-B3 = IN1-IN4
25TemperatureDrive temperature in ºC
26-27DCVoltage24V DC bus voltage in 0.1V
28DigitalOUTDigital OUT status. B0-B1 = OUT1-OUT2
29Reserved-
30ModeOfOperationDisplayIndicates the mode of operation currently set
31ActualSpeedActual speed of the motor in encoder counts/s

Example Packets

The following example uses Packet Sender to execute some direct moves, query configuration and query information.

Please be aware of any firewall restrictions especially when using UDP.

NameSend Data Bytes
Direct - Clear Error00 00 00 00 10 00 00 00 4C 04 64 00 64 00 20 00 03 00 00 00 00 00 00 00 00 00 00 00
Direct - Disable00 00 00 00 10 00 00 00 4C 04 64 00 64 00 10 00 03 00 00 00 00 00 00 00 00 00 00 00
Direct - Halt & Clear Start Bit & Enable00 00 00 00 10 00 00 00 4C 04 64 00 64 00 02 00 03 00 00 00 00 00 00 00 00 00 00 00
Direct - Run to 000 00 00 00 10 00 00 00 4C 04 64 00 64 00 01 00 03 00 00 00 00 00 00 00 00 00 00 00
Direct - Run to 1000E8 03 00 00 10 00 00 00 4C 04 64 00 64 00 01 00 03 00 00 00 00 00 00 00 00 00 00 00
Direct - Set current pos to 000 00 00 00 10 00 00 00 4C 04 64 00 64 00 40 00 03 00 00 00 00 00 00 00 00 00 00 00
Direct - Start Home Search00 00 00 00 10 00 00 00 4C 04 64 00 64 00 80 00 03 00 00 00 00 00 00 00 00 00 00 00
Query Config00 00 00 f6
Query Info00 00 00 f4
Query Info 1s00 e8 03 f4
  • Direct - Run uses a speed = 10, acceleration = 100, deceleration = 1000 and Torque = 1100.

The image below shows Packet Sender with the response to Query Info

The Packet Sender database for the above example can downlaoded here - CM1-T Example.ini

  • No labels