MS MF RMD Motor CAN Protocol V2.35
MS MF RMD Motor CAN Protocol V2.35
1. CANbus parameters and single motor commands end and represents 360°,and the motor rotation direction is determined
by the difference between the target position and the current
receive message format position. The control value maxSpeed limits the maximum
speed at which the motor rotates, of the uint16_t type,
Businterface: CAN corresponding to the actual speed of 1dps/LSB.
Baudrate: 1Mbps
The format of message used to send commands and motor Datafield Description Data
replies to asingle motor is as follows:
DATA[0] Command byte 0xA4
ID: 0x140+ID(1~32)
Frame format: DATA DATA[1] NULL 0x00
Frame type: StandardDLC:8Byte
DATA[2] Speed limit low byte DATA[3]=*(uint8_t*)(&maxSpeed)
DATA[3]
Notes
1. The control value angle Control under this command is limited by
the Max Angle value in the host computer.
MS MF 120 70 90 CAN Motor pins specifications 2. In this control mode, the maximum acceleration of the motor is
limited by the MaxAcceleration value in the host computer.
The following is a sample to send a running command to the #1 motor. 3. In this control mode, the maximum torque current of the motor is
ID Len Data0 D1 D2 D3 D4 D5 D6 D7 Format Type
141 8 88 00 00 00 00 00 00 00 Standard Data limited by the MaxTorqueCurrent value in the host computer.
00 to send a stop command
The following is a sample to the #1 motor. Drive reply(1 frame)
ID Len Data0 D1 D2 D3 D4 D5 D6 D7 Format Type
141 8 81 00 00 00 00 00 00 00 Standard Data
The motor responds to the host after receiving the command. The
The following is a sample to send a Speed closed loop control frame data contains the following parameters.
command to the #1 motor running at 90dps. 1. Motor temperature (int8_ttype,1°C/LSB).
1°C/LSB).
ID Len Data0 D1 D2 D3 D4 D5 D6 D7 Format Type
141 8 A2 00 00 00 28 23 00 00 Standard Data 2. The torque current value of the motor is iq(int16_ttype, range-
The following is a sample to send a Position + Speed closed loop 2048~2048,corresponding to the actual torque current range-
control command to the #1 motor to run at speed 90dps to 720degre
720degree
33A~33A).
ID Len Data0 D1 D2 D3 D4 D5 D6 D7 Format Type
141 8 A4 00 28 23 40 19 01 00 Standard Data 3. Motor speed(int16_ttype,1dps/LSB).
4. Encoder position value encoder (uint16_ttype,14-bit
(uint16_ttype,14 encoder
Connect to PC program.
You can use USB to UART Adaptor with Molex 1.25 connection 3pin wires to o connect to the driver on Tx and Rx
socket. Then you can plug the PC USB port to connect program to the driver.
2 / 26
SMC POWERS LTD
Connect to Power and RS485 or CAN
CAN.
The following is the sample for connect to power and RS485
RS485.
You can use USB to UART Adapter to conneect the driver to PC.
3 / 26
SMC POWERS LTD
You can also test running the motor on the PC program with following control mode.
4 / 26
SMC POWERS LTD
2.Motor receiving message format
The format of the message used to send control commands and motor replies to a single motor is as
follows
Identifier:0x140+ID(1~32)
Frame format: DATA
Frame type: standard frame
DLC:8byte
5 / 26
SMC POWERS LTD
DATA[1] ParamID 0x96; Angle loop pid
0x97; Speed loop pid
0x98; Current pid
0x99; max Torque Current
0x9A; maxSpeed
0x9B; maxAngle
0x9C; maxAngle
0x9D; currentRamp
0x9E; speedRamp
DATA[2] NULL 0x00
DATA[3] NULL 0x00
DATA[4] NULL 0x00
DATA[5] NULL 0x00
DATA[6] NULL 0x00
DATA[7] NULL 0x00
For example: 0x40 96 00 00 00 00 00 00 to read angle loop PID
Driver reply(one frame)
The motor responds to the host after receiving the command. The frame data contains the following parameters.
Datafield Description Data
DATA[0] commandbyte
byte 0x40
DATA[1] ParamID 0x96; 0x97;0x98;0x99;0x9A;0x9B;0x9C;0x9D;0x9E;
;0x98;0x99;0x9A;0x9B;0x9C;0x9D;0x9E;
DATA[2] DATA[2]
DATA[3] DATA[3]
DATA[4] DATA[4]
DATA[5] DATA[5]
DATA[6] DATA[6]
DATA[7] DATA[7]
ParamID Table
ParamID Motor parameter specifications
Angle loop pid
anglePidKp(Angle_
Angle_kp,uint16_t)
DATA[2]= *(uint8_t *))(& anglePidKp)
150 (0x96)
DATA[3] = *((uint8_t *)(& anglePidKp)+1)
Angle_ki,uint16_t )
anglePidKi(Angle_
DATA[4]= *(uint8_t *))(& anglePidKi)
DATA[5] = *((uint8_t *)(& anglePidKi)+1)
Angle_kd,uint16_t )
anglePidKd(Angle_
DATA[6]= *(uint8_t *))(& anglePidKd)
DATA[7] = *((uint8_t *)(& anglePidKd)+1)
ParamID Table
ParamID Motor parameter specifications
6 / 26
SMC POWERS LTD
Speed pid
Speed_kp,uint16_t )
speedPidKp(Speed_
DATA[2]= *(uint8_t
8_t *)(& speedPidKp)
DATA[3] = *((uint8_t
8_t *)(& speedPidKp)+1)
Speed_ki,uint16_t )
speedPidKi(Speed_
151 (0x97) DATA[4]= *(uint8_t
8_t *)(& speedPidKi)
DATA[5] = *((uint8_t
8_t *)(& speedPidKi)+1)
Speed_kd,uint16_t )
speedPidKd(Speed_
DATA[6]= *(uint8_t
8_t *)(& speedPidKd)
DATA[7] = *((uint8_t
8_t *)(& speedPidKd)+1)
Current pid
Current_kp,uint16_t )
currentPidKp(Current_
DATA[2]= *(uint8_t
8_t *)(& currentPidKp)
DATA[3] = *((uint8_t
8_t *)(& currentPidKp)+1)
Current_ki,uint16_t )
currentPidKi(Current_
152 (0x98) DATA[4]= *(uint8_t
8_t *)(& currentPidKi)
DATA[5] = *((uint8_t
8_t *)(& currentPidKi)+1)
Current_kd,uint16_t )
currentPidKd(Current_
DATA[6]= *(uint8_t
8_t *)(& currentPidKd)
DATA[7] = *((uint8_t
8_t *)(& currentPidKd)+1)
maxTorqueCurrentt(Max_Torque_current,int16_t )
153 (0x99) DATA[2]= *(uint8_t
8_t *)(& maxTorqueCurrent)
DATA[3] = *((uint8_t
8_t *)(& maxTorqueCurrent)+1)
max_Speed,int32_t )
maxSpeed(max_Speed
DATA[2]= *(uint8_t
8_t *)(& maxSpeed)
154 (0x9A) DATA[3] = *((uint8_t
8_t *)(& maxSpeed)+1)
DATA[4] = *((uint8_t
8_t *)(& maxSpeed)+2)
DATA[5] = *((uint8_t
8_t *)(& maxSpeed)+3)
currentRamp(current_Ramp
current_Ramp,int16_t)
157 (0x9D)
DATA[2]= *(uint8_t
t8_t *)(& currentRamp)
DATA[3]] = *((uint8_t *)(& currentRamp)+1)
speed_Ramp,int32_t )
speedRamp(speed
DATA[2]=
]= *(uint8_t *)(& speedRamp)
158 (0x9E) DATA[3]] = *((uint8_t *)(& speedRamp)+1)
DATA[4]] = *((uint8_
*((uint8_t *)(& speedRamp)+2)
DATA[5]] = *((uint8_t *)(& speedRamp)+3)
8 / 26
SMC POWERS LTD
4.8 Write current position to ROM as motor zero position command (one frame)
Notice:
1.This command needs to be powered on again to take effect.
2.This command will write the zero position to ROM. Multiple writes will affect the chip life. So it is not
recommended to use it frequently.
Data field Description Data
DATA[0] Command byte 0x19
DATA[1] NULL 0x00
DATA[2] NULL 0x00
DATA[3] NULL 0x00
DATA[4] NULL 0x00
DATA[5] NULL 0x00
DATA[6] NULL 0x00
DATA[7] NULL 0x00
Driver reply(one frame)
The motor returns to the host after receiving the command, and the data is offset value.
Data field Description Data
DATA[0] Command byte 0x19
10 / 26
SMC POWERS LTD
DATA[1] NULL 0x00
DATA[2] NULL 0x00
DATA[3] NULL 0x00
DATA[4] NULL 0x00
DATA[5] NULL 0x00
DATA[6] Encoder offset low byte DATA[6]=*(uint8_t*)(&encoderOffset)
DATA[7] Encoder offset high byte DATA[7]=*((uint8_t*)(&encoderOffset)+1)
*((uint8_t*)(&encoderOffset)+1)
11 / 26
SMC POWERS LTD
4.10 Read single circle angle command(1 frame)
The host sends command to read the single circle angle of the motor
Data field Description Data
DATA[0] Command byte 0x94
DATA[1] NULL 0x00
DATA[2] NULL 0x00
DATA[3] NULL 0x00
DATA[4] NULL 0x00
DATA[5] NULL 0x00
DATA[6] NULL 0x00
DATA[7] NULL 0x00
Drive reply(one frame)
The motor responds to the host after receiving the command, the frame data contains the following parameters.
1.CircleAngle, uint16_t type data, starting from the encoder zero point, increased by clockwise rotation,
and returning to zero when it reaches zero again, the unit is 0.01°/LSB.
Data field Description Data
DATA[0] Command byte 0x94
DATA[1] NULL 0x00
DATA[2] NULL 0x00
DATA[3] NULL 0x00
DATA[4] NULL 0x00
DATA[5] NULL 0x00
DATA[6] Single angle low byte DATA[6]=*(uint8_t*)(&circleAngle)
DATA[7] Single angle high byte DATA[7] =*((uint8_t*)(&circleAngle)+1)
ErrorState Statusde 0 1
scription
0 Voltage status Normal Low voltage
protection
1 invalid
2 invalid
3 Temperature Normal Over temperature
status protection
4 invalid
5 invalid
6 invalid
7 invalid
13 / 26
SMC POWERS LTD
Drive reply(one frame)
The motor responds to the host after receiving the command, the frame data contains the following parameters.
1. Motor temperature(int8_t type, unit 1℃/LSB)
2. Voltage(uint16_t type, unit 0.1V/LSB
0.1V/LSB)
3. ErrorState(uint8_t type, Each bit represents a different motor state)
Data field Description Data
DATA[0] Command byte 0x9A
DATA[1] Motor temperature DATA[1]=*(uint8_t*)(&temperature)
DATA[2] NULL 0x00
DATA[3] Voltage low byte DATA[3] =*(uint8_t*)(&voltage)
DATA[4] Voltage high byte DATA[4]=*((uint8_t*)(&voltage)+1)
DATA[5] NULL 0x00
DATA[6] NULL 0x00
DATA[7] Error State byte DATA[7]=errorState
Memo: the error flag cannot be cleared when the motor status does not return to normal.
ErrorState: the specific status
tus table of each bit is as follows
Error State Status 0 1
description
0 Voltage status Normal Low voltage
protection
1 invalid
2 invalid
3 Temperature Normal Over temperature
status protection
4 invalid
5 invalid
6 invalid
7 invalid
14 / 26
SMC POWERS LTD
4. Encoder position value(uint16_t
uint16_t type, 14 bit encoder value range 0~16383)
Data field Description Data
DATA[0] Command byte 0x9C
DATA[1] Motor temperature DATA[1]=*(uint8_t*)(&temperature)
DATA[2] Torque current low byte DATA[2]=*(uint8_t*)(&iq)
DATA[3] Torque current high byte DATA[3]=*((uint8_t*)(&iq)+1)
DATA[4] Speed low byte DATA[4]=*(uint8_t*)(&speed)
DATA[5] Speed high byte DATA[5] =*((uint8_t*)(&speed)+1)
DATA[6] Encoder position low byte DATA[6] =*(uint8_t*)(&encoder)
DATA[7] Encoder position high byte DATA[7]=*((uint8_t*)(&encoder)+1)
15 / 26
SMC POWERS LTD
DATA[6] NULL 0x00
DATA[7] NULL 0x00
Drive reply(one frame)
The motor responds to the host after receiving the command, the frame data is the same as the host sent
16 / 26
SMC POWERS LTD
Memo:
1. powerControl int his command is not limited by the MaxTorque Current value in the host computer.
Drive reply(one frame)
The motor responds to the host after receiving the command, the frame data contains the following parameters.
1. Motor temperature(int8_t type,unit
type,unit1℃/LSB)
2. Motor Power(int16_t type, Range:
Range:-850~850)
3. Motor speed(int16_t type,1dps/LSB
type,1dps/LSB)
4. Encoder position value(uint16_t
uint16_t type, 14bit encoder value range0~16383)
Data field Description Data
DATA[0] Command byte 0xA0
DATA[1] Motor temperature DATA[1]=*(uint8_t*)(&temperature)
DATA[2] Torque current low byte DATA[2]=*(uint8_t*)(&iq)
DATA[3] Torque current high byte DATA[3]=*((uint8_t*)(&iq)+1)
DATA[4] Speed low byte DATA[4]=*(uint8_t*)(&speed)
DATA[5] Speed high byte DATA[5] =*((uint8_t*)(&speed)+1)
DATA[6] Encoder position low byte DATA[6] =*(uint8_t*)(&encoder)
DATA[7] Encoder position byte high DATA[7] =*((uint8_t*)(&encoder)+1)
17 / 26
SMC POWERS LTD
5.2 Torque closed-loop command (one frame)
The host sends the command to control torque current output of the motor. IqControl is int16_t type, the value
range:-2048~2048, corresponding to the actual torque current range -16.5A~16.5A
16.5A~16.5A for MF, RMD-L
RMD motors, -
32A~32A for MG motors (the bus current and the actual torque of the motor vary with different motors)
Data field Description Data
DATA[0] Command byte 0xA1
DATA[1] NULL 0x00
DATA[2] NULL 0x00
DATA[3] NULL 0x00
DATA[4] Torque current low byte DATA[4] =*(uint8_t*)(&iqControl)
DATA[5] Torque current high byte DATA[5]=*((uint8_t*)(&iqControl)+1)
*((uint8_t*)(&iqControl)+1)
Memo:
2. IqControl int his command is not limited by the MaxTorque Current value in the host computer.
Drive reply(one frame)
The motor responds to the host after receiving the command, the frame data contains the following parameters.
5. Motor temperature(int8_t type,unit
type,unit1℃/LSB)
6. Motor torque current(Iq)(int16_t
int16_t type, Range:-2048~2048, real torque current range -16.5A~16.5A for
MF, RMD-L motors, -32A~32A for MG motors)
7. Motor speed(int16_t type,1dps/LSB
type,1dps/LSB)
8. Encoder position value(uint16_t
uint16_t type, 14bit encoder value range0~16383)
Data field Description Data
DATA[0] Command byte 0xA1
DATA[1] Motor temperature
ture DATA[1]=*(uint8_t*)(&temperature)
DATA[2] Torque current low byte DATA[2]=*(uint8_t*)(&iq)
DATA[3] Torque current high byte DATA[3]=*((uint8_t*)(&iq)+1)
DATA[4] Speed low byte DATA[4]=*(uint8_t*)(&speed)
DATA[5] Speed high byte DATA[5] =*((uint8_t*)(&speed)+1)
DATA[6] Encoder position low byte DATA[6] =*(uint8_t*)(&encoder)
DATA[7] Encoder position byte high DATA[7] =*((uint8_t*)(&encoder)+1)
18 / 26
SMC POWERS LTD
19 / 26
SMC POWERS LTD
Memo:
1. Angle Control under this command is limited by the Max Angle value in the host computer.
2. The maximum speed under this command is limited by the MaxSpeed value in the host computer.
3. In this control mode, the maximum acceleration of the motor is limited by the Max Acceleration
value in the host computer.
4. In this control mode, the maximum torque current of the motor is limited by the Max Torque
Current value in the host computer.
Drive reply(one frame)
The motor responds to the host after receiving the command, the frame data contains the following parameters.
1. Motor temperature(int8_t type,unit
type,unit1℃/LSB)
2. Motor torque current(Iq)(int16_t
int16_t type, Range:-2048~2048,real torque current range:-33A~33A
33A~33A)
3. Motor speed(int16_t type,1dps/LSB
type,1dps/LSB)
4. Encoder position value(uint16_t type, 14bit encoder value range 0~16383)
Data field Description Data
DATA[0] Command byte 0xA3
DATA[1] Motor temperature DATA[1]=*(uint8_t*)(&temperature)
DATA[2] Torque current low byte DATA[2]=*(uint8_t*)(&iq)
DATA[3] Torque current high byte DATA[3]=*((uint8_t*)(&iq)+1)
DATA[4] Speed low byte DATA[4]=*(uint8_t*)(&speed)
DATA[5] Speed high byte DATA[5] =*((uint8_t*)(&speed)+1)
DATA[6] Encoder position low byte DATA[6] =*(uint8_t*)(&encoder)
DATA[7] Encoder position high byte DATA[7]=*((uint8_t*)(&encoder)+1)
20 / 26
SMC POWERS LTD
5.5 Multi loop Angle & speed control command (one frame)
The host sends this command to control the position of the motor (multi-turn angle). AngleControl is int32_t type, and
the actual position is 0.01degree/LSB, 36000 represents 360°. The motor rotation direction is determined by the
difference between the target position and the currentposition.
The control value maxSpeed limits the maximum speed at which the motor rotates, uint16_t type, corresponding to
the actual speed of 1dps/LSB.
Data field Description Data
DATA[0] Command byte 0xA4
DATA[1] NULL 0x00
DATA[2] Speed limited low byte DATA[3] =*(uint8_t*)(&maxSpeed)
DATA[3] Speed limited high byte DATA[4]=*((uint8_t*)(&maxSpeed)+1)
DATA[4] Position control low byte DATA[3]=*(uint8_t*)(&angleControl)
DATA[5] Position control DATA[4]=*((uint8_t*)(&angleControl)+1)
*)(&angleControl)+1)
DATA[6] Position control DATA[5]=*((uint8_t*)(&angleControl)+2)
*)(&angleControl)+2)
DATA[7] Position control high byte DATA[6]=*((uint8_t*)(&angleControl)+3)
*)(&angleControl)+3)
Memo:
1. Angle Control under this command is limited by the MaxAngle value in the host computer.
2. In this control mode, the maximum acceleration of the motor is limited by the
MaxAcceleration value in the host computer.
3. In this control mode, the maximum torque current of the motor is limited by the MaxTorque
Current value in the host computer.
21 / 26
SMC POWERS LTD
5.6 Single loop Angle control command (one frame)
The host sends this command to control
ontrol the position of the motor (single-turn angle). AngleControl is uint16_t
type, the value range is 0~35999, and the actual position is 0.01degree/LSB, the actual angle range is 0°~359.99°
The control values pinDirection sets the direction in which the motor rotates, which is uint8_t type, 0x00 for
clockwise and 0x01 for counterclockwise.
Data field Description Data
DATA[0] Command byte 0xA5
DATA[1] SpinDirection byte DATA[1]=spinDirection
DATA[2] NULL 0x00
DATA[3] NULL 0x00
DATA[4] Position control low byte DATA[4]=*(uint8_t*)(&angleControl)
DATA[5] Position control high byte DATA[5]=*((uint8_t*)(&angleControl)+1)
*)(&angleControl)+1)
DATA[6] NULL 0x00
DATA[7] NULL 0x00
Memo:
1. The maximum speed under this command is limited by the MaxSpeed value in the host computer.
2. In this control mode, the maximum acceleration of the motor is limited by the Max Acceleration
value in the host computer.
3. In this control mode, the maximum torque current of the motor is limited by the Max Torque
Current value in the host computer.
Drive reply(one frame)
The motor responds to the host after receiving the command, the frame data contains the following
parameters.
1. Motor temperature(int8_t type,unit
type,unit1℃/LSB)
2. Motor torque current(Iq)(int16_t
int16_t type, Range:-2048~2048,real torque current range:-33A~33A)
range:
3. Motor speed(int16_t type,1dps/LSB
type,1dps/LSB)
4. Encoder position value(uint16_t
uint16_t type, 14bit encoder value range 0~16383)
Data field Description Data
DATA[0] Command byte 0xA5
DATA[1] Motor temperature DATA[1]=*(uint8_t*)(&temperature)
DATA[2] Torque current low byte DATA[2]=*(uint8_t*)(&iq)
DATA[3] Torque current high byte DATA[3]=*((uint8_t*)(&iq)+1)
DATA[4] Speed low byte DATA[4]=*(uint8_t*)(&speed)
DATA[5] Speed high byte DATA[5] =*((uint8_t*)(&speed)+1)
DATA[6] Encoder position low byte DATA[6] =*(uint8_t*)(&encoder)
DATA[7] Encoder position high byte DATA[7]=*((uint8_t*)(&encoder)+1)
22 / 26
SMC POWERS LTD
23 / 26
SMC POWERS LTD
Memo:
In this control mode, the maximum
m acceleration of the motor is limited by the Max Acceleration value in
the PC setting tool.
In this control mode, the maximum torque current of the motor is limited by the Max Torque Current
value in the PC setting tool.
Drive reply(one frame)
The motor responds to the host after receiving the command, the frame data contains the following
parameters.
1. Motor temperature(int8_t type,unit
type,unit1℃/LSB)
2. Motor torque current(Iq)(int16_t
int16_t type, Range:-2048~2048,real torque current range:-33A~33A)
range:
3. Motor speed(int16_t type,1dps/LSB
e,1dps/LSB)
4. Encoder position value(uint16_t
uint16_t type, 14bit encoder value range 0~16383)
Data field Description Data
DATA[0] Command byte 0xA7
DATA[1] Motor temperature DATA[1]=*(uint8_t*)(&temperature)
DATA[2] Torque current low byte DATA[2]=*(uint8_t*)(&iq)
DATA[3] Torque current high byte DATA[3]=*((uint8_t*)(&iq)+1)
DATA[4] Speed low byte DATA[4]=*(uint8_t*)(&speed)
DATA[5] Speed high byte DATA[5] =*((uint8_t*)(&speed)+1)
DATA[6] Encoder position low byte DATA[6] =*(uint8_t*)(&encoder)
DATA[7] Encoder position high byte DATA[7]=*((uint8_t*)(&encoder)+1)
24 / 26
SMC POWERS LTD
Memo:
In this control mode, the maximum acceleration of the motor is limited by the MaxAcceleration value in
the PC setting tool.
In this control mode, the maximum torque current of the motor is limited by the Max Torque Current
value in the PC setting tool.
Drive reply(one frame)
The motor responds to host after receiving the command, the frame data contains following parameters.
1. Motor temperature(int8_t type,unit
type,unit1℃/LSB)
2. Motor torque current(Iq)(int16_t
int16_t type, Range:-2048~2048,real torque current range:-33A~33A)
range:
3. Motor speed(int16_t type,1dps/LSB
type,1dps/LSB)
4. Encoder position value(uint16_t
uint16_t type, 14bit encoder value range 0~16383)
Data field Description Data
DATA[0] Command byte 0xA8
DATA[1] Motor temperature DATA[1]=*(uint8_t*)(&temperature)
DATA[2] Torque current low byte DATA[2]=*(uint8_t*)(&iq)
DATA[3] Torque current high byte DATA[3]=*((uint8_t*)(&iq)+1)
DATA[4] Speed low byte DATA[4]=*(uint8_t*)(&speed)
DATA[5] Speed high byte DATA[5] =*((uint8_t*)(&speed)+1)
DATA[6] Encoder position low byte DATA[6] =*(uint8_t*)(&encoder)
DATA[7] Encoder position high byte DATA[7]=*((uint8_t*)(&encoder)+1)
25 / 26
SMC POWERS LTD
Identifier:0x280
Frame format: DATA
Frame type: standard frame
DLC:8byte
The host simultaneously sends this command to control the torque current output up to 4motors. The
control value iqControl is int16_t type, the value range is-2000~2000, corresponding to the actual torque current
range-32A~32A(The bus current and the actual torque of the motor vary from motor to motor).
Data field Description Data
DATA[0] Torque current1 control value DATA[0]=*(uint8_t*)(&iqControl_1)
low byte
DATA[1] Torque current1 control value DATA[1]=*((uint8_t*)(&iqControl_1)+1)
nt8_t*)(&iqControl_1)+1)
high byte
DATA[2] Torque current2 control value DATA[2]=*(uint8_t*)(&iqControl_2)
low byte
DATA[3] Torque current2 control value DATA[3]=*((uint8_t*)(&iqControl_2)+1)
*((uint8_t*)(&iqControl_2)+1)
high byte
DATA[4] Torque current3 control value DATA[4]=*(uint8_t*)(&iqControl_3)
low byte
DATA[5] Torque current3 control value DATA[5]=*((uint8_t*)(&iqControl_3)+1)
*((uint8_t*)(&iqControl_3)+1)
high byte
DATA[6] Torque current4 control value DATA[6]=*(uint8_t*)(&iqControl_4)
low byte
DATA[7] Torque current4 control value DATA[7]=*((uint8_t*)(&iqControl_4)+1)
int8_t*)(&iqControl_4)+1)
high byte
Identifier:0x140+ID(1-4)
Frame format: DATA
Frame type: standard frame
DLC:8byte
Each motor reply according to the ID from small to large, and the reply data of each motor is the same as the
single motor torque closed-loop control command reply data.
Note: We have different coder type from 12bit to 18bit, so the reply encoder value range varies from motor to motor. It
depends on which type you purchased.
26 / 26