In the field of industrial motion control, CANopen has become a standardized communication interface for driving devices due to its open protocol stack and powerful real-time performance. Bonfiglioli has provided CM-CAN communication modules for its ACTION series frequency converters, enabling seamless integration into CANopen networks and compliance with CiA DS402 driver control specifications.
Chapter 1: Hardware Installation and CAN Bus Physical Layer
The CM-CAN module, as a communication expansion component of the frequency converter, needs to be installed in the card slot of the equipment. Proper installation and bus networking are the foundation of stable communication.
1.1 Key points of module assembly
According to the guidelines in Chapter 3 of the manual, the assembly process should follow the following safety steps:
Safe power-off: Before installing the module, it is necessary to ensure that the frequency converter has completely cut off the power supply and that the DC bus capacitor has been fully discharged (at least wait for 3 minutes).
PE spring grounding: The accompanying PE spring needs to be fixed to the inverter body with M4 screws, and then the communication module should be securely connected to the spring with M2 screws. This step realizes the low impedance connection between the CAN cable shielding layer and the equipment ground (PE), which is the key to ensuring EMC performance.
Cover plate treatment: After installation, the pre punched holes on the upper cover plate need to be knocked off to expose the Sub-D 9-pin socket X310.
1.2 CAN Bus Terminal Resistance and Cable Specification
The CAN bus requires terminal resistors to be configured at the first and last nodes of the physical bus (Chapter 4):
Activation method: Implemented through DIP switch S1 on the module (factory default is OFF). External terminals can also be configured in the bus connection plug.
Key Warning: Terminal resistors are only allowed to be activated at both ends of the bus and can only be terminated using one method (internal DIP or external plug). Configuration errors will directly lead to communication failures.
Definition of socket (DS102 specification): The X310 socket follows the CiA DS102 standard, with Pin 2 (CAN_L) and Pin 7 (CAN_S) as signal lines, Pin 3 and Pin 6 as CAN_SND, and the housing connected to PE.
Cable requirements: A twisted pair cable with a braided shielding layer must be used, and the shielding layer must be grounded with a large area and low impedance at both ends.
Chapter 2: CANopen Protocol Stack and Communication Objects (DS301)
The CANopen protocol of the CM-CAN module is based on the CiA DS301 (V4.01) standard, and its object dictionary is the core for understanding all communication functions.
2.1 Node Address and Baud Rate Setting
Node ID (CAN Node Number 387) (Chapter 6): Value range 0~127. Note: Node ID=0 (factory default) indicates that the CANopen interface is disabled. After setting a valid address, the frequency converter will automatically reset to apply the new address.
Baud rate (CAN Baud rate 385) (Chapter 5): The baud rate of all nodes must be consistent, which determines the maximum bus length:
50 kbps → 1000 meters
250 kbps → 250 meters
1000 kbps → 25 meters
2.2 Core Communication Object (0x1nn)
CM-CAN implements the core communication object defined by DS301 (Chapter 8.1):
0x1000/0 Device Type: Report that the device follows the DS402 driver specification (device type 402).
0x1001/0 Error Register: A bit encoded error status register, where Bit 4 indicates a communication error.
0x100C/0 protection time&0x100D/0 lifecycle factor: cooperate to achieve node guarding function.
0x1016/n Consumer heartbeat time: Supports monitoring up to 3 heartbeat producers. The numerical encoding is: the high 16 bits are the heartbeat time (ms), and the low 16 bits are the node ID.
0x1017/0 Producer heartbeat time: Set the interval for this node to send heartbeat messages. Set to 0 to disable heartbeat.
0x1018/n Identity object: Contains vendor ID (0x000000D5, VECTRON Elektronik GmbH).
2.3 The principle of choosing between heartbeat and node protection
Key Warning (Chapter 2): DS301 V4.01 supports two monitoring mechanisms: Guarding and Heartbeat, but only one can be selected. Mixing two mechanisms will lead to unpredictable network behavior.
Chapter 3: Process Data (PDO) and Service Data (SDO) Channels
3.1 PDO Mapping and Transport Types
CM-CAN implements two receive PDOs and two send PDOs by default (Chapter 8.2.1), both following the DS402 specification:
RxPDO1 (index 0x1400):
Mapping object: 0x6040 Control Word
Used to send control commands.
RxPDO2 (index 0x1401):
Mapping Object: 0x6040 Control Word+0x6042 Target Velocity
Sending control words and speed setpoint simultaneously within a single frame is more efficient.
TxPDO1 (index 0x1800):
Mapping object: 0x6041 Status Word
Default event triggering (sent when the status word changes).
TxPDO2 (index 0x1801):
Mapping object: 0x6041 status word+0x6044 control value (Control Effort, i.e. actual speed)
It has inhibition time (default 50ms) and event time (default 1000ms).
3.2 SDO channel (index 0x1200)
SDO (Service Data Object) is used for parameterized read and write (Chapter 8.2.2):
Rx-SDO ID = 1536 + Node-ID
Tx-SDO ID = 1408 + Node-ID
Support SDO Expedited Transfer protocol for reading and writing int/uunt/long type parameters.
3.3 Manufacturer Objects (0x2000/n and 0x2nnn)
CM-CAN provides two methods for accessing internal parameters of frequency converters through SDO (Sections 8.6 and 8.7):
Method 1: Object 0x2000/n (Universal Parameter Channel)
Subindex 1: int/uunt parameter (data length 6 bytes)
Subindex 2: long parameter (data length 8 bytes)
Subindex 3: string parameter (data length 36 bytes)
Access process: First, SDO writes the parameter number and dataset (format: parameter number+dataset × 1000), and then SDO reads the parameter values. The response includes ACK/NAK status and error codes.
Method 2: Direct Index Mapping (0x2nnn)
Index=Parameter Number+0x2000
Subindex=Dataset Number (0-9, where 5-9 corresponds to RAM writes to avoid EEPROM burning)
This method is more concise and efficient, supports Expedited SDO transmission, and is recommended for periodic parameter reading and writing.

Chapter 4: DS402 Speed Mode Object and Drive Control
The core capability of CM-CAN lies in supporting the Velocity Mode of CiA DS402 and providing standardized drive control interfaces.
4.1 Control Words and State Machines (0x6040/0x6041)
The bit definition of the control word (0x6040) follows DS402 (Chapter 8.4.3):
Bit 0:Switch On
Bit 1:Enable Voltage
Bit 2:Quick Stop
Bit 3:Enable Operation
Bit 7:Reset Fault
Standard startup sequence:
0x06 (Shutdown) → Enter "Ready to Switch On"
0x07 (Switch On) → Enter "Switched On"
0x0F (Enable Operation) → Enter "Operation Enabled" to enable the motor to operate.
The status word (0x6041) provides feedback on the current device status (Chapter 8.4.4), including key status bits such as "Ready to Switch On", "Switched On", "Operation Enabled", "Fault", etc.
4.2 Speed Control Object (0x6042/0x6044)
Target speed (0x6042): 16 bit integer, unit RPM. The frequency converter combines the pole logarithmic object (0x604D) to convert it into an internal frequency value (Hz).
Control value (0x6044): 16 bit integer, unit RPM, feedback actual speed.
Pole Count (0x604D): An 8-bit integer representing the number of poles of the motor (not pole count). For example, a 4-pole motor (2-pole) should be set to 4.
4.3 Acceleration and deceleration objects (0x6048/0x6049)
Speed acceleration (0x6048): Subindex 1=Delta Speed (RPM), Subindex 2=Delta Time (seconds). Define the acceleration slope (RPM/s) through these two values.
Speed deceleration (0x6049): As above, define the deceleration slope.
Note: Delta Time defaults to 1 second after reset, and modifying Delta Speed can change the acceleration/deceleration slope.
4.4 Speed Limiting Object (0x6046)
Subindex 1=Velocity Min Amount
Subindex 2=Velocity Max Amount
The given speed will be limited within this range. The minimum speed value is reset to 0 after resetting.
Chapter 5: Bus Fault Response and Diagnosis
5.1 Bus Fault Behavior Configuration
Parameter CAN Error Behavior 388 (object 0x6007/0) defines the behavior when a bus fault occurs (Chapter 7):
0: No response, maintain current operating status.
1: Report an error and switch to the fault state (Error).
2: Perform a switch off action and park on a normal slope.
3: Execute Quick stop and quickly stop the vehicle by pressing the emergency stop ramp.
Fault code mapping (Chapter 8.3.2):
F2021: CAN Bus OFF (controller offline)
F2022: Guarding fault (Node protection timeout)
F23nn: Heartbeat fault (nn is the address of the node that lost heartbeat)
5.2 Emergency Message
When a fault occurs, the frequency converter automatically sends an emergency message with an identifier of 128+Node-ID. The 8-byte data contains the error code and internal error information (Chapter 8.1.12). After the fault is eliminated, the device will send an emergency message with zero data content to indicate that normal operation has been restored.
