+086-15305925923

K-WANG

Service expert in industrial control field!
NameDescriptionContent
Adequate Inventory, Timely Service
pursuit of excellence 
Ship control system
Equipment control system
Power monitoring system
Current position:
新闻动态
newS
   
Brand

AKD ® Servo driver CANopen communication

From: | Author:Wang | Time :2025-08-25 | 112 visit: | Share:

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.

DS402 driver sub protocol object

6040h (control word): 16 bit control word, bit 0 controls "on/off", bit 2 controls "quick stop", bit 3 controls "operation enable", bit 7 controls "fault reset", used to drive state machine switching.

6041h (Status Word): A 16 bit status word, with bit 0 indicating "ready to start", bit 1 indicating "on", bit 2 indicating "operation enabled", and bit 3 indicating "fault", used to provide feedback on the current status of the driver.

6060h (Operation Mode): Set the driver operation mode, supporting trajectory position mode (01h), trajectory speed mode (03h), trajectory torque mode (04h), zero calibration mode (06h), interpolation position mode (07h), etc., and switch modes when the motor is at zero speed.

607Ah (target position): a 32-bit integer, the target position setting value in trajectory position mode, supports absolute/relative position control, and the unit is defined by the gear ratio (6091h) and feed in constant (6092h).

6064h (actual position value): 32-bit integer, feedback driver actual position, resolution can be adjusted through object 608Fh (position encoder resolution).

6098h (zeroing method): an 8-bit integer, defining the zeroing method (such as -7 for negative direction zeroing input and feedback zeroing, 8 for positive direction reference switch zeroing), which needs to be used in conjunction with zeroing velocity (6099h) and zeroing acceleration (609Ah).

Manufacturer specific object

2001h (System Fault): Array type, storing the last 10 system fault numbers, Subindex 1-10 corresponds to DRV.FAULTRA1-DRV.FAULTRA10, read-only.

2011h (DRV. RUNTIME): A 32-bit unsigned integer that records drive runtime in seconds and is read-only.

20A4h (Latch Control Register): A 16 bit register that controls the monitoring enable of the latch (such as bit 0 enabling the rising edge of external latch 1) and supports position capture function.

345Ah (brake control): array type, Subindex 1 controls the brake command (0=hold brake, 1=release), Subindex 2 provides feedback on the brake status, supports direct control of the brake via fieldbus, and it should be noted that in case of a fault, the driver will take over the brake logic again.


(2) Example of Core Function Configuration

PDO configuration: Taking "controlling motor speed through PDO" as an example, it is necessary to first disable unused PDO to reduce bus load, then configure RXPDO to map target speed (60FFh), TXPDO to map actual speed (606Ch), and finally enable PDO and set synchronous triggering mode (such as transmitting PDO once every SYNC message received).

Zeroing configuration: Write the zeroing method (6098h=-7), zeroing speed (6099h Sub1=10000 counts/s), zeroing acceleration (609Ah=1000 counts/s ²) through SDO, and then trigger the zeroing operation through the control word (6040h). After zeroing is completed, set the status word (6041h) bit 12 to 1 to indicate successful zeroing.

Trajectory position control: Set the operation mode to Trajectory position mode (6060h=01h), write the target position (607Ah), trajectory velocity (6081h), and trajectory acceleration (6083h) through RXPDO, trigger control word bit 4 to start motion, and TXPDO provides real-time feedback on the actual position (6064h) and motion status.

Fault handling and emergency messages

(1) Emergency error codes and fault classification

The manual provides a detailed list of error codes corresponding to CANopen emergency messages, covering categories such as hardware failures, power failures, motor/feedback failures, communication failures, etc. Typical codes are as follows:

Error code, fault type description, remedial measures

0x3210 Power failure F501 DC bus overvoltage reduces load deceleration rate, check regeneration resistor connection

0x3220 power failure F502 DC bus undervoltage check input power stability, troubleshooting loose wiring

0x4310 Temperature Fault F235 Drive Heat Sink Overheats, Clean Heat Dissipation Channel, Check Fan Operation Status, Reduce Load

0x7380 Feedback Fault F402 Feedback 1 Analog Signal Amplitude Fault Check Feedback Cable Wiring, Replace Feedback Equipment

0x8480 Motor Fault F302 Motor Overspeed Increase Speed Threshold (VL.THRESH), Optimize Speed Loop Parameters

0xFF02 current fault F529 exceeds Iu current offset limit check current sensor, recalibrate current loop

(2) Troubleshooting process

Identify fault codes: Obtain error codes by reading the DRV.FAULTRAS command through the driver panel (dual 7-segment screen displaying "F+code", such as F501), LED indicator light (red flashing=fault), or WorkBench software.

Identify the cause of the fault: According to the "CANopen Emergency Messages and Error Codes" section of the manual, match the fault type corresponding to the code (such as power supply, feedback, temperature), and investigate the hardware wiring, parameter configuration, and environmental conditions (such as temperature and load).

Implement remedial measures:

Wiring faults (such as feedback disconnection): After power failure, unplug the cable and confirm the pin correspondence (refer to the attached wiring diagram).

Parameter type faults (such as bus overvoltage): Adjust parameters through SDO (such as reducing deceleration rate), save and restart the drive.

Hardware faults (such as power level faults): If restarting is ineffective, contact technical support to return to the factory for repair.

Clear fault: Clear the fault by controlling bit 7 (fault reset) or DRV.CLRFAULTS command, confirm that the fault is eliminated, and then re enable the drive.


  • Kollmorgen S33GNNA-RNNM-00 - Brushless Servo Motor
  • Kollmorgen 6sm56-s3000-g-s3-1325 - Servo Motor
  • Kollmorgen AKM52K-CCCN2-00 - Servo Motor
  • Kollmorgen PSR3-230/75-21-202 - Power Supply
  • Kollmorgen akm24d-anc2r-00 - Servo Motor
  • Kollmorgen AKM22E-ANCNR-00 - Servo Motor
  • Kollmorgen S60300-550 - Servo Drive
  • Kollmorgen B-204-B-21 - Servomotor
  • Kollmorgen AKM21E-BNBN1-00 - Servo Motor
  • Kollmorgen TT2953-1010-B - DC Servo Motor
  • Kollmorgen pa8500 - Servo Power Supply
  • Kollmorgen BDS4A-210J-0001-207C2 - Servo Drive
  • Kollmorgen TTRB1-4234-3064-AA - DC Servo Motor
  • Kollmorgen MH-827-A-43 - Servo Motor
  • Kollmorgen AKM24D-ACBNR-OO - Servo Motor
  • Kollmorgen 00-01207-002 - Servo Disk DC Motor
  • Kollmorgen AKM21C-ANBNAB-00 - Servo Motor
  • Kollmorgen PSR3-208/50-01-003 - Power Supply
  • Kollmorgen 6SM56-S3000 - Servo Motor
  • Kollmorgen DBL3H00130-B3M-000-S40 - Servo Motor
  • Kollmorgen 6SN37L-4000 - Servo Motor
  • Kollmorgen AKM65K-ACCNR-00 - Servo motor
  • Kollmorgen 6SM56-L3000-G - Servo Motor
  • Kollmorgen AKMH43H-CCCNRE5K - Servo Motor
  • Kollmorgen PSR4/52858300 - Power Supply
  • Kollmorgen KBM-79H03-E03 - Direct Drive Rotary Motor
  • Kollmorgen AKM33E-ANCNDA00 - Servo Motor
  • Kollmorgen U9M4/9FA4T/M23 - ServoDisc DC Motor
  • Kollmorgen AKM13C-ANCNR-00 - Servo Motor
  • Kollmorgen AKM43L-ACD2CA00 - Servo Motor
  • Kollmorgen AKM54K-CCCN2-00 - Servo Motor
  • Kollmorgen M-605-B-B1-B3 - Servo Motor
  • Kollmorgen AKD-P00606-NBAN-0000 - Rotary Drive
  • Kollmorgen 6SM-37M-6.000 - Servo Motor
  • Kollmorgen A.F.031.5 - Sercos Interface Board
  • Kollmorgen 918974 5054 - Servo PWM
  • Kollmorgen U12M4 - ServoDisc DC Motor
  • Kollmorgen AKD-B00606-NBAN-0000 - Servo Drive
  • Kollmorgen MV65WKS-CE310/22PB - Servo Drive
  • Kollmorgen 65WKS-CE310/22PB - Servo Drive
  • Kollmorgen EM10-27 - Module
  • Kollmorgen S64001 - Servo Drive
  • Kollmorgen CR03200-000000 - Servo Drive
  • Kollmorgen 6SM57M-3000+G - Servo Motor
  • Kollmorgen BDS4 - Servo Drive
  • Kollmorgen AKD-P00306-NBEC-000 - Servo Drive
  • Kollmorgen AKD-B01206-NBAN-0000 - Servo Drive
  • Kollmorgen STP-57D301 - Stepper Motor
  • Kollmorgen 6SM37L-4.000 - Servo Motor
  • Kollmorgen 44-10193-001 - Circuit Board
  • Kollmorgen PRDR9SP24SHA-12 - Board
  • Kollmorgen PRD-AMPE25EA-00 - Servo Drive
  • Kollmorgen DBL3N00130-0R2-000-S40 - Servo Motor
  • Kollmorgen S406BA-SE - Servo Drive
  • Kollmorgen AKD-P00607-NBEI-0000 - Servo Drive
  • Kollmorgen AKD-P01207-NBEC-0000 - Servo Drive
  • Kollmorgen CR03550 - Servo Drive
  • Kollmorgen VSA24-0012/1804J-20-042E - Servo Drive
  • Kollmorgen N2-AKM23D-B2C-10L-5B-4-MF1-FT1E-C0 - Actuator
  • Kollmorgen 04S-M60/12-PB - Servo Drive
  • Kollmorgen H33NLHP-LNW-NS50 - Stepper Motor
  • Kollmorgen A-78771 - Interlock Board
  • Kollmorgen AKM43E-SSSSS-06 - Servo Motor
  • Kollmorgen AKD-P00607-NBEC-0000 - Servo Drive
  • Kollmorgen E21NCHT-LNN-NS-00 - Stepper Motor
  • Kollmorgen cr10704 - Servo Drive
  • Kollmorgen d101a-93-1215-001 - Motor
  • Kollmorgen BDS4A-203J-0001-EB202B21P - Servo Drive
  • Kollmorgen MCSS23-6432-002 - Connector
  • Kollmorgen AKD-P01207-NACC-D065 - Servo Drive
  • Kollmorgen CK-S200-IP-AC-TB - I/O Adapter and Connector
  • Kollmorgen CR10260 - Servo Drive
  • Kollmorgen EC3-AKM42G-C2R-70-04A-200-MP2-FC2-C0 - Actuator
  • Kollmorgen BDS5A-206-01010-205B2-030 - Servo Drive
  • Kollmorgen s2350-vts - Servo Drive
  • Kollmorgen AKM24D-ANC2DB-00 - Servo Motor
  • Kollmorgen E31NCHT-LNN-NS-01 - Stepper Motor
  • Kollmorgen PRD-0051AMPF-Y0 - Servo Board
  • Kollmorgen TB03500 - Module
  • Kollmorgen 60WKS-M240/06-PB - Servo Drive
  • Kollmorgen M21NRXC-LNN-NS-00 - Stepper Motor
  • Kollmorgen H-344H-0212 - Servo Motor
  • Kollmorgen MCSS08-3232-001 - Connector
  • Kollmorgen AKM33H-ANCNC-00 - Servo Motor
  • Kollmorgen PA-2800 - Power Supply
  • Kollmorgen MTC308C1-R1C1 - Servo Motor
  • Kollmorgen PRDR0091300Z-00 - Capacitor Board
  • Kollmorgen BDS4A-206J-0024/01502D79 - Servo Drive
  • Kollmorgen S20330-VTS - Servo Drive
  • Kollmorgen S20250-CNS - Servo Drive
  • Kollmorgen SBD2-20-1105-WO - Servo Drive Board
  • Kollmorgen M405-C-A1--E1 - Servo Motor
  • Kollmorgen PRD-PB805EDD-00 - Servo Drive
  • Kollmorgen 6SM57S-3.000-J-09-HA-IN - Servo Motor
  • Kollmorgen AKM33H-ANCNDA-00 - Servo Motor
  • Kollmorgen PCB-00030200-04 - PCB
  • Kollmorgen H22SSLB-LNN-NS-02 - Stepper Motor
  • Kollmorgen BJRL-20012-110001 - Module
  • Kollmorgen BDS4A-206J-0001404A - Servo Drive
  • Kollmorgen H-342-H-0802 - Servo Motor
  • Kollmorgen CR10561 - Servo Drive
  • Kollmorgen BDS5A-206-00010-205B2-030 - Servo Drive
  • Kollmorgen BDS5A-206-00010-207B-2-030 - Servo Drive
  • Kollmorgen mcss08-3224-001 - Connector
  • Kollmorgen M-207-B-23-B3 - Servo Motor
  • Kollmorgen PRD-0041200Z-S0 - Encoder/Resolver Card
  • Kollmorgen MH-225-G-61 - Motor
  • Kollmorgen MT308B1-T1C1 - Servo Motor
  • Kollmorgen BDS4A-240J-0001604C83 - Servo Drive
  • Kollmorgen 6SM57-S-3000 - Servo Motor
  • Kollmorgen N-T31V-15-5B-6-MF3-FT1E-C251 - Actuator
  • Kollmorgen PRD-0051AMPA-X0 - Servo Board
  • Kollmorgen CF-SS-RHGE-09 - Cable
  • Kollmorgen DIGIFAS7204 - Servo Drive
  • Kollmorgen S30101-NA - Servo Drive
  • Kollmorgen DIGIFAS7201 - Servo Drive
  • Kollmorgen PRD-0051AMPA-Y0 - Servo Board
  • Kollmorgen AKM23D-EFCNC-00 - Servo Motor
  • Kollmorgen SE10000 - Servo Drive
  • Kollmorgen PSR4/5A-112-0400 - Power Supply
  • Kollmorgen AKM31H-ANCNC-01 - Servo Motor
  • Kollmorgen M-203-B-93-027 - Servo Motor
  • Kollmorgen CP-SS-G1HE-05 - Connector
  • Kollmorgen AKM42G-ASCNR-02 - Servo Motor
  • Kollmorgen DBL4N00750-B3M-000-S40 - Servo Motor
  • Kollmorgen R3-BK23-152B-12-PL-ASE-BS115 - Actuator
  • Kollmorgen MH-427-B-61 - Motor
  • Kollmorgen cr06902 - Servo Drive