Kinco MD Series User Manual200325
Kinco MD Series User Manual200325
Kinco MD Series User Manual200325
Motor
en.kinco.cn
PrefaceProduct Acceptance
If there is any problem with any of the above, please contact our
company or your supplier to solve it.
1
前言
2
目录
Catalog
THE ACCESSORIES OF KINCO EVERY SERIES & DIFFERENT TYPES DRIVERS ARE DIFFERENT. WE
2.1.5 Precautions..................................................................................................................................................... 6
1
目录
4.6 SCOPE..................................................................................................................................................................... 29
DURING OPERATION, IF PERFORMANCE DOES NOT MEET THE REQUIREMENT OR ANY OTHER UNEXPECTED
BEHAVIOUR OCCURS, IT’S HIGHLY ADVISABLE TO USE THE SCOPE FUNCTION TO DO THE ANALYSIS............................. 29
2
目录
8.11 SAVE(0X2FF0)..................................................................................................................................................74
8.13 STOP..................................................................................................................................................................... 75
CHAPTER 9 RS232............................................................................................................................................................77
CHAPTER 11 CANOPEN................................................................................................................................................... 90
3
目录
4
第一章 系统配置和型号说明
Tm(Nm)
Brake chopper Via wiring an external braking resistor(mainly in quick start and stop
application)
Brake Built-in brake power supply 24V maximum Built-in brake power
current 1 A
1
第一章 系统配置和型号说明
CAN BUS Support maximum 1MHz baudrate. Communicate with controller via
CANopen protocol
note2:■=A:without brake
=B:brake
note3:★=L:Communication portRS232、RS485
=C:Communication portRS232、CANopen
=E:Communication portRS232、EtherCAT
2
第一章 系统配置和型号说明
3
第 2 章 系统安装要求与注意事项
Please ensure this menu can be provided for design engineer, operators and staffs (or machine)
who is responsible to adjust and use this product
Please ensure to follow requirements of this file all the time. And consider other accessory and
module's file
Please consider destination's law, and:
—regulations and standards
—test organization and insurance company's regulation
—national specifications
Please ensure product do not overburn during the process of transportation and saving,
including:
—Mechanical load
—non-allowed temperature
—Water
—Corrosive gas
Please use original package to save and transport. Original package provide efficient
protection so as to avoid influence of general issues
Must follow:
Specified connection and environment condition in product technology data and all of other
connecting accessory's technology requirements. As long as product specification
requirements are conformed, users are allowed to operate according to related safety
regulations.
Please follow instructions and alerts in this product
This product must be operated by electrical engineers who are familiar with instructions below:
4
第 2 章 系统安装要求与注意事项
Environment Requirement
Assembly requirement Indoors without sunlight, corrosive gas, non-flammable gas, no dust.
Altitude Less than 2000 m, power derating between 1000m and 2000m
Vibration Less than 5.9m/s2, 10〜60Hz (not to be used at the resonance point)
5
第 2 章 系统安装要求与注意事项
2.1.5 Precautions
Item Description
Stain
Please wipe anti-rust agent on the motor's shaft and then make some anti-rust treatments.
proofing
Improper installation method will cause damage of motor's encoder. Please note the following
during the installation process:
● When operators installation pulleys on the servo motor shaft with key, it is necessary to use
screw hole. In order to install pulleys, operators need to insert double-headed nail into screw
holes and use washers on the surface of coupled end. Then use nuts to fix into pulleys gradually.
Installation
● For servo motor shaft with keys, Operator need to use screw hole on the shaft to install. For
method
motors shaft with no key, operators need to use friction coupling or other analogous methods.
● When operators need to disassemble pulleys, operators need to use pulley remover so as to
make shaft avoid strong impact of load.
● In order to make it more safe, it is necessary to install protection cover or some analogous
equipment in rotation area. For example, pulleys installed on the shaft.
●When it is connected with machine, please use coupling and make shaft center of servo motor
and machine stay in a line. When operators install servo motors, please achieve requirements of
Centering
centering accuracy. If centering is not accurate, there will be shock and sometimes it will make
bearings and encoders.
Installation
● Servo motors can be installed in vertical or horizontal direction.
direction
When it is used in the occasion with drops, please use after make sure protection level of servo.
When oil will drop into shaft penetrating part (beside shaft penetrating part, please choose servo
motors with oil seal. The using condition of servo motors with oil seal:
Oil & water
● Make sure the oil level is lower than month of oil seal.
solution
● Please use when oil seal make sure that oil splash degree is good.
● When servo motors are installed in vertical upward direction, please avoid oil accumulating in
the month of oil seal.
The bearing of the motor has double flour dustproof effect. Assembling oil seal will increase t
6
第 2 章 系统安装要求与注意事项
he loss of the motor and lead to the decrease of motor efficiency. If it is not necessary to install oi
l seal, it is not recommended to install oil seal. Before assembling the oil seal, please ensure that t
he mounting hole groove and the oil seal are free of debris, oil stain, dust, etc. During assembly, p
lease fill the oil seal The Lips with high-temperature grease (Greatwall HR12 and grease with temp
erature resistance of 150 degrees are recommended) so as to enhance the lubrication and temper
ature resistance performance and increase the sealing waterproof effect of the oil seal. When payi
ng attention to water and oil prevention, the oil seal is installed outward from the side of the self-
tightening spring (i.e. the side with groove). Please refer to the following steps to correctly install
the oil seal.
1. Apply high-temperature lubricating grease evenly on the sealing ring of the oil seal lip.
2.Turn the side of the oil seal with groove outward to ensure that the oil seal is perpendicular
to the machine shaft, and push the oil seal into the cavity with uniform force application.
3.After successfully installing, check whether the oil seal is inclined. The oil seal needs to be at
tached to the motor bearing cover. The lip of the oil seal needs to be completely closed to en
sure the tightness of the oil seal.
note
Please operate and install the servo system strictly in accordance with the
requirements of this manual. it can help you to set up and operate the driver
correctly and make the driver perform optimally.
7
第 2 章 系统安装要求与注意事项
8
第 2 章 系统安装要求与注意事项
9
第 2 章 系统安装要求与注意事项
10
第 2 章 系统安装要求与注意事项
11
第 2 章 系统安装要求与注意事项
12
第 3 章 系统接口与配线
13
第 3 章 系统接口与配线
Note:
The interface definition for different power products in MD series is the same, with
MD60(200W) as an example in figure. 3-1 and figure 3-2
Fuses should be selected according to table 3-1. please refer to the appendix for brake
resistance specification recommendations.
14
第 3 章 系统接口与配线
15
第 3 章 系统接口与配线
3 DIR+ :3.3V~24V
Maximum frequency
4 DIR-
:500KHz
5 OUT1+ Digital signal output
6 OUT2+ Maximum output current
:100mA
7 COMI Input common terminal
10 IN3 :12.5VDC~30VDC
note
Please refer to appendix 4 for wire gauges and wire making methods of X1, X2 and X3
terminals.
The above figure shows the definition of the interface on the driver side, not the
communication cable. Please be careful to avoid the wrong welding line.
16
第 3 章 系统接口与配线
note
Figure 3-5 shows the wiring with default IO function. More IO functions can be
defined by the Kinco servo software. For more details on IO functions, please
refer to the relevant sections.
For digital output, Figure 3-2 only shows NPN connection, and Figure 3-3
shows PNP connection
17
第 3 章 系统接口与配线
表 3-5 X5 接口定义
note
Please use the power cable with shielding layer, twist and fold the wire core into
bundles and insert it into the crimping terminal. After the cable is connected,
pull the cable to confirm that the wire is firmly connected with the terminal, and
there is no flying wire or touching wire on the adjacent cable.
The bending radius of the cable shall be more than 10 times of the outer
diameter of the cable itself, and frequent bending of the cable shall be avoided.
18
第 3 章 系统接口与配线
note
Integrated servo system factory default SW1 is ON, other dial codes are OFF
Pin
Pin function
name
PWR The driver has been POWERed on, and the power lamp is always
on.
RUN When the drive is ready, it is always on and associated with out3.
19
第 3 章 系统接口与配线
note
In the software, out3 defines drive readiness by default and out4 defines drive
failure by default. When the RUN and ERR lights do not illuminate, please check
whether the default definition has been modified.
20
Chapter 4 KincoServo software introduction
This chapter will introduce how to use KincoServo software adjust and configure servo driver.
Language can be switched between English and Chinese via menu item Tools->Language.
Create a new project file via menu item File->New, or by clicking the button.
Open an existing project via menu item File->Open, or by clicking the button and selecting
a .kpjt file.
Save a project via menu item File->Save, or by clicking the button and saving as a .kpjt file.
21
Note
Only the windows (object list, scope etc.) are saved-parameters in the controller
can’t be saved in this way.
Select the right COM port (if it’s not shown click the “Refresh” button), baud rate and COM
ID (Node ID), and then click the "OPEN” button.
Once communication has been established with the controller, communication can be opened
or closed by clicking the button.
If more than one controller is being used in an application, you may need different node ID for
different controllers in order to distinguish among them.
The controller’s Node ID can be changed via menu item Controller->Controller Property.
Internal address Type Name Value Unit
100B0008 Usigned8 Node ID DEC
2FE00010 Usigned16 RS232 baud rate Baud
Note
Node ID and baud rate setting are not activated until after saving and rebooting.
Open any window with an object list, move the mouse pointer to the object item and right click.
The following selection window appears:
22
Click Add and double click the required object from the Object Dictionary. The selected object
is then added to the list.
Click Delete. The selected object is removed from the list.
Click Help to read a description of the selected object in the Object Dictionary.
A new motor controller is always delivered with the latest firmware version. If the firmware
needs to be updated for any reason, load the new firmware via menu item Controller->Load
Firmware.
23
Figure0–4 Load Firmware
Click Load File to select the firmware file (.servo) and then click Download to start loading
firmware to the controller.
Note
Do not switch off the power or disconnect the RS232 cable during firmware loading. If
the download process is interrupted, first reset controller power. Then select the
firmware file and click the Download button, and finally start RS232 communication.
This function can be used to read / write multiple parameters simultaneously for large
production lots, in order to avoid setting the controller parameters one by one.
24
Click Open List to select a parameter list file (.cdo). The parameter appears in the window. Click
Read Settings from Controller to get the Drive Value and Result, and then click Save to File to
save the settings as a .cdi file.
Note
The .cdo file defines which objects will be read out, but if the object doesn’t exist
in the controller, the result will be “False”(displayed in red).
Click Open File to select a parameter settings file (.cdi). The parameter settings appear in the
window.
Click Write to Controller to get the Check Value and Result. The “False” Result means the
value has not been written successfully, probably because the object doesn’t exist in the controller.
25
Click Save in EEPROM and Reboot to activate all parameters.
Note
Before write setting to driver, please cancel driver enable. If driver is enabled, some
object cannot be written.
Click menu item Controller->Digital IO Functions or click the button. The following
window appears. Function and polarity are shown as defaults here.
Note
FD1X3 support 4 road digital inputs (Din1, Din2, Din3, Din4) and 2 road digital
outputs (Dout1, Dout2).
26
4.5.1 Digital input
Function: Click to select DIN function setting, click to delete the DIN function
setting.
Simulate: Simulates the digital input active hardware signal.
Real: Shows the real digital input hardware status.
Polarity: means Internal is set to 1 by “active” signal. means Internal is set to 1 by
“inactive” signal.
Internal:This is the result of Simulate, Real and Polarity via the logic formula:
Internal=(Real OR Simulate) XOR (NOT Polarity)
means “active”, logic status of the selected function is 1; means “inactive”, logic status
of the selected function is 0.
27
Starts homing. Only makes sense if the controller is enabled. The controller returns to the
Start homing
previous operation mode after homing.
Activate Activates the position command. Controls bit 4 of the Controlword, e.g.
command Controlword=0x2F->0x3F
For safety reasons, Pre_Enable can serve as a signal for indicating whether or not the entire
system is ready.
Pre enable
1: controller can be enabled
0: controller can not be enabled
Note
Relative/Absolute position control select (2020.0F) default setting is 0x2F. For
Control word definition, please refer to Chapter 6.1.
Function: Click to select the OUT function setting. Click to delete the OUT
function setting
Simulate: Simulates the digital output function logic status 1.
Real: Shows the real digital input hardware status. This is the result of Simulate, Polarity
and Logic State, means that digital input is ON, means that digital input is OFF.
Polarity: Inverts the logic status of the digital output function.
1 means Real physical digital output is set to ON by digital output function logic
status 1
0 means Real physical digital output is set to ON by digital output function logic
status 0
Real: This is the result of Simulate, Polarity and real input.
activate, logic state of corresponding function is 1.
deactivate, logic state of corresponding function is 0.
28
|Speed_1ms(60F9.1A)|<=Zero_Speed_Window(2010.18) and
Zero Speed
duration >=Zero_Speed_Time(60F9.14)
Signal for controlling the motor brake. By this signal an external relay can be controlled, by
Motor brake
which the motor brake is controlled. (see chapter 3.2.4).
Encoder position is inside a range around the index position. This range is defined by
Enc Index
Index_Window(2030.00).
4.6 Scope
During operation, if performance does not meet the requirement or any other unexpected
behaviour occurs, it’s highly advisable to use the scope function to do the analysis.
29
Sample time:The period of data collection, set to 1, means one data is collected every
62.5us.
Samples :Indicates how many data were collected in this sampling. Setting to 500
indicates that 500 data were collected.
Trig offset: Number of samples before the trigger event occurs.
Trigger source and trigger level: The trigger condition is set in fig. 4-10 to start data
acquisition when the effective target current q rises to 100DEC, DEC is the internal unit and can
be switched to current unit.
Trigger edge:The display is a rising edge trigger and can be changed to a falling edge
trigger after clicking.
Object: Maximum 64-bit length data can be taken in one sample, e.g.: 2 Int32 objects bit
or 4 Int16 objects.
Single: means sample for one trigger event only. means sample
continuously.
Zoom in / zoom out the oscillogram: Hold down the right mouse button, drag the
mouse to the lower right to enlarge the oscillogram, and drag the mouse to the upper left to
reduce the oscillogram.
Cursors: Up to 4 scope cursors can be selected by clicking the respective button: . The
scope cursors appear in the oscillogram. Select a channel in the Sel CH list box.
Move cursor:
Move the mouse pointer to the scope cursor. Press left mouse button and drag the scope
cursor to move it. A sample value and the differences of X1, X2 and Y1, Y2 appear in the
following fields:
30
checked, the scale increase/decrease corresponding to each button will be 10% of the original
value.
Oscilloscope mode:At the top left of the oscilloscope, it will be shown that the
oscilloscope mode is normal or imported.
___Normal: All buttons of oscilloscope are available
___Import: oscillogram is imported from. scope file. in this mode, the start and reread data
buttons are disabled, and you can exit the import mode according to the software prompt.
Error: Click Controller->Error Display or click the button (which turns red if an
error occurs). The Error Display window appears. It shows the last errors.
Error History: Click menu item Controller->Error History. The error history list window
appears. It shows the last 8 errors ’ Error codes and respective the related DCBUS voltage,
speed, current, controller temperature, Operation_Mode, and controller working time at the
moment when the error occurred.
Error_state information:
Bit Error name Error code Description
0 Extended Error Refer to object “Error_State 2”(2602.00)
1 Encoder not connected 0x7331 No communication encoder connected
2 Encoder internal 0x7320 Internal encoder error
3 Encoder CRC 0x7330 Communication with encoder disturbed
4 Controller Temperature 0x4210 Heatsink temperature too high
5 Overvoltage 0x3210 DC bus overvoltage
6 Undervoltage 0x3220 DC bus undervoltage
7 Overcurrent 0x2320 Power stage or motor short circuit
8 Chop Resistor 0x7110 Overload, brake chopper resistor
9 Following Error 0x8611 Max. following error exceeded
10 Low Logic Voltage 0x5112 Logic supply voltage too low
11 Motor or controller IIt 0x2350 Motor or power stage IIt error
12 Overfrequency 0x8A80 Pulse input frequency too high
13 Motor Temperature 0x4310 Motor temperature sensor alarm
14 Encoder information 0x7331 No encoder connected or no encoder communication reply
15 EEPROM data 0x6310 EEPROM checksum fault
Error_state2 information:
31
Bit Error name Error code Description
0 Current sensor 0x5210 Current sensor signal offset or ripple too large
5 Reserved
6 Reserved
7 Reserved
12 Reserved
Closed loop Different direction between motor and position encoder in closed
13 0x8A81
direction loop operation by a second encoder.
14 Reserved
note
Click on the menu bar in the software interface“Help”->“error code”, Error
code description can be opened.
32
Chapter 5 Operation mode
There are 2 kinds of velocity mode: -3 and 3. The velocity command can be specified via
Target_Speed or analog input (analog speed mode), or via digital input (DIN speed mode).
Internal
Type Name Description value
address
-3: The velocity command is specified directly
by Target_Speed. Only the velocity control loop
is active.
Operation
60600020 Integer8 3: The velocity command is specified by -3 and 3
mode
Target_Speed with profile acceleration and
profile deceleration. Velocity- and position
control loops are active
Control 0x0F: Enable the controller ;0x06: Disable the
60400010 Unsigned16 0x0F
word controller
60FF0020 Integer32 Target-speed Target velocity, cannot over motor rated speed User defined
Default as
60810020 Unsigned32 Profile_Acc Active in mode 1 and 3
100rps/s
Default as
60830020 Unsigned.32 Profile_Dcc Active in mode 1 and 3
100rps/s
In software "Basic operation" window, we can find these parameters and set, on the 6th,
7th, 10th, 11th, 12th, respectively.
33
Figure 5-1 “Basic operation” window
First, when using Din speed mode, at least one of Din Vel index 0, Din Vel index 1 and DIN Vel index 2 must be
defined in the I/O configuration as the switching signal of the speed segment.
The DIN speed object window in the PC software can be accessed via menu item
Controller->Control Modes->DIN Speed Mode.
Internal
Type Name Description 设置值
address
34
For example:
I/o configuration windowz:
35
5.1.2 DIN Speed mode
The Din_Speed object window in PC software can be accessed from menu item
Controller->Control Modes->DIN Speed Mode.
To make the DIN Speed Mode available, at least one of the following has to be configured to
DIN: Din Vel Index0, Din Vel Index1, Din Vel Index2.
Internal
Type Name Description Value
address
Example:
I/O configuration:
36
Figure 0–4 IO“DIN speed mode”window
In the torque mode, the CD3 motor controller causes the motor to rotate with a specified
torque value.
Internal
Type Name Description Value
address
Operation_mo
60600008 Integer8 4
de
Target_Torque Target torque, User
60710010 Integer16
% percentage of rated torque define
60400010 Unsigned16 Controlword Enable driver 0x0F
37
5.2 Position mode (1)
In the position mode, the driver causes the motor to rotate to an absolute or relative position.
The position / velocity command is specified via Target_Position / Profile_Speed or via position
table (Position Table Mode)
Internal
Type Name Description Value
address
Operation_
60600008 Integer8 Way of control motor 1
Mode
Target_Pos
607A0020 Integer32 Target absolute / relative position User defined
ition
Profile_Sp
60810020 Unsigned32 Profile speed for positioning User defined
eed
Controlwor Switch from 0x2F to 0x3F:Absolute position; 0x2F->0x3F or
60400010 Unsigned16
d Switch from 0x4F to 0x5F:Relative position 0x4F->0x5F
In the pulse mode, the target velocity command is specified via the pulse input with gear ratio.
Internal
Type Name Description Value
address
6060000
Integer8 Operation_Mode Operation mode -4
8
2508011
Integer16 Gear_Factor[0]
0 User
Gear_ratio=Gear_Factor/Gear_Divider
2508021 Unsigned1 define
Gear_Divider[0]
0 6
6040001 Unsigned1
Controlword Enable driver 0x2F:
0 6
2508030 Pulse train mode
Unsigned 8 PD_CW 0, 1, 2
8 0: CW / CCW
38
1: Pulse / direction
2: A / B (incremental encoder)
2508061 Unsigned1
PD_Filter Pulse filter (ms)
0 6
User
Frequency limit (inc/ms), if pulse count (in 1
2508081 Unsigned1 Frequency_Chec define
ms) is greater than Frequency_Check, over
0 6 k
frequency error occurs.
P/D
CW/CCW
A/B
Note
Forward means positive position counting’s defaulted to the CCW direction. You
can set Invert_Dir(607E.00) to 1 in order to invert the direction of motor shaft
rotation.
39
5.4 Homing mode (6)
For some applications, the system needs to start from the same position every time after
power on. In the homing mode, the user can specify the system ’ s home position and a zero
(starting) position.
Click menu item Controller->Control Modes->Homing definition, and the following window
appears:
Select a home trigger under Homing Trigger. The related items appear in the configuration
area. Select a suitable item according to mechanical design and wiring. The Appropriate
homing_method then appears in the Pre-Set Home Method box. If Disabled is selected under
homing trigger, you enter a number directly to the Pre-Set Home Method field. Click
to set it to the controller.
The corresponding diagram of the Pre-Set Home method appears in the middle area.
40
Table0–10 Homing mode
Internal
Name Type Value Description
address
607C00 User
Home_Offset Integer32 Zero position offset to the home position
20 define
6098000 Homing_Metho User
Integer 8 Way of homing method
8 d define
6099022 Homing_Speed Unsigned2 User Velocity for finding home position and zero
0 _Zero 0 define position
6099030 Homing_Power 1: Start homing after power on or reboot and
Unsigned 8 0,1
8 _On first controller enable
609A00 Homing_Accel Unsigned3 User Profile deceleration and acceleration during
20 aration 2 define homing
6099012 Homing_Speed Unsigned3 User Velocity for searching position limit switch /
0 _Switch 2 define home switch signal
6099041 Homing_Curre User
Integer8 Max. current during homing
0 nt define
0: Go to the homing offset point. The actual
6099050 Home_Offset_ position will be 0.
Unsigned 8 0,1
8 Mode 1: Go to the home trigger point. The actual
position will be -homing offset.
Home blind window
6099060 0: 0rev
Home_N_Blind Unsigned 8 0,1
8 1: 0.25rev
2: 0.5rev
6060000 Operation_Mod
Integer8 6 Operation mode
8 e
6040001 Unsigned1 0x0F->0x
Controlword Enable driver
0 6 1F
41
Note
Homing_Power_On=1 causes the motor to start rotating as soon as the controller is
enabled after power on or reboot. Consider all safety issues before using.
Home_N_Blind:
If the homing_method needs home signal (position limit / home switch) and index signal,
Home_N_Blind function can avoid the homing result being different with the same mechanics,
when the Index signal is very close to the home signal. By setting to 1 before homing, the controller
detects a suitable blind window for homing automatically. It can be used to assure that homing
results are always the same.
During homing, the index signal inside this blind window is ignored after the home signal is
or 2 after homing depending on the index signal position relative to the homing signal.This
parameter needs to be saved. If the mechanical assembly is changed or the motor has been
Homing
_metho Description Schematic
d
42
Homing with home
3
switch and index pulse
43
Homing with positive
position limit switch,
8
home switch and index
pulse
44
Homing with negative
position limit switch,
13
home switch and index
pulse
45
Homing with home
20
switch
46
Homing with positive
position limit switch and
25
home switch
47
Homing with negative
30 position limit switch and
home switch
Homing to actual
35
position
48
Chapter 6 Tuning of the servo system control
Profile generator
Acceleration feedforward
Demand
kvi DCBUS+
filter
Speed demand
Average filter + +
lowpass
Current
+ + +
lowpass
+ + +
+ + PWM
+ + + +
Current loop
- +
+ +
Kvff + - +
Current
K + Kpp Notch filter feedback
∫dt 1 order
∫
vff
+ Lowpas
K 2 order DCBUS-
dt ++
Profile position + s Real speed
pp
- - Observer
Motor
filt
Dx/dt
K-load
dx/dt
er
Actual Feedbac
position k
Figure 6-1 shows the servo system control block diagram. It can be seen from the figure that
the servo system generally includes three control loops: current loop, velocity loop and position
loop.
The adjustment process of a servo system is used to set loop gain and filters to match the
mechanical characteristics, and finally to prevent the entire system from oscillating, to permit it to
follow commands quickly and to eliminate abnormal noise.
49
6.1 Tuning of velocity loop
Internal Defau
Name Description Range
address lt
Proportional velocity loop gain
60F9011 1~3276
Kvp[0] Can be displayed in Hz in the PC tool can if /
0 7
the inertia ratio is right.
60F9021
Kvi[0] Integral velocity loop gain / 0-1023
0
60F9071 Integral velocity loop gain of in a smaller unit
Kvi/32 / 0-32767
0 of measure
Used to set Velocity feedback filter
60F9050
Speed_Fb_N bandwidth 7 0~45
8
Filter bandwidth=100+Speed_Fb_N*20
Used to set the velocity feedback mode
0: 2nd order FB LPF
1: Directly feedback the original velocity
2: Velocity feedback after velocity observer
4: Velocity feedback after 1st order LPF
60F9060 10:Velocity feedback after 2nd order LPF and
Speed_Mode 1 /
8 the velocity command is filtered by a 1st
order LPF. Both filters have the same
bandwidth. 11: The velocity command is
filtered by a 1st order LPF
12: Velocity feedback after velocity observer,
the velocity command is filtered by a 1st
50
order LPF
14: Velocity feedback after 1st order LPF and
the velocity command is filtered by a 1st
order LPF. Both filters have the same
bandwidth
60F9150 A 1st order lowpass filter in the forward path
Output_Filter_N 1 1-127
8 of the velocity loop
60F9082
Kvi_Sum_Limit Integral output limit of the velocity loop / 0-2^15
0
Step of Velocity loop tuning is shown below:
Velocity feedback filter adjustment
The velocity feedback filter can reduce noise that comes from the feedback path, e.g. reduce
encoder resolution noise. The velocity feedback filter can be configured as 1st and 2nd order via
the Speed_Mode for different applications. The 1st order filter reduces noise to a lesser extent, but
its also results in less phase shifting so that velocity loop gain can be set higher. The 2nd order filter
reduces noise to a greater extent, but its also results in more phase shifting so that velocity loop
gain can be limited.
Normally, if the machine is stiff and light, we can use the 1st feedback filter or disable the
feedback filter. If the machine is soft and heavy, we can use the 2nd order filter.
If there’s too much motor noise when velocity loop gain is adjusted, velocity loop feedback
filter parameter Speed_Fb_N can be reduced accordingly. However, velocity loop feedback filter
bandwidth F must be more than twice as large as the velocity loop bandwidth. Otherwise, it may
cause oscillation. Velocity loop feedback filter bandwidth F=Speed_Fb_N*20+100 [Hz].
51
kt motor torque constant, unit: Nm/Arms*100
J inertia, unit: kg*m^2*10^6
Fbw Velocity loop bandwidth, unit: Hz
Imax max motor current I_max(6510.03) as DEC value
encoder resolution of the encoder
Adjust Kvi_sum_limit
Normally the default value is fine. This parameter should be added if the application system
has a big extend force, or should be reduced if the output current is easily saturation and the
saturation output current will cause some low frequency oscillation.
Internal
Name Description Default Range
address
Proportional position loop gain.
60FB011
Kpp[0] Used to set the position loop response. 10 0~32767
0
unit: 0.01Hz
60FB021 0 means no feedforward, 1000 means 100%
K_Velocity_FF 100 0~100
0 feedforward.
The unit only is right if the inertia ratio is
60FB031 correctly set.
K_Acc_FF / 0-32767
0 If the inertia ratio is unknown, set
K_Acc_FF(60FB.03) instead.
60FB051 The time constant of the position demand
Pos_Filter_N 1 1~255
0 LPFunit: ms
52
Maximum allowable error,
6065002 Max_Following_
Max_Following_Error (6065.00) = 100 * 10000 /
0 Error_16
Max_Following_Error_16
Step of Position loop tuning is shown below:
Position loop proportional gain adjustment
Increasing position loop proportional gain can improve position loop bandwidth, thus
reducing positioning time and following error, but setting it too high will cause noise or even
oscillation. It must be set according to load conditions. Kpp = 103 * Pc_Loop_BW, Pc_Loop_BW is
position loop bandwidth. Position loop bandwidth cannot exceed velocity loop bandwidth.
Recommended velocity loop bandwidth: Pc_Loop_BW<Vc_Loop_BW / 4, Vc_Loop_BW.
53
K_Acc_FF(60FB.03): the final internal factor for calculating feedforward.
EASY_KLOAD(3040.07): the load factor which is calculated from auto-tuning or the right inertia
ratio input.
Note
The smaller the K_Acc_FF, the stronger the acceleration feedforward.
Smoothing filter
The smoothing filter is a moving average filter. It filters the velocity command coming from the
velocity generator and makes the velocity and position commands more smooth. As a
consequence, the velocity command will be delayed in the controller. So for some applications
likeCNC, it’s better not to use this filter and to accomplish smoothing with the CNC controller.
The smoothing filter can reduce machine impact by smoothing the command. The
Pos_Filter_N parameter define the time constant of this filter in ms. Normally, if the machine system
oscillates when it starts and stops, a larger Pos_Filter_N is suggested.
Notch filter
The notch filter can suppress resonance by reducing gain around the resonant frequency.
Antiresonant frequency=Notch_N*10+100
Setting Notch_On to 1 turns on the notch filter. If the resonant frequency is unknown, the user
can set the maximum value of the d2.14 current command small, so that the amplitude of system
oscillation lies within an acceptable range, and then try to adjust Notch_N and observe whether the
resonance disappears.
Resonant frequency can be measured roughly according to the Iq curve when resonance
occurs on the software oscilloscope.
Internal
Name Description Default Range
address
Used to set the frequency of the internal notch
filter to eliminate mechanical resonance generated
60F90308 Notch_N when the motor drives the machine. The formula is 45 0~90
F=Notch_N*10+100. For example, if mechanical
resonance frequency F=500 Hz, the parameter
54
setting should be 40.
Used to turn on or turn off the notch filter.
60F90408 Notch_On 0:Turn on the notch filter 0 0~1
1:Turn off the notch filter
55
56
Chapter 7 Alarms and troubleshooting
Alar
Cod Name Reason Troubleshooting
m
e
Press the SET key to enter
000. Errors occurs in
Extended Error Error_State2 (d1.16), read the error bit,
1 Error_State2
check the error meaning in table 7-2.
Encoder ABZ
signal incorrect
Encoder ABZ wiring is
( suitable for
wrong or disconnected Check encoder cable is correctly
incremental
connected
000. encoder motor)
7380 Check if corresponding pins of
2 Encoder
encoder cable is on ( refer servo
communication The encoder wiring is
product menu)
incorrect (suitable incorrect or
for magnetoelectric disconnected.
encoder motor)
Encoder UVW
signal incorrect
Encoder UVW wiring is Check encoder cable is correctly
( suitable for
wrong or disconnected connected
incremental
000. Check if corresponding pins of
7381 encoder motor)
4 encoder cable is on ( refer servo
Encoder internal
Encoder internal is product menu)
(suitable for
incorrect or encoder is Change motor
magnetoelectric
broken
encoder motor)
57
Encoder count
wrong(suitable for 1.Check encoder cable is correctly
incremental connected (different from motor PE
encoder motor) cable)
000.
7306 Encoder CRC Encoder is interfered 2.Make sure the equipment is well
8
(suitable for grounded
magnetoelectric 3.Use isolated power supply to provide
encoder motor) power
58
Open software "Driver"-> “ Panel
Driver brake
010. Not configure correct menu”->“(F005)controller setting”
7110 resistor is
0 brake resistor parameters Correctly set "brake resistor value" an
abnormal
"brake resistor power"
Open software "Driver""control
Stiffness of control loop
loop""velocity loop""position loop"
is too small
Increase "kpp[0]""kvp[0]"
59
sequence is incorrect phase V
Reduce external pulse input frequency
When ensure safely use motor,
100. 8A8 Over input External input pulse increase "Frequency_Check" ( Open
0 0 frequency frequency is too high “Driver”->“Control modes”->“Pulse
mode”->“Frequency_Check”),
max 600
Reduce ambient temperature of the
The motor temperature
200. motor and improve cooling conditions
4310 Motor temperature exceeds the specified
0 Reduce acceleration and deceleration
value
Reduce load
Motor excitation Motor UVW phase Exchange motor wiring of phase U and
( suitable for sequence is wrong phase V
incremental
Encoder is not connected Check encoder cable
encoder)
Communication is
incorrect when the Check encoder wiring, restart driver
encoder is initialized
400.
7122 Encoder The encoder type is
0
information wrong, e.g. an unknown
( suitable for encoder is connected
magnetoelectric The data stored in the
encoder) encoder is wrong
The controller can ’ t
support the current
encoder type
Open software“Driver”->“Init Save
Data is damaged when Reboot”
800. the power is turned on Click “ Init Control Parameters ” ->
6310 EEPROM data
0 and data is read from the “Save Control Parameters”->“Save
EEPROM Motor Parameters”->“Reboot”
Import cdi file by software
60
Alar Code
Name Reason Trouble shooting
m
000. 0x60 Software watchdog Please contact the supplier and try to
Watchdog
2 10 exception update the firmware
000. 0x60 Invalid interrupt Please contact the supplier and try to
Wrong interrupt
4 11 exception update the firmware
DIN function
“ pre_enable ” is
010. 0x54 configured, but the input
External enable Solve according to the reason
0 43 is inactive when the
controller is enabled or
should become enabled
080. 0x60 SPI internal Internal firmware error Please contact the supplier
61
0 12 in SPI handling
Different direction
200. 0x8A Close loop
between motor and Change the encoder counting direction
0 81 direction
position encoder
800. 0x73 Master encoder counting Ensure that the ground connection and
Master counting
0 06 error the encoder shield work well.
62
Chapter 8 List of motor controller parameters
Note
CANopen address is same as 232 communication address:
Use Index (16 bits address), Subindex (8 bit subaddress) to show register
addressing,
0x08 means that data length of register store is 1 Byte, 0x10 means that data
length of register store is 2 Byte, 0x20 means that data length of register store
is 4 Byte,
R: Read,W: Write,S:Save,M: Map,
A complete CANopen address format is : 60400010(controlword),
Modbus address is 4 bits Hexadecimal number
A complete Modbus address format is : 3100(controlword)
63
Status word display driver state
bit0:Ready_on
bit1:Switch_on
bit2:Operation enable
bit3:Fault
bit4:Voltage_enable
bit5:Quick stop
bit6:Switch_disabled
Status bit8:Maunufacture0
60410010 3200 RM Unsigned16
word bit9:Remote
bit10:Target_reached
bit11 :
Intlim_active(negative/positive
position limit actived)
bit12:Setpoint_Ack
bit13:Following_Error
bit14:Communication_Found
bit15:Reference_found
Operation mode:
1:Position control
3:Speed control
4:Torque control
Operation
60600008 3500 RWM Integer8 -3:Speed control (Quick fast mode)
mode
-4:Pulse train control
6:Home mode
7 : Differential complementarity
based on CANopen
When "Driver enable" function is
Absolute/R
configured to Din and Din is 1,
elative
“ Controlword ” (6040.00) will be
positioning 20200F 0CF0 RWS Unsigned16
set;
control
0x2F:Absolute positioning control
select
0x4F:Relative positioning control
64
8.2 Data measuring
modb
Name CANopen RWS Data type Description
us
Invert motion
Invert
607E0008 4700 RWS Unsigned8 0:CCW is positive direction
direction
1:CW is positive direction
Target position in position mode 1.
Target If controlword is set to start motion
607A0020 4000 RWM Integer32
position and transfer to effective command
position inc
Profile Speed of trapezoidal curve in work
60810020 4A00 RWM Unsigned32
speed mode 1
Target
60FF0020 6F00 RWM Integer32 Target speed in mode 3 and -3
speed
65
Torque command in torque mode ,
Target target_torque/rated_torque*100
60710010 3C00 RW Integer16
torque (unit:%)
Group
current 60F60810 5880 RWM Integer16 Current command in torque mode
loop
Maximal
current 60730010 3D00 RWSM Unsigned16 Maximal current command, unit Arms
command
Note
Speed address:0x60810020,0x60800020,0x60FF0020
Conversion between engineering unit and internal unit of common objects
DEC=[(rpm*512*Encoder_Resolution)/1875]
Acc & Dec address:60830020,60840020,
Conversion between engineering unit and internal unit of common objects
DEC=[(rps/s*65536*Encoder_Resolution)/4000000]
Current address:60710010,60730010
Conversion between engineering unit and internal unit of common objects
1Arms=(2048/Ipeak/1.414)DEC Ipeak is driver max current
modb
Name Subindex RWS Data type Description
us
Max_Following_ Following error alarm
60650020 3800 RWSM Unsigned32
Error Default 10000inc
Target_Pos_Wind “ Target_Pos_Reached ” error
60670020 3900 RWS Unsigned32
ow range,default 10inc
Target(Position、velocity)to
Position_Window time window , determine
25080916 1990 RW Unsigned16
_time position to signal with
60670020
The error window when actual
Target_Speed_Wi speed reach to target speed or
60F90A20 63A0 RWS Integer32
ndow profile speed, determine speed
to signal with 25080916
Zero_Speed_Win Error window when actual
20101810 0980 RWS Unsigned16
dow speed is 0
When zero output speed
window 0x201018 reach to
specified range, it output zero
Zero_Speed_Tim
60F91410 6440 RWS Unsigned16 speed signal after keep some
e
time.
Time is determined by zero
speed output time.
Soft_Positive_Li Software limit positive setting
607D0120 4410 RWS Integer32
mit inc
67
Soft_Negative_Li Software limit positive setting
607D0220 4420 RWS Integer20
mit inc
Define creating error or not
after position limit
Limit function 20101908 0990 RWS Unsigned8 0: will be error if position limit
happen after home found
1: do nothing
68
8.6 Home control(0x6098)
Modb
Name CANopen RWS Data type Description
us
Search homing
Homing
60980008 4D00 RWSM Integer8 Details in chapter “Homing
method
control mode”
Velocity for searching
Homing
60990120 5010 RWSM position_limit
speed switch
Unsigned32 switch/home_switch signal
Homing Velocity for searching home
60990220 5020 RWSM
speed zero signal and Zero position
Homing Acceleration when search home
609A0020 5200 RWS Unsigned32
acceleration rps/s
Homing
607C0020 4100 RWSM Integer32 Offset after homing inc
offset
Homing offset control mode
0:run to the homing offset point.
Homing The actual position will be 0
60990508 5050 RWS Unsigned8
offset mode 1:run to the home event happen
point. The actual position will be
"-homing offset"
8.7 Velocity loop(0x60F9)
69
8.8 Position loop(0x60FB)
70
Define the polarity of
Dout_Polarity 20100D10 08D0 RWSM Unsigned16
Din signal
bit0:Din1
bit1:Din2
bit2:Din3
bit3:Din4
Din_Simulate 20100210 0820 RW Unsigned16
bit4:Din5
bit5:Din6
bit6:Din7
bit7:Din8
bit0:Dout1
bit1:Dout2
Dout_Simulate 20100E10 08E0 RWM Unsigned16 bit2:Dout3
bit3:Dout4
bit4:Dout5
71
Note
Din function(HEX) Dout function(HEX)
0001:Enable 0001:Ready
0002:Reset Errors 0002:Error
0004:Operate mode sel 0004:Pos reached
0008:Kvi Off 0008:Zero speed
0010:P_Limit + 0010:Motor brake
0020:P_Limit - 0020:Speed reached
0040:Home signal 0040:Enc index
0080:Invert Direction 0080:Speed limit (Torque mode)
0100:Din Velocity Index0 0100:Driver enabled
0200:Din Velocity Index1 0200: position limiting
0400:Din Position Index0 0400: reference found
0800:Din Position Index1 0800: max current reached
1000:Quick stop 1000: multi DOUT 0
2000: Start homing 2000: multi DOUT 1
4000: Active command 4000: multi DOUT 2
8001: Din Velocity Index2 8001: STO active
8002: Din Position Index2
8004: Multifunction 0(Configure Multi gear
ratio)
8008: Multifunction 1
8010: Multifunction 2
8020: Gain switch0
8040: Gain switch1
8080: MaxCur Switch
8100: Motor Error
8200: Pre Enable(IO must have enable signal.
Otherwise, there will be an alarm. It is used in
occasions which users run machine when
ensure motor is safe.)
8400: fast capture 1
8800: fast capture 2
72
8.10 Pulse input(0x2508)
0:CW/CCW
1:Pulse/Direction
2:A/B Mode
PD_CW 25080310 0x1930 RWSB Integer16 10:422 double pulse mode
11:422 pulse-direction mode
12:422 incremental encoder
mode
Master_encoder pulse input
Gear Master 25080410 0x1940 RWM Integer16
counting without gear ratio
Master_encoder pulse input
Gear Slave 25080510 0x1950 RW Integer16
counting with gear ratio
Master_encoder pulse input
PD_Filter 25080610 0x1960 RWS Unsigned16
filter
Master input pulse speed
Master_Speed 25080C10 0x19C0 RM Integer16
without gear ratio (pulse/mS)
Master input pulse speed
Slave_Speed 25080D10 0x19D0 RW Integer16
with gear ratio (pulse/mS)
73
8.11 Save(0x2FF0)
Name Subindex modbus RWS Data type Description
1:Store all parameters of control loop
10:Initiative all parameters of control
Store_Data 2FF00108 2910 RW Unsigned8 loop
Note:Store control loop parameters, not
include motor parameters
Store_Motor_
2FF00308 2930 RW Unsigned8 1:Store the parameter relevant to motor
Data
74
8.13 Stop
Quick_Stop_
60850020 3300 RWS Unsigned32 Deceleration for quick stop
Dec
75
76
Chapter 9 RS232
Driver can be used to configuration and adjustment by RS232 port (X3). Port definition and
communication protocol is described below:
77
9.1.1 Pin definition
78
The communication protocol provides network operation with a host computer operating as a
master and several CD3 controllers working as communication slaves (RS232_Loop_Enable(d5.15)
must be set to1, save and reboot the controller after setting). In that case the RS232 cabling must
have a loop structure as follows:
RS232 communication of motor controller strictly follows master / slave protocol. The host
computer send data to controller. The controller checks the data regarding a checksum and the
correct ID number, processes the data and returns an answer. Default communication settings for
motor controller are as follows:
Baud rate:38400bps
Data bits:8
Stop bits:1
No parity check
The baud rate can be changed in RS232 BaudRate(d5.02). After changing the value it ’ s
necessary to save the setting and reboot the system.
The controller’s ID can be changed in Node ID(d5.02).
The transport protocol uses a telegram with a fixed length of 10 bytes
ID Data CHKS
79
The host sends:
If the slave finds it’s own ID in the host telegram, it checks the CHKS value. If the checksum
does not match the slave would not generate an answer and the host telegram would be discarded.
If the host sends a telegram with an unused ID data will pass the RS232 loop but no slave
answer will return.The slave which finds it’s own ID in the host telegram checks the CHKS value. If
the checksum does not match the slave would not generate an answer and the host telegram
would be discarded by that slave.
The data content of the transport protocol is the data protocol. It contains 8 bytes. The
definition of the CD3 motor controller’s RS232 data protocol is compatible with the CANopen SDO
80
protocol, as well as the internal data organization complies to the CANopen standard. All
parameters, values and functions are accessible via a 24-bit address, built of a 16-bit index and
8-bit sub-index.
Download means that the host sends a command to write values to the objects in the slave, the
slave generates an error message if when the value is downloaded to a non-existent object.
The host sends:
SUB
CMD INDEX DATA
INEDX
Note
CMD: Specifies the direction of data transfer and the size of data.
23 (hex) Sends 4-byte data (bytes 4...7 contain 32 bits)
2b (hex) Sends 2-byte data (bytes 4 and 5 contain 16 bits)
2f (hex ) Sends 1-byte data (bytes 4 contains 8 bits)
INDEX: Index in the object dictionary where data should be sent
SUB INDEX: Sub-index in object dictionary where data should be sent
DATA: 8, 16 or 32 bit value
SUB
CMD INDEX RESERVED
INDEX
Note
RES: Displays slave response:
60(hex) Data successfully sent
80(hex) Error, bytes 4…7 contain error cause
INDEX: 16-bit value, copy of index in host telegram
SUBINDEX: 8-bit value, copy of sub index in host telegram
RESERVED: Not used
81
9.3.2 Upload (from slave to host)
Upload means the master sends a command to read the object value from the slave. The slave
generates an error if a non-existent object is requested.
The master sends:
SUB
CMD INDEX RESERVED
INDEX
Note
CMD: Specifies the direction of data transfer
40(hex) always
INDEX: 16-bit value, index in the object dictionary where requested data
reside.
SUBINDEX: 8-bit value, index, sub index in the object dictionary where requested
data reside.
RESERVED: Bytes 4…7 not used
SUB
CMD INDEX DATA
INDEX
Note
RES: Displays slave response:
43(hex) bytes 4...7 contain 32-bit data
4B(hex) bytes 4 and 5 contain 16-bit data
4F(hex) byte 4 contains 8-bit data
80(hex) error, bytes 4 … 7 contain error cause
INDEX: 16-bit value, copy of index in host telegram
SUBINDEX: 8-bit value, copy of subindex in host telegram
DATA: Data or error cause, depending on RES
82
Sub
ID R/W Index Data Checksum Meaning
index
2F 00 00 Set Controlword = 0x2F, enable the
01 2B 40 60 00 05
00 controller
06 00 00
01 2F 60 60 00 0A Set Operation_Mode = 0x06
00
50 C3 00
01 23 7A 60 00 EF Set Target_position = 50000
00
00 00 00
01 40 41 60 00 1E Read the Statusword
00
Under each mode, it sends message, All of them use 1 as station number.
83
01 2B 40 60 00 2F 00 resolution)/1000/4000]
2F
00 00 05
3F(Absolute 01 2B 40 60 00 3F 00
positioning) 00 00 F5
60400010 Controlword
01 2B 40 60 00 4F 00
4F
00 00 E5
5F(Relative 01 2B 40 60 00 5F 00
positioning) 00 00 D5
01 40 41 60 00 00 00 00 00 1E Read state word,D437 means position to
Speed mode
Note
Under communication mode, data are transmitted in HEX.
84
Chapter 10 RS485 communication
FD1X3 RS485 port support RS485 、 RS422 , this function can be used to modify modify servo
internal parameters and monitor servo state, etc. Wiring is shown in figure 10-1..
85
65100E10 RS485_Mode data=8,stop=1,no check bit default
The RS485 interface of FD2S Servo driver supports Modbus RTU protocol. It's internal address
is discontinuous 16-bit data register (R/W in software is 4X)
Modbus RTU protocol format:
Station No. Function code Data CRC
1 byte 1 byte N bytes 2 bytes
Note
If there is error such as non-exist address,then it will return function code 0x81.
Function code 0x06:write single data register
Request format:
Function Modbus address Writing value
Station No. CRC
code High byte Low byte High byte Low byte
1 byte 06 1 byte 1 byte 1 byte 1 byte 2 bytes
Response format:If writing successful,then return the same message.
Note
If there is error such as address over range,non-exist address and the address is read
only,then it will return function code 0x86.
86
1 1 1 1 1 1 2
10 2 bytes 1 byte 1 byte
byte byte byte byte byte byte bytes
Normal response registers:
Function Data length(word)
Station No. Modbus address CRC
code High byte Low byte
1 byte 10 2 bytes 1 byte 1 byte 2 bytes
Note
If there is error such as address over range,non-exist address and the address is
read only,then it will return function code 0x90.
Table0–1485 message
Internal
Name Meaning Message(ID=1)
address
Operate mode is
3500 Operation_mode 010635 0000 03C6 07
3
6F00 Targte_Speed Speed 150RPM 01106F 0000 020455 5500 081A 47
3100 Controlword Enable F 010631 0000 0FC7 32
Read register
3200 Status word 01 03 32 00 00 02 CA B3
status
87
Home(Controlword F to 1F)
Internal
Name Value Message(ID=1) Meaning
address
60400010 Controlword F 010631 0000 0FC7 32
Operation_Mo
60600008 6 010635 0000 0606 04
de
60980008 Home_Method 33 01064D 0000 215E BE
Home_Speed_
60990120 200RPM 011050 1000 020455 5500 080E BA
Switch
Home_Speed_
60990220 150RPM 011050 2000 020440 0000 0698 76
Zero
60400010 Controlword 1F 010631 0000 1FC6 FE
010332 0000 02CA B3 read status word,C037 means home found
Internal
Name Value Message(ID=1) Meaning
address
60400010 Controlword F 010631 0000 0FC7 32
Operation_Mo
60600008 1 010635 0000 0147 C6
de
Target_Positio
607A0020 50000inc 011040 0000 0204C3 5000 00FE 39
n
60810020 Profile_Speed 200RPM 01104A 0000 020455 5500 08BC D6
88
Speed
Internal
Name Value Message(ID=1) Meaning
address
Operation_Mo
60600008 3 010635 0000 03C6 07
de
60FF0020 Target_Speed 150RPM 01106F 0000 020455 5500 081A 47
60400010 Controlword F 010631 0000 0FC7 32
60830020 Profile_Acc 610.352rps/s Default
60840020 Profile_Dec 610.352rps/s Default
Note
Under communication mode, data are transmitted in HEX.
Note
In message above, if station No. is 00, message belongs to broadcast message.
AllModbus slaves will accept this message.
89
Chapter 11 CANopen
CANopen is one of the most famous and successful open fieldbus standards.It has been
widelyrecognized and applied a lot in Europe and USA. In 1992,CiA (CANinAutomation) was set
up in Germany,and began to develop application layer protocol CANopen for CAN in automation.
Since then, members of CiA developed a series of CANopen products,and applied in a large
number of applications in the field of machinery manufacturing such as railway, vehicles, ships,
pharmaceutical, food processing etc..Nowadays CANopen protocol has been the most important
industrial fieldbus standard EN-50325-4 in Europe
The FD1X3 series servo supports standard CAN (slave device), strictly follow CANopen2.0A /
B protocol, any host computer which support this protocol can communicate with it. FD1X3
Servo uses of a strictly defined object list, we call it the object dictionary, this object dictionary
design is based on the CANopen international standards, all objects have a clear definition of the
function. Objects said here similar to the memory address, we often say that some objects, such
as speed and position,can be modified by an external controller, some object were modified only
by the drive itself, such as status and error messages.
90
11.2 Hardware Introduction
X1A(IN)
X1B(OUT)
Note
This is pin definition of driver, not plugs.
Note
1、All CAN_L and CAN_H of slaves connect directly by using series connection,
not star connection;
91
2、There must be connected a 120 ohm resistance in start terminal(master) and
end terminal(slave);
3、All FD3 Servo driver don’t need external 24VDC supply for CAN interface;
4 、 Please use the shield wires for communication cable,and make good
grounding(Pin.3 is advised to grounding when communication is in long distance
and high baudrate);
5、The max. distance at different baudrate are shown in following table.
Table0–3The max. distance at different baudrate are shown in following table (Theory)
SDO is mainly used in the transmit the low priority object between the devices, typically used
to configure and mange the device,such as modifying PID parameters in current loop,velocity loop
and position loop,and PDO configuration parameters and so on.This data transmission mode is the
same as Modbus,that is it needs response from slave when master sends data to slave.This
communication mode is suitable for parameters setting,but not for data transmission frequently.
SDO includes upload and download.The host can use special SDO instructions to read and
write the OD of servo.In CANopen protocol, SDO (Service Data Object) can be used to modify
object dictionary. SDO structure and guidelines are shown below:
92
SDO basic structure is:Client→Server/Server→Client
Data
Identifier DLC
0 1 2 3 4 5 6 7
Send command
0x600+Node_ID 8 Object index Object subindex
word
Receive SDO message when read parameters
Data
Identifier DLC
0 1 2 3 4 5 6 7
Receive
0x580+Node_ID 8 Object index Object subindex Max 4 bytes data
command
Note
When SDO message are sent, commands are 0x40;
When received data is 1 byte, received command is 0x4F;
When received data is 2 bytes, received command is 0x4B;
When received data is 4 bytes, received command is 0x43;
If received data have errors, received command is 0x80.
Send SDO message (Modify parameters)
Data
Identifier DLC
0 1 2 3 4 5 6 7
0x600+Node_ID 8 Send command Object index Object subindex Max 4 bytes data
Receive SDO message (Modify parameters)
D Data
Identifier
LC 0 1 2 3 4 5 6 7
Receive Object Object
0x580+Node_ID 8 Max 4 bytes data
command index subindex
Note
If sent data ready is 1 byte, command is 0x2F;
If sent data ready is 2 bytes, command is 0x2B;
If sent data ready is 4 bytes, command is 0x23;
If SDO message is sent successfully, receive command is 0x60;
If SDO message is not sent successfully, receive command is
0x80.
PDO can transport 8 bytes of data at one time,and no other protocol preset(Mean the content
93
of the data are preset),it is mainly used to transmit data in high frequency.PDO uses brand new
mode for data exchange,it needs to define the data receiving and sending area before the
transmission between two devices,then the data will transmit to the receiving area of devices
directly when exchanging data.It greatly increase the efficiency and utilization of the bus
communication.
Communication Object Identifier. These COB-ID defines the respective transmission levels for PDO,
These transport level, the controller and servo will be able to be configured the same transmission
level and the transmission content in the respective software.Then both sides know the contents of
data to be transferred, there is no need to wait for the reply to check whether the data transmission
The default ID allocation table is based on the CAN-ID(11 bits) defined in CANopen 2.0A(The
COB-ID of CANopen 2.0B protocol is 27 bits),include function code(4 bits) and Node-ID(7 bits) as
Note
Node-ID —— Servo station No.,Node-ID range is 1~127;
Function Code — — The function code for data transmission define the
transmission level of PDO,SDO and management message.The smaller the
function code,the higher the priority.
Table0–4The allocation table for CAN identifiers in master/slave connection set predefined by CANopen
Object COB-ID
NMT Module Control 000H
SYNC 080H
TIME SSTAMP 100H
Object COB-ID
94
Emergency 081H-0FFH
PDO1(Send) 181H-1FFH
PDO1(Receive) 201H-27FH
PDO2(Send) 281H-2FFH
PDO2(Receive) 301H-37FH
PDO3(Send) 381H-3FFH
PDO3(Receive) 401H-47FH
PDO4(Send) 481H-4FFH
PDO4(Receive) 501H-57FH
SDO(Send/Server) 581H-5FFH
SDO(Receive/Client) 601H-67FH
NMT Error Control 701H-77FH
Note
1、The smaller the COB-ID,the higher the priority;
2、The function codes of COB-ID in every level are fixed;
3 、 COB-ID of 00H, 80H, 100H, 701H-77FH, 081H-0FFH are
system management format;
11.3.3.2 COB-ID
Send PDO of servo means servo sends out data,and these data are received by PLC.The
function codesof send PDO (COB-ID) are as follow:
1、0x180+Station No. of Servo
2、0x280+Station No. of Servo
3、0x380+Station No. of Servo
4、0x480+Station No. of Servo
Receive PDO of servo means servo receive data,and these data are sent by PLC.The function
codes of receive PDO(COB-ID) are as follows:
1、0x200+Station No. of Servo
2、0x300+Station No. of Servo
3、0x400+Station No. of Servo
4、0x500+Station No. of Servo
Note
FD2S Servo is designed according to the standard of CANopen 2.0A
protocol,and it also supports CANopen 2.0B protocol.Therefore,if 8 PDOs are
not enough,users can define new PDO,for example,set 0x43FH as the
95
communication PDO of Station No.1,but it needs the controllers and servo
define PDO by the same rule.
Note
Each PDO can define an inhibit time,that is the minimum
interval time between two continuous PDO transmission.It is
used to avoid the PDO in higher priority always occupying the
communication.The inhibit time is 16bit unsigned integer,its unit
is 100us.
Supervision type is to choose which way master uses to check slave during operation,and
check whether slave is error or not and handle the error!
1、Heartbeat message
Heartbeat message:Slave send message to master cyclically during supervision time.If master
hasn ’ t received the message from slave after heartbeat time,then master will consider slave as
96
error!
Message format
(0x700+NodeID)+Status
Status:
0:Start 4:Stop 5:Run 127:Pre-operational
2、Node guarding
Slave send message to master cyclically during supervision time.If master hasn’t received the
message from slave after supervision time,then master will consider slave as error !
The format of master request message——(0x700+NodeID)(No data in this message)
Format of slave response message——(0x700+NodeID)+Status
The bit7 of the data is triggered bit.This bit will alternately set to 0 or 1 in the response
message.It will be set to 0 at the first request of node guarding.The bit0 ~ bit6 indicate the status of
node.
Status: 0:Initialization 1:No connection 2.Connection 3:Operational 4:Stop 5:Run
127:Pre-operational
Normally standard CAN slave only one protection mode,but FD2S Servo can support both.
During the process of internet initialization, CANopen support extending boot-up and support
min boot-up process. The boot-up process is shown in following figure11-3:
Code Meaning
a NMT
97
b Node Guard
c SDO
d Emergency
e PDO
F Boot-up
When users need to configure CANopen communication parameters, they must use
KincoServo+, which needs to be installed.
Download website:http://www.kinco.cn/download/software/servo
98
After installing software according to prompt, open software in figure 11-4:
Figure0–4
Click "communication" ->"communication setting". Set COM, COM ID. Baud rate is 38400,
COM ID default is 1. If users don't know COM ID, they can use broadcast address 127. After
configuration, click "OEPN".
Figure0–5
Note
As driver follow the logic - IO control prior to
communication control, so users need to cancel IO function
when apply CANopen. If driver is enable or operation mode
switch, communication cannot control servo control word,
99
operation mode, etc.
Note
Use DIP switch to configure driver ID. Configuration method
is shown in outside printing of driver.
Note
For CANopen parameters, please check driver → ECAN
configuration→Others
The maters which have function of network management can initialize slave parameters by
sending SDO. Commonly, SYNC ID, node protection time, node protection time factor, node
protection station No., emergency message station No., heartbeat message production time
don’t need to be set by users.
100
CANopen Name Description Value
address
100D0008 Life_Time_Fac check slave node state (Default COBID is 0x700+ID, message 3
tor without content).Nodes need to response in a time. Otherwise,
master nodes regard slave nodes off-line. Driver will have alarms.
100E0020 Node_Guard_I 700+driver ID
D
10140020 Emergency_Me 80+driver ID
ss_ID
10170010 Producer_Heart Slave nodes cyclically send master nodes. If master nodes don't
beat_Time receive message, master nodes will regard slave nodes off-line
within a time.
2F810008 CAN_Baudrate CAN baudrate setting 50
100:1M
50:500k
25:250k
12:125k
5: 50k
1: 10k
30110108 ECAN_Sync_C In differential complement mode, ECAN_Sync_Cycle is 2
ycle configured according to master sync message period.
Async mode don't need to be configured.
0:1ms
1:2ms
2:4ms
4:8ms
30110208 ECAN_Sync_C In differential complement mode, ECAN_Sync_Clock (1) to open 0
lock sync clock. In non-differential complement mode,
ECAN_Sync_Clock (0) to close sync clock.
30110410 ECAN_TPDO_ Under Sync mode, it monitor communication state. If value keep
Diff all the time, communication state is good. If value changes
continuously, it means there is interface or sync period is wrong.
60070010 Abort_Connect CAN communication abort time,determine action logic when 0
ion_Mode driver still do not receive node protection message over node
protection time*node protection factor
101
CANopen Name Description Value
address
0:no process
1:error
Configure PDO by initialize PLC
For CANopen master which can load EDS, it is unnecessary to configure PDO in servo. And user
can configure PDO in master directly. After power-on, PLC will initialize and send SDO message to
configure servo’s PDO. When configuration is finished, master will send message to open slave.
Then PDO communication can start. Most of PLCs CAN use this method. For example, Schneider
PLC, Siemens S7-1200+CM CANOPEN module, Kinco F1, etc.
EDS download address:
http://download.kinco.cn/D_Software/Servo/EDS.zip
Configure PDO by KincoServo
For part of PLCs, PDO parameters will to configured in servo driver, example is shown below:
102
Before using PDO to transmit data, it is necessary to send
message open node of management message. Take No. 2
station for example
COBID DLC Message
000 02 01 02
In Async transmission mode, mapping data in PDO will transmit once they change.
Name Meaning
TPDO1 mapping Paired object No. in this PDO. In TPDO1, actual position and status word are configured.
group
Map 1-8 Configure servo CANopen control object
TPDO1 station No. 180+driver ID (TPDO2 station No.:280+driver ID)
TPDO1 254 or 255, Async transmission mode
transmission type
TPDO1 prohibited Unit is ms, in case that frequency of message sent by servo is too high so as to block network,
time it is indeed configured in multi-shaft async transmission mode
Note
In TPDO1, overall length of paired object actual position and status word is
103
4+2=6
Default of RPDO transmission mode is 254. Users do not need to set. After
receiving data, it is immediate effect.
Name Meaning
TPDO1 mapping Paired object No. in this PDO. In TPDO1, actual position and status word are configured.
group
Map 1-8 Configure servo CANopen control object
TPDO1 station No. 180+driver ID (TPDO2 station No.:280+driver ID)
TPDO1 254 or 255,Async transmission mode
transmission type
TPDO1 prohibited 254 or 255, Async transmission mode
time
TPDO1 event time Period (Driver send PDO to controller), unit is ms
Note: In TPDO1, overall length of paired object actual position and status word is 4+2=6
104
Sync transmission mode
Name Meaning
TPDO1 mapping 2, No. Of paired objects in this PDO, actual position and status word configured in TPDO1
group
Map 1-8 Configure servo CANopen control object
TPDO1 station No. 80+driver ID (TPDO2 station No.:280+driver ID)
TPDO1 Sync transmission mode, driver send TPDO after receiving sync message
transmission type
TPDO1 prohibited 0
time
Note:In TPDO1, overall length of paired object actual position and status word is 4+2=6
Note
In TPDO1, overall length of paired object actual position and status word is 4+2=6
Default of RPDO transmission mode is 254. Users do not need to set. After
receiving data, it is immediate effect.
Note:
Default sync message is
105
COB-ID DLC
0x80 0
106
30110108 ECAN_Sync_Cyc In differential complement mode, 2
le ECAN_Sync_Cycle is configured
according to master sync message period.
Async mode don't need to be configured.
0: 1ms
1: 2ms
2: 4ms
4: 8ms
30110208 ECAN_Sync_Clo In differential complement mode, 0
ck ECAN_Sync_Clock (1) to open sync
clock. In non-differential complement
mode, ECAN_Sync_Clock (0) to close
sync clock.
For CAN communication interruption alarm function, parameters below need to be configured
100C0010 Guard_Time Nodes protect masters, it can monitor current state 1000
of every node. Masters (node protection time as
period) send remote frame to check slave node state
100D0008 Life_Time_Factor 3
(Default COBID is 0x700+ID, message without
content).Nodes need to response in a time.
Otherwise, master nodes regard slave nodes off-line.
Driver will have alarms.
100E0020 Node_Guarding_ID 700+driver ID
107
11.4.4 CANopen send message example
CANopen node will transmit heartbeat message at a fixed frequency, which is used to inform
controller that communication connection is normal. Format of message is simple. COB-ID is
0x700+Node_ID
In diagram above, ID is 706, which is the heartbeat of 06 node and state is 0x7F. It is
Pre-Operational state (After node initialization finishes, it comes to Pre-Operational state). By
checking time, time interval between each heartbeat message is about 1s.
NMT management message
NMT is management message, used to achieve some management operations such as node open,
enter-in Operational state, etc. Format of NMT message is simple and ID is 000. Data consists of
one byte command and one byte node number (0 is broadcast)
The second message can make 06 node enter in Operational state. After running, node state in
node heartbeat message becomes Operational state. Under this state, PDO start to transmit.
108
Figure0–13 Close node
Send stop remote node command and go to Stopped state. Obviously, heartbeat still exist and only
node doesn’t work.
This is reset node command, which is used to make node reset. After reset, it enters in
Initializing node (for 0x00 in heartbeat message). After initialization is finished, it enters in
Pre-Operational state (for 0x7F in heartbeat message).
Send and receive SDO
SDO is mainly used to visit node’s OD. Node in CANopen at least need to support SDO_Server.
OD is data organization of CANopen node, which includes each parameter and data of CANopen
node such as sending frequency of heartbeat frequency, system start times, node communication
parameters and etc. So SDO is used to set each running parameter of CANopen node.
109
Figure0–16 Send SDO message and modify data
No.9 message is SDO_Write, which writes data in OD (1017:00). It is also to modify heartbeat
frequency. After receiving response, heartbeat frequency changes.
Homing(Controlword F to 1F)
Meani
CANopen Name Value Send and reply message(ID=1)
ng
6012B40 60000F 00
60400010 Controlword F
5816040 60000F 00
6012F60 600006 00
60600008 Operation_Mode 6
5816060 600006 00
6012F98 600021 00
60980008 Homing_Method 33
5816098 600021 00
6012399 600155 55 08 00
60990120 Homing_Speed_Switch 200RPM
5816099 600155 55 08 00
6012399 600200 40 06 00
60990220 Homing_Speed_Zero 150RPM
5816099 600200 40 06 00
6012B40 60001F 00
60400010 Controlword 1F
5816040 60001F 00
6014041 600000 00 00 00read status word,C037means home found
110
Position ( Controlword Absolute positioning 2F to 3F Relative positioning 4F to 5F , 103F Start absolute
positioning)
Meani
CANopen Name Value Message(ID=1)
ng
6012B40 60000F 00
60400010 Controlword F
5816040 60000F 00
Operation_Mod 6012F60 600001 00
60600008 1
e 5816060 600001 00
601237A 600050 C3 00 00
607A0020 Target_Position 50000inc
581607A 600050 C3 00 00
6012381 600055 55 08 00
60810020 Profile_Speed 200RPM
5816081 600055 55 08 00
60830020 Profile_Acc 610.352rps/s Default
60840020 Profile_Dcc 610.352rps/s Default
6012B40 60002F 00
2F
5816040 60002F 00
3F(absolute 6012B40 60003F 00
positioning) 5816040 60003F 00
60400010 Controlword
6012B40 60004F 00
4F
5816040 60004F 00
5F(relative 6012B40 60005F 00
positioning) 5816040 60005F 00
6014041 600000 00 00 00read status word,D437means position found
Speed
Meani
CANopen Name Value Message(ID=1)
ng
Operation_Mo 6012F60 600003 00
60600008 3
de 5816060 600003 00
60123FF 600000 40 06 00
60FF0020 Target_Speed 150RPM
58160FF 600000 40 06 00
111
6012B40 60000F 00
60400010 Controlword F
5816040 60000F 00
Note:PDO Under communication mode, data are transmitted, sent and received in HEX.
PDO is used to send (TPDO) and receive (RPDO) data. There are different triggering methods
such as sync transmission and async transmission. PDO’s data content is defined in OD by
mapping. One node can have multiple PDO channels. PDO’s communication parameters can be
modified by which SDO visits OD.
In TPDO1, it map 3 objects, actual position, actual current and effective work mode in turn.
Then from cutting PDO message, actual position is 0xFaE84270.
112
Figure0–18 Cutting PDO message content
113
Chapter 11 CANopen
Under the pulse mode, relationship between No. of pulse and mechanical displacement
Formula:N*A/B=s*n*r/P
Gear ratio numerator A No unit
Gear ratio denominator B No unit
Screw pitch P mm
Motor single-turn pulse r No unit
Gear ratio 1:n No unit
Mechanical displacement s mm
Pulse N No unit
Formula:n=v÷r÷π
Rotation speed n rpm
Line velocity v mm/s
Radius r mm
Engineerin
Name Internal unit Conversion
g unit
Velocity rpm DEC DEC=[(RPM*512*encoder resolution)/1875]
114
Chapter 11 CANopen
115
附录二制动电阻的使用
Size
Power
W±1 H±1 L1±2 L2±2 L3±2 D±0.5 A±10
100W 40 20 110 140 125 5.2 300
116
附录二制动电阻的使用
117
附录三 常见负载惯量计算
Eccen
tric
circul
ar
plate
inertia
/Drum
inertia
(Rotat
ion
center
is
shifte
d)
Rotati
ng
prism
inertia
118
附录三 常见负载惯量计算
Rectili
near
motio
n
object
inertia
Object
inertia
when
it is
lifted
by
pulley
Object
inertia
when
it is
trans
mitted
by
rack
or
gear
Inertia
with
counte
rweig
ht
119
附录三 常见负载惯量计算
Inertia
when
object
is
trans
mitted
by
conve
yor
belt
Inertia
when
workp
iece is
nippe
d by
roller
Load
inertia
when
conve
rt to
motor
shaft
120
附录三 常见负载惯量计算
121
Chapter 11 CANopen附录四线缆压接说明
122
Appendix 2 Use of brake resistor附录四线缆压接说明
123
附录四线缆压接说明
Docking terminal
Specification
Name model Quantity
port
Plug
X1 ZER-04V-S 2
(CANor RS485) Pin
SZE-002T-P0.3 8
2.0mm 4P Plug
CJT A2008H-04P 1
X2
RS232 Single row of metal
pins
CJT A2008-TP 4
Terminal
(Head
X3 ) CJT A2008H-2x6P 1
IO
Crimp pin
CJT A2008-TP-A 12
MD60Power Terminal
input (Head
) DINKLE 0226-0704 1
MD80Power Terminal
input (Head
X5 ) DINKLE 0227-0704 1
124