AKD ® Servo driver CANopen communication
CANopen Communication Fundamentals and Hardware Configuration
(1) CAN Bus hardware interface and settings
Interface definition: Two 6-pin RJ-12 terminals, X12 (CAN input) and X13 (CAN output), are used, with clear pin functions. Pin3 is CANH, Pin4 is CANL, Pin2 is shielding layer, Pin5 is GND, and Pin1 and Pin6 are used to activate the built-in 132 Ω terminal resistor (only devices at both ends of the bus need to be enabled).
Key parameter configuration
Baud rate: Supports fixed baud rates of 125/250/500/1000 kBit/s and automatic detection mode, set through parameter FBUS.PARAM01 or the driver front panel rotary switch (S1=9, S2 corresponds to 0-4). The automatic detection mode requires the driver to listen to valid CAN frames on the bus and match the bit time.
Node address: Set by the S1 (MSB) and S2 (LSB) rotary switches on the front panel of the driver, with an address range of 1-127, and associated with the IP address (such as S1=4, S2=5 corresponding to CAN address 45, IP address 192.168.0.45), which can be separated from the rotary switch configuration through WorkBench.
Terminal resistor: The AKD at both ends of the bus needs to activate the built-in terminal resistor, which can be short circuited to X13 terminals Pin1 and Pin6 using an optional terminal plug (P-AKD-CAN-TERM). Non terminal devices need to disconnect the terminal resistor to avoid signal reflection.
Cable requirements: Shielded twisted pair cables with characteristic impedance of 100-120 Ω must be used, and the maximum cable length varies with the baud rate (10m at 1000 kBit/s, 70m at 500 kBit/s, 115m at 250 kBit/s). The cable capacitance must be ≤ 60 nF/km, the lead loop resistance must be ≤ 159.8 Ω/km, and the shielding layer must be reliably grounded to ensure EMC performance.
(2) CANopen core communication protocol
Communication Object (COB): CANopen communication is based on an 11 bit COB-ID to identify the communication object, with priority determined by the ID. The core objects include:
Network Management Object (NMT): COB-ID=0, used for node start/stop, communication reset (such as resetting nodes with cs=129, starting nodes with cs=1).
Synchronization Object (SYNC): The default COB-ID is 0x80, providing a periodic clock for the bus and supporting multi axis synchronous motion. COB-ID can be modified through object 1005h, and the communication cycle period (in μ s) can be defined through object 1006h.
Emergency Object (EMCY): High priority event trigger object, COB-ID=0x80+node address, containing 2-byte error code, 1-byte error register, and 1-byte error category, used to report drive failures (such as overvoltage and overcurrent).
Service Data Object (SDO): Used to access object dictionaries, supports parameter reading and writing (such as downloading motor parameters and reading fault history through SDO), uses acknowledgment communication, and includes protocols such as initiating download/upload, segment transfer, and terminating transfer.
Process Data Object (PDO): used for real-time data interaction, divided into receiving PDO (RXPDO, master station → driver, such as control word, target speed) and transmitting PDO (TXPDO, driver → master station, such as status word, actual position), supporting three transmission methods: event triggered, time triggered, and synchronous triggered.
Data types: Define unsigned integers (UNSIGNED8/16/32, etc.), signed integers (INTEGER 8/16/32, etc.), mixed data types (STRUCT/ARRAY), and extended data types (OCTET_STRING/VIIBLE_STRING), with transmission using "low order first" (Intel format) to ensure multi device data compatibility.
Object Dictionary and Core Function Configuration
(1) Object Dictionary Classification and Key Objects
The object dictionary is the core of CANopen communication, which is divided into DS301 standard objects (1000h-1FFFh), manufacturer specific objects (2000h-3FFFh), and DS402 driver sub protocol objects (6000h-6FFFh) according to their functions. The key objects are as follows:
DS301 standard object
1000h (device type): Identify the device as a servo drive (DS402 sub protocol), default value 0x00020192, read-only.
1001h (Error Register): A 1-byte register, where bit 0 represents a general error, bit 1 represents a current error, bit 2 represents a voltage error, and bit 3 represents a temperature error, used to quickly locate the type of fault.
1003h (predefined error field): Array type, stores the last 10 emergency error records, Subindex 0 represents the number of errors, Subindex 1-10 stores specific error codes.
1400h-1403h (RXPDO communication parameters): Define the COB-ID (default 0x200+node address, etc.) and transmission type (such as 0xFF for event triggering) of RXPDO.
1600h-1603h (RXPDO mapping parameters): Configure RXPDO data content, default RXPDO1 mapping control word (6040h), customizable mapping target position (607Ah), target velocity (60FFh), etc.
1800h-1803h (TXPDO communication parameters): Define the COB-ID of TXPDO (default 0x180+node address, etc.), disable time (to avoid bus overload), and event timer.
1A00h-1A03h (TXPDO mapping parameters): Configure TXPDO data content, default TXPDO1 mapping status word (6041h), customizable mapping actual position (6064h), actual speed (606Ch), etc.
email:1583694102@qq.com
wang@kongjiangauto.com