0% found this document useful (0 votes)
160 views342 pages

XDHXLH Motion Control Manual

Uploaded by

cương nguyễn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
160 views342 pages

XDHXLH Motion Control Manual

Uploaded by

cương nguyễn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 342

XDH/XLH series PLC

User manual [Motion control]

Wuxi Xinje Electric Co., Ltd.


Data No. PD11 20210812 1.0

i
Basic notes
 Thank you for purchasing Xinje XDH and XLH series PLC.
 This manual mainly introduces the motion control function of XDH and XLH series PLC.
 Before using the product, please read this manual carefully and operate on the premise of fully understanding
the contents of the manual.
 For the introduction of software and programming, please refer to the relevant manuals.
 Please deliver this manual to the end user.

User instructions
 Only operators with certain electrical knowledge can carry out wiring and other operations on the product. If
there are any unknown cases, please consult our technicians.
 The examples listed in the manual and other technical materials are only for users' understanding and
reference, and do not guarantee certain actions.
 When using this product in combination with other products, please confirm whether it complies with
relevant specifications and principles.
 When using this product, please confirm whether it meets the requirements and is safe.
 Please set up backup and safety functions by yourself to avoid possible machine failure or loss caused by the
failure of this product.

Statement of responsibility
 Although the contents of the manual have been carefully checked, errors are inevitable, and we can't
guarantee complete consistency.
 We will often check the contents of the manual and correct them in subsequent versions. We welcome your
valuable comments.
 Please understand that the contents described in the manual are subject to change without notice.

Contact method
If you have any questions about the use of this product, please contact the agent and office who purchased the
product, or directly contact Xinje company.
 Telephone: 400-885-0136
 Fax: 0510-85111290
 Address: 4th floor, building 7, creative industry park, No. 100, Dicui Road, Wuxi, China
 Post code: 214072
 Website: www.xinje.com

WUXI XINJE ELECTRIC CO., LTD. All rights reserved


This material and its contents shall not be copied, transmitted or used without explicit written permission.
Violators shall be liable for the losses caused. All rights provided in the patent license and registration
including utility modules or designs are reserved.
August, 2021

ii
Catalog
PREFACE ........................................................................................................................................................................VI
1. ETHERCAT TECHNICAL OVERVIEW .................................................................................................................. 1
1-1. ETHERCAT OVERVIEW ............................................................................................................................................. 1
1-2. SYSTEM COMPOSITION (MASTER AND SLAVE STATION) ............................................................................................. 1
1-3. COMMUNICATION SPECIFICATION ............................................................................................................................. 1
1-4. ETHERCAT COMMUNICATION CONNECTION ............................................................................................................. 2
2. ETHERCAT COMMUNICATION SPECIFICATION ............................................................................................. 3
2-1. ETHERCAT FRAME STRUCTURE................................................................................................................................ 3
2-2. ESM (ETHERCAT STATE MACHINE) ........................................................................................................................ 4
2-3. SLAVE STATION CONTROLLER ESC ........................................................................................................................... 5
2-3-1. Principle overview ........................................................................................................................................... 5
2-3-2. Address space................................................................................................................................................... 5
2-4. SII AREA (0000H~003FH)......................................................................................................................................... 7
2-5. SDO (SERVICE DATA OBJECT).................................................................................................................................. 7
2-5-1. Mailbox frame structure .................................................................................................................................. 7
2-5-2. Mailbox overtime ............................................................................................................................................. 8
2-5-3. Alarm information............................................................................................................................................ 8
2-6. PDO (PROCESS DATA OBJECT) ................................................................................................................................. 9
2-6-1. PDO mapping objects ...................................................................................................................................... 9
2-6-2. PDO distribution objects ................................................................................................................................. 9
2-7. COMMUNICATION SYNCHRONIZATION MODE .......................................................................................................... 10
2-7-1. DC (SYNC0 Event synchronization) .............................................................................................................. 10
2-7-2. SM2 (SM2 Event synchronization) ................................................................................................................. 11
2-8. LED LIGHT ............................................................................................................................................................. 11
3. ETHERCAT PARAMETER CONFIGURATION ................................................................................................... 12
3-1. ETHERCAT CONFIGURATION INTERFACE ................................................................................................................ 12
3-2. MASTER STATION CONFIGURATION ......................................................................................................................... 13
3-3. SLAVE STATION LIST ............................................................................................................................................... 14
3-4. SLAVE STATION CONFIGURATION ............................................................................................................................ 15
3-5. GENERAL ............................................................................................................................................................... 16
3-6. EXPERT PROCESS DATA ........................................................................................................................................... 18
3-7. LAUNCH PARAMETER ............................................................................................................................................. 19
3-8. IO MAPPING............................................................................................................................................................ 20
3-9. COE-ONLINE INTERFACE ....................................................................................................................................... 22
3-10. ESC REGISTER...................................................................................................................................................... 23
4. OBJECT DICTIONARY (COE-ONLINE) .............................................................................................................. 24
4-1. OBJECT DICTIONARY AREA ASSIGNMENT ................................................................................................................ 24
4-2. COE COMMUNICATION AREA (0X1000-0X1FFF) .................................................................................................... 24
4-2-1. Object list ....................................................................................................................................................... 24
4-2-2. Device information ........................................................................................................................................ 27
4-2-3. Sync manager communication type (1C00h) ................................................................................................. 28
4-2-4. PDO mapping ................................................................................................................................................ 29
4-2-5. Sync manager 2/3 synchronization (1C32h, 1C33h) ..................................................................................... 31
4-3. DRIVER PROFILE AREA (0X6000~0X6FFF)............................................................................................................. 35
4-3-1. Object list ....................................................................................................................................................... 35
4-3-2. PDS (Power Drive Systems) specification ..................................................................................................... 37
4-3-3. Controlword (6040h) ..................................................................................................................................... 38
4-3-4. Statusword (6041h) ........................................................................................................................................ 39
4-3-5. Control mode setting ...................................................................................................................................... 40
5. MOTION INSTRUCTION ........................................................................................................................................ 43
5-1. SINGLE AXIS FUNCTION .......................................................................................................................................... 43
5-1-1. Instruction list ................................................................................................................................................ 43
5-1-2. Instructions .................................................................................................................................................... 44
5-1-2-1. Axis enable【A_PWR】 ............................................................................................................................. 44
5-1-2-2. Error reset【A_RST】 ............................................................................................................................... 46

iii
5-1-2-3. Modify the electrical position【A_WRITE】 ............................................................................................. 48
5-1-2-4. Modify the control mode【A_MODE】 ..................................................................................................... 52
5-1-2-5. Stop motion【A_STOP】 ........................................................................................................................... 55
5-1-2-6. Pause【A_HALT】 .................................................................................................................................... 58
5-1-2-7. Absolute position motion【A_MOVEA】 .................................................................................................. 60
5-1-2-8. Relative position motion【A_MOVER】 ................................................................................................... 65
5-1-2-9. Absolute position continuous motion【A_CMOVEA】 ............................................................................. 70
5-1-2-10. Relative position continuous motion【A_CMOVER】 ............................................................................ 75
5-1-2-11. Speed control motion【A_VELMOVE】 .................................................................................................. 80
5-1-2-12. Superposition motion【A_MOVESUP】 ................................................................................................. 84
5-1-2-13. HM homing【A_HOME】 ....................................................................................................................... 88
5-1-2-14. Homing【A_ZRN】 ................................................................................................................................. 99
5-1-2-15. Gear binding【A_GEARIN】 ................................................................................................................ 109
5-1-2-16. Gear unbinding【A_GEAROUT】 ........................................................................................................ 114
5-1-2-17. Simple absolute position motion【A_DRVA】 ....................................................................................... 119
5-1-2-18. Simple relative position motion【A_DRVI】 ......................................................................................... 123
5-1-2-19. Probe function【A_PROBE】 ............................................................................................................... 127
5-1-2-20. Periodic position control motion【A_CYCPOS】 ................................................................................. 133
5-1-2-21. Periodic speed control motion【A_CYCVEL】 ..................................................................................... 135
5-1-2-22. Periodic torque control motion【A_CYCTRQ】 ................................................................................... 139
5-1-3. Related coil and register .............................................................................................................................. 143
5-2. AXIS GROUP FUNCTION......................................................................................................................................... 151
5-2-1. Command list ............................................................................................................................................... 151
5-2-2. Command introduction ................................................................................................................................ 152
5-2-2-1. Axis group enable【G_PWR】 ................................................................................................................ 152
5-2-2-2. Modify the composition axis【G_CFGAXIS】 ........................................................................................ 155
5-2-2-3. Point to point motion【G_PTP】 ............................................................................................................ 157
5-2-2-4. Linear interpolation【G_LINE】 ............................................................................................................ 161
5-2-2-5. Circular interpolation【G_CIRCLE】 .................................................................................................... 166
5-2-2-6. Spiral motion【G_HELICAL】 ............................................................................................................... 171
5-2-2-7. Superimposed motion【G_MOVSUP】 ................................................................................................... 194
5-2-2-8. Compensation motion【G_COMPON】 ................................................................................................. 199
5-2-2-9. Compensation cancellation【G_COMPOFF】....................................................................................... 204
5-2-2-10. Interrupt motion【G_INTR】 ................................................................................................................ 206
5-2-2-11. Continue the motion【G_GOON】 ........................................................................................................ 208
5-2-2-12. Specified path mode selection【G_PATHMODE】 ............................................................................... 210
5-2-2-13. Select machining path【G_PATHSEL】 ................................................................................................ 212
5-2-2-14. Path motion【G_PATHMOV】 .............................................................................................................. 217
5-2-2-15. Modify the multiplying power【G_SETOVRD】 ................................................................................... 222
5-2-3. Related coil and register .............................................................................................................................. 226
5-3. CAM FUNCTION .................................................................................................................................................... 231
5-3-1. Command list ............................................................................................................................................... 231
5-3-2. Command introduction ................................................................................................................................ 232
5-3-2-1. Cam table loading【CAMTBLSEL】....................................................................................................... 232
5-3-2-2. CAM start【CAMIN】 ............................................................................................................................. 234
5-3-2-3. CAM release【CAMOUT】 ..................................................................................................................... 242
5-3-2-4. Phase compensation【CAMPHASE】 ..................................................................................................... 244
5-3-2-5. CAM table read【CAMRD】 ................................................................................................................... 246
5-3-2-7. Add key point【CAMPOINTADD】 ........................................................................................................ 250
5-3-2-8. Key point delete【CAMPOINTDEL】 ..................................................................................................... 252
5-3-2-9. CAM table unload【CAMTBLDEL】 ...................................................................................................... 254
5-3-3. CAM configuration in the software .............................................................................................................. 256
5-3-3-1. Open the cam table configuration ............................................................................................................ 256
5-3-3-2. Create a new CAM table........................................................................................................................... 256
5-3-3-3. Add the cam table point ............................................................................................................................ 257
5-3-3-4. Export the cam table ................................................................................................................................. 259
6. MOTION COMMAND APPLICATION ................................................................................................................ 260

iv
6-1. SINGLE AXIS FUNCTION APPLICATION ................................................................................................................... 260
6-2. AXIS GROUP FUNCTION APPLICATION ................................................................................................................... 264
6-3. CAM FUNCTION APPLICATION .............................................................................................................................. 267
6-4. PULSE CHANNEL APPLICATION .............................................................................................................................. 276
6-5. FULL CLOSED-LOOP FUNCTION APPLICATION ........................................................................................................ 277
7. BUS MOTION CONTROL FUNCTION CHOICE .............................................................................................. 280
7-1. H MOTION/C MOTION ........................................................................................................................................... 280
7-2. SOFTWARE CONFIGURATION ................................................................................................................................. 280
8. MOTION CONTROL CONFIGURATION INTERFACE ................................................................................... 281
8-1. AXIS CONFIGURATION .......................................................................................................................................... 281
8-2. AXIS MONITOR AND DEBUG .................................................................................................................................. 284
8-3. AXIS GROUP CONFIGURATION ............................................................................................................................... 285
9. OSCILLOSCOPE FUNCTION ............................................................................................................................... 288
9-1. OPERATING CONDITIONS OF OSCILLOSCOPE ......................................................................................................... 288
9-2. OPEN THE OSCILLOSCOPE ..................................................................................................................................... 288
9-3. OSCILLOSCOPE MAIN INTERFACE.......................................................................................................................... 288
9-4. OSCILLOSCOPE CONFIGURATION INTERFACE ........................................................................................................ 290
9-4-1. Oscilloscope type configuration .................................................................................................................. 290
9-4-2. Axis variable configuration.......................................................................................................................... 290
9-4-3. Register configuration ................................................................................................................................. 291
9-4-4. Cursor configuration ................................................................................................................................... 291
9-4-5. Difference interface ..................................................................................................................................... 292
9-4-6. Trigger configuration................................................................................................................................... 293
9-4-7. Oscilloscope application.............................................................................................................................. 294
10. ETHERCAT INSTRUCTION ............................................................................................................................... 298
10-1. SDO READ [EC_SDORD] ................................................................................................................................. 298
10-2. SDO WRITE [EC_SDOWR] ............................................................................................................................... 301
10-3. ESC READ [EC_REGRD] .................................................................................................................................. 304
10-4. ESC WRITE [EC_ESCWR]................................................................................................................................. 307
10-5. ESM STATUS SWITCH [EC_SETSS].................................................................................................................... 310
APPENDIX.................................................................................................................................................................... 311
APPENDIX 1. COMMAND ERROR CODE ......................................................................................................................... 311
APPENDIX 2. REGISTER AND COIL DISTRIBUTION ......................................................................................................... 319
APPENDIX 3. SERVO DRIVER GROUP U PARAMETERS ................................................................................................... 320
APPENDIX 4. ETHERCAT COMMUNICATION RELATED SERVO DRIVER ALARM .............................................................. 324
Appendix 4-1. Alarm list ......................................................................................................................................... 324
Appendix 4-3. Clear the alarm ............................................................................................................................... 327
APPENDIX 5. PHRASEOLOGY ....................................................................................................................................... 328
APPENDIX 6. LIST OF OBJECT DICTIONARIES ................................................................................................................ 329
Appendix 6-1. COE communication area (0x1000-0x1FFF) ................................................................................. 329
Appendix 6-2. Servo parameter area ...................................................................................................................... 331
Appendix 6-3. Servo driver Profile area (0x6000~0x6FFF) .................................................................................. 331
APPENDIX 7. KEY POINTS FOR ATTENTION ................................................................................................................... 335

v
Preface
This manual is XDH / XLH series PLC [motion control], which mainly introduces the upgraded motion control
function, which is applicable to XDH and XLH series PLC.
Note: please confirm that the value of SFD811 is 1 before using the relevant instructions in this manual (SFD811
parameter setting please refer to chapter 5-1-3).

vi
1. EtherCAT technical overview
1-1. EtherCAT overview
EtherCAT, fully known as Ethernet for control automation technology, developed by Beckhoff automation GmbH,
is a real-time Ethernet used for open network communication between master station and slave station. As a
mature industrial Ethernet technology, EtherCAT has the characteristics of high performance, low cost and easy
use.
XDH, XLH series controller (master station) and DS5C servo driver (slave station) comply with the standard
EtherCAT protocol, support the maximum 32-axis slave stations, 32-axis synchronization cycle of 1ms, 2-channel
touch probe function, position, speed, torque and other control modes, and are widely applicable to various
industrial applications.

1-2. System composition (master and slave station)


The connection form of EtherCAT is the network system of linear connection master station (FA controller) and
multiple slave stations.
The number of nodes that can be connected by the slave station depends on the processing or communication
period of the master station, the number of bytes transmitted, etc.

1-3. Communication specification


Item Specification
Physical layer 100BASE-TX (IEEE802.3)
Baud rate 100[Mbps] (full duplex)
Topology Line
Connection cable JC-CA twisted pair (shielded twisted pair)
Cable length Maximum 50m between nodes
Com port 2 Port (RJ45)
EtherCAT Indicators (LED) [Run] RUN Indicator
[L/A IN] Port0 Link/Activity Indicator (Green)
[L/A OUT] Port1 Link/Activity Indicator (Green)
Station Alias (ID) Setting range: 0~65535
Setting address: 2700h
Explicit Device ID Not support
Mailbox protocol COE (CANopen Over EtherCAT)
SyncManager 4
FMMU 3

Modes of operation
csp Cyclic synchronous position mode
position PP Profile position mode
hm Homing mode
Modes of operation
csv Cyclic synchronous velocity mode
Speed
pv Profile velocity mode
cst Cyclic synchronous torque mode
Torque
tq Torque profile mode

Touch Probe 2 channels


Synchronization mode DC (SYNCO event synchronization mode)

1
SM (SM Event synchronization)
Cyclic time (DC 500,1000,2000,4000[μs]
communication period)
Communication object SDO[Service data object], PDO[Process data object]
Maximum PDO allocation per TxPDO: 4 [piece] RxPDO: 4 [piece]
station
Single station PDO Max bytes TxPDO: 24[byte] RxPDO: 24[byte]
Mailbox communication 1ms
interval in PreOP mode
Mailbox SDO requests and SDO information
Note:
(1) See [state machine] for the meanings of SDO and PDO.
(2) The node length is recommended to be 50m, and CAT5e network cable shall be used above 50m.

1-4. EtherCAT communication connection


The wiring of EtherCAT motion control system is very simple. Thanks to EtherCAT, the star topology of Ethernet
can be replaced by a simple linear structure. Taking Xinje DS5C series servo as an example, because EtherCAT
does not need hub and switch, XDH, XLH series PLC body and DS5C series servo are equipped with EtherCAT
communication network port, so the consumption of cable and bridge is greatly reduced, the workload of
connection design and joint calibration is also greatly reduced, which is convenient for saving installation cost.
Linear type connection is recommended for EtherCAT bus connection. The wiring mode is as follows:

Note: only LIN2 port in XG2 series PLC supports EtherCAT communication. The two communication network
ports of the servo driver follow the principle of "down in and up out", that is, the link2 port of XG2 must be
connected with the network port under the LIN1 port of the first servo, and then the network port above the first
servo is connected with the network port under the second servo, and so on.
In the process of communication transmission, it will inevitably be affected by the surrounding electromagnetic
environment. It is recommended that the user use the industrial CAT5e network cable, which can also be
purchased in our company.

2
2. EtherCAT Communication specification
2-1. EtherCAT frame structure
EtherCAT is an industrial communication protocol based on real-time control of Ethernet. It only expands the
IEEE 802.3 Ethernet specification and does not change the basic structure, so it can transmit the data within the
standard Ethernet frame.
Because the EthernetType of the Ethernet Header is [88A4h], the subsequent Ethernet data is processed as the
EtherCAT frame.
The EtherCAT frame is composed of the EtherCAT frame header and more than one EtherCAT sub message,
which is further subdivided. Only the EtherCAT frame with type = 1 of the EtherCAT frame header is processed
according to ESC.
EtherNet/EtherCAT frame structure
14byte 46-1500byte 4byte
Ethernet Header Ethernet Data FCS

Ethernet Header EtherCAT Header Datagrams

6byte 6byte 2byte 11bit 1bit 4bit 44(*1)-1498byte


Datagrams Source EtherType Length Res. Type Datagrams
88A4h 1

1st Ethernet Header 2nd Nth EtherCAT Datagram

10byte Max:1486byte 2byte


Datagram Header Data WKC

1byte 1byte 4byte 11bit 3bit 1bit 1bit 2byte


Working Counter
command index Address area Len R C M IRQ

2byte 2byte More EtherCAT Datagrams


AP** Position Offset Position Addressing

FP** Address Offset Node Addressing

L** Logical Address Logical Addressing


*1: Ethernet frame is shorter than 64 byte, 1-32 byte is added.
(Ethernet Header + Ethernet Data + FCS)

3
2-2. ESM (EtherCAT State Machine)
The EtherCAT state machine (ESM) is responsible for coordinating the state relationship between the master and
slave applications at initialization and runtime.
The state change request is executed by the master station, and the master station puts forward the control request
to the application layer service. The latter generates the application layer control event in the slave station, and the
slave station responds to the application layer control service through the local application layer state write service
after the state change request succeeds or fails. If the status change fails, the slave station keeps the status and puts
the error flag.

The figure below shows the state transformation diagram of ESM:


Init
(IP) (PI)
Pre-Operational
(OI)
(PS) (SP) (SI)
The (IP) etc. in the state transformation
(OP) Safe-Operational diagram is the abbreviation of state
transformation
(SO) (OS)
(IP): Init Pre-Operational
Operational (PS): Pre-Operational Safe-Operational
Init: Initialization status;
Pre-Operational: Pre operation status;
Safe-Operational: Safe operation status;
Operational: Operation status;

Communication action
SDO
Slave station status Actions in various states (email) PDO PDO
receive send receive
and send
Communication initialization, SDO, PDO unable to
Init - - -
receive and send message
Pre-Operational
Only SDO receiving and sending status Yes - -
(PreOP)
Safe-Operational
Status of SDO receiving and sending only, PDO sending Yes Yes -
(SafeOP)
SDO receiving and sending, PDO receiving and sending
Operational (OP) Yes Yes Yes
all feasible status
Note:
The access from the master station to the ESC register is independent of the above table and is available at any
time.
PDO (process data object) is used to transfer periodic communication data.
SDO (service data object) is used to transmit non periodic communication data.
Command or interface operation during ESM state switching may cause abnormal communication error.

4
2-3. Slave station controller ESC
2-3-1. Principle overview
ESC refers to the EtherCAT slave controller. The communication process is completely processed by ESC, which
has four data receiving and transmitting ports, each with a TX and RX. Each port can send and receive Ethernet
data frames. The data flow direction in ESC is fixed: port 0 - > port 3 - > port 1 - > port 2 - > port 0 are
transmitted in sequence. If ESC detects that a port has no external PHY, it will automatically close the port and
automatically forward to the next port through the internal loopback.
Ports(MII/EBUS) SPI/uC parallel/
0 1 2 3 Ditigal I/O On-chip bus

AutoForwarder+
PDI
Loopback
ECAT Interface PDI Interface

PHY
Management
FMMU

ECAT
Processing SyncManager
Unit

ESC address space

Reset Reset Registers User RAM Process RAM

Distributed
Monitoring EEPROM Status
Clocks

SYNC LATCH I2C EEPROM LEDs

2-3-2. Address space


The DS5C series holds 8kbyte of physical address space.
The first 4kbyte (0000h-0FFFh) is used as register space, and the other 4kbyte (1000h-1FFFFh) is used as process
data PDO in RAM field. For details of registers, please refer to the data table of IP (ET1810 / ET1811 / ET1812).
ESC register byte Initial
Length (Byte) Explanation
address value*1
ESC Information (slave station controller information)
0000h 1 Type 04h
0001h 1 Revision 02h
0002h~0003h 2 Build 0040h
0004h 1 FMMUs supported 03h
0005h 1 SyncManagers supported 04h
0006h 1 RAM Size 08h
0007h 1 Port Descriptor 0Fh
0008h~0009h 2 ESC Features supported 0184h
Station Address
0010h~0011h 2 Configured Station Address -
0012h~0013h 2 Configured Station Alias -

Data Link Layer

5
ESC register byte Initial
Length (Byte) Explanation
address value*1
0100h~0103h 4 ESC DL Control -

0110h~0111h 2 ESC DL Status -
Application Layer
0120h~0121h 2 AL Control -
0130h~0131h 2 AL Status -
0134h~0135h 2 AL Status Code -

PDI
0140h 1 PDI Control 08h
0141h 1 ESC Configuration 0Ch
0150h 1 PDI Configuration -
0151h 1 SYNC/LATCH PDI Configuration 66h
0152h~153h 2 Extend PDI Configuration -

Watchdogs
0400h~0401h 2 Watchdog Divider -
0410h~0411h 2 Watchdog Time PDI -
0420h~0421h 2 Watchdog Time Process Data -
0440h~0441h 2 Watchdog Status Process Data -
0442h 1 Watchdog Counter Process Data -
0443h 1 Watchdog Counter PDI -

FMMU
0600h~062Fh 3x16 FMMUs[2:0] -
+0h~3h 4 Logical Start Address -
+4h~5h 2 Length -
+6h 1 Logical Start bit -
+7h 1 Logical Stop bit -
+8h~9h 2 Physical Start Address -
+Ah 1 Physical Start bit -
+Bh 1 Type -
+Ch 1 Activate -
+Dh~Fh 3 Reserved -

Distributed Clocks(DC)-SYNC Out Unit
0981h 1 Activation -

0984h 1 Activation Status -
098Eh 1 SYNCO Status -

0990h~0993h 4 Start Time Cyclic Operation/Next SYNC0 Pulse -

09A0h~09A3h 4 SYNC0 Cycle Time -

6
2-4. SII area (0000h~003Fh)
In the ESC configuration area (EEPROM word address 0000h~0007h), after the power of the drive is started, the
configured station alias automatically reads and writes the ESC register according to ESC. When the value of SII
EEPROM is reflected in the ESC register, the power supply needs to be started again. In addition, the initial value
of IP core (ET1810 / ET1811 / ET1812) is set. Please refer to the data table of IP core (ET1810 / ET1811 /
ET1812) for details.

2-5. SDO (Service Data Object)


DS5C series supports SDO (service data object). The data exchange of SDO uses mailbox communication, so the
data refresh time of SDO becomes unstable.
The master station reads and writes data in the records in the object dictionary, which can set the object and
monitor various states of the slave station. The response to a read-write action to SDO takes time. For objects
refreshed with PDO, please do not refresh with SDO, and overwrite with PDO value.

2-5-1. Mailbox frame structure


The frame structure of mailbox/SDO is as follows. Please refer to ETG specification for details (ETG1000-5 and
ETG1000-6).
Ethernet Header EthernCAT Header 1st EtherCAT Datagram 2nd… … Nth… FCS

10byte Max:1486byte 2byte


Datagram Header Mailbox Protocol WKC

6byte 2byte Max:1478byte


Mailbox Header CoE Header Cmd Specific

16bit 16bit 6bit 2bit 4bit 4bit 9bit 3bit 4bit Max:1478byte
Length Address Channel Prio Type Cnt Number Res Serv Cmd Specific

Frame Data area Data type Function


MailBox Header Length WORD Mailbox data length
Address WORD Address of the sender
Channel Unsigned6 (Reserved)
Prority Unsigned2 Priority
Type Unsigned4 Mailbox type
00h: error
01h: (Reserved)
02h: EoE (Not corresponding)
03h: CoE
04h: FoE (Not corresponding)
05h: SoE (Not corresponding)
06h-0Eh: (Reserved)
0Fh: VoE (Not corresponding)
Cnt Unsigned3 Mailbox counter
Reserved Unsigned1 (Reserved)
CoE Header Number Unsigned9 Reserved
Reserved Unsigned3 Reserved
Service Unsigned4 Message type
Cmd specific Size Indicator Unsigned1 Data Set Size use permission
Transfer Type Unsigned1 Normal transfer/Expedited transfer
Data Set Size Unsigned2 Data size
Complete Access Unsigned1 Object access method selection (not

7
corresponding)
Command Specfier Unsigned3 Upload / download
Selection of requirements / responses, etc
Index WORD Object Index
Subindex BYTE Object Subindex
Object data or abort message, etc

2-5-2. Mailbox overtime


This servo driver performs the following timeout settings in mailbox communication.
Timeout of mailbox request: 100ms
The master station sends a request to the slave station (driver). If the WKC of the transmission data of the
request frame is updated, the slave station is considered to receive the request normally. Until WKC is
updated, retry again and again. However, if WKC is not updated until this set time, the master station side
will time out.
Timeout for mailbox response: 10s
The master receives a response from a request from a slave (driver), which is considered normal if the WKC
is updated. Until this set time, if the response of WKC being updated cannot be received, the master station
side will time out.
The maximum time required by slave station (driver) response completion.

2-5-3. Alarm information


(1) Error code
Error code returns same value as 603Fh (Error code).
0000H ~ FEFFh is defined according to IEC61800-7-201.
FF00h ~ FFFFh are defined by the manufacturer, as shown below.
Index Sub-Index Name/Description Range Date Type Access PDO Op-mode
603Fh 00h Error code 0-65535 U16 ro TxPDO All
The present alarm of the servo driver (only the main number).
When the alarm does not occur, it will display 0000H.
When an alarm occurs, an alarm is displayed.
FF**h
Alarm (main) number (00h~FFh)
(Example) FF03h … 03h=3d E-030 (overvoltage)
FF55h … 55h=85d E-850(TxPDO configuration abnormal protection), E-851(RxPDO
configuration abnormal protection), any of them occurs.
As an exception, A000h is displayed in the case of E-817 (syncmanager 2 / 3 setting
error).
(2) Error register
Error register returns same value as 1001h (Error register).
Index Sub-Index Name/Description Range Date Access PDO Op-mode
Type
1001h 00h Error register 0-65535 U16 ro TxPDO All
Displays the type of alarm (status) that is occurring to the servo drive.
When the alarm does not occur, it will display 0000H.
Do not display warnings.
Bit Content
0
1 Not support
2
3
4 Alarm occurrence defined by Al status code *1
5 Not support
6 Reserved
7 Alarm occurrence undefined by Al status code *2

8
*1: The "alarm defined by AL status code" refers to the EtherCAT Communication
Association abnormal E-800-7, E-810-7, E-850-7.
*2: The "AL status code undefined alarm" refers to the EtherCAT Communication
Association abnormal E-880~7 and the exception of EtherCAT Communication
Association.

2-6. PDO (Process Data Object)


The DS5C series supports PDO (process data object).
The real-time data transfer based on EtherCAT is carried out through the data exchange of PDO (process data
object).
PDO has RxPDO transferred from master station to slave station and TxPDO transferred from slave station to
master station.
Sending side Receiving side
RxPDO Master station Slave station
TxPDO Slave station Master station

2-6-1. PDO mapping objects


PDO mapping refers to the mapping from object dictionary to application object of PDO.
Tables for DS5C series PDO mapping can use 1600h~1603h mapping objects for RxPDO and
1A00h~1A03h mapping objects for TxPDO.
The maximum number of application objects that a mapping object can map is as follows:
RxPDO: 24 [byte], TxPDO: 24 [byte]
The following is an example of setting a PDO map.
< setting example >
Allocation of application objects 6040h, 6060h, 607Ah, 60B8h to mapping object 1600h (Receive PDO
mapping 1: RxPDO_1).
Index Sub Object contents
1600h 00h 04h
01h 6040 00 10 h
02h 6060 00 08 h
03h 607A 00 20 h
04h 60B8 00 10 h
05h 0000 00 00 h

18h 0000 00 00 h
6040h 00h Controlword U16
6060h 00h Mode of operation I8
607Ah 00h Target Position I32
60B8h 00h Touch probe function U16

2-6-2. PDO distribution objects


In order to exchange PDO data, a table for PDO mapping must be assigned to syncmanager. The relationship
between the table used for PDO mapping and syncmanager is described to PDO allocation object. As PDO
allocation object, DS5C can use 1C12h for RxPDO (syncmanager2) and 1C13h for TxPDO (syncmanager3).
The maximum number of application objects that a mapping object can map is as follows:
RxPDO: 4 [Table] (1600h~1603h).
RxPDO: 4 [Table] (1A00h~1A03h).
Usually, because one mapping object is enough, there is no need to change by default.
Example of setting PDO assignment object:
Allocation mapping object 1600h to allocation object 1C12h (sync Manager Channel 2).

9
Index Sub Object contents
1C12h 00h 01h
01h 1600h
02h 0000h
03h 0000h
04h 0000h
Allocation mapping object 1600h to allocation object 1C13h (sync Manager Channel 3).
Index Sub Object contents
1C13h 00h 01h
01h 1A00h
02h 0000h
03h 0000h
04h 0000h

2-7. Communication synchronization mode


DS5C series can select the following synchronization modes.
Synchronization Content Synchronization method Feature
mode
DC SYNC0 Event Synchronize the time High-precision
synchronization information of other slave Compensation treatment shall be carried out
stations based on the time at the main station side
of the first axis
SM2 SM2 Event Synchronize according to No transmission delay compensation, poor
synchronization RxPDO receiving time accuracy
Need to keep transmission time on controller
side (special hardware, etc.)
FreeRun Asynchronous Asynchronous Simple processing
Poor real-time performance

2-7-1. DC (SYNC0 Event synchronization)


DS5C series has 64-bit DC (distributed clock).
The synchronization of EtherCAT communication is based on this DC. According to the DC slave station,
synchronization is realized through the system time with the same reference. The local cycle from the slave station
starts with the sync0 event. Since the slave processing (servo processing) starts from the sync0 event cycle, it is
always synchronized with the sync0 event.
The master station needs to carry out transmission delay compensation (offset compensation) and regular
deviation compensation during communication initialization. The following figure shows the process of
synchronous completion from the input of control power to the event of sync0 and the processing of slave station
(servo processing).

10
2~3s

CPU action restart initialize Normal action


Time variation according to ESM
EtherCAT status migration instruction
communication *1
status Pre Safe
Init Operational
(ESM state) Operational Operational

Servo driver SDO(Mailbox) can send and receive


communication
action
PDO can send

PDO can receive

SYNC0 signal
from ESC

Synchronization Communication
Synchronization completion time cycle
state of sync0 Synchronization Max.1s Synchronization
signal and servo incomplete
completion
control cycle After "synchronization
completion" of sync0 signal
and servo control cycle, PDO
will send a message under the
condition of synchronization
with servo control cycle

2-7-2. SM2 (SM2 Event synchronization)


The local cycle from the slave station starts with SM2 event.
Since the processing of the slave station starts from the SM2 event cycle, it is always synchronized with SM2
event.
Because SM2 event occurs when PDO receiving is completed, it is necessary to ensure that the upper (Master)
side sends the message regularly. If the fluctuation (deviation) of sending time is too large, synchronization cannot
be completed, or an alarm occurs.
If this happens, use DC (sync0 event synchronization).

2-8. LED light


The XDH, XLH series has two EtherCAT indicators (LEDs), L/A IN and L/A OUT.
L/A IN and L/A OUT indicator indicate the link status and action status of the physical layer of each port.
The light color is green.
LED state Content
OFF Link not established
Flickering Link established, with data receiving and sending
ON Link established, no data receiving and sending

11
3. EtherCAT parameter configuration
3-1. EtherCAT configuration interface
Create a new project. In the picture below, open EtherCAT in the PLC configuration branch of the project area.

The EtherCAT parameter configuration interface is divided into master station configuration area, slave station
display area and slave station configuration area.

① Configuration area of master station: set EtherCAT periodic synchronous communication interval, upper
computer timeout, ESM state switching of all slaves. (ESM: Ethernet state machine, refer to [state machine])
② Display area of slave station: scan or manually add the slave station, and the corresponding configuration
information of the slave station selected by the cursor will show on the right side.
③ Slave configuration area: corresponds to the configuration information of the currently selected slave station.

12
3-2. Master station configuration

Parameter Explanation
Synchronization The communication cycle between master station and slave station is 500~10000 (unit: μs)
unit cycle (that is, the sending data time interval between master station and slave station) and SFD2990
is set to the same value.
Note: if 16 or less axis slave station is connected, it can be set to 500; if 32 or less axis slave
station is connected, it can be set to 1000.
Timeout Communication timeout setting of upper computer and related functions of EtherCAT.
Parameter copy Tick the parameters to be copied (the contents include startup parameters and offset time, see
2-5 and 2-7 for the meaning), and copy them to the target slave station based on the parameters
of [reference slave station] (the number here refers to station ID). The target slave station can
be selected in full or selected in part.

13
3-3. Slave station list

Parameter Explanation
Scan Scan to obtain the topology of the current slave, and find out whether there is a matching slave
XML file locally. If not, try to read the EEPROM and object dictionary of the slave to generate
temporary XML. There is no need to stop the PLC.
Note: the scanned slave station distinguishes the first station by station ID, station ID: 0 represents
the first station, and so on.
Add Add the XML file of the slave station (the corresponding XML file is required, which is stored in
the EtherCAT / folder under the installation directory of Xinje PLC programming software). The
default configuration of the slave station is related to XML.
Copy Copy the selected configuration item and add it to the last.
Delete Delete the selected configuration item.
Up Move up the selected configuration item.
Down Move down the selected configuration item.
Update Update the slave station list.

Note: the order in the slave station list must be consistent with the actual connection order. If not, after clicking
[activate] (meaning of activation 3-4 [activate]), the upper computer system will give the following prompt, and
the equipment will not work normally.

14
3-4. Slave station configuration

Parameter Explanation
Download Download the configuration parameters to the flash of PLC without stopping PLC.
Note:
(1) The downloaded configuration is stored in the flash of PLC. Click activate to take effect.
(2) The download here is only for PLC debugging (also can be saved in case of power failure).
Please tick the EtherCAT parameter option when downloading the PLC project, otherwise there is no
Etherecat configuration data when uploading the PLC project.
Upload The configuration information in PLC is uploaded to the upper computer without stopping PLC.
Activate The configuration data in the current PLC will take effect immediately. It will switch from any state
of the slave station to Init, and then to OP state (Init → PreOP → Safeop → OP). The effect is
equivalent to stopping the PLC and then running the PLC. It is not necessary to stop PLC (for the
meaning of slave station state, see the state machine in the general interface).
Ok Exit the interface and save the currently modified data.
Note: only the data will be saved, and the activation parameters will not take effect without
downloading.
Cancel Exit the interface without saving, which is equivalent to pressing the X button in the upper right
corner.

15
3-5. General

Parameter Explanation
Offset time Its specific meaning is shown in the communication sequence diagram. The shift time
in the diagram represents the experienced offset time.
SM watchdog If the watchdog is selected, it will force set 0x420 (watchdog timing time) of ESC
register to 1000.
Note: the function of the watchdog is to reset the system when the program dead or
crashes.
Initialzation Restore all the configuration of the selected slave station to the default configuration,
which needs to be downloaded again to take effect.
Slave information It is used to download EEPROM during servo production and updating, and its
download function is not open to users by default.
PreOP, OP, Init, SafeOP Switch the slave station to specified state.
Current state The current status of the slave. The current slave status can be monitored through SD
[8021 + 20 * I]. * 1
Requested state Status of the slave request. Mode switching control requirements can be monitored
through SD [8029 + 20 * I] . *1
Error message Error is reported when slave station state switching error. You can confirm the status
switching error message through SD [8028 + 20 * I] . *1
Function module It is used to map the EtherCAT slave station to the specified function module. For
example, if the slave station 0 is the servo, the module selection is set as the servo
module. At this time, the predefined functions of the motion control module will be
associated with some necessary PDO objects. If you want to customize the operation,
you can select user define. At this time, PDO data can be modified arbitrarily by the
value of IO mapping. (note that IO module is not open temporarily, and its effect is
equivalent to user define)
Function mapping Used to bind the EtherCAT slave to the specified module function. For example, there
number are two slave stations, namely, station 0 and station 1. You can set the [function
mapping number] of station 0 to 1, and station 1 to 0. At this time, the slave station 1
is controlled by station 0 in the motion control module, while the slave station 0 is
controlled by station 1 in the motion control module.

16
*1: refer to EtherCAT motion control manual appendix 1 for details.

Communication action
SDO
Slave station status Actions in various states (mail) PDO PDO
receive send receive
and send
Communication initialization, SDO, PDO unable to
Init - - -
receive and send messages
Pre-Operational
the status of only SDO sends and receives message Yes - -
(PreOP)
Safe-Operational the status of only SDO sends and receives, PDO sends
Yes Yes -
(SafeOP) message
all feasible status of SDO receiving and sending, PDO
Operational (OP) Yes Yes Yes
receiving and sending
Note: the access from the master station to the ESC register is independent of the above table and is available at
any time.
PDO (process data object) is used to transfer periodic communication data.
SDO (service data object) is used to transmit non periodic communication data.
Command or interface operation during ESM state switching may cause abnormal communication error.

PDI interrupt
PDI output t1 PDI output
PDI
t5

PDI input t3 PDI input


DC DC DC
interrupt interrupt
shiftTime t4 shiftTime
t2
t6
cycleTime
Communication sequence diagram
Related concepts and key time points are as follows:
PDI Process data interface
DC Distributed clock
ESC EtherCAT slave station controller
MCU Microprocessor
PDI interruption This interrupt is triggered when the master sends data to the slave
PDI falling edge EOF is the completion of acquiring data frame from the slave station ESC
PDI rising edge The slave MCU has obtained the current PDO data from ESC
PDI output Copy PDO data from ESC to MCU and wait for MCU to process, which takes time t1
DC interrupt Timing interrupt with reference clock as time reference, whose cycle is cycleTime (i.e.
synchronization unit cycle), is responsible for triggering data processing of slave station (the
same as Xnet data processing)
DC rising edge Trigger data processing of each slave station
PDI input Copy PDO data from MCU to ESC and wait for master station to read next cycle, which takes
time t3

17
3-6. Expert process data

Parameter Explanation
Synchronization SM0, 1: for the interaction of mailbox data (SDO); SM2, 3 for the interaction of PDO data (its
manager type input and output are relative to the master station).
Note:
(1) PDO (process data object) is used to transfer periodic communication data.
(2) SDO (service data object) is used to transmit non periodic communication data.
PDO Specifies the PDO of the corresponding SM, up to 4 can be selected, and the size does not
distribution exceed 24 bytes. (the larger the PDO data is, the longer the transmission time is, and it may not
be completed in the synchronization unit cycle. Therefore, it is impossible to guarantee the
stability of data transmission when there are many slave stations and each slave station has a
large PDO data.)
PDO list Some PDO maps predefined in the servo XML, RxPDO represents PDO transmitted from the
master station to the slave station, 1600h ~ 1603h can be used, TxPDO represents PDO
transmitted from the slave station to the master station, and 1A00h ~ 1A03h can be used.
PDO content The PDO objects to be mapped are specified from the object dictionary, and the objects are
periodically exchanged through PDO. (RxPDO must have 6040h, 6060h, 607Ah, TxPDO must
have 6041h, 6061h, 6064h, 606Ch)

18
3-7. Launch parameter

There are three default configurations in the startup parameters, of which 6060h is the operation mode of the slave
station, with the default value of 8 (CSP mode); 60C2-1 and 60C2-2 are the synchronization unit cycle, 60C2-1 is
the value of the synchronization unit cycle, and 60C2-2 is the unit of the synchronization unit cycle, for example,
the default synchronization unit cycle is 100 × 10-5s, that is, 1000us. (this parameter will change automatically
with the synchronization period configured by the master station, and does not need to be modified manually.).
You can configure startup parameters and their execution order through [add], [edit], [delete], [move up] and
[move down].
Note: the execution order is from top to bottom. You can write different values to the same parameter, indicating
that the parameters are set in the order from top to bottom.
[Error -> Exit]: indicates that if there is an error in configuring this parameter, all the following configurations
will be skipped.
[Click error -> jump] and [next line] to specify to jump to the specified line to continue configuration when an
error occurs.

19
3-8. IO mapping

The allocated RxPDO and TxPDO will be mapped to the register starting from the [start address], and the register
types can be HD and D. Modifying the [start address] will automatically arrange the addresses according to the
parameter order. If there is a duplicate address with other stations, an error will be reported and the address will be
automatically arranged to a non duplicate address.
Parameter types in IO mapping can be divided into read-only (RO) and read-write (RW). Parameter types can be
seen in CoE-Online. In particular, 6040h (RW) is only writable in homing mode (6060h is 6), and 607A (RW) is
not writable in any mode.
If a new PDO is added to the IO mapping, it will be automatically sorted in the order of RxPDO first and TxPDO
later. The corresponding register addresses will also be allocated in order. If the allocated address conflicts with
other set slave addresses, the unused addresses will be automatically selected.

Note: The address automatically assigned due to address conflict starts from HD1000. The unused addresses are
shown as below:

20
21
3-9. COE-Online interface

COE-Online has the function of reading and writing all object Dictionaries Online. When the interface is
opened, the data will be updated all the time. Select the slave of COE online from the list of slave stations on the
left. Double click the RW type object dictionary to make online modification.
COE-Online contains object types:
Object type Explanation
0x1000 Device type
0x1001 Servo driver alarm type (status)
0x1008 Manufacturer equipment name
0x1009 Manufacturer hardware version
0x100A Manufacturer software version
0x1018 Device information
0x1C00 Synchronous management communication type (SyncManager)
0x1C12, 0x1C13 Process data object (PD0) mapping
1600h~1603h, 1A00h~1A03h PDO mapping object
0x1C32, 0x1C33 Synchronous management SM2/3
0x6000-0x6fff Cia402 Profile COE object
0x2000-0x5fff Xinje customized object

22
3-10. ESC register
ESC refers to EtherCAT slave controller, and ESC register interface is the interface for monitoring and modifying
slave registers.

Parameter Explanation
Start address Set the starting value (hexadecimal) of the register to be monitored.
Length Number of registers to be monitored, decimal.
Reload Click to display the value. The current value is displayed only once.
Interface 1 Only the value of each register is displayed and cannot be modified.
Interface 2 The meaning of each bit of the register determines the read/write permission according to the
flag. R-readable, w-writable, w (CLR) - write as clear as 0.
Note: the value modification of some registers will disconnect the communication. If there is no special case, it is
not necessary to modify.

23
4. Object dictionary (CoE-Online)
4-1. Object dictionary area assignment
All objects are configured in the object dictionary of each group through the 16-bit index configuration address
represented by 4-bit hex.
The object dictionary of CoE (CANopen over EtherCAT) specified by CiA402 and the object dictionary of DS5C
series are as follows:
Object dictionary according to CiA402 Object dictionary of DS5C series
Index Content Index Content
0000h~0FFFh data type area 0000h~0FFFh data type area
1000h~1FFFh COE communication area 1000h~1FFFh COE communication area
2000h~5FFFh User-defined area 2000h~2FFFh servo parameter area
3000h~3FFFh Reserved
4000h~4FFFh Reserved
5000h~5FFFh Reserved
6000h~9FFFh Profile area 6000h~6FFFh Driver Profile area
7000h~9FFFh Reserved
A000h~FFFFh Reserved A000h~FFFFh Reserved

4-2. COE communication area (0x1000-0x1FFF)


4-2-1. Object list
(1) Device information object
Index Sub-Index Name
1000h 00h Device type
1001h 00h Error register
1008h 00h Manufacturer device name
1009h 00h Manufacturer hardware version
100Ah 00h Manufacturer software version
1018h - Diagnosis history
00h Number of entries
01h Vendor ID
02h Product code
03h Revision number
04h Serial number
(2) RxPDO object mapping
Index Sub-Index Name
1600h - Receive PDO mapping 1
00h Number of entries
01h 1st receive PDO mapped
02h 2nd receive PDO mapped
03h 3rd receive PDO mapped
04h 4th receive PDO mapped
05h 5th receive PDO mapped
… …
18h 24th receive PDO mapped
1601h - Receive PDO mapping 2
00h Number of entries

24
Index Sub-Index Name
01h 1st receive PDO mapped
02h 2nd receive PDO mapped
03h 3rd receive PDO mapped
04h 4th receive PDO mapped
05h 5th receive PDO mapped
… …
18h 24th receive PDO mapped
1602h - Receive PDO mapping 3
00h Number of entries
01h 1st receive PDO mapped
02h 2nd receive PDO mapped
03h 3rd receive PDO mapped
04h 4th receive PDO mapped
05h 5th receive PDO mapped
… …
18h 24th receive PDO mapped
1603h - Receive PDO mapping 4
00h Number of entries
01h 1st receive PDO mapped
02h 2nd receive PDO mapped
03h 3rd receive PDO mapped
04h 4th receive PDO mapped
05h 5th receive PDO mapped
… …
18h 24th receive PDO mapped

(3) TxPDO object mapping


Index Sub-Index Name
1A00h - Transmit PDO mapping 1
00h Number of entries
01h 1st transmit PDO mapped
02h 2nd transmit PDO mapped
03h 3rd transmit PDO mapped
04h 4th transmit PDO mapped
05h 5th transmit PDO mapped
… …
18h 24th transmit PDO mapped
1A01h - Transmit PDO mapping 2
00h Number of entries
01h 1st transmit PDO mapped
02h 2nd transmit PDO mapped
03h 3rd transmit PDO mapped
04h 4th transmit PDO mapped
05h 5th transmit PDO mapped
… …
18h 24th transmit PDO mapped
1A02h - Transmit PDO mapping 3
00h Number of entries
01h 1st transmit PDO mapped
02h 2nd transmit PDO mapped
03h 3rd transmit PDO mapped
04h 4th transmit PDO mapped
05h 5th transmit PDO mapped
… …
18h 24th transmit PDO mapped

25
Index Sub-Index Name
1A03h - Transmit PDO mapping 4
00h Number of entries
01h 1st transmit PDO mapped
02h 2nd transmit PDO mapped
03h 3rd transmit PDO mapped
04h 4th transmit PDO mapped
05h 5th transmit PDO mapped
… …
18h 24th transmit PDO mapped
(4) PDO object distribution
Index Sub-Indx Name
1C12h - Sync manager channel 2
00h Number of assigned PDOs
01h Assigned RxPDO 1
02h Assigned RxPDO 2
03h Assigned RxPDO 3
04h Assigned RxPDO 4
1C13h - Sync manager channel 3
00h Number of assigned PDOs
01h Assigned TxPDO 1
02h Assigned TxPDO 2
03h Assigned TxPDO 3
04h Assigned TxPDO 4

(5) PDO synchronous management channel


Index Sub-Indx Name
1C32h - Sync manager 2 synchronization
00h Number of sub-objects
01h Sync mode
02h Cycle time
03h Shift time
04h Sync modes supported
05h Minimum cycle time
06h Calc and copy time
08h Command
09h Delay time
0Ah Sync0 cycle time
0Bh Cycle time too small
0Ch SM-event missed
0Dh Shift time too short
0Eh RxPDO toggle failed
20h Sync error
1C32h - Sync manager 2 synchronization
00h Number of sub-objects
01h Sync mode
02h Cycle time
03h Shift time
04h Sync modes supported
05h Minimum cycle time
06h Calc and copy time
08h Command
09h Delay time
0Ah Sync0 cycle time
0Bh Cycle time too small
0Ch SM-event missed

26
Index Sub-Indx Name
0Dh Shift time too short
0Eh RxPDO toggle failed
20h Sync error

4-2-2. Device information


This section describes the equipment information.
Index Sub- Name/Description Range Date Access PDO Op-
Index Type mode
1000h 00h Divece type 0~4294967295 U32 ro NO All
Indicates the device type. In case of servo driver, the value is fixed to 04020192h.
1001h 00h Error register 0~65535 U16 ro TxPDO All
Displays the type of alarm (status) that is occurring to the servo driver.
When the alarm does not occur, it will display 0000H.
Do not display warnings.
Bit Content
0
1 Not support
2
3
4 Alarm occurrence defined by AL status code *1
5 Not support
6 Reserved
7 Alarm occurrence undefined by AL status code *2
*1) The "alarm defined by AL status code" refers to the EtherCAT Communication Association
Error E-800~7, E-810~7, E-850~7.
*2) The "AL status code undefined alarm" refers to the EtherCAT Communication Association
Error E-880~7 and the error except EtherCAT Communication Association.
1008h 00h Manufacturer device name - - ro TxPDO All
Device name.
1009h 00h Manufacturer hardware version - - ro TxPDO All
Hardware version.

Index Sub-Index Name/Description Range DateType Access PDO Op-mode


1018h 00h Number of entries 0~255 U8 ro TxPDO All
Sub-index number for this object. The value is fixed to 04H.
01h Vendor ID 0~4294967295 U32 ro TxPDO All
Manufacturer ID of EtherCAT. The value is fixed to 00000 556h.
02h Product code 0~4294967295 U32 ro TxPDO All
Product code. The value is 10305070h.
03h Revision umber 0~4294967295 U32 ro TxPDO All
Product version number. The value is 02040608h.
04h Divece type 0~4294967295 U32 ro TxPDO All
Product serial number. The value is 00000000h.

27
4-2-3. Sync manager communication type (1C00h)
The action mode assigned to each syncmanager is set by 1C00h object.
The value is fixed for the servo driver.
Index Sub- Name/Description Range DateType Access PDO Op-mode
Index
1C00h 00h Number of used sync manager channels 0~255 U8 ro TxPDO All
The number of child indexes for this object. The value is fixed to 04H.
01h Communication type sync manager 0 0~4 U8 ro TxPDO All
Set the purpose of sync Manager 0.
0: unused.
1: Mailbox receive (master station→slave station)
2: Mailbox send (slave station→master station)
3: RxPDO (master station→slave station)
4: TxPDO (slave station→master station)
Because sync manager0 uses mailbox to receive messages, the value is fixed to 1.
02h Communication type sync manager 1 0~4 U8 ro TxPDO All
Set the purpose of sync Manager 1.
0: unused.
1: Mailbox receive (master station→slave station)
2: Mailbox send (slave station→master station)
3: RxPDO (master station→slave station)
4: TxPDO (slave station→master station)
Because sync manager1 uses mailbox to send messages, the value is fixed to 2.
03h Communication type sync manager 2 0~4 U8 ro TxPDO All
Set the purpose of sync Manager 2.

0: unused.
1: Mailbox receive (master station→slave station)
2: Mailbox send (slave station→master station)
3: RxPDO (master station→slave station)
4: TxPDO (slave station→master station)
Because sync manager2 uses process data output (RxPDO), the value is fixed to 3.
04h Communication type sync manager 3 0~4 U8 ro TxPDO All
Set the purpose of sync Manager 3.
0: unused.
1: Mailbox receive (master station→slave station)
2: Mailbox send (slave station→master station)
3: RxPDO (master station→slave station)
4: TxPDO (slave station→master station)
Because sync manager3 uses process data output (RxPDO), the value is fixed to 4.

28
4-2-4. PDO mapping
1. PDO distribution object (1C12h~1C13h)
The type of PDO mapping table allocated by syncmanager is set by 1C12h to 1C13h objects.
Index Sub-Index Name/Description Range Date Type Access PDO Op-mode
1C12h 00h Number of assigned PDOs 0~4 U8 rw NO All
The number of subindexes for this object.
01h Assigned RxPDO 1 1600h~1603h U16 rw NO All
Specify the RxPDO mapping object.
02h Assigned RxPDO 2 1600h~1603h U16 rw NO All
Specify the RxPDO mapping object.
03h Assigned RxPDO 3 1600h~1603h U16 rw NO All
Specify the RxPDO mapping object.
04h Assigned RxPDO 4 1600~1603 U16 rw NO All
Specify the RxPDO mapping object.
1C13h 00h Number of assigned PDOs 0~4 U8 rw NO All
The number of subindexes for this object. The value is fixed to 04h.
01h Assigned TxPDO 1 1A00h~1A03h U16 rw NO All
Specify the TxPDO mapping object.
02h Assigned TxPDO 2 1A00h~1A03h U16 rw NO All
Specify the TxPDO mapping object.
03h Assigned TxPDO 3 1A00h~1A03h U16 rw NO All
Specify the TxPDO mapping object.
04h Assigned TxPDO 4 1A00h~1A03h U16 rw NO All
Specify the TxPDO mapping object.

Subindex01h-04h of 1C12h and 1C13h can only be changed when the ESM state is PreOP and subindex00h = 0.
In addition, the status is the return port code (06010003h).
After the setting is changed, set the subindex number of subindex00h, and reflect PDO distribution object setting
by converting ESM state to SafeOP.

2. PDO mapping object (1600h~1603h, 1A00h~1A03h)


As a table for PDO mapping objects, objects of 1600h~1603h for RxPDO and 1A00h~1A03h for TxPDO can be
used. After subindex 01h, it represents the information of the mapped application layer object.
Index Sub-Index Name/Description Range DateType Access PDO Op-mode
1600h 00h Number of entries 0~4294967295 U8 rw NO All
Subindex number of the object.
01h 1st receive PDO mapped 0~4294967295 U32 rw NO All
Set the first mapping object.
bit 31 …16 15 ….8 7 ….0
Index number Sub-index number Bit length

02h 2nd receive PDO mapped 0~4294967295 U32 rw NO All


Setting method is same to Subindex01h.
03h 3rd receive PDO mapped 0~4294967295 U32 rw NO All
Setting method is same to Subindex01h.
04h 4th receive PDO mapped 0~4294967295 U32 rw NO All
Setting method is same to Subindex01h.
05h 5th receive PDO mapped 0~4294967295 U32 rw NO All
Setting method is same to Subindex01h.
06h 6th receive PDO mapped 0~4294967295 U32 rw NO All
Setting method is same to Subindex01h.
… …

29
18h 24th receive PDO mapped 0~4294967295 U32 rw NO All
Setting method is same to Subindex01h.
1601h - Receive PDO mapping 2, the Subindex specification is same to 1600h.
1602h - Receive PDO mapping 3, the Subindex specification is same to 1600h.
1603h - Receive PDO mapping 4, the Subindex specification is same to 1600h.

Do not map duplicate objects. The change of the repeated setting is unknown.
Subindex01h-18h of 1600h-1603h can only be changed when the ESM state is PreOP and subindex00h = 0. In
addition, the status returns abort code (06010003h).
After the setting is changed, set the subindex number of subindex0h, and reflect PDO distribution object setting
by converting ESM state to SafeOP.

Index Sub-Index Name/Description Range DateType Access PDO Op-mode


1A00h 00h Number of entries 0~4294967295 U8 rw NO All
Subindex number of the object.
01h 1st transmit PDO mapped 0~4294967295 U32 rw NO All
Set the first mapping object.
bit 31 …16 15 ….8 7…0
Index number Sub-index number Bit length

02h 2nd transmit PDO mapped 0~4294967295 U32 rw NO All


Setting method is same to Subindex01h.
03h 3rd transmit PDO mapped 0~4294967295 U32 rw NO All
Setting method is same to Subindex01h.
04h 4th transmit PDO mapped 0~4294967295 U32 rw NO All
Setting method is same to Subindex01h.
05h 5th transmit PDO mapped 0~4294967295 U32 rw NO All
Setting method is same to Subindex01h.
06h 6th transmit PDO mapped 0~4294967295 U32 rw NO All
Setting method is same to Subindex01h.
… …
18h 24th transmit PDO mapped 0~4294967295 U32 rw NO All
Setting method is same to Subindex01h.
1A01h - Transmit PDO mapping 2, the Subindex specification is same to 1600h.
1A02h - Transmit PDO mapping 3, the Subindex specification is same to 1600h.
1A03h - Transmit PDO mapping 4, the Subindex specification is same to 1600h.

Do not map duplicate objects. The change of the repeated setting is unknown.
Subindex01h-18h of 1A00h-1A03h can only be changed when the ESM state is PreOP and subindex00h = 0. In
addition, the status returns abort code (06010003h).
After the setting is changed, set the subindex number of subindex0h, and reflect PDO distribution object setting
by converting ESM state to SafeOP.

30
4-2-5. Sync manager 2/3 synchronization (1C32h, 1C33h)
The setting of Sync manager2 is executed as 1C32h (Sync maneger 2 synchronization).
The setting of Sync manager3 is executed as 1C33h (Sync maneger 3 synchronization).
Sync manager 2 synchronization (1C32h)
Index Sub-Index Name/Description Range Date Type Access PDO Op-mode
1C32 00h Number of entries 0~20h U8 ro NO All
Subindex number of the object. The value is fixed to 20h.
01h Sync mode 0-65535 U16 rw NO All
Set the synchronization mode of Sync Manager 2.
00h: FreeRun (not synchronized)
01h: SM2 (synchronized with SM 2 Event)
02h: DC SYNC0 (synchronized with Sync0 Event)
02h Cycle time 0~4294967295 U32 rw NO All
Set the cycle of Sync Manager.
Please set it among 500000 (500μs), 1000000 (1ms), 2000000(2ms), 4000000(4ms). If a
value other than the above is set, E-810 (abnormal protection of synchronization cycle
setting) will occur.
03h Shift time 0~4294967295 U32 rw NO All
Offset time.
04h Sync modes supported 0~65535 U16 ro NO All
Set the supported synchronization type.
BIT0: FreeRun mode supported
0: not support; 1: FreeRun mode supported
This servo driver is set to 1.
BIT1: SM synchronization mode supported
0: not support; 1: SM2 event synchronization supported
This servo driver is set to 1.
BIT4-2: DC synchronization mode supported
000b: not support
001b: DC sync0 event supported
This servo driver is set to 001b.
BIT6-5: output offset supported
00b: not support
01b: offset of local clock supported
This servo driver is set to 00b.
BIT15-7: Reserved
1C32 05h Minimum cycle time 0~4294967295 U32 ro NO All
The minimum value of the communication cycle that can be set.
06h Calc and copy time 0~4294967295 U32 ro NO All
The time from SM2 event, sync0 event to ESC read completion.
This time can also be extended when there is a deviation in the signal.
08h Command 0~65535 U16 ro NO All
Not support
09h Delay time 0~4294967295 U32 ro NO All
Not support
0Ah Sync0 cycle time 0~4294967295 U16 ro NO All
When DC SYNC0 (1C32h-01h=02h), the value of ESC register 09A0h is set.
Except DC SYNC0, the setting is 0.
0Bh Cycle time too small 0~65535 U16 ro NO All
Not support
0Ch SM-event missed 0~65535 U16 ro NO All
Not support
0Dh Shift time too short 0~65535 U16 ro NO All
Not support
0Eh RxPDO toggle failed 0~65535 U16 rw NO All
Not support

31
20h Sync error 0~1 BOOL ro NO All
Sync error
This setting value is a reference value, not a guaranteed value.
Sync manager 3 synchronization (1C33h)
Index Sub-Index Name/Description Range DateType Access PDO Op-mode
1C33h 00h Number of entries 0~20h U8 ro NO All
The Subindex number of this object. The value is fixed to 20h.
01h Sync mode 0~65535 U16 rw NO All
Set the synchronization mode of Sync Manager 2.
00h: FreeRun (not synchronized)
01h: SM2 (synchronized with SM 2 Event)
02h: DC SYNC0 (synchronized with Sync0 Event)
02h Cycle time 0~4294967295 U32 rw NO All
Set the cycle of Sync Manager.
Please set it among 500000 (500μs), 1000000 (1ms), 2000000(2ms), 4000000(4ms). If a
value other than the above is set, E-810 (abnormal protection of synchronization cycle
setting) will occur.
03h Shift time 0~4294967295 U32 rw NO All
Offset time.
04h Sync modes supported 0~65535 U16 ro NO All
Set the supported synchronization type.
BIT0: FreeRun mode supported
0: not support; 1: FreeRun mode supported
This servo driver is set to 1.
BIT1: SM synchronization mode supported
0: not support; 1: SM2 event synchronization supported
This servo driver is set to 1.
BIT4-2: DC synchronization mode supported
000b: not support
001b: DC sync0 event supported
This servo driver is set to 001b.
BIT6-5: output offset supported
00b: not support
01b: offset of local clock supported
This servo driver is set to 00b.
BIT15-7: Reserved
1C33h 05h Minimum cycle time 0~4294967295 U32 ro NO All
The minimum value of the communication cycle that can be set.
06h Calc and copy time 0~4294967295 U32 ro NO All
The time from SM2 event, sync0 event to ESC read completion.
This time can also be extended when there is a deviation in the signal.
08h Command 0~65535 U16 ro NO All
Not support
09h Delay time 0~4294967295 U32 ro NO All
Not support
0Ah Sync0 cycle time 0~4294967295 U16 ro NO All
The same value with 1C32h-0Ah
0Bh Cycle time too small 0~65535 U16 ro NO All
Not support
0Ch SM-event missed 0~65535 U16 ro NO All
Not support
0Dh Shift time too short 0~65535 U16 ro NO All
Not support
0Eh RxPDO toggle failed 0~65535 U16 rw NO All
Not support
20h Sync error 0~1 BOOL ro NO All
Sync error

32
This setting value is a reference value, not a guaranteed value.

1. DC (SYNC0 event synchronization)


synchronization method Features
Synchronize the time information of High precision, need to compensate at the main
other slave stations based on the time station side
of the first axis

The specification of DC synchronous mode in this servo driver is as follows:


Sync0 Sync0
event event
1C32h:sub02h ( cycle time)【rw】
Frame Sync0 cycle time【rw】 Frame
(address:09A0h~09A3h)

1C32h:sub05h (Minimum cycle time)【ro】

1C32h:sub03h ( shift time)【rw】


From Sync0 to Input Latch

User shift time This product is not


Input Latch corresponded(=0)
1C33h:sub06h(Calc and copy time)【ro】
1C32h:sub03h ( shift time)【ro】
From SYNC0 to outputValid (Fixed as this
product)

Output Valid
1C32h:sub09h(Delay time)【ro】
1C32h:sub06h(Calc and copy time)【ro】

2. SM2 (SM2 event synchronization)


synchronization method Features
Synchronize with RxPDO No transmission delay compensation accuracy
receiving time difference
The transmission time must be ensured on the upper
side (special hardware, etc.)

The specifications of SM2 synchronous mode in this servo driver are as follows:

33
SM2 SM2
event event

Frame 1C32h:sub02h ( cycle time)【rw】 Frame

1C32h:sub05h (Minimum cycle time)【ro】

1C32h:sub03h ( shift time)【rw】


From SM2 to Input Latch

User shift time This product is not


Input Latch corresponded(=0)
1C33h:sub06h(Calc and copy time)【ro】
1C32h:sub03h ( shift time)【ro】
From SM2 to outputValid (fixed as this
product)

Output Valid
1C32h:sub09h(Delay time)【ro】
1C32h:sub06h(Calc and copy time)【ro】

34
4-3. Driver Profile area (0x6000~0x6FFF)
4-3-1. Object list
Index Sub-Index Name
603Fh 00h Abort connection option code
6040h 00h Controlword
6041h 00h Statusword
605Ah 00h Quick stop option code
605Bh 00h Shutdown option code
605Bh 00h Disable operation option code
605Bh 00h Halt option code
605Eh 00h Fault reaction option code
6060h 00h Modes of operation
6061h 00h Modes of operation display
6062h 00h Position demand value
6063h 00h Position actual internal value
6064h 00h Position actual value
6065h 00h Following error window
6066h 00h Following error time out
6067h 00h Position window
6068h 00h Position window time
6069h 00h Velocity sensor actual value
606Bh 00h Velocity demand value
606Ch 00h Velocity actual value
606Dh 00h Velocity window
606Eh 00h Velocity window time
606Fh 00h Velocity threshold
6070h 00h Velocity threshold time
6071h 00h Target torque
6072h 00h Max torque
6073h 00h Max current
6074h 00h Torque demand
6075h 00h Motor rated current
6076h 00h Motor rated torque
6077h 00h Torque actual value
6078h 00h Current actual value
6079h 00h DC link circuit voltage
607Ah 00h Target position
607Bh - Position range limit
00h Highest sub-index supported
01h Min position range limit
607Bh 02h Max position range limit
607Ch 00h Home offset
607Dh - Software position limit
00h Number of entries
01h Min position limit
02h Max position limit
606Eh 00h Polarity
607Fh 00h Max profile velocity
6080h 00h Max motor speed
6081h 00h Profile velocity
6082h 00h End velocity
6083h 00h Profile acceleration
6084h 00h Profile deceleration
6085h 00h Quick stop deceleration

35
Index Sub-Index Name
6086h 00h Motion profile type
6087h 00h Torque slope
6088h 00h Torque profile type
608Fh - Position encoder resolution
00h Highest sub-index supported
01h Encoder increments
02h Motor revolutions
6091h - Gear ratio
00h Number of entries
01h Motor revolutions
02h Shaft revolutions
6092h - Feed constant
00h Highest sub-index supported
01h Feed
02h Shaft revolutions
6098h 00h Homing method
6099h - Homing speeds
00h Number of entries
01h Speed during search for switch
02h Speed during search for zero
609Ah 00h Homing acceleration
60A3h 00h Profile jerk use
60A4h - Profile jerk
00h Highest sub-index supported
01h Profile jerk1
02h Profile jerk2
60B0h 00h Position offset
60B1h 00h Velocity offset
60B2h 00h Torque offset
60B8h 00h Touch probe function
60B9h 00h Touch probe status
60BAh 00h Touch probe pos1 pos value
60BBh 00h Touch probe pos1 neg value
60BCh 00h Touch probe pos2 pos value
60BDh 00h Touch probe pos2 neg value
60C2h - Interpolation time period
00h Highest sub-index supported
01h Interpolation time period value
02h Interpolation time index
60C5h 00h Max acceleration
60C6h 00h Max deceleration
60E3h - Supported homing method
00h Number of entries
01h 1st supported homing method
.. ..
20h 32nd supported homing method
60F2h 00h Positioning option code
60F4h 00h Following error actual value
60FAh 00h Control effort
60FCh 00h Position demand internal value
60FDh 00h Digital inputs
60FEh - Digital outputs
00h Number of entries
01h Physical outputs
02 Bit mask
60FEh 00h Target velocity

36
Index Sub-Index Name
6502h 00h Supported drive modes

4-3-2. PDS (Power Drive Systems) specification


According to the user command or abnormal detection, the state transition of the PDS associated with the power
control of the servo driver is defined as follows.
Power off or reset
Start

0: After the control power is put


into operation(Auto skip 0)
Not ready to switch on
(Initialization not in state)

1: After initialization (Auto skip 1)

Switch on 15:fault reset


Disabled Fault
(Initialization (alarm status)
completion status)
Shutdown:2 7:disable
voltage

Ready to switch on
(main power OFF)

Switch on:3 14: Deceleration


6:Shutdown processing
completed
Switched on (auto skip 2)
Disable Disable
voltage:10 (servo ready or
voltage:12
servo enable off)
Quick stop active Fault reaction
(Deceleration active
enable
processing) operation:4 5:disable (Deceleration
operation processing)
16:enable
Operation Operation enabled 8:shutdown
(servo start) 13:error occurs
11:quick stop 9:disable voltage

After migrating to operation enabled(servo is enabled), please increase the time to more than 100ms and input the
action command.
The following table shows the PDS state migration events (migration conditions) and actions during migration.
For the migration of PDS, the status migration is performed at the same time as the handshake is obtained
(through 6041h: Statusword confirm the status has been converted and then send the next migration instruction).
PDS conversion Event Action
0 Auto skip 0 After the power supply is put into operation, or after After the power supply is put
the application layer is reset, it will automatically into operation, or after the
migrate. application layer is reset, it will
automatically migrate.
1 Auto skip 1 Automatic conversion after initialization. Communications are
established.

37
2 Shut down The condition of receiving the shutdown instruction. Nothing special.
3 Switch on When the power supply is on, the condition of Nothing special.
receiving the switch on command.
4 Enable operation The condition of receiving the enable operation The drive function is effective.
instruction. In addition, all previous set
point data are cleared.
5 Disable operation The situation of receiving the disable operation Invalid driver function.
instruction.
6 Shutdown When the power supply is ON, the condition of Nothing special.
receiving Shutdown instruction. Check out the
condition that the power supply is OFF.
7 Disable voltage The condition of receiving Disable voltage Nothing special.
instruction. The condition of receiving Quick stop
instruction.
When the ESM status is PreOP, SafeOP or OP, the
condition of migrating to init.
8 Shutdown When the power supply is ON, the condition of Driver function is invalid.
receiving Shutdown instruction.
9 Disable voltage the condition of receiving Disable voltage Driver function is invalid.
instruction.
10 Disable voltage the condition of receiving Disable voltage Nothing special.
instruction. the condition of receiving Quick stop
instruction.
When the ESM status is PreOP, SafeOP or OP, the
condition of migrating to init.
11 Quick stop the condition of receiving Quick stop instruction. Execute Quick stop function.
12 Disable voltage When the quick stop selection code is the set value Driver function is invalid.
of 1, 2 and 3, and the quick stop action is completed.
When the quick stop selection code is the set value
of 5, 6 and 7, and the quick stop action is completed,
the condition of receiving disable voltage
instruction.
Check the condition that the power supply is off.
13 Error occurs Abnormal detection. Execute Fault reaction function.
14 Auto skip 2 After the abnormal detection and deceleration Driver function is invalid.
processing is completed, it will be migrated
automatically.
15 Fault reset The situation of receiving the fault result instruction If the fault factor does not exist,
after the fault is removed. reset the fault status.
16 Enable operation When the quick stop selection code is the set value Driver function is valid.
of 5, 6 and 7, the condition of receiving Enable
operation instruction.

4-3-3. Controlword (6040h)


PDS status migration, etc. The command to control the slave station (servo driver) is set through 6040h (control
word).
Index Sub-Index Name/Description Range DateType Access PDO Op-mode
6040h 00h Controlword 0~65535 U16 rw RxPDO All
Set the control command to the servo driver such as PDS state conversion.
Bit information
15 14 13 12 11 10 9 8
R oms h
7 6 5 4 3 2 1 0
fr R eo qs ev so
r = reserved (not corresponding) fr = fault reset
oms = operation mode specific eo = enable operation

38
(control mode based on bit) qs = quick stop
h = halt ev = enable voltage
so = switch on

bits of the controlword


bit7 bit3 bit2 bit1 bit0
Command PDS conversion
fault Enable quick Enable Switch
reset operation stop voltage on
Shutdown 0 - 1 1 0 2, 6, 8
Switch on 0 0 1 1 1 3
Switch on + Enable operation 0 1 1 1 1 3+4
Enable operation 0 1 1 1 1 4, 16
Disable voltage 0 - - 0 - 7, 9, 10, 12
Quick stop 0 - 0 1 - 7, 10, 11
Disable operation 0 0 1 1 1 5
Fault reset 0->1 - - - - 13

The bit logic of the quick stop instruction is valid at 0.


Please execute other bit logic and the opposite actions.
Bit8 (HALT): 1, the motor deceleration pause is executed by 605Dh (halt selection code).
After the pause, the enable must be turned off to restart the action.
bit9, 6-4(operation mode specific):
The following shows the inherent change of OMS bit in the control mode (OP mode). (for details, please refer to
the chapter of related objects of each control mode.)
Op-mode Bit9 Bit6 Bit5 Bit4
pp change on set-point absolute /elative change set immediately new set-point
pv - - - -
tq - - - -
hm - - - start homing
csp - - - -
csv - - - -
cst - - - -

4-3-4. Statusword (6041h)


PDS status migration, etc. the command to control the slave station (servo driver) is set through 6040h (control
word).
Index Sub-Index Name/Description Range DateType Access PDO Op-mode
6041h 00h Statusword 0~65535 U16 ro TxPDO All
Indicates the status of the servo driver.
Bit information
15 14 13 12 11 10 9 8
r oms ila oms rm r
7 6 5 4 3 2 1 0
w sod qs ve f oe so rsto
r = reserved (not corresponding) w = warning
sod = switch on disabled
oms = operation mode specific qs = quick stop
(control mode based on bit) ve = voltage enabled
ila = internal limit active f = fault
oe = operation enabled
rm = remote so = switched on
rtso = ready to switch on

39
Bit6,5,3-0 (switch on disabled/quick stop/fault/operation enabled/switched on/ready to switch on): confirm PDS
status according to this bit. The following shows the status and related bit.
StatusWord PDS State
xxxx xxxx x0xx 0000 b Not ready to switch on Initialization incomplete state
xxxx xxxx x1xx 0000 b Switch on disabled Initialization completion status
xxxx xxxx x01x 0001 b Ready to switch on Initialization completion status
xxxx xxxx x01x 0011 b Switched on Servo enable off/ servo ready
xxxx xxxx x01x 0111 b Operation enabled Servo enable on
xxxx xxxx x00x 0111 b Quick stop active Stop immediately
xxxx xxxx x0xx 1111 b Fault reaction active Error (alarm) judge
xxxx xxxx x0xx 1000 b Fault Error (alarm) status
bit4 (voltage enabled): In case of 1, it means that the power supply voltage is applied to PDS.
bit5 (quick stop): In the case of 0, PDS receives the quick stop request. The bit logic of quick stop is valid at 0.
Please excute other bit logic and the opposite actions.
bit7 (warning): In the case of 1, a warning is occurring. When warning, PDS status will not change and motor will
continue to operate.
bit9 (remote): In the case of 0(local), indicates the status that 6040 (controlword) cannot process. In the case of 1
(remote), indicates 6040 (Controlword) is in a manageable state. The ESM state changes to 1 when the transition
is above PreOP.
bit13,12,10 (operation mode specific): the following means inherent change of OMS bit in control mode. (For
details, please refer to the chapter of related objects of each control mode)
Op-mode bit13 bit12 Bit10
pp following error set-point acknowledge target reached
pv - speed target reached
tq - - target reached
hm homing error homing attained target reached
csp following error drive follows command value -
csv - drive follows command value -
cst - drive follows command value -
bit11 (internal limit active): The main reason for the internal limit is that the bit11 (internal limit active) of 6041h
(status word) changes to 1.
bit15,14 (reserved): this bit is not used (fixed 0).

4-3-5. Control mode setting


1. Supported drive modes (6502h)
This servo driver can confirm the supported modes of operation according to 6502h (supported drive modes).
Index Sub-Index Name/Description Range DateType Access PDO Op-mode
6502h 00h Supported drive modes 0~4294967295 U32 ro TxPDO All
Supported Mode of operation.
A value of 1 indicates the mode supported in this mode.
Bit information
31…16 15…10 9 8
r r cst csv
0 0 1 1
7 6 5 4 3 2 1 0
csp r hm r tq pv r pp
1 0 1 0 1 1 0 1

bit Mode of operation Abbr corresponding


0 Profile position mode pp YES
2 Profile velocity mode pv YES
3 Torque profile mode tq YES
5 Homing mode hm YES
7 Cyclic synchronous position mode csp YES

40
8 Cyclic synchronous velocity mode csv YES
9 Cyclic synchronous torque mode cst YES

2. Modes of operation (6060h)


The control mode is set through 6060h (modes of operation).
Index Sub-Index Name/Description Range DateType Access PDO Op-mode
6060h 00h Mode of operation -128~127 I8 rw RxPDO All
Set the control mode of servo driver
Non corresponding control mode setting inhibit.
bit Mode of operation Abbr Corresponding
-128~ -1 Reserved - -
0 No mode changed/No mode assigned - -
1 Profile position mode pp YES
3 Profile velocity mode pv YES
4 Torque profile mode tq YES
6 Homing mode hm YES
8 Cyclic synchronous position mode csp YES
9 Cyclic synchronous velocity mode csv YES
10 Cyclic synchronous torque mode cst YES
11~127 Reserved - -

Because 6060h (modes of operation) is default = (no mode change / no mode assigned), please set the control
mode value to be used after the power is put into operation. When the set value of 6060h is 0 and the set value of
6061h is 0, if the PDS state is migrated to operation enabled, E-881 (control mode setting abnormal protection)
occurs.
After the initial state of 6060h = 0 (no mode assigned) is transferred to the supported control mode (PP, PV,
TQ, HM, CSP, CSV, CST), set 6060h = 0 again is seemed as "no mode changed", and the control mode can not be
switched. (keep the previous control mode).

3. Modes of operation display (6061h)


The confirmation of the control mode inside the servo driver is performed according to 6061h (modes of operation
display). After 6060h (modes of operation) is set, please confirm whether it is feasible to set this object action
through detection.
Index Sub-Index Name/Description Range DateType Access PDO Op-mode
6061h 00h Mode of operation display -128~127 I8 ro TxPDO All

41
Current control mode.
bit Mode of operation Abbr Corresponding
-128~ -1 Reserved - -
0 No mode changed/No mode assigned - -
1 Profile position mode pp YES
3 Profile velocity mode pv YES
4 Torque profile mode tq YES
6 Homing mode hm YES
8 Cyclic synchronous position mode csp YES
9 Cyclic synchronous velocity mode csv YES
10 Cyclic synchronous torque mode cst YES
11~127 Reserved - -

42
5. Motion instruction
5-1. Single axis function
5-1-1. Instruction list
Instruction Function Chapter
A_PWR Axis enable 5-1-2-1
A_RST Error reset 5-1-2-2
A_WRITE Modify the electrical position 5-1-2-3
A_MODE Modify the control mode 5-1-2-4
A_STOP Stop motion 5-1-2-5
A_HALT Pause 5-1-2-6
A_MOVEA Absolute position motion 5-1-2-7
A_MOVER Relative position motion 5-1-2-8
Absolute position continuous
A_CMOVEA 5-1-2-9
motion
A_CMOVER Relative position continuous motion 5-1-2-10
A_VELMOVE Speed control motion 5-1-2-11
A_MOVESUP Superimposed motion 5-1-2-12
A_HOME HM homing 5-1-2-13
A_ZRN Homing 5-1-2-14
A_GEARIN Gear binding 5-1-2-15
A_GEAROUT Gear unbinding 5-1-2-16
A_DRVA Simple absolute position motion 5-1-2-17
A_DRVI Simple relative position motion 5-1-2-18
A_PROBE Probe function 5-1-2-19
A_CYCPOS Periodic position control motion 5-1-2-20
A_CYCVEL Periodic speed control motion 5-1-2-21
A_CYCTRQ Periodic torque control motion 5-1-2-22

43
5-1-2. Instructions

5-1-2-1. Axis enable【A_PWR】


(1) Overview
Enable the servo axis.
Axis enable [A_PWR]
Execution Normally open/close coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Output state word start address 16-bit, single word
S1 Output state bit start address Bit
S2 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ●
S2 ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.
(4) Function and action
S0 S1 S2
M0
A_PWR D0 M1 K0

⚫ S0 specifies the output state word start address


⚫ S1 specifies the output state bit start address
⚫ S2 specifies the axis terminal number
⚫ When M0 is set to on, enable the specified axis of S2 and switch the axis to the operable state. When M0 is
set to off, turn off the enabling of S2 specified axis and switch the axis to idle state
⚫ After the instruction is executed, slave station single axis state (D20000+200*N) switch to 1
(5) Note
⚫ If A_PWR is used more than once, it will cause double coil conflict
⚫ The [command related] parameters can be monitored only when the conditions in front of the ladder chart are
on
⚫ The soft limit will be detected only when the axis is enabled
⚫ A_ PWR does not output axis related error codes
⚫ The encoder axis does not need to be enabled.
(6) Related parameters
Output Paranemter name Data type Unit Note
parameter
S0 ErrCode INT16U - Command error code
State parameter Paranemter name Data type Unit Note
S1 PwrStat BOOL - Enabled state
Axis number Paranemter name Data type Unit Note
S2 Axis INT16U - Axis number starts from 0

44
(7) Sequence diagram

Enable

Enabled

(8) Application
Enable the axis K0:
M0
A_PWR HD0 M1 K0

When there is no axis error, when M0 is set to on, K0 axis is enabled, the enabling state bit M1 is set to on, and
the state machine D20000 + 200*N of the corresponding axis is 1, indicating the enabling static state.

45
5-1-2-2. Error reset【A_RST】
(1) Overview
In case of single axis error, release the axis error state and switch to the normal operation state.
Error reset [A_RST]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Output state word start address 16-bit, single word
S1 Output state bit start address Bit
S2 Output axis terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) function and action Suitable soft component


S0 S1 S2
M0
A_RST D0 M1 K0

⚫ S0 specifies the output state word start address


⚫ S1 specifies the output state bit start address, occupies the relay S1~S1+2
⚫ S2 specifies the axis terminal number
⚫ When M0 changes from off → on, release the error state of the axis specified by S2. After successfully
releasing the error state, S1 is set to on;
⚫ After the command is executed, the single axis state (D20000 + 200*N) of the slave station is switched to 0
or 1 (0: axis enable is off, 1: axis enable is on).
(5) Note
⚫ The command is triggered by the rising edge, which will only perform error reset when the rising edge of the
coil is triggered
⚫ A_RST command can clear the alarms allowed to be cleared by the driver. Some serious alarms need to clear
the errors on the driver side before executing A_RST instruction
⚫ Please confirm that the corresponding error has been processed before executing the error reset instruction
⚫ After the command is executed successfully, the output status bit will not be automatically set to off. If
necessary, please manually set the status bit to off.
(6) Related parameters
Output Parameter Data type Unit Note
parameter name
S0 ErrCode INT16U - Command error code
State parameter Parameter Data type Unit Note
name
S1 Done BOOL - Instruction execution complete
S1+1 Busy BOOL - The instruction is being executed
S1+2 Error BOOL - Instruction execution error
Axis number Parameter Data type Unit Note
name
S2 Axis INT16U Axis number starts from 0

46
(7) Sequence diagram

Triggered command Triggered command

Execute

Done

Busy

Error

Error in command execution process

Note:
The command is triggered and the Busy signal is set on. When the command execution is completed, the Busy
signal is reset and the Done signal is set on.
When there is an error during instruction execution, the Error signal is set on, other signals are reset, and the
corresponding error code is output.
(8) Application
Clear the error state of axis K0:
M0
A_RST HD0 M1 K0

When the axis has error (state machine D20000+200*N=7), the axis error can be cleared through the instruction
A_RST (please check the corresponding error code D20001 + 200*N first, and then clear the alarm after
confirming that the error has been removed), and the state machine can be switched to the running state.
Before A_RST After A_RST

47
5-1-2-3. Modify the electrical position【A_WRITE】
(1) Overview
Modify the axis present position.
Modify the electrical position [A_WRITE]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 64-bit, 4 words
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action


S0 S1 S2 S3
M0
A_WRITE D0 D50 M1 K0

⚫ S0 specifies input parameter start address, occupies register S0~S0+5


⚫ S1 specifies output state word start address
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+2
⚫ S3 specifies axis terminal number
⚫ When M0 is from OFF→ON, modify the S3 specified axis present position (D20044+200*N) to S0 (N is
axis number, starts from 0)
⚫ After executing the instruction, slave station single axis state (D20000+200*N) will not change

(5) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 Position FP64 Command Target position
unit
S0+4 Mode INT16U - Position type*
0: absolute
1: relative
S0+5 BufferMode INT16U - Buffer mode*
0: break in
1: buffer
(Cannot support right now)
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter

48
S2 Done BOOL - Instruction execution complete
S2+1 Busy BOOL - The instruction is being executed
S2+2 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis number starts from 0
*Note: absolute, new present position =S0 input value.
Relative, new present position = old present position +S0 input value.

(6) Sequence diagram

Triggered instruction Triggered instruction

Execute

Done

Busy

Error

Error in the instruction execution process


Note:
The command is triggered and the Busy signal is set on. When the command execution is completed, the Busy
signal is reset and the Done signal is set on.
When there is an error during instruction execution, the Error signal is set on, other signals are reset, and the
corresponding error code is output.

(7) Application
Modify the axis present position:
M0
A_WRITE D0 D10 M1 K0

When absolute mode is selected to modify the position, the command configuration is as follows:

49
Before the instruction execution After the instruction execution

Note: before the command is executed, the current position of the axis is 10000, after absolute mode A_WRITE is
executed, write the target location parameter to the current location (the target location in this example is 0).

When the relative mode is selected to modify the position, the command configuration is as follows:

50
指令执行前 指令执行后

Note: before executing the command, the current position of the axis is 10000, after executing relative mode
A_WRITE, the current position changes to the original position plus the target position (in this example, the target
position is 1000, plus the original position 10000, that is, the final position is 11000).

51
5-1-2-4. Modify the control mode【A_MODE】
(1) Overview
Modify the control mode (6060h) of specified axis.
Modify the control mode [A_MODE]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 16-bit, single word
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action


S0 S1 S2 S3
M0
A_MODE D0 D50 M1 K0

⚫ S0 specifies input parameter start address


⚫ S1 specifies output state word start address
⚫ S2 specifies output state bit start address, occupies relay S2~S2+2
⚫ S3 specifies axis terminal number, specified axis, only fit for EtherCAT bus axis
⚫ When M0 is from OFF→ON, the control mode of S3 corresponding axis number is switched to S0 specified
mode
⚫ The control mode selection please refer to slave station Ethercat parameter 6060h
⚫ After the instruction is executed, the single axis state (D20000+200*N) of slave station will not change.

(5) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 Mode INT16U - Target mode
The mode selection please refer to slave
station Ethercat parameter 6060h
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - Instruction execution complete
S2+1 Busy BOOL - The instruction is being executed
S2+2 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note

52
number
S3 Axis INT16U - Axis number starts from 0

(6) Sequence diagram

Triggered instruction Triggered instruction

Execute

Done

Busy

Error

Error in the instruction execution process


Note:
The command is triggered and the Busy signal is set on. When the command execution is completed, the Busy
signal is reset and the Done signal is set on.
When there is an error during instruction execution, the Error signal is set on, other signals are reset, and the
corresponding error code is output.

(7) Application
Modify the axis control mode to CSV mode:
M0
A_MODE HD0 HD2 M1 K0

The instruction configuration is shown as below:

53
Note: if the command is executed successfully, the flag bit M1 changes to on, and the control mode of the
specified axis will change to CSV mode (the value of 6060h is set to 9. See 4-3-5 control mode setting for control
mode setting details).

54
5-1-2-5. Stop motion【A_STOP】
(1) Overview
Deceleration stop or emergency stop the motion axis.
Stop motion [A_STOP]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 64-bit, four words
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action


S0 S1 S2 S3
M0
A_STOP D0 D50 M1 K0

⚫ S0 specifies input parameter start address, occupies the register S0~S0+8


⚫ S1 sepcifies output state word start address
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+3
⚫ S3 specifies the axis terminal number
⚫ When M0 changes from off to on, the stop action is performed for the axis specified by S3, and the stop
mode is specified by S0 + 8. If it is the deceleration stop mode, the axis is in the deceleration stop state after
the command is executed, and other commands are invalid in this state. After the deceleration stop is
completed, the axle is in the static state, and other commands can be executed at this time
⚫ When it is executed in deceleration stop mode, the single axis state (D20000 + 200*N) of the slave station
during deceleration stop is 6, and the single axis state after axis stop is 1.

(5) Notes
⚫ The actual deceleration speed of the axis is the larger one beween present motion deceleration speed and
A_STOP deceleration speed
⚫ The deceleration stop process cannot be interrupted by any other command, but can be interrupted by A_
Stop command
⚫ This instruction has higher priority than other instructions and will not be interrupted by any other
instructions during the execution of the instruction.
⚫ In the deceleration stop mode, it will be compared with the deceleration in the command and the deceleration
of the executing motion command, and finally decelerate and stop with the larger value of the two.

55
(6) Related parameters
Input Parameter name Data type Unit Note
parameter
S0 Deceleration FP64 Command Target deceleration
unit/s2
S0+4 Jerk FP64 Command Target jerk, the change speed of
unit/s3 acceleration/deceleration
S0+8 StopMode INT16U - Stop type
0: Deceleration stop
1: Emergency stop
2: Emergency stop and turn off enable
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - Instruction execution complete
S2+1 Busy BOOL - The instruction is being executed
S2+2 Abort BOOL - Instruction is interrupted
S2+3 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis number starts from 0
Stop type description:
① Deceleration stop
Decelerate and stop at the setting deceleration. If the deceleration is 0, execute at the default deceleration (default
deceleration = default maximum deceleration SFD8088 * default deceleration percentage SFD8098). Take
instruction A_VELMOVE and A_STOP as an example:

During deceleration stop, execute the command and report an error

A_VELMOVE
M0

Done

Busy

Active

Error

A_STOP
M0

Busy

Done

Velocity

Command execution
Command execution
completed

56
② Emergency stop
When the command is executed, stop the axis immediately.
Note: stopping the motion immediately will damage the machinery.

M0

Done

Position

Velocity

The position when triggered is the position where the axis stops

③ Emergency stop and turn off enable


At the same time of emergency stop, turn off the enabling of the axis.

57
5-1-2-6. Pause【A_HALT】
(1) Overview
Decelerate and stop the moving axis.
Pause [A_HALT]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 64-bit, four words
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
A_HALT D0 D50 M1 K0

⚫ S0 specifies input parameter start address, occupies the register S0~S0+8


⚫ S1 specifies output state word start address
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+4
⚫ S3 specifies axis terminal number
⚫ When M0 changes from off → on, the deceleration stop action is executed for the axis specified by S3, and
the deceleration stop process can be interrupted
⚫ After the command is executed, the single axis state (D20000 + 200*N) during deceleration stop is 2, and the
single axis state switches to 1 after axis stop
(5) Related parameters
Input Parameter name Data type Unit Note
parameter
S0 Deceleration FP64 Command Target deceleration
unit/s2
S0+4 Jerk FP64 Command Target jerk, the change speed of
unit/s3 acceleration/deceleration
S0+8 BufferMode INT16U - Buffer mode
0: interrupt mode
1: buffer mode
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter

58
S2 Done BOOL - Instruction execution complete
S2+1 Busy BOOL - The instruction is being executed
S2+2 Acitve BOOL - Command under control
S2+3 Abort BOOL - Instruction interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis number starts from 0
Note:
The relationship between deceleration and jerk is same to A_MOVEA, please refer to chapter 5-1-2-7 item 5.

(6) Sequence diagram


Trigger the instruction Trigger the instruction

Execute

Done

Busy

Active

Abort

Error

Execute other instructions in interrupt mode

Note:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the command is
executed. At the same time, the Done signal is set. Done will reset only after the command is triggered again,
otherwise it will not reset automatically.

When the instruction is triggered in the buffer mode and there are currently instructions being executed, the Active
signal will be set immediately. The execution of the current instruction ends. When the instruction is executed, the
Busy signal will be set. After the execution of the instruction ends, the Busy and Active signals will be reset and
the Done signal will be set.

When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active signals
are reset immediately and the Abort signal is set.

When there is an error in the command, the Error signal is set, other signals are reset, and the corresponding error
code is output.

59
5-1-2-7. Absolute position motion【A_MOVEA】
(1) Instruction overview
The instruction moves in an absolute position, which can interrupt the current instruction and execute a new
instruction during the movement.
Absolute position motion [A_MOVEA]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 64-bit, four words
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word
(3) Soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action


M0 S0 S1 S2 S3
A_MOVEA D0 D50 M1 K0

⚫ S0 specifies input parameter start address, occupies the register S0~S0+22


⚫ S1 specifies output state word start address
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+4
⚫ S3 specifies axis terminal number
⚫ Absolute position is the distance from zero point to target position
For example, the current position is 1000 and the set absolute position is 3000. Relative to the zero point, if
the motor wants to move to the target point (i.e. set the absolute position), it needs to send another 2000
pulses at the current position.
⚫ When M0 changes from off to on, move the absolute position of the axis specified by S3. Its position is S0,
the speed is S0 + 4, the acceleration is S0 + 8, the deceleration is S0 + 12, and the jerk is S0 + 16. When the
command execution is completed, S2 is set to on.
⚫ When S0 + 22 [buffer mode] parameter is set to 0, the current instruction can interrupt other moving
instructions. When S0 + 22 [buffer mode] parameter is set to 1, the instruction is stored in the buffer area
after triggering, and the cached instruction is executed after the execution of other currently moving
instructions is completed. Only one instruction can be cached for the same axis.
⚫ After the command is executed, the single axis state (D20000 + 200*N) of the slave station is 2 during the
movement, and the single axis state (D20000 + 200*N) of the slave station is switched to 1 after the
movement.
⚫ The direction is determined by the parameter target absolute position and the current position. It is
positive when the target position is greater than the current position and negative when the target
position is less than the current position.

60
(5) Related parameters
Input Parameter name Data type Unit Note
parameter
S0 Position FP64 Command Target absolute position
unit
S0+4 Velocity FP64 Command Target speed
unit /s
S0+8 Acceleration FP64 Command Target acceleration speed
unit /s2
S0+12 Deceleration FP64 Command Target deceleration speed
unit /s2
S0+16 Jerk FP64 Command Target jerk speed, which is the change speed
unit /s3 of acceleration and deceleration
S0+20 Continueusmode INT16U - Continuous update, not supported temporarily
S0+21 Direction INT16U - Direction. not supported temporarily
0: positive direction
1: negative direction
2: shortest path
3: current direction, i.e. consistent with the
previous movement direction
S0+22 Buffermode INT16U - Buffer mode
0: Interrupt mode
1: buffer mode
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - Instruction execution complete
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis number starts from 0
Note:
acceleration and deceleration reflect the speed change of the axis during acceleration and deceleration, that is, the
change per second of the axis during acceleration and deceleration. Acceleration reflects the change ratio of
acceleration and deceleration, that is, the change per second in the process of acceleration and deceleration from 0
to the target value. When in use, set appropriate parameters according to the actual situation and needs.

(6) Sequence diagram

61
Trigger instruction Trigger instruction

Execute

Done

Busy

Active

Abort

Error

Execute other instructions in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the command is
executed. At the same time, the Done signal is set. Done will reset only after the command is triggered again,
otherwise it will not reset automatically.
When the instruction is triggered in the buffer mode and there are currently instructions being executed, the Active
signal will be set immediately. The execution of the current instruction ends. When the instruction is executed, the
Busy signal will be set. After the execution of the instruction ends, the Busy and Active signals will be reset and
the Done signal will be set.
When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active signals
are reset immediately and the Abort signal is set.
When there is an error in the command, the Error signal is set, other signals are reset, and the corresponding error
code is output.

(7) Application
The current position of motor 1 is 2000, and it is required to move to the position of 10000 pulses with the
instruction A_MOVEA at the speed of 5000 pulses/s. After moving to the target position, let the motor move to
the position of 20000 pulses at the speed of 6000 pulses/s. The acceleration and deceleration is 25000 pulses/s2,
and the jerk speed is 50000 pulses/s3.
In absolute position mode, the motor position diagram is as follows:

The target position in the command is the absolute position from zero point to target point, so moving to the
position of 10000 pulses requires setting the target position 10000. Similarly, moving to the position of 20000
pulses requires setting the target position 20000.
The ladder diagram of absolute position mode is as follows:
M0
A_PWR HD0 M1 K0
M2
A_MOVEA D0 D50 M3 K0
M3
A_MOVEA D100 D150 M11 K0

62
Note: first turn on the enable through A_ PWR command. When M2 is turned from off to on, it runs to target
position 1 with the parameters set in the first command. After reaching the target position, the state parameter M3
of the command is turned from off to on, so the second A_MOVEA is triggered, and finally run to target position
2 with the parameters set in the second command.

63
The execution position curve is as follows:

Target position 2

Target position 1

Start position

The execution speed curve is as follows:

Speed 2

Speed 1

64
5-1-2-8. Relative position motion【A_MOVER】
(1) Overview
The instruction moves in a relative position, which can interrupt the current instruction and execute a new
instruction during the movement.
Relative position motion [A_MOVER]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 64-bit, four words
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action


M0 S0 S1 S2 S3
A_MOVER D0 D50 M1 K0

⚫ S0 specifies input parameter start address, occupies the register S0~S0+22


⚫ S1 specifies output state word start address
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+4
⚫ S3 specifies axis terminal number
⚫ The relative position is the distance from the current position to the target position;
For example, if the current position is 1000 and the set relative position is 3000, 3000 pulses will be sent at
the current position, and the final position is 4000 relative to the zero position.
⚫ When M0 changes from off to on, move the relative position of the axis specified by S3. Its position is S0,
the speed is S0 + 4, the acceleration is S0 + 8, the deceleration is S0 + 12, and the jerk is S0 + 16. When the
command execution is completed, S2 is set to on;
⚫ When S0 + 22 [buffer mode] parameter is set to 0, the current instruction can interrupt other moving
instructions. When S0 + 22 [buffer mode] parameter is set to 1, the instruction is stored in the buffer area
after triggering, and the cached instruction is executed after the execution of other currently moving
instructions is completed. Only one instruction can be cached for the same axis
⚫ After the command is executed, the single axis state (D20000 + 200*N) of the slave station is 2 during the
movement, and the single axis state (D20000 + 200*N) of the slave station is switched to 1 after the
movement.
⚫ The direction is determined by the positive and negative of target relative position

(5) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 Position FP64 Command Target relative position
unit

65
Input Parameter name Data type Unit Note
parameter
S0+4 Velocity FP64 Command Target speed
unit /s
S0+8 Acceleration FP64 Command Target acceleration speed
unit /s2
S0+12 Deceleration FP64 Command Target deceleration speed
unit /s2
S0+16 Jerk FP64 Command Target jerk speed, the change speed of
unit /s3 acceleration and deceleration
S0+20 Continueusmode INT16U - Continuous update, not supported temporarily
S0+21 Direction INT16U - Direction. Not supported temporarily
S0+22 Buffermode INT16U - Buffer mode
0: interrupt mode
1: buffer mode
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - Instruction execution complete
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis number starts from 0
Note: the relationship between acceleration, deceleration and jerk speed is the same as that of A_MOVEA
instruction, refer to chapter 5-1-2-7 item 5 related parameters for details.

(6) Sequence diagram

Trigger instruction Trigger instruction

Execute

Done

Busy

Active

Abort

Error

Execute other instructions in interrupt mode


Explanation:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the command is
executed. At the same time, the Done signal is set. Done will reset only after the command is triggered again,
otherwise it will not reset automatically.
When the instruction is triggered in the buffer mode and there are currently instructions being executed, the Active
signal will be set immediately. The execution of the current instruction ends. When the instruction is executed, the

66
Busy signal will be set. After the execution of the instruction ends, the Busy and Active signals will be reset and
the Done signal will be set.
When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active signals
are reset immediately and the Abort signal is set.
When there is an error in the command, the Error signal is set, other signals are reset, and the corresponding error
code is output.

(7) Application
The current position of motor is 2000, and it is required to move to the position of 10000 pulses with the
instruction A_MOVER at the speed of 5000 pulses/s. After moving to the target position, let the motor move to
the position of 20000 pulses at the speed of 6000 pulses/s. The acceleration and deceleration is 25000 pulses/s2,
and the jerk speed is 50000 pulses/s3.
In relative position mode, the motor position diagram is as follows:

At the current position 2000, 8000 pulses need to be sent to run to the 10000 pulses position in the relative
position mode. Similarly, 10000 pulses need to be sent to run to the 20000 pulses position.
The ladder diagram of relative position mode is as follows:
M0
A_PWR HD0 M1 K0
M2
A_MOVER D0 D50 M3 K0
M3
A_MOVER D100 D150 M11 K0

67
Note: first turn on the enable through A_ PWR command. When M2 is turned from off to on, it runs to target
position 1 with the parameters set in the first command. After reaching the target position, the state parameter M3
of the command is turned from off to on, so the second A_MOVER is triggered, and finally run to target position
2 with the parameters set in the second command.

The execution position curve is as follows:

Target position2

Target position1

Start position

68
The execution speed is shown as below:

Speed 2

Speed 1

69
5-1-2-9. Absolute position continuous motion【A_CMOVEA】
(1) Overview
The command moves in the absolute position and continues to run at the set final speed after the movement is
completed.
Absolute position continuous motion [A_CMOVEA]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 64-bit, four words
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word

(3) Suitable soft component


Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
A_CMOVEA D0 D50 M1 K0

⚫ S0 specifies input parameter start, occupies the register S0~S0+26


⚫ S1 specifies output state word start address
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+4
⚫ S3 specifies the axis terminal number
⚫ Absolute position is the distance from zero point to target position
For example, the current position is 1000 and the set absolute position is 3000. Relative to the zero point, if
the motor wants to move to the target point (i.e. the set absolute position), it needs to send another 2000
pulses at the current position.
⚫ When M0 changes from off to on, move the absolute position of the axis specified by S3. Its position is S0,
the speed is S0 + 8, the acceleration is S0 + 12, the deceleration is S0 + 16, and the jerk speed is S0 + 20.
When the command execution is completed, S2 is set to on and continues to move at the speed of S0 + 4.
⚫ When S0 + 26 [buffer mode] parameter is set to 0, the current instruction can interrupt other moving
instructions. When S0 + 26 [buffer mode] parameter is set to 1, the instruction is stored in the cache area
after triggering, and the cached instruction is executed after the execution of other currently moving
instructions is completed. Only one instruction can be cached for the same axis.
⚫ After the command is executed, the single axis state (D20000 + 200*N) of the slave station during the
movement is 3. After reaching the end position, if the termination speed is 0, the single axis state is switched
to 1. If the termination speed is not 0, the single axis state remains 3.
⚫ The direction is determined by the parameter target absolute position and the current position. It is positive
when the target position is greater than the current position and negative when the target position is less than
the current position.

70
(5) Notes
⚫ It is necessary to set an appropriate target position. When the target position is too close to the actual position,
the axis movement speed cannot reach the set value, the command will report an error and output the
corresponding error code.
⚫ The termination speed shall be less than or equal to the target speed. If the termination speed is greater than
the target speed, it will continue to run at the target speed after the axis moves to the target position.

(6) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 Position FP64 Command Target absolute position
unit
S0+4 Endvelocity FP64 Command Termination speed. The direction is consistent
unit /s with the direction of motion, and the
parameter value cannot be greater than the
target speed.
S0+8 Velocity FP64 Command Target speed
unit /s
S0+12 Acceleration FP64 Command Target acceleration speed
unit /s2
S0+16 Deceleration FP64 Command Target deceleration speed
unit /s2
S0+20 Jerk FP64 Command Target jerk speed, the changing speed of
unit /s3 acceleration and deceleration.
S0+24 Continueusmode INT16U - Continuously updated. Not supported at the
moment.
S0+25 Direction INT16U - Direction.
0: positive direction
1: negative direction
2: the shortest path
3: present direction, it is consistent with the
previous movement direction
S0+26 Buffermode INT16U - Buffer mode
0: interrupt mode
1: buffer mode
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - Instruction execution complete
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis number starts from 0
Note: the relationship of acceleration, deceleration and jerk speed is same to A_MOVEA, please refer to chapter
5-1-2-7 item5 for details.

(7) Sequence diagram

71
Trigger instruction Trigger instruction

Execute

Done

Busy

Active

Abort

Error

Execute other instructions in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the command is
executed. At the same time, the Done signal is set. Done will reset only after the command is triggered again,
otherwise it will not reset automatically.
When the instruction is triggered in the buffer mode and there are currently instructions being executed, the Active
signal will be set immediately. The execution of the current instruction ends. When the instruction is executed, the
Busy signal will be set. After the execution of the instruction ends, the Busy and Active signals will be reset and
the Done signal will be set.
When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active signals
are reset immediately and the Abort signal is set.
When there is an error in the command, the Error signal is set, other signals are reset, and the corresponding error
code is output.

(8) Application
The motor is required to move to the position of 10000 pulses at the speed of 5000 pulses/s and then move at a
uniform speed at the speed of 3000 pulses/s. The acceleration and deceleration is 25000 pulses/s2 and the jerk
speed is 50000 pulses/s3. The ladder diagram is as follows:
M0
A_PWR HD0 M1 K0
M2
A_CMOVEA D0 D50 M3 K0

The command configuration is shown as below:

72
Note: To enable the axis through A_PWR instruction. After confirming that the enabling is successful, turn M2
from off → on and trigger A_CMOVEA command, which runs to the target absolute position at the set speed,
and then runs continuously at the termination speed. During operation, the state machine D20000+200*N of the
axis is 3.
Note: the direction of command termination speed is the same as that of running to the target position, and the
termination speed cannot exceed the target speed.

The execution position curve:

73
The execution speed curve:

Target speed

termination speed

74
5-1-2-10. Relative position continuous motion【A_CMOVER】
(1) Overview
The command moves in a relative position. Run continuously at the final speed after the movement is completed.
Relative position continuous motion [A_CMOVER]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.7.1 and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 64-bit, four words
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
A_CMOVER HD0 D0 M1 K0

⚫ S0 specifies the input parameter start address, occupies the register S0~S0+26
⚫ S1 specifies the output state word start address
⚫ S2 specifies the output state bit start address
⚫ S3 specifies the axis output terminal number
⚫ When M0 changes from off to on, the relative position movement is performed for the axis specified by S3,
the moving distance is S0, the speed is S0 + 8, the acceleration is S0 + 12, the deceleration is S0 + 16, and
the jerk speed is S0 + 20. When the command execution is completed, S2 is set to on and continues to move
at the speed of S0 + 4
⚫ When S0 + 26 [buffer mode] parameter is set to 0, the current instruction can interrupt other moving
instructions. When S0 + 26 [buffer mode] parameter is set to 1, the instruction is stored in the cache area
after triggering, and the cached instruction is executed after the execution of other currently moving
instructions is completed. Only one instruction can be cached for the same axis.
⚫ After the command is executed, the single axis state (D20000+200*N) of the slave station during the
movement is 3. After reaching the end position, if the termination speed is 0, the single axis state is switched
to 1. If the termination speed is not 0, the single axis state remains 3.

(5) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 Position FP64 Command
Target relative position
unit
S0+4 Endvelocity FP64 Command Termination speed. The direction is consistent

75
Input Parameter name Data type Unit Note
parameter
unit /s with the direction of motion, and the
parameter value cannot be greater than the
target speed
S0+8 Velocity FP64 Command Target speed
unit /s
S0+12 Acceleration FP64 Command Acceleration speed
unit /s2
S0+16 Deceleration FP64 Command Deceleration speed
unit /s2
S0+20 Jerk FP64 Command Jerk speed
unit /s3
S0+24 Continueusmode INT16U - Continuous updating. Not supported at the
moment
S0+25 Direction INT16U - Direction (Not supported at the moment)
0: positive direction
1: negative direction
2: shortest path
3: present direction, consistent with the
direction of last motion
S0+26 Buffermode INT16U - Buffer mode
0: interrupt mode
1: buffer mode
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - Instruction execution complete
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis number starts from 0
Note: the relationship between deceleration and jerk speed is same to A_MOVEA, please refer to chapter 5-1-2-7
item 5 for details.

(6) Sequence diagram

76
Trigger instruction Trigger instruction

Execute

Done

Busy

Active

Abort

Error

Execute other instructions in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the command is
executed. At the same time, the Done signal is set. Done will reset only after the command is triggered again,
otherwise it will not reset automatically.
When the instruction is triggered in the buffer mode and there are currently instructions being executed, the Active
signal will be set immediately. The execution of the current instruction ends. When the instruction is executed, the
Busy signal will be set. After the execution of the instruction ends, the Busy and Active signals will be reset and
the Done signal will be set.
When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active signals
are reset immediately and the Abort signal is set.
When there is an error in the command, the Error signal is set, other signals are reset, and the corresponding error
code is output.

(7) Application
For example, the current position of the motor is 4000. It is required that the motor move to the position of 10000
pulses at the speed of 5000 pulses/s and then move at a uniform speed at the speed of 3000 pulses/s. The
acceleration and deceleration is 25000 pulses/s2 and the jerk speed is 50000 pulses/s3. The ladder diagram is as
follows:
M100
A_PWR D100 M101 K0
M0
A_CMOVER HD0 D0 M1 K0

Since the current position of the motor is 4000, the [target position] parameter in the command should be
10000-4000 = 6000. The specific command parameter configuration is as follows:

77
Note: to enable the axis with A_PWR instruction. After confirming that the enabling is successful, M0 is turned
from off → on to trigger A_CMOVER command, the command runs to the target relative position at the set
speed, and then runs continuously at the termination speed. During operation, the state machine D20000+200*N
of the axis is 3.
Note: the direction of command termination speed is the same as that of running to the target position, and the
termination speed cannot exceed the target speed.
The position curve is shown in the figure below:

78
The speed curve is shown as below:

79
5-1-2-11. Speed control motion【A_VELMOVE】
(1) Overview
The command runs continuously at the set speed.
Speed control motion [A_VELMOVE]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 64-bit, four words
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action


M0 S0 S1 S2 S3
A_VELMOVE D0 D50 M1 K0

⚫ S0 specifies input parameter start address, occupies the register S0~S0+18


⚫ S1 specifies output state word start address
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+4
⚫ S3 specifies the axis terminal number
⚫ When M0 is from off → on, the speed control movement is carried out for the axis specified in S3, and the
speed set by S0 will be maintained for continuous movement. After modifying the speed of S0, M0 is turned
on again to make the modified speed effective. To stop the axis, set the value of S0 to 0 or use
A_STOP/A_HALT instruction.
⚫ When S0 + 26 [buffer mode] parameter is set to 0, the current instruction can interrupt other moving
instructions. When S0 + 26 [buffer mode] parameter is set to 1, the instruction is stored in the cache area
after triggering, and the cached instruction is executed after the execution of other currently moving
instructions is completed. Only one instruction can be cached for the same axis.
⚫ After the command is executed, the single axis state (D20000+200*N) of the slave station is switched to 3,
and after stop by instruction A_STOP/A_HALT, the state switches to 1.
⚫ The direction is determined by the positive/negative of the target speed of the parameter.

(5) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 Velocity FP64 Command Target speed
unit/s
S0+4 Acceleration FP64 Command Target acceleration speed
unit /s2
S0+8 Deceleration FP64 Command Target deceleration speed
unit /s2

80
Input Parameter name Data type Unit Note
parameter
S0+12 Jerk FP64 Command Target jerk speed, the change speed of the
unit /s3 acceleration and deceleration
S0+16 Continueusmode INT16U - Continuously updated. Not supported at the
moment
S0+17 Direction INT16U - Direction. Not supported at the moment
S0+18 Buffermode INT16U - Buffer mode
0: interrupt mode
1: buffer mode
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - Instruction execution complete
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis number starts from 0.
Note: the relationship between acceleration/deceleration and jerk speed is same to A_MOVEA, please refer to
chapter 5-1-2-7 item 5 for details.

(6) Sequence diagram

Trigger instruction Trigger instruction

Execute

Done

Busy

Active

Abort

Error

Execute other instructions in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the command is
executed. At the same time, the Done signal is set. Done will reset only after the command is triggered again,
otherwise it will not reset automatically.
When the instruction is triggered in the buffer mode and there are currently instructions being executed, the Active
signal will be set immediately. The execution of the current instruction ends. When the instruction is executed, the
Busy signal will be set. After the execution of the instruction ends, the Busy and Active signals will be reset and
the Done signal will be set.
When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active signals
are reset immediately and the Abort signal is set.

81
When there is an error in the command, the Error signal is set, other signals are reset, and the corresponding error
code is output.

(7) Application
For example, the motor is required to accelerate/decelerate to the speed of 5000 pulses/s at the acceleration and
deceleration of 25000 pulses/ s2 and jerk speed of 50000 pulses/s3, and maintain this speed for continuous
movement. The ladder diagram is as follows:
M0
A_PWR HD0 M1 K0
M2
A_VELMOVE D0 D50 M3 K0

The command configuration is as follows:

Note: To enable the axis through A_ PWR command. After confirming that the enabling is successful, turn M2
from off → on and trigger A_VELMOVE command, which performs acceleration/deceleration with the set
parameters, and then runs continuously at the target speed. During operation, the state machine D20000+200*N of
the axis is 3.
When the running speed is greater than the target speed, the speed curve after command execution is as follows:

82
Present speed

Target speed

When the running speed is less than the target speed, the speed curve after command execution is as follows:

Target speed

Present speed

83
5-1-2-12. Superposition motion【A_MOVESUP】
(1) Overview
Performs superimposed motion control on the specified axis.
Superposition motion [A_MOVESUP]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.7.1 and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 64-bit, four words
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
A_MOVESUP HD0 D0 M1 K0

⚫ S0 specifies input parameter start address


⚫ S1 specifies output state word start address
⚫ S2 specifies output state bit start address
⚫ S3 specifies the axis terminal number
⚫ When M0 changes from off to on, perform superimposed motion control on the designated axis of S3, with
the distance of S0, the speed of S0 + 4, the acceleration of S0 + 8, the deceleration of S0 + 12 and the jerk
speed of S0 + 16. When the command execution is completed, S2 is set to on.
⚫ The command is triggered after the motion command and can be executed together with other motion
commands to perform superimposed motion. The two command speeds will be superimposed. When the
superimposed position is reached, the superimposed command is completed.
⚫ When the instruction is executed separately, the effect is the same as that of A_MOVER.

(5) Notes
⚫ The instruction can be interrupted by the latter instruction in interrupt mode, but cannot follow the buffer
instruction
⚫ The latter superposition instruction can interrupt the previous superposition instruction
⚫ The superposition effect is only valid in the current motion, and will be invalid after the motion is completed.

(6) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 Distance FP64 Command Superposition distance
unit

84
S0+4 Vel FP64 Command Superposition speed
unit /s
S0+8 Acc FP64 Command Acceleration speed
unit /s2
S0+12 Dec FP64 Command Deceleration speed
unit /s2
S0+16 Jerk FP64 Command Jerk speed
unit /s3
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - Instruction execution complete
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis number starts from 0
Note: the relationship between acceleration/deceleration and jerk speed is same to A_MOVEA, please refer to
chapter 5-1-2-7 item 5 for details.

(7) Sequence diagram

Trigger instruction Trigger instruction

Execute

Done

Busy

Active

Abort

Error

Execute other instructions in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the command is
executed. At the same time, the Done signal is set. Done will reset only after the command is triggered again,
otherwise it will not reset automatically.
When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active signals
are reset immediately and the Abort signal is set.
When there is an error in the command, the Error signal is set, other signals are reset, and the corresponding error
code is output.

(8) Application
For example: the motor present position is 0, the motor moves to the position of 50000 at the speed of 5000
pulses/s, acceleration and deceleration of 2500 pulses/s2, jerk speed of 50000 pulses/s3, and in the process, the

85
position is superimposed with 20000 at the speed of 5000 pulses/s, acceleration and deceleration of 10000
pulses/s2, jerk speed of 20000 pulses/s3. The ladder diagram is shown in the following figure:
M100
A_PWR D100 M101 K0

M0
A_MOVEA HD0 D0 M1 K0

M50
A_MOVESUP HD50 D50 M51 K0

The command configuration is shown as below:

86
Explanation:
To enable the axis through A_PWR instruction. After confirming that the axis is enabled, turn M0 from off → on
to trigger A_MOVEA command, the axis will move to 50000 with the set parameters. During the axis movement,
M50 will be turned from off → on to trigger A_MOVESUP command, the axis will perform superposition
motion with the set parameters.

The position curve is shown as below:

The speed curve is shown as below:

Explanation:
In the process of axis movement, the superposition command is triggered, the two commands will be executed
together, and the speed will be superimposed. After the superposition command is executed for the distance to be
superimposed, the speed will be reduced to the speed set by the previous motion command, and the motion
command will continue to be executed.

87
5-1-2-13. HM homing【A_HOME】
(1) Overview
Return to the origin for the specified axis, this command requires that the specified axis support the HM mode of
the Ethernet bus.
HM homing [A_HOME]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 64-bit, four words
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action


M0 S0 S1 S2 S3
A_HOME D0 D50 M1 K0

⚫ S0 specifies input parameter start address, occupies the register S0~S0+4


⚫ S1 specifies output state word start address
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+4
⚫ S3 specifies the axis terminal number, only for EtherCAT axis
⚫ When M0 is from OFF→ON, return the axis corresponding to S3 to the original point. After returning to the
original point, S0 will be written to the current position (D20044+200*N) (N is axis number, which starts
from 0)
⚫ When using the home command, it is necessary to set the homing mode (6098h), homing speed (6099h) and
homing acceleration (609Ah) of the specified axis in advance. For the selection of homing mode, refer to the
EtherCAT motion control user manual
⚫ When the command is executed, it will automatically switch the specified axis to HM mode (6060h is 6), and
it will switch back to the original mode after returning to the origin. If the process of returning to the origin is
abnormal, it will remain in HM mode and need to switch to CSP mode (6060h is 8) through A_MODE to
execute other commands
⚫ A_STOP can be used to stop the motion during instruction execution, trigger the command again to continue
to return to the origin
⚫ After the command is executed, the single axis state of the slave station (D20000+200*N) switches to 5

(5) Related parameters


Input Parameter Data type Unit Note
parameter name
S0 Offset FP64 Command Zero offset. That is, write the value of the current
unit position after returning to the origin

88
S0+4 BufferMode INT16U - Buffer mode
0: interrupt mode
1: buffer mode
Output Parameter Data type Unit Note
parameter name
S1 ErrCode INT16U - Command error code

State Parameter Data type Unit Note


parameter name
S2 Done BOOL - Instruction execution complete
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter Data type Unit Note
number name
S3 Axis INT16U - Axis number starts from 0

(6) Sequence diagram

Trigger instruction Trigger instruction

Execute

Done

Busy

Active

Abort

Error

Execute other instructions in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the command is
executed. At the same time, the Done signal is set. Done will reset only after the command is triggered again,
otherwise it will not reset automatically.
When the instruction is triggered in the buffer mode and there are currently instructions being executed, the Active
signal will be set immediately. The execution of the current instruction ends. When the instruction is executed, the
Busy signal will be set. After the execution of the instruction ends, the Busy and Active signals will be reset and
the Done signal will be set.
When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active signals
are reset immediately and the Abort signal is set.
When there is an error in the command, the Error signal is set, other signals are reset, and the corresponding error
code is output.

(7) Application
For example, the specified axis is required to return to the origin in mode 1. The ladder diagram is as follows:

89
M0
A_PWR HD0 M1 K0

M2
A_HOME HD10 HD20 M3 K0

The command configuration is shown as below:

Explanation:
Before the A_HOME command is executed, it is necessary to set the home mode (6098h) to 1, modify the home
speed (6099h) as required, and modify the home acceleration (609Ah) as required. Refer to item (7) home mode
(6098h) for details.

The home mode can be set through COE-Online interface or modify 6098h through SDO instruction (refer to
chapter 10 for SDO instruction). After the command runs, the specified axis will automatically switch the control
mode (6060h) to HM mode and return to the origin. The origin signal is set by the slave station. Take DS5C as an
example, P5-22 is the positive limit setting address, and the default value is 1, that is, the corresponding servo
terminal SI1, P5-23 is the negative limit setting address, and the default value is 2, that is, the corresponding servo
terminal SI2, P5-27 sets the address for the origin, and the default value is 3, that is, the corresponding servo
terminal SI3. Whether to trigger the origin or the positive and negative limit is determined by the mode of
returning to the origin. After returning to the origin, the axis will automatically switch to the mode before
returning to the origin, and write the zero offset value (0 in this example) in the command to the current position
D20044+200*N.

The COE-Online interface is opened as follows:

90
◼ Mode 1:
When using mode 1, if the reverse limit switch is in the non triggered state, the initial moving direction is left. The
origin position is at the first Z-phase pulse on the right of the position where the negative limit switch becomes
invalid.

6099h-01h
6099h-02h

1
Index Pulse

NegativeLimit
Negative direction Positive direction
Homing on negative limit switch and index pulse

91
◼ Mode 2:
When using mode 2, if the positive limit switch is in the non triggered state, the initial moving direction is right.
The origin position is at the first Z-phase pulse on the left of the position where the positive limit switch becomes
invalid.

6099h-01h
6099h-02h

Index Pulse

Positive Limit
Negative direction Positive direction
Homing on positive limit switch and index pulse

◼ Mode 3, 4:
When using mode 3 or 4, the initial direction of movement depends on the state of the origin switch. The origin
position is on the reverse side of the origin switch or on the initially detected Z-phase position in the forward
direction.

6099h-01h
6099h-02h

Index Pulse

Home Switch
Negative direction Positive direction
Homing on positive home switch and index pulse

92
◼ Mode 5, 6:
When using mode 5 or 6, the initial direction of movement depends on the state of the origin switch. The origin
position is on the reverse side of the origin switch or on the initially detected Z-phase position in the forward
direction.

6099h-01h
6099h-02h

6
Index Pulse

Home Switch
Negative direction Positive direction
Homing on negative home switch and index pulse

93
◼ Mode 7~14:
Mode 7-14 all use origin switch and Z-phase signal;
The initial action direction of modes 7 and 8 is negative if the origin switch has been activated at the beginning of
action.
The initialization action direction of modes 9 and 10 is positive if the origin switch has been activated at the
beginning of the action.
The initialization action direction of modes 11 and 12 is the positive direction if the origin switch has been
activated at the beginning of the action.
The initialization action direction of modes 13 and 14 is the negative direction if the origin switch has been
activated at the beginning of the action.
The home position finally returning to is the Z-phase signal near the rising or falling edge of the origin switch.

6099h-01h
6099h-02h

7 9

8 10

8 9

1
7 10
0

8 1
10
0
7 9

Index Pulse

Home Switch

Positive Limit
Negative direction Positive direction
Homing on home switch and index pulse – positive initial motion

6099h-01h
6099h-02h

13
8 11
8

147 7
12

8
13
13 9
12
12

14
7
14 11
11

7
14
14 12
9
12

813
13 11
11

Index Pulse

Home Switch

Negative Limit
Negative direction Positive direction
Homing on home switch and index pulse – Negative initial motion

94
◼ Mode 17:
This mode is slimiar to mode 1.
The difference is that the origin point detection position is not Index pulse but the position where Limit switch
changed. (see below diagram)
When NOT is not distributed, Homing error = 1.

6099h-01h
6099h-02h

17

Negative Limit

Negative direction Positive direction


Homing on negative limit switch

◼ Mode 18:
This mode is slimiar to mode 2.
The difference is that the origin point detection position is not Index pulse but the position where Limit switch
changed. (see below diagram)
When POT is not distributed, Homing error = 1.

6099h-01h
6099h-02h

18

Positive Limit
Negative direction Positive direction
Homing on positive limit switch

95
◼ Mode 19, 20:
This mode is slimiar to mode 3, 4.
The difference is that the origin point detection position is not Index pulse but the position where Home switch
changed. (see below diagram)
When HOME is not distributed, Homing error = 1.

6099h-01h
6099h-02h

19

3
19

20
4

20
4

Home Switch
Negative direction Positive direction
Homing on positive home switch

◼ Mode 21, 22:


This mode is slimiar to mode 5, 6.
The difference is that the origin point detection position is not Index pulse but the position where Home switch
changed. (see below diagram)
When HOME is not distributed, Homing error = 1.

6099h-01h
6099h-02h

22

21

21
4

22

Home Switch
Negative direction Positive direction
Homing on positive home switch and index pulse

96
◼ Mode 23, 24, 25, 26:
This mode is slimiar to mode 7, 8, 9, 10.
The difference is that the origin point detection position is not Index pulse but the position where Home switch
changed. (see below diagram)
When HOME, POT are not distributed, Homing error = 1.

6099h-01h
6099h-02h

23 25

24 26

23 25

24 26

24 26

23 25

Home Switch

Positive Limit
Negative direction Positive direction
Homing on home switch and index pulse – positive initial motion

◼ Mode 27, 28, 29, 30:


This mode is slimiar to mode 11, 12, 13, 14.
The difference is that the origin point detection position is not Index pulse but the position where Home switch
changed. (see below diagram)
When HOME, NOT are not distributed, Homing error = 1.

6099h-01h
6099h-02h

29 27

30 28

29 28

30 27

30 28

29 27

Home Switch

Negative Limit

Negative direction Positive direction


Homing on home switch and index pulse – Negative initial motion

97
◼ Mode 33, 34:
When using mode 33 or 34, the homing direction is negative or positive values, respectively. The original position
is at the Z-phase near the setting direction.
6099h-01h
6099h-02h
33

134

Negative direction Positive direction


Homing on index pulse

◼ Mode 35, 37:


In modes 35 and 37, the position after power on is the origin position.

35

37

98
5-1-2-14. Homing【A_ZRN】
(1) Overview
Master station homing command.
Homing [A_ZRN]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.7.1 and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Output state word start address 16-bit, single word
S1 Output state bit start address Bit
S2 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action


M0 S0 S1 S2
A_ZRN D0 M1 K0

⚫ S1 specifies output state bit start address


⚫ S2 specifies the axis output terminal number, occupies the relay S3~S3+1
⚫ Trigger the command, S2 specified axis starts to return to zero at the configured speed, acceleration and jerk
speed, and the parameter S1 is set after the return to zero is completed.
⚫ Other motion commands cannot be executed during the homing process, and the homing command cannot be
executed during the axis motion.

(5) Notes
⚫ Before using, please set the positive/negative hard limit port in axis configuration, and related
parameters of homing configuration.
⚫ See (8) for the specific way of returning to the origin.

(6) Related parameters


Output Parameter name Data type Unit Note
parameter
S0 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S1 Done BOOL - Instruction execution complete
S1+1 Busy BOOL - The instruction is being executed
S1+2 Active BOOL - Command under control
S1+3 Abort BOOL - Instruction is interrupted
S1+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note

99
number
S2 Axis INT16U - Axis number starts from 0

(7) Sequence diagram

Trigger instruction Trigger instruction

Execute

Done

Busy

Active

Abort

Error

Execute other instructions in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the command is
executed. At the same time, the Done signal is set. Done will reset only after the command is triggered again,
otherwise it will not reset automatically.
When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active signals
are reset immediately and the Abort signal is set.
When there is an error in the command, the Error signal is set, other signals are reset, and the corresponding error
code is output.

(8) Application
It is required to return to the origin of the specified axis, and the ladder diagram is as follows:
M0
A_PWR D0 M1 K0

M50
A_ZRN D50 M50 K0

Parameter configurations:
◼ Positive/negative hard limit port configuration: (axis configuration--- limit configuration)

100
◼ Homing parameter configuration (axis configuration- homing configuration)

Note: input ports, speed parameters and other parameters must be configured before using the command, and the
polarity of near point port and near point port is not supported temporarily.
The way to return to zero is different from the starting position, and the way to return to the origin is different:

◆ No Z-phase signal
Negative Positive
Origin
limit limit

Homing speed

2
3
1

Creep speed
5 6
Delay 4

Area Area

101
◆ With Z-phase signal
Negative Positive
Origin
limit limit

Homing speed

2
3
1

Creep speed
5 6
Delay 4
Count the Z-phase
Servo Z-phase

Area Area

◆ Origin signal is not limit signal


➢ Start position is between origin and positive limit
(1) Homing direction: negative
Negative Positive
Origin
limit limit

Homing speed
2

3
1

Creep speed
5 6
Delay 4

Area Area
Homing in reverse direction

102
(2) Homing direction: positive
Negative Positive
Origin
limit limit

Homing speed 2
5

6 3
4

Creep speed 1

7 8 9
Delay

Area Area
Homing in forward direction

➢ Start position is at the positive limit


(1) Homing direction: negative
Negative Positive
Origin
limit limit

Homing speed

2
3

1
Creep speed

5 6
Delay 4

Area Area
Homing at positive limit

(2) Homing direction: positive


Command error: homing direction configuration error, cannot homing.

103
➢ Start position over the hard limit
When the starting position of the worktable exceeds the positive limit, in order to prevent the collision accident
caused by the positive homing, do not perform the homing operation under this condition. The worktable must be
manually moved back between the positive and negative limits before the homing operation.

➢ Start position is between origin and negative limit


(1) Homing direction: negative
Negative Positive
Origin
limit limit

4 Homing speed 7

3
1 6
8 5
2
Creep speed
10 11
9
Delay

Area Area
homing in reverse direction

(2) Homing direction: positive


Negative Positive
Origin
limit limit

Homing speed
2

3
1
5
4
Creep speed
7
8
Delay 6

Area Area
homing in forward direction

104
➢ Start position is at the negative limit
(1) Homing direction: negative
Command error: homing direction configuration is error, cannot homing.

(2) Homing direction: positive


Negative Positive
Origin
limit limit

2 Homing speed 5

6 3 4
1
Creep speed
8 9
7
Delay

Area Area
Homing at negative limit

➢ Start position over the negative limit


When the starting position of the workbench exceeds the negative limit, in order to prevent the negative homing
leading to machine collision, do not perform the homing operation under this condition. You must manually move
the workbench back between the positive and negative limits, and then do the homing operation.

➢ Start position is at the origin


(1) Homing direction: negative
Auto-switch to forward homing inside.
(2) Homing direction: positive

105
Negative Positive
Origin
limit limit

4 2
3
1 Creep speed
6
7
5
Delay
Area Area

◆ Origin signal is limit signal


➢ Start position is between positive limit and negative limit
(1) Homing direction: negative
Negative Positive
limit limit
Origin

Homing speed

3 1

Creep speed

5 6
Delay 4

Homing in reverse direction

106
(2) Homing direction: positive
Negative Positive
limit limit
Origin

5 Homing speed
c
2
4
6
1 3
Creep speed

8
9
Delay 7

Homing in forward direction

➢ Start position is at the negative limit


(1) Homing direction: negative
Command error: homing direction is error, cannot homing.
(2) Homing direction: positive
Negative Positive
limit limit
Origin

Homing speed
4

5 3
1 2

Creep speed
7 7
8
Delay 6

107
➢ Start position is at the positive limit
(1) Homing direction: negative
Negative Positive
limit limit
Origin

Homing speed
2

3
1

Creep speed
5
6
Delay 4

Homing at the positive limit

(2) Homing direction: positive


Command error: homing direction is error, cannot homing.

➢ Start position over the positive limit


When the starting position of the worktable exceeds the positive limit, in order to prevent the collision accident
caused by the positive homing, do not perform the homing operation under this condition. The worktable must be
manually moved back between the positive and negative limits before the homing operation.

➢ Start position over the negative limit


When the starting position of the worktable exceeds the negative limit, in order to prevent the collision accident
caused by the positive homing, do not perform the homing operation under this condition. The worktable must be
manually moved back between the positive and negative limits before the homing operation.

108
5-1-2-15. Gear binding【A_GEARIN】
(1) Overview
Bind the main axis (or encoder axis) to the slave axis for synchronous movement.
Gear binding [A_GEARIN]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 16-bit, single word
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
A_GEARIN D0 D50 M1 K0

⚫ S0 specifies the input parameter start address, occupies the register S0~S0+23
⚫ S1 specifies output state word start address
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+4
⚫ S3 specifies the axis terminal number
⚫ When M0 is from OFF→ON, bind the main axis S0 to the position of the slave axis S3 for synchronous
movement
⚫ S0+1=0, the slave axis is synchronized with the given value (D20016 + 200 * N) of the main axis (N is the
axis number, starts from 0)
⚫ S0+1=1, the slave axis is synchronized with the feedback (D20044+200*N) of the main axis (N is the axis
number, starts from 0)
⚫ The axis can be bound during the axis movement, and the acceleration and deceleration of the binding
process are determined by S0 + 12 and S0 + 16
⚫ When S0 + 3 [buffer mode] is set to 0, if the slave axis executes the command during the movement, the
slave axis immediately stops the current movement and synchronizes with the main axis. When S0 + 3
[buffer mode] is set to 1, if the slave axis executes the command during the movement, it will wait until the
current movement of the slave axis ends to synchronize with the main axis
⚫ During axis binding, the electrical origin can be modified at any time by the main axis, but cannot by the
slave axis
⚫ After the command is executed, the single axis state (D20000+200*N) of the main axis remains unchanged,
the single axis state (D20000+200*N) of the slave axis switches to 4

109
(5) Related parameters
Input Parameter name Data type Unit Note
parameter
S0 Master INT16U - main axis number
S0+1 SourceType INT16U - Data source type
0: given
1: feedback
S0+2 ContinuousMode INT16U - Continuously updated. Not supported at the
moment
S0+3 BufferMode INT16U - Buffer mode
0: interrupt mode
1: buffer mode
S0+4 Numerator FP64 - Synchronous ratio numerator
S0+8 Denominator FP64 - Synchronous ratiodenominator
S0+12 Acceleration FP64 Command Target acceleration
unit/s2
S0+16 Deceleration FP64 Command Target deceleration
unit /s2
S0+20 Jerk FP64 Command Target jerk speed, that is, the change speed of
unit /s3 acceleration and deceleration
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - Synchronizing
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Slave INT16U - slave axis number
Note:
The relationship between acceleration/deceleration and jerk speed is same to A_MOVEA, please refer to chapter
5-1-2-7 item (5).

(6) Sequence diagram

Trigger instruction Trigger instruction

Execute

Done

Busy

Active

Abort

Error

Execute other instructions in interrupt mode

110
Explanation:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the
command is executed. At the same time, the Done signal is set. Done will reset only after the command is
triggered again, otherwise it will not reset automatically.
When the instruction is triggered in the buffer mode and there are currently instructions being executed,
the Active signal will be set immediately. The execution of the current instruction ends. When the
instruction is executed, the Busy signal will be set. After the execution of the instruction ends, the Busy
and Active signals will be reset and the Done signal will be set.
When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active
signals are reset immediately and the Abort signal is set.
When there is an error in the command, the Error signal is set, other signals are reset, and the
corresponding error code is output.

(7) Application
Takes axis 0 as the main axis and axis 1 as the slave axis for given synchronous binding through A_GEARIN, so
that the main axis can run 10000 command units at the speed of 5000 command unit/s. The acceleration and
deceleration is 25000 command unit/s2, and the jerk speed is 50000 command unit/s3. The speed of the slave axis
is 0.5 times of the main axis.

The ladder chart:


M0
A_PWR HD0 M1 K0

A_PWR HD2 M2 K1
M3
A_GEARIN D0 D50 M4 K1
M10
A_MOVER D100 D150 M11 K0

111
Note: first enable the axis 0 and axis 1 through A_PWR. When M3 is set from off to on, execute the synchronous
binding with the parameters set by the command. M1 is set to on when the binding is successful. M10 is set from
off to on, axis 0 acts as the main axis to move in relative position, and the slave axis moves in synchronous with
the proportion of 0.5.
The execution position curve is as follows:

Main axis motion distance

Slave axis motion distance


(0.5 times of main axis)

112
The speed curve is shown as below:

Main axis speed

Slave axis speed

113
5-1-2-16. Gear unbinding【A_GEAROUT】
(1) Overview
Desynchronize the main axis (or encoder axis) with the slave axis.
Gear unbinding [A_GEAROUT]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 64-bit, four words
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
A_GEAROUT D0 D50 M1 K0

⚫ S0 specifies the input parameter start address, occupies the register S0~S0+7
⚫ S1 specifies output state word start address
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+3
⚫ S3 specifies the axis terminal number
⚫ When M0 is from OFF→ON, unbind the main axis S0 with the slave axis S3
⚫ The axis can be unbound during the axis movement, the slave axis will deceleration stop with the larger
speed between A_GEARIN command and A_GEAROUT command
⚫ After the command is executed, the single axis state (D20000+200*N) of the main axis remains unchanged,
the single axis state (D20000+200*N) of the slave axis switches to 1

(5) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 Deceleration FP64 Command Target deceleration
unit/s2
S0+4 Jerk FP64 Command Target jerk speed, that is, the change speed of
unit /s3 acceleration/deceleration
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code

State Parameter name Data type Unit Note


parameter

114
S2 Done BOOL - Instruction execution completed
S2+1 Busy BOOL - The instruction is being executed
S2+2 Abort BOOL - Instruction is interrupted
S2+3 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis number starts from 0
Note:
The relationship between deceleration and jerk speed is same to A_MOVEA, please refer to chapter 5-1-2-7
item (5).

(6) Sequence diagram

Trigger the command Trigger the command

Execute

Done

Busy

Abort

Error

Execute other command in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy signal is set, and reset after the command is executed.
At the same time, the Done signal is set. Done will reset only after the command is triggered again,
otherwise it will not reset automatically.
When the command is interrupted or fault, Abort or Error signal will be set on, other signals will be reset.
In case of error, the corresponding error code will be output.

(7) Application
Takes K0 as the main axis and K1 as the slave axis, synchronization coefficient is 1/1, the main axis runs at the
speed of 5000 pulse/s. The A_GEAROUT is executed to unbind the slave axis in the motion.
The deceleration of A_GEAROUT is 3000 pulse/s2, and the jerk speed is 10000 pulse/s3.

115
M0
A_PWR HD0 M1 K0

A_PWR HD2 M2 K1

M3
A_GEARIN D0 D50 M4 K1

M10
A_MOVER D100 D150 M11 K0

M20
A_GEAROUT D200 D250 M21 K1

The command configuration is shown as below:

116
Note: first turns on the enable of axis 0 and axis 1 through A_PWR command. When M3 is from off → on,
execute the A_GEARIN instruction to perform synchronous binding. After binding is successful, the instruction
completion flag M4 is set to on. The main axis will move through A_MOVER. At this time, the slave axis moves
synchronously with the main axis with a binding coefficient of 1/1. During operation, set on M30, A_GEAROUT
instruction is executed to unbind.

The position curve is shown as below:

117
The main axis maintains its original motion

Slave axis stop

Synchronous
motion
Execute A_GEAROUT

Red is the main axis position curve and yellow is the slave axis position curve. After executing A_GEAROUT, the
main axis maintains the original motion. The slave axis stops with the larger deceleration speed between
A_GEARIN and A_GEAROUT.

118
5-1-2-17. Simple absolute position motion【A_DRVA】
(1) Overview
The command moves in absolute position.
Simple absolute position motion [A_DRVA]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Target position 64-bit, four words
S1 Target speed 64-bit, four words
S2 Acceleration deceleration time 64-bit, four words
S3 Output state bit start address Bit
S4 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ● ● ● ● ● ● ● ●
S3 ●
S4 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3 S4
A_DRVA D0 D4 D8 M1 K0

⚫ S0 specifies the target position


⚫ S1 sepcifies the target speed
⚫ S2 specifies the target acceleration/deceleration time
⚫ S3 specifies output state bit start address, occupies the relay S3~S3+1
⚫ S4 specifies the output terminal number
⚫ When M0 changes from off to on, perform absolute position movement for the axis specified by S3. Its
position parameter is S0, speed parameter is S1, acceleration and deceleration parameter is S2 (Note: the unit
of acceleration and deceleration is seconds, that is, the time from initial speed to target speed)
⚫ The usage of A_DRVA is the same as that of A_MOVEA instruction, the difference is A_DRVA instruction
can be interrupted by other motion instructions in interrupt mode, but other motion instructions cannot be
cached in cache mode, and other motion instructions cannot be interrupted
⚫ After executing the instruction, the single axis state (D20000+200*N) of slave axis is 2
⚫ The direction is determined by the target absolute position and the current position. It is positive when the
target position is greater than the current position and negative when the target position is less than the
current position

(5) Notes
⚫ A_STOP/A_HALT can be used to stop the motion.
⚫ The instruction has no error code parameters. When any error occurs, state bit Error will be ON. Common
errors include that the control mode is not CSP, and the acceleration and deceleration time is 0.

119
(6) Related parameters
Input Parameter Data type Unit Note
parameter name
S0 Position FP64 Command Target position
unit
S1 Velocity FP64 Command Target speed
unit /s
S2 Time FP64 s Target acceleration/deceleration time, that is, the
time from current speed to target speed
State Parameter Data type Unit Note
parameter name
S3 Done BOOL - Instruction execution completed
S3+1 Error BOOL - Instruction execution error
Axis Parameter Data type Unit Note
number name
S4 Axis INT16U - Axis number starts from 0

(7) Application
The motor current position is 2000, it requires to move to 10000 pulses position with the speed 5000 pulse/s. the
acceleration/deceleration time is 0.5s.

Motor position diagram in absolute position mode:

The target position in the command is the absolute position from zero point to target point, so moving to the
position of 10000 pulses requires setting the target position 10000.

The ladder chart:


M0
A_PWR HD0 M1 K0

M2
A_DRVA HD10 HD14 HD18 M3 K0

The instruction configuration:

120
Explanation:
First enable through A_PWR instruction, when M2 is from OFF→ON, move to the target position with setting
parameters.

The execution position curve is shown as below:

121
Target position

Start position

122
5-1-2-18. Simple relative position motion【A_DRVI】
(1) Overview
The command moves in relative position.
Simple relative position motion [A_DRVI]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Target position 64-bit, four words
S1 Target speed 64-bit, four words
S2 Acceleration deceleration time 64-bit, four words
S3 Output state bit start address Bit
S4 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ● ● ● ● ● ● ● ●
S3 ●
S4 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3 S4
A_DRVI D0 D4 D8 M1 K0

⚫ S0 specifies the target position


⚫ S1 sepcifies the target speed
⚫ S2 specifies the target acceleration/deceleration time
⚫ S3 specifies output state bit start address, occupies the relay S3~S3+1
⚫ S4 specifies the output terminal number
⚫ When M0 changes from off to on, perform relative position movement for the axis specified by S3. Its
position parameter is S0, speed parameter is S1, acceleration and deceleration parameter is S2 (Note: the unit
of acceleration and deceleration is seconds, that is, the time from initial speed to target speed)
⚫ The usage of A_DRVI is the same as that of A_MOVER instruction, the difference is A_DRVI instruction
can be interrupted by other motion instructions in interrupt mode, but other motion instructions cannot be
cached in cache mode, and other motion instructions cannot be interrupted
⚫ After executing the instruction, the single axis state (D20000+200*N) of slave axis is 2
⚫ The direction is determined by the positive/negative of the target position.

(5) Notes
⚫ A_STOP/A_HALT can be used to stop the motion.
⚫ The instruction has no error code parameters. When any error occurs, state bit Error will be ON. Common
errors include that the control mode is not CSP, and the acceleration and deceleration time is 0.

123
(6) Related parameters
Input Parameter Data type Unit Note
parameter name
S0 Position FP64 Command Target position
unit
S1 Velocity FP64 Command Target speed
unit /s
S2 Time FP64 s Target acceleration/deceleration time, that is, the
time from current speed to target speed
State Parameter Data type Unit Note
parameter name
S3 Done BOOL - Instruction execution completed
S3+1 Error BOOL - Instruction execution error
Axis Parameter Data type Unit Note
number name
S4 Axis INT16U - Axis number starts from 0

(7) Application
The motor present position is 2000, it requires to move to 10000 pulses position at the speed of 5000 pulse/s
through A_DRVI instruction. The acceleration/deceleration time is 0.5s.

The motor position diagram in relative position mode:

The present position is 2000, it needs to send 8000 pulses to move to 10000 pulses position in relative mode.

The ladder chart is shown as below:


M0
A_PWR HD0 M1 K0

M2
A_DRVI HD10 HD14 HD18 M3 K0

The instruction configuration is shown as below:

124
Explanation:
First turn on the enable through A_PWR instruction. When M2 is from OFF→ON, it moves to the target position
with setting parameters.

The execution position curve is shown as the following:

125
Target position

Start position

126
5-1-2-19. Probe function【A_PROBE】
(1) Overview
The probe function is the position latch function, which latches the current position when the command is
triggered.
Probe function [A_PROBE]
Execution Normally ON/OFF coil Suitable XDH, XLH
condition
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 16-bit, single word
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
A_PROBE D0 D50 M1 K0

⚫ S0 specifies input parameter start address, occupies the register S0~S0+24


⚫ S1 specifies output state word start address, occupies the register S1~S1+11
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+3
⚫ S3 specifies the axis terminal number, only can select EtherCAT axis
⚫ When M0 is from OFF→ON, turn on the probe for the axis specified by S3. Write the current position value
to the latch register
⚫ It needs to distribute the specified axis Ethercat parameter 60B8h, 60B9h, 60Bah, 60BBh, 60BCh, 60BDh to
the PDO mapping (60BAh~60BDh are distributed as the probe using condition, the PDO size cannot over 32
bytes). At present, only the signal from the slave station is supported as the probe trigger source. See
EtherCAT motion control manual for the configuration mode of PDO.
⚫ It takes a certain time from the generation of external trigger signal to the driver receiving signal and position
locking. Therefore, the value of probe locking must have an error with the theoretical value. The error is
related to the motor speed, hardware performance and software processing
⚫ After executing the instruction, the slave station single axis state (D20000+200*N) keeps unchanged
⚫ Only one probe command can be written for the same axis, otherwise double coils will be generated

(5) Notes
⚫ Only one probe command can be written for the same axis, otherwise double coils will be generated
⚫ When probe 1 and probe 2 are enabled at the same time, the position will not be refreshed until both probes
are triggered
⚫ When the trigger source is the master station, the trigger signal needs to select the corresponding external
interrupt port, and there needs to be a corresponding external interrupt program in the program (see the
example at the end of this section for specific use)
⚫ The command is not supported by the pulse axis

127
(6) Related parameters
Input Parameter name Data type Unit Note
parameter
S0 Index INT16U - Probe number
0: probe 1
1: probe 2
2: probe 1 and probe 2
S0+1 Source1 INT16U - Probe 1 trigger source
0: slave station
1: main station
S0+2 Edge1 INT16U - Probe 1 trigger edge
0: rising edge
1: falling edge
S0+3 Signal1 INT16U - Probe 1 trigger signal
0: external signal
1: Z phase signal
2: external interrupt 0, X2
3: external interrupt 1, X3
4: external interrupt 2, X4
5: external interrupt 3, X5
6: external interrupt 4, X6
7: external interrupt 5, X7
8: external interrupt 6, X10
9: external interrupt 7, X11
10: external interrupt 8, X12
11: external interrupt 9, X13
S0+4 WindowStart1 FP64 Command Probe 1 window start position
unit
S0+8 WindowEnd1 FP64 Command Probe 1 window end position
unit
S0+12 WindowUsed1 INT16U - Window index
0: not use window
1: use window
S0+13 Source2 INT16U - Probe 2 trigger source
0: slave station
1: main station
S0+14 Edge2 INT16U - Probe 2 trigger edge
0: rising edge
1: falling edge

S0+15 Signal2 INT16U - Probe 2 trigger signal


0: external signal
1: Z phase signal
2: external interrupt 0, X2
3: external interrupt 1, X3
4: external interrupt 2, X4
5: external interrupt 3, X5
6: external interrupt 4, X6
7: external interrupt 5, X7
8: external interrupt 6, X10
9: external interrupt 7, X11
10: external interrupt 8, X12
11: external interrupt 9, X13
S0+16 WindowStart2 FP64 Command Probe 2 window start position
unit
S0+20 WindowEnd2 FP64 Command Probe 2 window end position
unit
S0+24 WindowUsed2 INT16U - Window index
0: not use window

128
Input Parameter name Data type Unit Note
parameter
1: use window
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
S1+4 Position1 FP64 Command
Probe 1 latch position
unit
S1+8 Position2 FP64 Command
Probe 2 latch position
unit
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - Instruction execution completed
S2+1 Busy BOOL - The instruction is being executed
S2+2 Abort BOOL - Instruction is interrupted
S2+3 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - The axis number starts from 0
Note:
The window of the probe represents the range of the latch position. When the window is enabled, only the current
position when the probe is triggered is written to the latch position within the window range.

(7) Sequence diagram

Trigger instruction Trigger instruction

Execute

Source

Done

Busy

Abort

Error

Execute other instructions in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy signal is set. Only after the edge signal of the trigger source is
detected to refresh the position, the Done signal is set and the Busy signal is reset. Only after the command is
triggered and executed again, the Done will be reset, otherwise it will not be reset automatically.
When there is an error in the instruction or the instruction is interrupted, the Error or Abort signal is set, other
signals are reset, and the corresponding error code will be output in case of error.

129
(8) Application
Eg1: The specified axis is required to turn on the probe function, the probe trigger source is the slave station, and
the probe trigger records the current position. The ladder diagram is as follows
M0
A_PWR HD0 M1 K0

M2
A_PROBE HD10 HD50 M3 K0

The command configuration is shown as below:

Explanation:
When selecting the slave station for the probe trigger source, the expert process data is required to configure the
parameters related to the probe function 60B8h, 60B9h, 60Bah, 60BCh. After setting, trigger A_PROBE
command can start the probe, and the probe signal terminal is set by the slave station.
Take DS5C as an example, P5-62 and P5-63 are used for terminal allocation of probe function. The default value
of P5-62 is 5, that is, the terminal of probe 1 is P-, and the default value of P5-63 is 6, that is, the terminal of probe
2 is D-, probe 1 can only be allocated to P-, and probe 2 can only be allocated to D-.
When the probe is turned on, whenever the level signal of the probe terminal jumps, the probe will be triggered.
At this time, the current position value will be stored in the probe latch position (register address specified by S1 +
4 and S1 + 8 in the instruction)

Expert process data configuration is shown as below:

130
Please add the PDO parameters according to the related index. As the above photo, 60B8h is added in RxPDO
#x1600. 60B9h, 60Bah, 60BCh are added in TxPDO #x1a00. (this example uses the rising edge of the probe
signal, if the falling edge is used, please add 60B9h, 60BBh, 60BDh in #x1a00)

131
Eg2: The specified axis is required to turn on the probe function, use the rising edge of X2 port of the master
station as the trigger source, and the probe is triggered to record the current position. The ladder diagram is as
follows:
M0
A_PWR D0 M1 K0

M100
A_PROBE HD100 D100 M101 K0

Port X2 rising edge


FEND external interrupt

I0000

IRET

The command configuration is shown as below:

Explanation:
Since the master station is used as the trigger source, there should be an external interrupt program of the
corresponding port in the program, and the corresponding external interrupt needs to be selected during instruction
configuration. The relevant PDO configuration is the same as that in example 1.

After triggering the instruction and generating a rising edge at port X2, the instruction will latch the position of the
specified axis into the corresponding register.

132
5-1-2-20. Periodic position control motion【A_CYCPOS】
(1) Overview
Performs periodic position control on the specified axis.
Periodic position control motion [A_CYCPOS]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 64-bit, four words
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
A_CYCPOS D0 D50 M1 K0

⚫ S0 specifies input parameter start address, occupies the register S0~S0+5


⚫ S1 specifies output state word start address
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+4
⚫ S3 specifies the axis terminal number
⚫ When M0 changes from off to on, perform periodic position control on the axis specified by S3. After
successful execution, S2 is set to on, indicating that the axis is in periodic control state. The axis is controlled
by periodically assigning values to S0
⚫ Before triggering the command, please ensure that the value of S0 is the same as the current position,
otherwise the position will produce a step
⚫ The periodic position control needs to periodically write the target position value into the register, and the
position change should not be too large to avoid the flying of the slave axis due to the large difference
between the given periodic position and the previous periodic position.
⚫ A_WRITE command can be used to change the target location or in combination with I9900 cycle interrupt.
After executing the instruction, set on SM1995 to trigger the interrupt and continuously accumulate the
values in the position register, so as to realize that the periodic position control. The direction is jointly
determined by the parameter target position and the current position. It is positive when the target position is
greater than the current position and negative when the target position is less than the current position.

(5) Related parameters


Input Parameter name Data type Unit Note
parameters
S0 Position FP64 Command Target position
unit
S0+4 Direction INT16U - Direction. Not supported at the moment.
S0+5 BufferMode INT16U - Buffer mode

133
0: interrupt mode
1: buffer mode
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S2 Incycle BOOL - Periodic control
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis number starts from 0

(6) Sequence diagram

Trigger command

Execute

Incycle

Busy

Active

Abort

Error

Execute other command in interrupt mode

Explanation:
Trigger command, Busy and Active signals are set, and Incycle signal is set when the axis reaches periodic
control.
During cycle control, other commands are executed in interrupt mode, Abort signal is set, and Incycle, Busy and
Active signals are reset.

134
5-1-2-21. Periodic speed control motion【A_CYCVEL】
(1) Overview
Switch the servo mode to CSV mode and output the given target speed to the servo in the task cycle.
Periodic speed control motion [A_CYCVEL]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.7.1 and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 64-bit, four words
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
A_CYCVEL HD0 D0 M1 K0

⚫ S0 specifies input parameter start address


⚫ S1 specifies output state word start address
⚫ S2 specifies output state bit start address
⚫ S3 specifies the axis terminal number
⚫ When M0 changes from off → on, perform periodic speed motion control on the axis specified by S3. After
successful execution, S2 is set, indicating that the target axis is in periodic control state, and the axis speed is
controlled by periodically assigning values to S0

(5) Notes
⚫ The switching mode is issued by the controller, but the actual switching time is determined by the servo
⚫ Executing the motion command can switch the servo to CSP mode, but it needs to meet the current feedback
speed of three cycles < = maximum speed * 0.1
⚫ The last mode is still running between the start of mode switching and the success of mode switching
⚫ The command is not supported by the pulse axis

(6) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 Velocity FP64 Command Target speed
unit/s
S0+4 Buffermode INT16U - Buffer mode
0: interrupt mode
1: buffer mode

135
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code

State Parameter name Data type Unit Note


parameter
S2 Incycle BOOL - Periodic control
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis number starts from 0

(7) Sequence diagram


Trigger command

Execute

Incycle

Busy

Active

Abort

Error

Execute other command in interrupt mode


Explanation:
Trigger command, Busy and Active signals are set, and Incycle signal is set when the axis reaches periodic
control.
During cycle control, other commands are executed in interrupt mode, Abort signal is set, and Incycle signal is
reset.

(8) Application
For example, the servo is required to run at the speed of 131072 pulse/s in CSV mode, and then increase the speed
by 131072 pulse/s every 5 seconds. When the speed reaches 3 times the initial speed, it will continue to run at this
speed. The ladder diagram is shown in the following figure:

136
M100
A_PWR D100 M101 K1

M200
A_CYCVEL HD200 D200 M201 K1

M201
TMR T0 K50 K100
TD0 K50
= EDMOV K262144 HD200

TD0 K100
= EDMOV K393216 HD200

The command configuration is shown as below:

Explanation:
Turn M100 from off → on to enable the axis. When M200 from off → on, trigger the periodic speed control
command, the axis switches to CSV mode and runs at a uniform speed of 131072. When the axis reaches the
synchronous state, start timing. When 5s timing reached, assign the speed 262144 to the register of the
corresponding cycle speed of CYCVEL command. The axis immediately accelerates to the speed value and runs
at a uniform speed. When 10s timing reached, the operation and axis action are the same as above.

The speed curve is shown as below:

137
138
5-1-2-22. Periodic torque control motion【A_CYCTRQ】
(1) Overview
Switch the servo mode to CST mode and output the given target torque to the servo in the task cycle.
Periodic torque control motion [A_CYCTRQ]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.7.1 and above Software 3.7.4 and above
(2) Operand
Operand Function Type
S0 Input parameter start address 64-bit, four words
S1 Output state word start address 16-bit, single word
S2 Output state bit start address Bit
S3 Axis output terminal number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
A_CYCTRQ HD0 D0 M1 K0

⚫ S0 specifies input parameter start address


⚫ S1 specifies output state word start address
⚫ S2 specifies output state bit start address
⚫ S3 specifies the axis terminal number
⚫ When M0 changes from off to on, perform periodic torque motion control on the axis specified by S3.
After successful execution, S2 is set on, indicating that the target axis is in periodic control state, and the
control of the axis is achieved by periodically assigning values to S0.
⚫ It needs to assign 6080h in EtherCAT parameters of the specified axis to PDO mapping to make [maximum
speed limit] effective

(5) Notes
⚫ The switching mode is issued by the controller, but the actual switching time is determined by the servo
⚫ Executing the motion command can switch the servo to CSP mode, which needs to meet the current feedback
speed of three cycles < = maximum speed * 0.1
⚫ The last mode is still running between the start of mode switching and the success of mode switching
⚫ The command is not supported by the pulse axis

(6) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 Trq FP64 Command Target torque
unit/s
S0+4 Maxvel FP64 Rpm Max speed limit

139
S0+8 BufferMode INT16U - Buffer mode
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code

State Parameter name Data type Unit Note


parameter
S2 Incycle BOOL - Periodic control
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis number starts from 0

(7) Sequence diagram


Trigger command

Execute

Incycle

Busy

Active

Abort

Error

Execute other command in interrupt mode


Explanation:
Trigger command, Busy and Active signals are set, and Incycle signal is set when the axis reaches periodic
control.
During cycle control, other commands are executed in interrupt mode, Abort signal is set, and Incycle signal is
reset.

(8) Application
For example, the servo is required to operate at 15% of the rated torque in CST mode, and then increase the speed
by 5% of the rated torque every 5 seconds. When the torque reaches 3 times of the initial speed, it will continue to
operate at this torque. The ladder diagram is shown in the following figure:

140
M100
A_PWR D100 M101 K1

M200
A_CYCTRQ HD200 D200 M201 K1

M201
TMR T0 K50 K100
TD0 K50
= EDMOV K20 HD200

TD0 K100
= EDMOV K25 HD200

Explanation:
Turn M100 from off → on and enable the axis. When M200 is from off → on, trigger the periodic torque
control command, the axis switches to CST mode and runs at a uniform speed of 15% of the rated torque. When
the axis reaches the synchronous state, the timing starts. When 5s is timed, assign 20% of the rated torque to the
register of the corresponding periodic torque of CYCTRQ command, and the axis immediately accelerates to the
torque value and runs at a uniform speed. When 10s is counted, the operation and axis action are the same as
above.

The speed curve is shown as below:

141
142
5-1-3. Related coil and register
After the relevant register is modified, it will take effect after power on again.

System parameters
Address Definition Data type Initial value Note
SFD810 Axis number INT16U 32
Setting value ≥ Actual number of
connected axis
SFD811 Motion control mode startup INT16U 0 0: C motion*1
mode 1: H motion
2: userdefine mode*2
SFD814 Axis bit state start address INT32U 20000 Axis related coil start address
SFD816 Axis word state start address INT32U 20000 Axis related register start address
*1: C motion does not support all commands and parameters in this manual. See EtherCAT motion control user
manual for specific usage.
*2: In userdefine mode, all servos will be switched to user-defined mode, and the user can change the object word
at will.

Axis configuration parameters (N is corresponding axis number, N=0~31)

Basic parameters
Address Definition Data type Unit Initial Note
value
SFD8000+300*N Axis type* INT16U - 0 0: Real axis
1: Virtual axis
2: Encoder axis
SFD8001+300*N Command output INT16U - 0 0: EtherCAT
channel 1: pulse
2: X-NET. Not supported at
the moment
SFD8002+300*N Corresponding slave INT16U - N Corresponding axis number
station no. * in the command
SFD8003+300*N Display unit INT16U - 0 0: pulse
1: mm
2: °
SFD8004+300N Pulse per rotate INT32U Pulse 131072 The count value feedback by
number one revolution of the encoder
is set according to the actual
number of motor encoder
lines (for example, if the
motor encoder is a 17-bit
encoder, i.e. 131072
revolution, this parameter is
set to 131072)
SFD8006+300*N Encoder axis input INT16U - 0 When the axis is set as the
terminal encoder axis, it is set as the
number of the encoder
corresponding to the
high-speed counting port (if
it is connected to high-speed
counting HSC0, it is set as 0;
if it is connected to
high-speed counting HSC2, it
is set as 1; if it is connected
to high-speed counting
HSC4, it is set as 2)
SFD8007+300*N Gantry slave axis INT16U - 0 0: disable

143
Address Definition Data type Unit Initial Note
value
enable 1: enable
In synchronous binding, an
error from the slave axis will
not cancel the binding
relationship
SFD8008+300*N Movement per turn FP64 Command 131072 Equivalent of motion. That is,
unit how many pulses are sent in
the command to turn the
motor for one turn
SFD8012+300*N Enable the reducer INT16U - 0 0: disable
1: enable
SFD8014+300*N Workpiece side INT32U - 0 SFD8012 set to 1, this
coefficient of reducer parameter will take effect
*
SFD8016+300*N Motor side INT32U - 0 SFD8012 set to 1, this
coefficient of reducer parameter will take effect
*
SFD8018+300*N Motion direction INT16U - 0 0: not reverse
1: reverse direction
SFD8019+300*N Position command INT16U ms 0 Position given filtering.
output filter time This will cause the actual
axis motion to lag
SFD8020+300*N Count type INT16U - 0 0: line
1: rotation. Not support at the
moment.
SFD8024+300*N Rotation count upper FP64 Command 0 Not support at the moment
limit unit
SFD8028+300*N Rotation count lower FP64 Command 0 Not support at the moment
limit unit
SFD8032+300*N Back clearance FP64 Command 0 Not support at the moment
compensation value unit
SFD8036+300*N Emergency stop INT16U - 0 Emergency stop mode when
mode triggering emergency stop
0: given stop
1: feedback stop. When the
speed is high, the use of
feedback stop emergency
stop may lead to servo alarm
*Note:
[ENUM]: enumeration data, occupying single word register.
[axis type]: when the axis type is set to 2 (encoder axis), the encoder input port also needs to be set, and the two
parameters need to be used together. At the same time, the encoder axis can only be used as the main axis in the
binding command or cam command. The value of high-speed counting will directly affect the position of the
encoder axis and drive the slave axis to move.
[slave station number]: the slave station number and the function mapping number in the EtherCAT configuration
interface correspond to the axis number in the command, so the slave station number can be modified in the axis
configuration interface or in the EtherCAT configuration interface.
[reducer]: workpiece side coefficient: motor side coefficient = set speed: actual speed
For example, if the ratio of workpiece side coefficient to motor side coefficient is 10:1, when the set speed is 10
r/min, the actual motor speed is 1 r/min.

Probe position
Address Meaning Data type Unit Initial value Note
SFD8194+300*N Probe encoder pulse FP64 Command 0 When using the probe
equivalent unit command on the encoder
axis, the equivalent value
needs to be set

144
Limit configuration parameters
Address Definition Data type Unit Initial value Note
SFD8040+300*N Hard limit stop INT16U - 0 1: Emergency stop
mode 3: deceleration stop
SFD8041+300*N Forward hard limit INT16U - 65535 X terminal corresponding
port to forward hard limit
signal. The parameter is
octal, that is, the
corresponding octal of X10
terminal is 10 and the
corresponding decimal is 8
SFD8042+300*N Forward hard limit INT16U - 0 0: polarity not reversed
polarity 1: Polarity reversed
SFD8043+300*N Reverse hard limit INT16U - 65535 X terminal corresponding
port to reverse hard limit signal.
The parameter is octal, that
is, the corresponding octal
of X10 terminal is 10 and
the corresponding decimal
is 8
SFD8044+300*N Reverse hard limit INT16U - 0 0: polarity not reversed
polarity 1: Polarity reversed
SFD8048+300*N Hard limit stop FP64 Command 65536000
deceleration speed unit/s
SFD8052+300*N Hard limit stop FP64 Command 10000000000 Maximum stop distance
max deceleration unit after hard limit triggering.
distance (if the deceleration is
greater, stop by
deceleration; if the
deceleration distance is
shorter, stop by
deceleration distance)
SFD8060+300*N Soft limit INT16U - 0 0: disable
1: enable
SFD8061+300*N Soft limit detection INT16U - 0 0: detection command,
mode and stop deceleration stop
mode 1: detection command,
emergency stop
When the detection
command D20016+ 200*N
reaches soft limit, it will
deceleration stop or
emergency stop
SFD8064+300*N Forward limit FP64 Command 10000000000
value of soft limit unit
SFD8068+300*N Reverse limit value FP64 Command -10000000000
of soft limit unit
SFD8072+300*N Soft limit stop FP64 Command 65536000 The actual stop
deceleration speed unit /s deceleration speed is the
larger value of the
deceleration between this
parameter and the motion
command
SFD8076+300*N Soft limit stop max FP64 Command 10000000000 Maximum stop distance of
deceleration unit soft limit. (if the
distance deceleration is greater, stop
by deceleration; if the
deceleration distance is
shorter, stop by

145
Address Definition Data type Unit Initial value Note
deceleration distance, and
finally stop within the soft
limit)

Performance parameters
Address Definition Data type Unit Initial value Note
SFD8080+300*N Max speed FP64 Command 6553600 If the speed parameter in
unit/s the command is higher than
the maximum speed, it will
run at the maximum speed
SFD8084+300*N Max acceleration FP64 Command 65536000 If the acceleration
speed unit /s2 parameter in the command
is higher than the maximum
acceleration, it will run at
the maximum acceleration
SFD8088+300*N Max deceleration FP64 Command 65536000 If the deceleration
speed unit /s2 parameter in the command
is higher than the maximum
deceleration, it will run at
the maximum deceleration
SFD8092+300*N Max jerk speed FP64 Command 655360000 If the jerk speed parameter
unit /s3 in the command is higher
than the maximum jerk
speed, it will run at the
maximum jerk speed
SFD8096+300*N Default speed INT16U - 100 Single axis mode does not
percentage take effect
SFD8097+300*N Default acceleration INT16U - 100 When the acceleration in
speed percentage the command is set to 0, it
is executed as the highest
acceleration * default
acceleration percentage
SFD8098+300*N Default deceleration INT16U - 100 When the deceleration in
speed percentage the command is set to 0, it
is executed as the
maximum deceleration *
default deceleration
percentage
SFD8099+300*N Default jerk speed INT16U - 100 When the jerk speed in the
percentage command is set to 0, it is
executed as the maximum
jerk speed * default jerk
speed percentage

Detection and alarm parameters


Address Definition Data type Unit Initial Note
value
SFD8120+300*N Position offset FP64 Command 0 When the deviation between the
alarm value unit given position of the command
and the feedback position
exceeds this value, an error will
be reported. When the
parameter is set to 0, the
position deviation alarm is not
enabled.
SFD8124+300*N Positioning FP64 Command 100 When the command target
complete width unit position reaches the set value
and the difference from the

146
Address Definition Data type Unit Initial Note
value
actual encoder position does not
exceed the positioning
completion width, the
completion flag is set to on
SFD8128+300*N Electrical zero FP64 Command 100 If the current position is within
detection width unit the range of electrical origin,
M20004+50*N is set to on
SFD8132+300*N Motion detection FP64 Command 100 When the current speed is
speed value unit /s greater than the set value,
M20002+50*N is set to on
SFD8136+300*N Motion detection INT16U ms 10 Filtering of motion detection,
filter that is, after the detection speed
is greater than the set value and
lasts for the detection filtering
time, the motion flag position is
on.
Max value is 10000
SFD8137+300*N Speed warning INT16U - 100 Not support at the moment
percentage
SFD8138+300*N Acceleration INT16U - 100 Not support at the moment
warning percentage
SFD8139+300*N Deceleration INT16U - 100 Not support at the moment
warning percentage

Homing configuration parameters


Address Definition Data type Unit Initial Note
value
SFD8160+300*N Origin port INT16U 177777 Origin signal input terminal
number
SFD8161+300*N Origin port polarity ENUM 0 0-high level is 1
1-low level is 1
SFD8162+300*N Near point port INT16U 177777 Near point signal input terminal
number. Not support at the
moment
SFD8163+300*N Near point port ENUM 0 Not support at the moment
polarity
SFD8164+300*N Z-phase port INT16U 177777 Z-phase signal input terminal
SFD8165+300*N Z-phase port ENUM 0 0-high level is 1
polarity 1-low level is 1
SFD8166+300*N Z-phase numbers INT16U 0 Number of z-phase signals to be
detected at the origin
SFD8168+300*N Homing high speed FP64 Command 0
unit /s
SFD8172+300*N Homing creep FP64 Command 0 The value needs to be smaller
speed unit /s than homing high speed and
larger than 0
SFD8176+300*N Homing FP64 Command 0
acceleration speed unit/s2
SFD8180+300*N Homing FP64 Command 0
deceleration speed unit /s2
SFD8184+300*N Homing jerk speed FP64 Command 0
unit /s3
SFD8188+300*N Zero point position FP64 Command 0 The position set after the
unit homing action is completed
SFD8192+300*N Homing direction ENUM 0 The direction when the homing
action starts
0-forward

147
Address Definition Data type Unit Initial Note
value
1-reverse

Pulse configuration parameters


Address Definition Data type Unit Initial Note
value
SFD8200+300*N Pulse port INT16U 177777 Pulse output terminal
SFD8201+300*N Pulse direction port INT16U 177777 Pulse direction output terminal
SFD8202+300*N Pulse port polarity ENUM 0 0-polarity does not reverse
1-polarity reversed
SFD8203+300*N Pulse direction port ENUM 0 0-polarity does not reverse
polarity 1-polarity reversed

Closed-loop configuration parameters


Address Definition Data type Unit Initial Note
value
SFD8204+300*N Closed-loop switch ENUM 0 Closed loop function switch
0: OFF
1: ON
SFD8205+300*N Closed loop ENUM 0 Closed loop position feedback
feedback data source
source type 0: bus position feedback
1: high speed count. The high
speed count terminal is set
through SFD8006+300*N
SFD8206+300*N Encoder equivalent FP64 0 It only takes effect when the
closed-loop position feedback
source is high-speed counting.
The encoder inputs the
movement of each pulse. That
is, the movement per turn
(SFD8008 + 300*N) /encoder
pulse numbers per turn.
For example, the movement
amount per revolution set by
PLC is 10000, the closed-loop
position feedback source is
grating ruler or encoder
counting, and the high-speed
counting value of motor per
revolution is 2500. Then the
encoder equivalent value is set
to 4.
SFD8210+300*N Proportional gain FP64 0 Proportional gain of PID in full
closed loop control
SFD8214+300*N Integral gain FP64 0 Integral gain of PID in full
closed loop control
SFD8218+300*N Differential gain FP64 0 Differential gain of PID in full
closed loop control
SFD8222+300*N Speed feedforward FP64 0 Full closed loop speed
gain feedforward gain
SFD8226+300*N Feedback speed FP64 0 Full closed loop speed feedback
feedforward gain gain
SFD8230+300*N Closed loop FP64 0 Error code 2018 is returned
maximum position when the closed-loop position
gain deviation exceeds this limit
value. When set to 0, it does not

148
Address Definition Data type Unit Initial Note
value
take effect.
SFD8234+300*N Speed forward INT16U 0 Full closed loop speed
looking filtering feedforward filtering time
time
SFD8235+300*N Feedback velocity INT16U 0 Full closed loop speed feedback
filtering time filtering time
SFD8236+300*N 2 degree free alpha FP64 0 Full closed loop 2 free degree
alpha. The range is 0 ~ 1. When
the setting value is 0,
instruction filtering is not
performed. When the setting
value is greater than 1, it is
processed as 1.
SFD8240+300*N 2 degree free FP64 0 Full closed loop 2 free degree
integral time integration time.

Axis state coil (coil start address is decided by SFD814)


Address Definition Note
M20000+50*N Axis enable ON: axis enable state
M20001+50*N Axis error ON: axis error state
M20002+50*N Axis motion ON: the axis is in motion, the current speed of the axis is greater
than the motion speed detection value and exceeds the motion
detection filtering time, and the end of the motion is set to off
M20003+50*N At the position ON: the command movement is completed, and the deviation
between the given and feedback is within the positioning
completion width
M20004+50*N At the origin ON: the axis is within the electrical origin range
M20005+50*N Speed warning Not support at the moment
M20006+50*N Acceleration Not support at the moment
warning
M20007+50*N Deceleration Not support at the moment
warning
M20008+50*N Axis motion ON: command movement completion
completion

Axis state register (register start address is decided by SFD816)


Address Definition Data Unit Note
type
D20000+200*N Axis state INT16U - 0: axis disable
1: axis enabled, not move
2: axis in motion (end speed is 0, include
A_HALT)
3: axis in continuous motion
4: axis in synchronous motion
5: axis in homing
6: axis in deceleration stop (A_STOP)
7: axis error
8: the axis is in axis group motion
D20001+200*N Error code INT16U - Refer to the error code
D20008+200*N Command given pulse FP64 Pulse Current given pulse of motion command
D20012+200*N Command end position FP64 Command Target position of motion command
unit
D20016+200*N Axis given position FP64 Command Current given position of motion command
unit
D20020+200*N Axis given speed FP64 Command Current given speed of motion command

149
Address Definition Data Unit Note
type
unit /s
D20024+200*N Axis given FP64 Command Current given acceleration and deceleration
acceleration/deceleration unit /s2 of motion command
D20040+200*N Axis feedback pulse FP64 Pulse Axis actual motion pulse
D20044+200*N Axis feedback position FP64 Command Axis actual motion position
unit
D20048+200*N Axis feedback speed FP64 Command Axis actual motion speed
unit /s

150
5-2. Axis group function
5-2-1. Command list
Command Function Chapter
G_PWR Axis group enable 5-2-2-1
G_CFGAXIS Modify the composition axis 5-2-2-2
G_PTP point-to-point motion 5-2-2-3
G_LINE Linear interpolation 5-2-2-4
G_CIRCLE Arc interpolation 5-2-2-5
G_HELICAL Spiral motion 5-2-2-6
G_MOVSUP Superimposed motion 5-2-2-7
G_COMPON Compensation motion 5-2-2-8
G_COMPOFF Cancel compensation 5-2-2-9
G_INTR Interrupt the motion 5-2-2-10
G_GOON Continue the motion 5-2-2-11
G_PATHMODE Specify path mode selection 5-2-2-12
G_PATHSEL Select machining path 5-2-2-13
G_PATHMOV Path motion 5-2-2-14
G_SETOVRD Modify magnification 5-2-2-15

151
5-2-2. Command introduction

5-2-2-1. Axis group enable【G_PWR】


(1) overview
turn on the axis group enable, make the axis group in operation state.
Axis group enable [G_PWR]
Execution Normally ON/OFF coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) operand
Operand Function Type
S0 Specify the output state word start address 16-bit, single word
S1 Specify the output state bit start address Bit
S2 Specify axis group number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ●
S2 ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2
G_PWR HD0 M1 K0

⚫ S0 specifies output state word start address


⚫ S1 specifies output state bit start address
⚫ S2 specifies axis group number, starts from 0. The axis number in the axis group is set through
SFD48001+300*N~SFD48006+300*N, N is axis group number.
⚫ When M0 is set to on, enable the S2 specified axis group and switch the axis group to the operable state.
Relevant axis group commands can be used only after the axis group is enabled
⚫ After the command is executed, the single axis state of axis group (D20000+200*N) is 8, axis group state
(D46000+300*N) is 1

(5) Notes
⚫ Enabling the axis group requires that each single axis in the axis group is in the enabled state and the axis is
in the unbound state
⚫ After the axis group is enabled, the single axis specified by the axis group will not be able to use the single
axis command
⚫ The single axis number specified by the axis group cannot be repeated, the axis communication channels are
consistent, the axis is in CSP mode, does not support encoder axis, and virtual axis can be set.

152
(6) Related parameters
Output Parameter Data type Unit Note
parameter name
S0 ErrCode INT16U - Command error code
State parameter Parameter Data type Unit Note
name
S1 PwrStat BOOL - Axis group enable state
Axis number Parameter Data type Unit Note
name
S2 Axis INT16U - Axis group number starts from 0

(7) Sequence diagram

Enable

Enabled

(8) Application
For example, the axis group consists of axis 0, axis 1 and axis 2. It is required to enable the axis group. The ladder
diagram is as follows:
M0
A_PWR HD0 M1 K0

A_PWR HD2 M2 K1

A_PWR HD4 M3 K2
M4
G_PWR HD6 M5 K0

Axis group configurations:

The constituent axes of axis group 0 are set through SFD48001, SFD48002 and SFD48003. The axis group can be
enabled only after all constituent axes of the axis group are enabled. After the axis group is enabled, the
corresponding axis group state machine D46000 + 300*N changes to 1, indicating that the axis group is enabled.
The single axis state machine D20000 + 200*N of the axis group changes to 8, indicating that the axis is in the
axis group. Refer to chapter 5-1-3 for single axis related registers and 5-2-3 for axis group related registers.

153
154
5-2-2-2. Modify the composition axis【G_CFGAXIS】
(1) Overview
Modify the composition axis of the axis group.
Modify the composition axis [G_CFGAXIS]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) operand
Operand Function Type
S0 Sepcify the input parameter start address 16-bit, single word
S1 Specify the output state word start address 16-bit, single word
S2 Specify the output state bit start address Bit
S3 Specify axis group number 16-bit, single word

(3) Suitable soft component


Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
G_CFGAXIS HD0 HD10 M1 K0

⚫ S0 specifies the input parameter start address, occupies the register S0~S0+5
⚫ S1 specifies the output state word start address
⚫ S2 specifies the output state bit start address, occupies the relay S2~S2+3
⚫ S3 specifies the axis group number
⚫ When M0 is from off → on, S3 specifies the axis group and modifies the constituent axis of the axis group
with the parameters set by the user

(5) Notes
⚫ The constituent axis does not support encoder axis and duplicate axis number, and the communication
channels of each axis of the axis group need to be consistent
⚫ The axis group is in motion and cannot perform G_ CFGAXIS
⚫ The constituent axis cannot be the same as the axis number in other enabled axis groups
⚫ The modified composition axis will be restored after PLC stop and power failure.

(6) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 AxisX INT16U X axis composition axis number
S0+1 AxisY INT16U Y axis composition axis number
S0+2 AxisZ INT16U Z axis composition axis number
S0+3 AxisA INT16U A axis composition axis number
S0+4 AxisB INT16U B axis composition axis number

155
S0+5 AxisC INT16U C axis composition axis number
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S2 Done BOOL Instruction execution completed
S2+1 Busy BOOL The instruction is being executed
S2+2 Abort BOOL Instruction is interrupted
S2+3 Error BOOL Instruction execution error
Axis number Parameter name Data type Unit Note
S3 Axis INT16U Axis group number starts from 0

(7) Sequence diagram

Trigger command Trigger command

Execute

Done

Busy

Abort

Error

Execute other commands in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy signal is set, reset after the command is executed, and the
Done signal is set. Done is reset only after the command is triggered again, otherwise it will not be reset
automatically.
When the instruction is interrupted or has an error, the corresponding Abort or Error signal is set, other signals are
reset, and the corresponding error code will be output in case of error.

156
5-2-2-3. Point to point motion【G_PTP】
(1) Overview
Each axis runs to the target position at the fastest speed.
Point to point motion [G_PTP]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) operand
Operand Function Type
S0 Sepcify the input parameter start address 64-bit, four words
S1 Specify the output state word start address 16-bit, single word
S2 Specify the output state bit start address Bit
S3 Specify axis group number 16-bit, single word

(3) Suitable soft component


Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
G_PTP D0 D50 M1 K0

⚫ S0 specifies the input parameter start address, occupies the register S0~S0+31
⚫ S1 specifies the output state word start address
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+4
⚫ S3 specifies the axis group number
⚫ When M0 changes from off → on, each axis of the axis group reaches the target position at the fastest speed,
and the speed uses the default speed configuration of single axis. The axis speed = max speed
(SFD8080+300*N)*default speed percentage (SFD8096+300*N).
⚫ After executing the command, the single axis state of axis group (D20000+200*N) is 8, axis group state
(D46000+300*N) is 2.

(5) Notes
⚫ When the G_PTP command is executed, each axis in its axis group is separated and moves to the target
position with its own track
⚫ The instruction supports buffer. At most one instruction can be cached. When the instruction is executed in
buffer mode, it will wait for all axes in the current axis group to finish moving before executing the cached
instruction.

(6) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 PositionX FP64 Command X axis position. X axis number is set through
unit SFD48001+300*N.
S0+4 PositionY FP64 Command Y axis position. Y axis number is set through
unit SFD48002+300*N.

157
S0+8 PositionZ FP64 Command Z axis position. Z axis number is set through
unit SFD48003+300*N.
S0+12 PositionA FP64 Command A axis position. Not supported at the moment.
unit
S0+16 PositionB FP64 Command B axis position. Not supported at the moment.
unit
S0+20 PositionC FP64 Command C axis position. Not supported at the moment.
unit
S0+24 Coordinate INT16U - Coordinate system. Not supported at the moment.
S0+25 Buffermode INT16U - Buffer mode
0: interrupt mode
1: buffer mode
S0+26 TransitionMode INT16U - Transition mode. Not supported at the moment
S0+28 TransitionVel FP64 - Transition speed.
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - Instruction execution completed
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis group number starts from 0

(7) Sequence diagram

Trigger command Trigger command

Execute

Done

Busy

Active

Abort

Error

Execute other commands in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the command is
executed. At the same time, the Done signal is set. Done will reset only after the command is triggered again,
otherwise it will not reset automatically.

When the instruction is triggered in the buffer mode and there are currently instructions being executed, the Active
signal will be set immediately. The execution of the current instruction ends. When the instruction is executed, the
Busy signal will be set. After the execution of the instruction ends, the Busy and Active signals will be reset and

158
the Done signal will be set.

When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active signals
are reset immediately and the Abort signal is set.

When there is an error in the command, the Error signal is set, other signals are reset, and the corresponding error
code is output.

(8) Application
For example, it requires the axis group moves to the point (10000,0,0) with command G_PTP. The ladder chart is
shown as below:
M0
A_PWR HD0 M1 K0

A_PWR HD2 M2 K1

A_PWR HD4 M3 K2
M4
G_PWR HD6 M5 K0

M10
G_PTP HD10 HD50 M11 K0

The instruction configuration:

Explanation:
The relevant axis group movement command can be executed only after the axis group is enabled. The axis group
enabling requires each component axis to be enabled first. Refer to chapter 5-2-2-1 command G_PWR for details.
G_ PTP command runs to the specified point at the default speed of each constituent axis.
The default speed = max speed (SFD8080+300*N) * default speed percentage (SFD8096+300*N). Please refer to
chapter 5-1-3 for the parameter details.

159
As the above figure, the default speed=100000 (max speed) *10% (default speed percentage) =10000. If the
maximum speed of the single axis is set low, the axis group will calculate the linear speed according to the
maximum speed of the single axis, so that the linear speed of the axis group cannot reach the target speed set in
the command.
Its running track is as follows (taking XY axis as an example):

In the figure, the abscissa is X axis and the ordinate is Y axis. Coordinate starting point (- 50000, - 30000), after
G_PTP motion, the X and Y axes move to the target position (10000,0) at their respective default speeds.

160
5-2-2-4. Linear interpolation【G_LINE】
(1) Overview
The axis group performs spatial linear motion with the set parameters.
Linear interpolation [G_LINE]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) operand
Operand Function Type
S0 Sepcify the input parameter start address 64-bit, four words
S1 Specify the output state word start address 16-bit, single word
S2 Specify the output state bit start address Bit
S3 Specify axis group number 16-bit, single word

(3) Suitable soft component


Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
G_LINE D0 D60 M1 K0

⚫ S0 specifies the input parameter start address, occupies the register S0~S0+51
⚫ S1 specifies the output state word start address
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+4
⚫ S3 specifies the axis group number
⚫ When M0 changes from off → on, the axis group specified by S3 performs linear interpolation at the speed,
acceleration/deceleration and jerk speed set by the user
⚫ After the command is executed, single axis state of axis group (D20000+200*N) is 8, axis group state
(D46000+300*N) is 2.

(5) Related parameters


Input Parameter Data Unit Note
parameter name type
S0 PositionX FP64 Command X axis position. X axis number is set through
unit SFD48001+300*N
S0+4 PositionY FP64 Command Y axis position. Y axis number is set through
unit SFD48002+300*N
S0+8 PositionZ FP64 Command Z axis position. Z axis number is set through
unit SFD48003+300*N
S0+12 PositionA FP64 Command A axis position. Not supported at the moment
unit
S0+16 PositionB FP64 Command B axis position. Not supported at the moment
unit
S0+20 PositionC FP64 Command C axis position. Not supported at the moment
unit

161
Input Parameter Data Unit Note
parameter name type
S0+24 Velocity FP64 Command Target speed
unit /s
S0+28 Acceleration FP64 Command Target acceleration speed
unit /s2
S0+32 Deceleration FP64 Command Target deceleration speed
unit /s2
S0+36 Jerk FP64 Command Target jerk speed, the change rate of
unit /s3 acceleration/deceleration
S0+40 Coordinate INT16U - Coordinate system. Not supported at the
moment
S0+41 Buffermode INT16U - Buffer mode
0: interrupt mode
1: buffer mode
S0+42 TransitionMode INT16U - Transition method (currently only speed
transition is supported)
0: speed transition
S0+44 Endvel FP64 Command End speed. Not supported at the moment
unit /s
S0+48 TransitionVel FP64 Command Transition speed
unit /s
Output Parameter Data Unit Note
parameter name type
S1 ErrCode INT16U - Command error code
State Parameter Data Unit Note
parameter name type
S2 Done BOOL - Instruction execution completed
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis number Parameter Data Unit Note
name type
S3 Axis INT16U - Axis group number starts from 0
⚫ The relationship between acceleration, deceleration and jerk speed is the same as A_ MOVEA instruction,
see relevant parameters in chapter 5-1-2-7 (5) for details.
⚫ The speed, acceleration/deceleration and jerk speed parameters set by the user are all parameters of the axis
group. If the parameter set by the user is greater than the maximum parameter value of the axis group, it will
be treated as the maximum parameter value of the axis group. If the parameter value set by the user is greater
than the maximum parameter value of each single axis, the linear speed and other parameters of the axis
group will be calculated based on the maximum parameter value of the single axis.
⚫ The trajectory of G_LINE is a straight line in space, and its acceleration and deceleration parameters are the
acceleration and deceleration of axis group, which is independent of the speed direction of each single axis.
⚫ Support buffer instruction. When the buffer mode is set to 0, the instruction will interrupt the axis group
instruction in the current motion and execute a new instruction immediately. When the buffer mode is set to 1,
the instruction will enter the buffer area and wait for the execution of the currently moving instruction to end
before executing a new instruction. If the buffer is full, the buffer cannot be cached and error code 5011 is
returned.
⚫ If the acceleration, deceleration and jerk speed entered by the user are 0, the default values of the axis group
will be used:
Acceleration speed = XYZ max acceleration (SFD48024+300*N) *XYZ default acceleration percentage
(SFD48053+300*N)
Deceleration speed = XYZ max deceleration (SFD48028+300*N) *XYZ default deceleration percentage
(SFD48054+300*N)
Jerk speed = XYZ max jerk speed (SFD48032+300*N) *XYZ default jerk speed percentage
(SFD48055+300*N)
N is axis group number.

162
⚫ The transition speed parameter is only valid in the buffer mode when there are instructions in the buffer area
(the cached instructions cannot be G_PTP, and the currently executed instructions cannot be G_PTP). When
the moving instructions reach the deceleration stage and the speed is less than the transition speed, the cached
instructions will be triggered automatically, so there will be deviation from the specified track. The greater
the transition speed, the smoother the inflection point between the two lines.

(6) Sequence diagram

Trigger command Trigger command

Execute

Done

Busy

Active

Abort

Error

Execute other commands in interrupt mode


Explanation:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the command is
executed. At the same time, the Done signal is set. Done will reset only after the command is triggered again,
otherwise it will not reset automatically.

When the instruction is triggered in the buffer mode and there are currently instructions being executed, the Active
signal will be set immediately. The execution of the current instruction ends. When the instruction is executed, the
Busy signal will be set. After the execution of the instruction ends, the Busy and Active signals will be reset and
the Done signal will be set.

When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active signals
are reset immediately and the Abort signal is set.

When there is an error in the command, the Error signal is set, other signals are reset, and the corresponding error
code is output.

(7) Application
① ladder chart:

163
SM0
FUNC1 D0 M0

M0
A_PWR HD0 M1 K0

A_PWR HD2 M2 K1

A_PWR HD4 M3 K2

M1 M2 M3
G_PWR HD6 M4 K0
M4 M10
G_LINE HD100 HD200 M11 K0

M20
G_LINE HD300 HD400 M21 K0

Among them, FUNC1 function block is used to set value for G_ LINE command, M0 turns on the enabling of
each axis. When all three axes enabling are turned on (flag bits M1, M2 and M3 are on), turn on the axis group
enabling. After the axis group is enabled (the flag M4 is on), execute the first G_LINE command when M10 is set
to on, execute the second G_LINE command when M20 is set to on.
② set value for command G_LINE (right click the command to set the value, or set value through C program):

The instruction demonstrated in this example is the linear interpolation of XY axis (the axis group type only
supports XYZ type, and the axis group of XY axis can be realized by setting the corresponding axis configuration
of Z axis as virtual axis). The movement amount of X and Y axes per cycle is 10000. The axis group can run to
(100000, 200000) at the speed of 20000 command unit/s by setting values to the parameters as shown in the figure
and turning on M10 and M20 in turn. Then run to the position (20000,0) at the speed of 20000 command unit/s.

164
③ The operation track of the axis group is shown in the figure below (where the x-axis position is the abscissa
and the y-axis position is the ordinate):

(100000,200000)

(200000,0)

When the transition speed of the second command is set to different values, the effect is as follows:

transition speed = 0 transition speed = 5000

165
5-2-2-5. Circular interpolation【G_CIRCLE】
(1) Overview
The axis group performs spatial arc motion with the set parameters.
Circular interpolation [G_CIRCLE]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software 3.7.4 and above
(2) operand
Operand Function Type
S0 Sepcify the input parameter start address 64-bit, four words
S1 Specify the output state word start address 16-bit, single word
S2 Specify the output state bit start address Bit
S3 Specify axis group number 16-bit, single word

(3) Suitable soft component


Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
G_CIRCLE HD0 HD100 M1 K0

⚫ S0 specifies the input parameter start address, occupies the register S0~S0+79
⚫ S1 specifies the output state word start address
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+4
⚫ S3 specifies the axis group number
⚫ When M0 changes from off → on, the axis group specified by S3 performs arc interpolation at the speed,
acceleration/deceleration and jerk speed set by the user
⚫ After the command is executed, the single axis state of axis group (D20000+200*N) is 8, the axis group state
(D46000+300*N) is 2.

(5) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 Mode INT16U - Arc mode (currently only three-point arc is
supported)
0: three-point arc
S0+1 PathSelected INT16U - Path selection. Not supported at the moment
S0+4 AuxiliaryX FP64 Command X axis auxiliary point position
unit X axis number is set through
SFD48001+300*N
S0+8 AuxiliaryY FP64 Command Y axis auxiliary point position
unit Y axis number is set through
SFD48002+300*N
S0+12 AuxiliaryZ FP64 Command Z axis auxiliary point position
unit Z axis number is set through

166
Input Parameter name Data type Unit Note
parameter
SFD48003+300*N
S0+16 AuxiliaryA FP64 Command A axis auxiliary point position, not supported
unit at the moment
S0+20 AuxiliaryB FP64 Command B axis auxiliary point position, not supported
unit at the moment
S0+24 AuxiliaryC FP64 Command C axis auxiliary point position, not supported
unit at the moment
S0+28 PositionX FP64 Command X axis target position.
unit X axis number is set through
SFD48001+300*N
S0+32 PositionY FP64 Command Y axis target position.
unit Y axis number is set through
SFD48002+300*N
S0+36 PositionZ FP64 Command Z axis target position.
unit Z axis number is set through
SFD48003+300*N
S0+40 PositionA FP64 Command A axis target position. Not supported at the
unit moment
S0+44 PositionB FP64 Command B axis target position. Not supported at the
unit moment
S0+48 PositionC FP64 Command C axis target position. Not supported at the
unit moment
S0+52 Velocity FP64 Command Target speed
unit /s
S0+56 Acceleration FP64 Command Target acceleration speed
unit /s2
S0+60 Deceleration FP64 Command Target deceleration speed
unit /s2
S0+64 Jerk FP64 Command Target jerk speed, the change rate of
unit /s2 acceleration and deceleration
S0+68 Coordinate INT16U - Coordinate system. Not supported at the
moment
S0+69 Buffermode INT16U - Buffer mode
0: interrupt mode
1: buffer mode
S0+70 TransitionMode INT16U - Transition method (only support speed
transition)
0: speed transition
S0+72 Endvel FP64 Command End speed. Not supported at the moment
unit /s
S0+76 TransitionVel FP64 Command Transition speed
speed/s
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - Instruction execution completed
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis group number starts from 0

167
⚫ The relationship between acceleration, deceleration and jerk speed is the same as A_ MOVEA instruction,
see relevant parameters in chapter 5-1-2-7 (5) for details.
⚫ The speed, acceleration/deceleration and jerk speed parameters set by the user are all parameters of the axis
group. If the parameter set by the user is greater than the maximum parameter value of the axis group, it will
be treated as the maximum parameter value of the axis group. If the parameter value set by the user is greater
than the maximum parameter value of each single axis, the linear speed and other parameters of the axis
group will be calculated based on the maximum parameter value of the single axis.
⚫ The trajectory of G_CIECLE is a arc in space, and its acceleration and deceleration parameters are the
acceleration and deceleration of axis group, which is independent of the speed direction of each single axis.
⚫ The three points of the three-point arc are the current point, auxiliary point and end point respectively. The
arc will pass through the auxiliary point and finally reach the end position. The three points cannot be on the
same straight line and do not support the whole circle (that is, the current point and end point are the same
point).
⚫ Support buffer instruction. When the buffer mode is set to 0, the instruction will interrupt the axis group
instruction in the current motion and execute a new instruction immediately. When the buffer mode is set to 1,
the instruction will enter the buffer area and wait for the execution of the currently moving instruction to end
before executing a new instruction. If the buffer is full, the buffer cannot be cached and error code 5011 is
returned.
⚫ If the acceleration, deceleration and jerk speed entered by the user are 0, the default values of the axis group
will be used:
Acceleration speed = XYZ max acceleration (SFD48024+300*N) *XYZ default acceleration percentage
(SFD48053+300*N)
Deceleration speed = XYZ max deceleration (SFD48028+300*N) *XYZ default deceleration percentage
(SFD48054+300*N)
Jerk speed = XYZ max jerk speed (SFD48032+300*N) *XYZ default jerk speed percentage
(SFD48055+300*N).
N is axis group number.
⚫ The transition speed parameter is only valid in the buffer mode when there are instructions in the buffer area.
When the moving instructions reach the deceleration stage and the speed is less than the transition speed, the
cached instructions will be triggered automatically, so there will be deviation from the specified track. The
greater the transition speed, the smoother the inflection point between the two curves.

(6) Sequence diagram

Trigger command Trigger command

Execute

Done

Busy

Active

Abort

Error

Execute other commands in interrupt mode


Explanation:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the command is
executed. At the same time, the Done signal is set. Done will reset only after the command is triggered again,
otherwise it will not reset automatically.

When the instruction is triggered in the buffer mode and there are currently instructions being executed, the Active
signal will be set immediately. The execution of the current instruction ends. When the instruction is executed, the

168
Busy signal will be set. After the execution of the instruction ends, the Busy and Active signals will be reset and
the Done signal will be set.

When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active signals
are reset immediately and the Abort signal is set.

When there is an error in the command, the Error signal is set, other signals are reset, and the corresponding error
code is output.

(7) Application
① ladder diagram
SM0
FUNC1 D0 M0

M0
A_PWR HD0 M1 K0

A_PWR HD2 M2 K1

A_PWR HD4 M3 K2

M1 M2 M3
G_PWR HD6 M4 K0

M4 M10
G_CIRCLE HD100 HD200 M11 K0

Among them, FUNC1 function block is used to set value for G_ CIRCLE command, M0 turns on the enabling of
each axis. When all three axes enabling are turned on (flag bits M1, M2 and M3 are on), turn on the axis group
enabling. After the axis group is enabled (the flag M4 is on), when M10 is set to on, execute the G_CIRCLE
command.

② set value for command G_CIRCLE (right click the command to set the value, or set value through C program):

The instruction demonstrated in this example is the circular arc interpolation of XY axis (the axis group type only
supports XYZ type, and the axis group of XY axis can be realized by setting the corresponding axis configuration
of Z axis as virtual axis). The movement of X and Y axes per cycle is 10000. The axis group can run at the speed
of 20000 command units/s, passing through the auxiliary point (50000, 25000) to the end point (100000,0) by
assigning values to the parameters as shown in the figure and set ON M10.

169
③ The operation track of the axis group is shown in the figure below (where the X-axis position is the abscissa
and the Y-axis position is the ordinate):

Auxiliary point (50000,25000)

170
5-2-2-6. Spiral motion【G_HELICAL】
(1) Overview
Performs spiral motion control on the specified axis group.
Spiral motion [G_HELICAL ]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.7.1 and above Software 3.7.4 and above
(2) operand
Operand Function Type
S0 Sepcify the input parameter start address 64-bit, four words
S1 Specify the output state word start address 16-bit, single word
S2 Specify the output state bit start address Bit
S3 Specify axis group number 16-bit, single word

(3) Suitable soft component


Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
G_HELICAL HD0 D0 M1 K0

⚫ S0 specifies the input parameter start address


⚫ S1 specifies the output state word start address
⚫ S2 specifies output state bit start address
⚫ S3 specifies the axis group number
⚫ When M0 is from off → on, the spiral motion control is performed for the axis group specified by S3. Its
mode is determined by S0, the trajectory direction is jointly determined by S0 + 1 and S0 + 2, the spiral
height is jointly determined by S0 + 40 and S0 + 44, the speed is S0 + 48, the acceleration and deceleration
are S0 + 52, S0 + 56, and the jerk speed is S0 + 60

(5) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 Mode INT16U - Arc mode
0: three points
1: circle center
2: radius
S0+1 Pathselected INT16U - Path selection
0: Clockwise, radius mode inferior arc
1: Counterclockwise, radius mode, superior
arc
S0+2 Planeselected INT16U - Plane selection
0: XOY plane
1: ZOX plane
2: YOZ plane

171
Input Parameter name Data type Unit Note
parameter
S0+3 Velselected INT16U - Speed mode
0: linear speed
1: arc speed
2: axis speed
S0+4 AuxX FP64 Command Auxiliary point X1
unit
S0+8 AuxY FP64 Command Auxiliary point Y1
unit
S0+12 AuxZ FP64 Command Auxiliary point Z1
unit
S0+16 PosX FP64 Command Target point X2
unit
S0+20 PosY FP64 Command Target point Y2
unit
S0+24 PosZ FP64 Command Target point Z2
unit
S0+28 PosA FP64 Command Target point A
unit
S0+32 PosB FP64 Command Target point B
unit
S0+36 PosC FP64 Command Target point C
unit
S0+40 Pitch FP64 Command Pitch P
unit
S0+44 Count FP64 - Turns N
S0+48 Vel FP64 Command Speed
unit /s
S0+52 Acc FP64 Command Acceleration
unit /s2
S0+56 Dec FP64 Command Deceleration
unit /s2
S0+60 Jerk FP64 Command Jerk speed
unit /s3
S0+64 CoordinatSystem INT16U - Coordinate system. Not supported at the
moment
S0+65 Buffer INT16U - Buffer mode
0: interrupt
1: buffer
S0+66 TransitionMode INT16U - Transition method. Not supported at the
moment
S0+68 EndVel FP64 Command End speed. Not supported at the moment
unit /s
S0+72 TransitionVel FP64 Command Transition speed
unit /s
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - Instruction execution completed
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number

172
Input Parameter name Data type Unit Note
parameter
S3 Axis INT16U - Axis number starts from 0
Note: the relationship between deceleration and jerk speed is same to command A_MOVEA, refer to chapter
5-1-2-7 item (5) for details.

⚫ Parameter [plane selection] determines the plane of the arc, and the other direction is radial.
⚫ The parameter [pitch] is the lead of one revolution.
⚫ When the parameter [number of turns] is 0, the arc moves synchronously with the axial direction, and the end
point is the target point. When it is greater than 0, the system calculates the end point according to the
number of turns, pitch and starting point.
⚫ Arc mode 0 3-points:
The spiral trajectory is determined by the current position (X, Y, Z), auxiliary point (X1, Y1, Z1) and target
point (X2, Y2, Z2). In this mode, the [path selection] parameter is not effective, and the radial position in the
auxiliary point is invalid.
Taking the XOY plane as an example, the unique arc is determined on the plane according to the current
position (X, Y), auxiliary point (X1, Y1) and target point (X2, Y2) (at this time, the z-axis coordinate is
invalid), and the arc track of XOY plane is determined. After the plane trajectory is defined, the radial motion
direction is determined according to the radial coordinates, that is, the current coordinate Z of the Z axis and
the target point coordinate Z2 (the current position is in the direction of the target position). Finally, the start
point and end point distance of a single rotation in the Z-axis direction is determined by the pitch P, and the
movement stops after repeating the number of turns N times. The pitch and the number of turns jointly
determine the Z-axis coordinate of the stop position. Please refer to examples for detailed effects.
⚫ Arc mode 1 circle center:
The spiral track is determined by plane selection, path selection and axial direction. In this mode, the radial
position of auxiliary point is invalid.
Taking the XOY plane as an example, two arcs can be determined on the plane according to the current
position coordinates (X, Y), the center coordinates of auxiliary points (X1, Y1) and the end coordinates (X2,
Y2) (at this time, the Z-axis coordinates are invalid), and then the arc trajectory of the final XOY plane is
determined by the path selection parameters. After the plane trajectory is defined, the radial motion direction
is determined by the radial coordinates, that is, the current coordinate Z of the Z axis and the target point
coordinate Z2 (the current position is in the direction of the target position). Finally, the start point and end
point distance of a single rotation in the Z-axis direction is determined by the pitch P, and the movement
stops after repeating the number of turns N times. The pitch and the number of turns jointly determine the
Z-axis coordinate of the stop position. Please refer to examples for detailed effects.
The judgment rules of clockwise and counterclockwise are: make a fist with your right hand.
The thumb is in the radial direction, the four fingers are counter-clockwise and the reverse direction is
clockwise.
⚫ Arc mode 2 radius:
The spiral track is determined by user input parameters, plane selection and path selection. In this mode, the
auxiliary point is only valid for the radial vector value.
Taking the XOY plane as an example, the Z axis coordinate absolute value (0,0, Z) is set as radius | Z | by the
auxiliary point. On the plane, two semicircles or four arcs (two superior arcs and two inferior arcs) can be
determined by the current position coordinates (X, Y), radius and end point coordinates (X2, Y2) (at this time,
the Z axis coordinates are invalid), and then the superior and inferior arcs can be selected by the path
selection parameters. The positive and negative values of the Z-axis of the auxiliary point determine the
trajectory rotation direction (positive counter-clockwise/negative closewise), which determines the final
XOY plane arc trajectory. After the plane trajectory is defined, the radial motion direction is determined by
the radial coordinates, that is, the current coordinate Z of the Z axis and the target point coordinate Z2 (the
current position is in the direction of the target position). Finally, the start point and end point distance of a
single rotation in the Z-axis direction is determined by the pitch P, and the movement stops after repeating
the number of turns N times. The pitch and the number of turns jointly determine the Z-axis coordinate of the
stop position. Please refer to examples for detailed effects.
The judgment rules of clockwise and counterclockwise are: make a fist with your right hand.
The thumb is in the radial direction, the four fingers are counter-clockwise and the reverse direction is
clockwise.

173
(6) Sequence diagram

Trigger command Trigger command

Execute

Done

Busy

Active

Abort

Error

Execute other commands in interrupt mode


Explanation:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the command is
executed. At the same time, the Done signal is set. Done will reset only after the command is triggered again,
otherwise it will not reset automatically.

When the instruction is triggered in the buffer mode and there are currently instructions being executed, the Active
signal will be set immediately. The execution of the current instruction ends. When the instruction is executed, the
Busy signal will be set. After the execution of the instruction ends, the Busy and Active signals will be reset and
the Done signal will be set.

When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active signals
are reset immediately and the Abort signal is set.

When there is an error in the command, the Error signal is set, other signals are reset, and the corresponding error
code is output.

(7) Application
⚫ Arc mode 0 3-points:
Start point (0,0,0), target point (131072,131072,131072), auxiliary point (60000, 80000, Z1), pitch 100000,
turns number 3, perform spiral at the linear speed 100000. The ladder diagram is shown as below:
M0
A_PWR D0 M1 K0

A_PWR D5 M5 K2

A_PWR D10 M10 K3


M100
G_PWR D100 M100 K0

M1500
G_HELICAL HD1500 D1500 M1501 K0

The command parameters:

174
The grabbing track of oscilloscope is as follows:

175
Position
setting

Position
feedback

Linear
speed

LABVIEW synthetic trajectory is as follows:

176
The exploded views of each plan are as follows:

177
178
Action decomposition: the two axes of the XOY plane perform the plane circle action. The circle track is
determined by the coordinates of the starting point, auxiliary point and target point on the selected plane. The
circle motion is repeated for 3 times. The Z-axis moves in a straight line at a uniform speed, and the moving
distance is the number of turns × Pitch. The three axes start and stop at the same time, and the three-axis speed is
decomposed into XOY plane linear speed and Z-axis linear speed.
Note: if the number of turns is greater than 0, the actual motion trajectory of the curve does not necessarily pass
through the auxiliary point and target point.
Other parameters remain unchanged, and the running track is as follows when the number of turns is 0:

179
The exploded views of each plan are as follows:

180
Action decomposition: the two axes of XOY plane perform plane arc action, and the arc track is determined
by the coordinates of the starting point, auxiliary point and target point on the selected plane. The Z-axis
moves in a straight line at a uniform speed, and the moving distance is the difference between the starting
point of the Z-axis and the target point. The three axes start and stop at the same time, and the three-axis
speed is decomposed into XOY plane linear speed and Z-axis linear speed.

⚫ Arc mode 1 circle center:


Start point (0,0,0), target point (131072,0,131072), circle center (65536,10000, Z1), pitch 100000, turn
numbers 3, execute the spiral at 100000 linear speed, and the spiral line rotates clockwise.

The command parameters are shown as below:

181
The grabbing track of oscilloscope is as follows:

182
Position setting

Position feedback

Linear speed

The synthesis trajectory of LabVIEW is as follows:

183
The breakdown drawing of each plane:

184
Action decomposition: the two axes of the XOY plane do the plane circle action. The circle track is
determined by the starting point, center, target coordinates and path selection on the selected plane. The circle
motion is repeated for 3 times. The Z-axis moves in a straight line at a uniform speed, and the moving
distance is the number of turns × Pitch. The three axes start and stop at the same time, and the three-axis
speed is decomposed into XOY plane linear speed and Z-axis linear speed.

Note: If the number of turns is greater than 0, the actual motion trajectory of the curve does not necessarily pass
through the target point.

Other parameters remain unchanged. When the number of turns is 0, the running track is as follows:

185
The breakdown drawing of each plane:

186
187
Action decomposition: the two axes of XOY plane do plane arc action, and the arc track is determined by the
starting point, center, target coordinates and path selection on the selected plane. The Z-axis moves in a
straight line at a uniform speed, and the moving distance is the difference between the starting point of the
Z-axis and the target point. The three axes start and stop at the same time, and the three-axis speed is
decomposed into XOY plane linear speed and Z-axis linear speed.
Note: when the number of turns is 0 and the starting and ending points are consistent, the track is a plane
circle.

⚫ Arc mode 2 radius:


Start point (0,0,0), target point (131072,131072,131072), radius 131072, pitch 100000, turns number 3,
execute the helix at 100000 linear speed, and the helix rotates counterclockwise and moves towards the target
point through the inferior arc.
The command parameters are shown as below:

The grabbing track of oscilloscope is as follows:

188
Position setting

Position feedback

Linear speed

The synthesis trajectory of LabVIEW is as follows:

189
Exploded views of each plan are as follows:

190
Action decomposition: the two axes of the XOY plane do the plane circle action. The circle track consists of the
starting point, radius, target coordinates, rotation direction (positive and negative of Z axis) and arc type on the
selected plane. The circle motion is repeated for 3 times. The Z-axis moves in a straight line at a uniform speed,
and the moving distance is the number of turns × Pitch. The three axes start and stop at the same time, and the
three-axis speed is decomposed into XOY plane linear speed and Z-axis linear speed.
Note: if the number of turns is greater than 0, the actual motion trajectory of the curve does not necessarily pass
through the target point.

Other parameters remain unchanged. When the number of turns is 0, the running track is as follows:

191
Exploded views of each plan are as follows:

192
Action decomposition: the two axes of XOY plane perform plane arc action. The arc track consists of the starting
point, radius, target coordinates, rotation direction (positive and negative of Z axis) and arc type on the selected
plane. The Z-axis moves in a straight line at a uniform speed, and the moving distance is the difference between
the starting point of the Z-axis and the target point. The three axes start and stop at the same time, and the
three-axis speed is decomposed into XOY plane linear speed and Z-axis linear speed.

193
5-2-2-7. Superimposed motion【G_MOVSUP】
(1) Overview
Performs superimposed motion control on the specified axis group.
Superimposed motion [G_MOVSUP ]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.7.1 and above Software 3.7.4 and above
(2) operand
Operand Function Type
S0 Sepcify the input parameter start address 64-bit, four words
S1 Specify the output state word start address 16-bit, single word
S2 Specify the output state bit start address Bit
S3 Specify axis output terminal number 16-bit, single word

(3) Suitable soft component


Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
G_MOVSUP HD0 D0 M1 K0

⚫ S0 specifies the input parameter start address


⚫ S1 specifies the output state word start address
⚫ S2 specifies output state bit start address
⚫ S3 specifies the axis output terminal number
⚫ When M0 changes from off to on, the superposition motion control is performed for the specified axis group
of S3. The distances of each axis are S0, S0 + 4 and S0 + 8 respectively, the speed is S0 + 24, the
acceleration is S0 + 28, the deceleration is S0 + 32 and the jerk speed is S0 + 36. When the command
execution is completed, S2 is set to on

(5) Notes
⚫ The command can be carried out simultaneously with the motion command to superimpose the positions of
each axis, and the speeds of the two commands will also be superimposed at the same time.
⚫ The compensation value for each axis only takes effect in the current motion, and is invalid after the
command ends.
⚫ The instruction can be interrupted by the interrupted mode of the latter instruction, and it is also allowed to
follow the cached instruction.
⚫ The effect of executing the instruction alone is consistent with that of LINE instruction.
⚫ The latter instruction can interrupt the previous superimposed instruction.

194
(6) Related parameters
Input Parameter name Data type Unit Note
parameter
S0 PosX FP64 - Position X. The axis number can be set
thorugh SFD48001+300*N
S0+4 PosY FP64 - Position Y. The axis number can be set
thorugh SFD48002+300*N
S0+8 PosZ FP64 - Position Z. The axis number can be set
thorugh SFD48003+300*N
S0+12 PosA FP64 - Position A. Not support at the moment
S0+16 PosB FP64 - Position B. Not support at the moment
S0+20 PosZ FP64 - Position C. Not support at the moment
S0+24 Vel FP64 Command Speed
unit/s
S0+28 Acc FP64 Command Acceleration
unit/s2
S0+32 Dec FP64 Command Deceleration
unit/s2
S0+36 Jerk FP64 Command Jerk speed
unit/s3
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
Status Parameter name Data type Unit Note
parameter
S2 Done BOOL - Instruction execution completed
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis number starts from 0
*Note: the relationship between deceleration and jerk speed is same to instruction A_MOVEA, refer to chapter
5-1-2-7 item (5).

(7) Sequence diagram

Trigger command Trigger command

Execute

Done

Busy

Active

Abort

Error

Execute other commands in interrupt mode

195
Explanation:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the command is
executed. At the same time, the Done signal is set. Done signal will reset only after the command is triggered
again, otherwise it will not reset automatically.
When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active signals
are reset immediately and the Abort signal is set.
When there is an error in the command, the Error signal is set, other signals are reset, and the corresponding error
code is output.

(8) Application
For example, the current position of each axis of the axis group is 0, the linear speed 5000 pulse/s, acceleration
and deceleration 25000 pulse/ s2, jerk speed 50000 pulse/s3, move each axis to the position of 50000, and in the
process, the position is superimposed with 20000 by linear speed 5000 pulse/s, acceleration and deceleration
10000 pulse/s2, jerk speed 20000 pulse/s3. After the above movement, move to the position of 60000 at the speed
of 5000 pulses/s, acceleration and deceleration 25000 pulses/s2 and jerk speed 50000 pulses/s3. The ladder
diagram is shown in the following figure:
M0
A_PWR D0 M1 K0

A_PWR D5 M5 K2

A_PWR D10 M10 K3


M1 M5 M10
G_PWR D50 M50 K0

M100
G_LINE HD100 D100 M101 K0

M200
G_MOVSUP HD200 D200 M201 K0

M101 M201 M250


( )
M250
G_LINE HD300 D300 M301 K0

The command configuration is shown as below:

196
Note: turn on the axis enable through A_PWR. When all the constituent axes of the axis group are enabled,
G_PWR is triggered to enable the axis group, turn M100 from off → on, and trigger G_LINE, each axis will
move to the position of 50000 with the set parameters. During the axis movement, turn M200 from off → on and
trigger G_ MOVSUP command, each axis will perform superposition movement with the set parameters. When
the movement is over, another G_LINE command will be triggered again immediately.

197
The position curve is shown as below:

The speed curve is shown as below:

It can be seen from the speed curve that when the superposition instruction is executed, the speed will be
superimposed on the basis of the original speed. After the execution of the superposition instruction, the previous
speed will continue to execute until the execution of the instruction ends and the speed decreases to 0.
It can be seen from the position curve that after the execution of the first instruction and the superimposed
instruction, the position is 70000 (including the compensation value of the superimposed instruction to the
position of 20000). After the execution of the second LINE instruction, the final position is reduced to 60000,
which is consistent with the instruction parameters. Therefore, it can be seen that the compensation of the

198
superimposed instruction to the position is only effective during the current movement.

5-2-2-8. Compensation motion【G_COMPON】


(1) Overview
Compensation motion control for the specified axis.
Compensation motion [G_COMPON ]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.7.1 and above Software V3.7.4 and above
(2) operand
Operand Function Type
S0 Sepcify the input parameter start address 64-bit, four words
S1 Specify the output state word start address 16-bit, single word
S2 Specify the output state bit start address Bit
S3 Specify axis output terminal number 16-bit, single word

(3) Suitable soft component


Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Action and function

M0 S0 S1 S2 S3
G_COMPON HD0 D0 M1 K0

⚫ S0 specifies the input parameter start address


⚫ S1 specifies the output state word start address
⚫ S2 specifies output state bit start address
⚫ S3 specifies the axis output terminal number
⚫ Trigger the command to perform compensation motion control on the designated axis of S3. The distance of
each axis is S0, S0 + 4 and S0 + 8, the speed is S0 + 24, the acceleration is S0 + 28, the deceleration is S0 +
32 and the jerk speed is S0 + 36. When the command is executed, S2 is set to on

(5) Notes
⚫ The command is triggered after the motion command and can be executed together with other motion
commands to make compensation motion for each axis position, and the two command speeds will be
superimposed at the same time. When the instruction is executed separately, the effect is the same as that of
the LINE instruction.
⚫ After the command movement is completed, it will compensate all subsequent movements, and the
compensation value can only be cancelled by the compensation cancellation command COMPON.
⚫ Other commands cannot interrupt the compensation movement of this command and will move together with
the compensation command. Only the compensation instruction itself can interrupt the compensation
instruction.
⚫ The compensation position type can be divided into absolute value and relative value.
⚫ When the instruction is interrupted, the compensation amount of the current segment will be written into the
system.

199
(6) Related parameters
Input Parameter name Data type Unit Note
parameter
S0 PosX FP64 - Position X. The axis number is set through
SFD48001+300*N
S0+4 PosY FP64 - Position Y. The axis number is set through
SFD48002+300*N
S0+8 PosZ FP64 - Position Z. The axis number is set through
SFD48003+300*N
S0+12 PosA FP64 - Position A. Not support at the moment
S0+16 PosB FP64 - Position B. Not support at the moment
S0+20 PosC FP64 - Position C. Not support at the moment
S0+24 Vel FP64 Command Speed
unit/s
S0+28 Acc FP64 Command Acceleration
unit /s2
S0+32 Dec FP64 Command Deceleration
unit /s2
S0+36 Jerk FP64 Command Jerk speed
unit /s3
S0+40 MotionType INT16U - Position type
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
Status Parameter name Data type Unit Note
parameter
S2 Done BOOL - Instruction execution completed
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis number starts from 0
*Note: the relationship between deceleration and jerk speed is same to instruction A_MOVEA, refer to chapter
5-1-2-7 item (5).

(7) Sequence diagram

Trigger command Trigger command

Execute

Done

Busy

Active

Abort

Error

Execute other commands in interrupt mode

200
Explanation:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the command is
executed. At the same time, the Done signal is set. Done signal will reset only after the command is triggered
again, otherwise it will not reset automatically.
When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active signals
are reset immediately and the Abort signal is set.
When there is an error in the command, the Error signal is set, other signals are reset, and the corresponding error
code is output.

(8) Application
For example, the current position of each axis of the axis group is 0, the linear speed is 5000 pulse/s, the
acceleration and deceleration is 2500 pulse/s2, and the jerk speed is 50000 pulse/s3, and each axis moves to the
position of 50000. In the process, the position is superimposed with 20000 by the linear speed of 5000 pulse/s, the
acceleration and deceleration 10000 pulse/s2, and the jerk speed 20000 pulse/s3. After the above movement, it
moves to the position of 60000 at the speed of 5000 pulses/s, acceleration and deceleration 2500 pulses/s2 and jerk
speed 50000 pulses/s3. The ladder diagram is shown in the following figure:
M0
A_PWR D0 M1 K0

A_PWR D5 M5 K2

A_PWR D10 M10 K3


M1 M5 M10
G_PWR D50 M50 K0

M100
G_LINE HD100 D100 M101 K0

M200
G_COMPON HD200 D200 M201 K0

M101 M201 M250


( )
M250
G_LINE HD300 D300 M301 K0

The command configuration is shown as below:

201
Explanation:
Turn on the axis enable through A_PWR, when all the constituent axes of the axis group are enabled, G_PWR is
triggered to enable the axis group. M100 is from OFF→ON, command G_LINE is triggered, each axis moves to
position 50000 with the set parameters. In the axis motion process, M200 is from OFF→ON, command
G_COMPON is triggered, each axis will perform superimposed motion with the set parameters. When the
movement is over, another G_LINE will be triggered again immediately.

202
The position curve is shown as below:

The speed curve is shown as below:

It can be seen from the position curve that after the execution of the first instruction and the superimposed
instruction, the position is 70000 (including the compensation value of the superimposed instruction to the
position of 20000), and after the execution of the second line instruction, the final position is 80000 (the
instruction parameter is 60000), so it can be seen that the compensation of the compensation instruction to the
position is always effective.

203
5-2-2-9. Compensation cancellation【G_COMPOFF】
(1) Overview
Cancel the compensation value for the specified axis group.
Cancel the compensation [G_COMPOFF ]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.7.1 and above Software 3.7.4 and above
(2) operand
Operand Function Type
S0 Specify the output state word start address 16-bit, single word
S1 Specify the output state bit start address Bit
S2 Specify axis output terminal number 16-bit, single word

(3) Suitable soft component


Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ●
S2 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2
G_COMPOFF D0 M1 K0

⚫ S0 specifies the output state word start address


⚫ S1 specifies output state bit start address
⚫ S2 specifies the axis output terminal number
⚫ When M0 is from off → on, cancel the internal compensation value of each component axis of the axis
group specified by S3 and reset to 0
⚫ This command can only be executed when the axis group is idle, otherwise the command will report an error

(5) Related parameters


Output Parameter name Data type Unit Note
parameter
S0 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S1 Done BOOL - Instruction execution completed
S1+1 Busy BOOL - The instruction is being executed
S1+2 Abort BOOL - Instruction is interrupted
S1+3 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S2 Axis INT16U - Axis number starts from 0

204
(6) sequence diagram

Trigger command Trigger command

Execute

Done

Busy

Abort

Error

Execute other commands in interrupt mode


Explanation:
Generally, after the command is triggered, the Busy signal is set, reset after the command is completed, and the
Done signal is set. Done is reset only after the command is triggered again, otherwise it will not be reset
automatically.
When the instruction is interrupted or has an error, the corresponding Abort or Error signal is set, other signals are
reset, and the corresponding error code will be output in case of error.

205
5-2-2-10. Interrupt motion【G_INTR】
(1) Overview
The axis group pauses with the set parameters.
Interrupt motion [G_INTR]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software V3.7.4 and above
(2) operand
Operand Function Type
S0 Sepcify the input parameter start address 64-bit, four words
S1 Specify the output state word start address 16-bit, single word
S2 Specify the output state bit start address Bit
S3 Specify axis group number 16-bit, single word

(3) Suitable soft component


Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
G_INTR HD0 HD10 M1 K0

⚫ S0 specifies the input parameter start address, occupies the register S0~S0+7
⚫ S1 specifies the output state word start address
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+4
⚫ S3 specifies the axis group number, starts from 0. The axis number in the axis group is set through
SFD48001+300*N~SFD48006+300*N, N is axis group number
⚫ When M0 is from OFF→ON, the axis group specified by S3 performs arc interpolation with the deceleration,
acceleration and jerk speed set by the user

(5) Notes
⚫ G_INTR can pause the command in motion and let the command state output Abort, and the actual
deceleration is the larger value between G_INTR and the command in motion.
⚫ G_INTR does not support buffer mode and cannot execute other command in buffer mode when G_INTR is
being executed.

(6) Related parameters


Input Parameter Data type Unit Note
parameter name
S0 Deceleration FP64 Command Target deceleration
unit/s2
S0+4 Jerk FP64 Command Target jerk speed, the change rate of
unit/s3 acceleration/deceleration
Output Parameter Data type Unit Note
parameter name

206
S1 ErrCode INT16U - Command error code
State Parameter Data type Unit Note
parameter name
S2 Done BOOL - Instruction execution completed
S2+1 Busy BOOL - The instruction is being executed
S2+2 Active BOOL - Command under control
S2+3 Abort BOOL - Instruction is interrupted
S2+4 Error BOOL - Instruction execution error
Axis Parameter Data type Unit Note
number name
S3 Axis INT16U - Axis group number starts from 0

(7) Sequence diagram

Trigger the command Trigger the command

Execute

Done

Busy

Abort

Error

Execute other commands in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy signal is set, reset after the command is completed, and the
Done signal is set. Done is reset only after the command is triggered again, otherwise it will not be reset
automatically.
When the instruction is interrupted or has an error, the corresponding Abort or Error signal is set, other signals are
reset, and the corresponding error code will be output in case of error.

207
5-2-2-11. Continue the motion【G_GOON】
(1) Overview
The suspended axis group continues its original motion.
Continue the motion [G_GOON]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software V3.7.4 and above
(2) operand
Operand Function Type
S0 Specify the output state word start address 16-bit, single word
S1 Specify the output state bit start address Bit
S2 Specify axis group number 16-bit, single word

(3) Suitable soft component


Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ●
S2 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2
G_GOON HD0 M1 K0

⚫ S0 specifies the output state word start address


⚫ S1 specifies output state bit start address, occupies the relay S2~S2+3
⚫ S2 specifies the axis group number
⚫ When M0 is from OFF→ON, the axis group sepcified by S2 continues the motion according to the original
curve
⚫ After the command is executed, the single axis state of axis group (D20000+200*N) is 8, the axis group state
(D46000+300*N) is 2

(5) Notes
⚫ G_GOON must be used together with G_INTR, G_GOON can be used only after the axis group is
suspended.
⚫ G_GOON cannot make G_PATHMOV continues to move and can trigger G_PATHMOV instruction to
realize continuous movement.
⚫ G_GOON does not support buffer mode and other commands cannot be executed in buffer mode when
G_GOON is running.
⚫ The acceleration and deceleration when continuing the movement shall be carried out according to the
original track.

(6) Related parameters


Output Parameter name Data type Unit Note
parameter
S0 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S1 Done BOOL - Instruction execution completed

208
S1+1 Busy BOOL - The instruction is being executed
S1+2 Abort BOOL - Instruction is interrupted
S1+3 Error BOOL - Instruction execution error
Axis number Parameter name Data type Unit Note
S2 Axis INT16U - The axis group number starts from 0

(7) Sequence diagram

Trigger the command Trigger the command

Execute

Done

Busy

Abort

Error

Execute other commands in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy signal is set, reset after the command is completed, and the
Done signal is set. Done is reset only after the command is triggered again, otherwise it will not be reset
automatically.
When the instruction is interrupted or has an error, the corresponding Abort or Error signal is set, other signals are
reset, and the corresponding error code will be output in case of error.

209
5-2-2-12. Specified path mode selection【G_PATHMODE】
(1) Overview
Specify the motion mode when the axis group path moves.
Specified path mode selection [G_PATHMODE ]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.7.1 and above Software V3.7.4 and above
(2) operand
Operand Function Type
S0 Sepcify the input parameter start address 64-bit, four words
S1 Specify the output state word start address 16-bit, single word
S2 Specify the output state bit start address Bit
S3 Specify axis output terminal number 16-bit, single word

(3) Suitable soft component


Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
G_PATHMODE HD0 D0 M1 K0

⚫ S0 specifies the input parameter start address


⚫ S1 specifies the output state word start address
⚫ S2 specifies output state bit start address
⚫ S3 specifies the axis output terminal number
⚫ When M0 is from OFF→ON, select the execution mode of PATHMOV, the mode is decided by the command
parameter [mode selection] of PATHMODE

(5) Notes
⚫ When the mode is handwheel mode, the forward-looking parameters [handwheel maximum speed],
[handwheel maximum acceleration], [handwheel high speed counting port], [handwheel pulse equivalent] in
the axis group configuration need to be configured.
⚫ In the handwheel mode, the hand pulse needs to be connected to the corresponding high-speed counting port,
the PATHMOV command is triggered, the hand pulse is rotated, and the axis starts to move in the specified
path.
⚫ When the mode is not selected through this command, the PATHMOV command is executed in the automatic
mode by default, that is, after the command is triggered, the axis will execute automatically according to the
planned path.

210
(6) Related parameters
Input Parameter name Data type Unit Note
parameter
S0 Mode INT16U Command Mode selection.
unit/s 0 - automatic mode
1 - handwheel mode
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - Instruction execution completed
S2+1 Busy BOOL - The instruction is being executed
S2+2 Abort BOOL - Instruction is interrupted
S2+3 Error BOOL - Instruction execution error
Axis Parameter name Data type Unit Note
number
S3 Axis INT16U - Axis number starts from 0

(7) Sequence diagram

Trigger the command Trigger the command

Execute

Done

Busy

Abort

Error

Execute other commands in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy signal is set, reset after the command is completed, and the
Done signal is set. Done is reset only after the command is triggered again, otherwise it will not be reset
automatically.
When the instruction is interrupted or has an error, the corresponding Abort or Error signal is set, other signals are
reset, and the corresponding error code will be output in case of error.

211
5-2-2-13. Select machining path【G_PATHSEL】
(1) Overview
Set the machining path, moves through the command G_PATHMOV.
Select machining path [G_PATHSEL]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software V3.7.4 and above
(2) operand
Operand Function Type
S0 Sepcify the input parameter start address 16-bit, single word
S1 Specify the output state word start address 16-bit, single word
S2 Specify the output state bit start address Bit
S3 Specify axis group number 16-bit, single word

(3) Suitable soft component


Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
G_PATHSEL HD0 HD100 M1 K0

⚫ S0 specifies the input parameter start address, occupies the register S0~S0+10+60*n, n is the data row
numbers
⚫ S1 specifies the output state word start address
⚫ S2 specifies output state bit start address, occupies the relay S2~S2+3
⚫ S3 specifies the axis group number
⚫ When M0 is from OFF→ON, set the machining path as the set parameters, run the machining path through
the command G_PATHMOV

(5) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 Quantity INT16U - Data row numbers n
S0+1 Reload INT16U - Reload
0: continue loading
1: reload
S0+10+60* Index INT32U - The row number of this segment track
(n-1) data. The parameter value shall be greater
than the previous row number and greater
than 0.
S0+12+60* Type INT16U - Data type
(n-1) 0: PTP
1: LINE
2: CIRCLR

212
Input Parameter name Data type Unit Note
parameter
100: user defined
200: end row
S0+13+60* Parameter INT16U - Data type 2:
(n-1) 0 three-point arc, others cannot support at
the moment
1
2
Data type 100:
M code value ≥100
S0+15+60* Coordinatesystenm INT16U - Coordinate system. Not supported at the
(n-1) moment
S0+16+60* PositionX FP64 Command X axis target position. N is data row
(n-1) unit numbers
S0+20+60* PositionY FP64 Command Y axis target position. N is data row
(n-1) unit numbers
S0+24+60* PositionZ FP64 Command Z axis target position. N is data row
(n-1) unit numbers
S0+28+60* PositionA FP64 Command A axis target position. Not supported at
(n-1) unit the moment
S0+32+60* PositionB FP64 Command B axis target position. Not supported at
(n-1) unit the moment
S0+36+60* PositionC FP64 Command C axis target position. Not supported at
(n-1) unit the moment
S0+40+60* AuxiliaryX FP64 Command X axis auxiliary point position. N is data
(n-1) unit row numbers. Only valid in data type
CIRCLE
S0+44+60* AuxiliaryY FP64 Command Y axis auxiliary point position. N is data
(n-1) unit row numbers. Only valid in data type
CIRCLE
S0+48+60* AuxiliaryZ FP64 Command Z axis auxiliary point position. N is data
(n-1) unit row numbers. Only valid in data type
CIRCLE
S0+52+60* AuxiliaryA FP64 Command A axis auxiliary point position. Not
(n-1) unit supported at the moment
S0+56+60* AuxiliaryB FP64 Command B axis auxiliary point position. N is data
(n-1) unit row numbers
S0+60+60* AuxiliaryC FP64 Command C axis auxiliary point position. N is data
(n-1) unit row numbers
S0+64+60* Velocity FP64 Command Target speed
(n-1) unit /s
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - Instruction execution completed
S2+1 Busy BOOL - The instruction is being executed
S2+2 Abort BOOL - Instruction is interrupted
S2+3 Error BOOL - Instruction execution error
Axis number Parameter name Data type Unit Note
S3 Axis INT16U - Axis group number starts from 0

⚫ The speed set by the user is the parameter of the axis group. If the parameter set by the user is greater than
the maximum parameter value of the axis group, it will be treated as the maximum parameter value of the
axis group. If the parameter value set by the user is greater than the maximum parameter value of each single

213
axis, the linear speed and other parameters of the axis group will be calculated based on the maximum
parameter value of the single axis.
⚫ The data row value must be greater than or equal to 0, but not exceed the remaining size of the buffer. The
remaining size of the buffer can be determined by D46226. This register takes effect after the axis group is
enabled.
⚫ When the parameter is set to 0, the instruction execution will store the data in the buffer, when the
G_PATHMOV instruction is executed, it will move with the data in the buffer. When the parameter is set to 1,
the instruction execution will clear the data in the buffer and reload the current data. When the number of
data rows is set to 0 and whether to reload is set to 1, instruction execution will empty the buffer. The
remaining space of the buffer is determined by D46226+300*N.
⚫ The row number is set by the customer, but the row number must be monotonically increasing, and the row
number of the first line cannot be 0.
⚫ When the data type is PTP, it will move separately at the default speed of each axis (the same as G_PTP).
⚫ The data type 100 is a user-defined type. It takes effect when the set parameter is greater than 100. When the
parameter is set to 1000 ~ 1999, it is a non-stop M code, that is, when moving to this point, the axis group
will not stop moving and continue to execute the next track. The M code will follow the previous track and
be stored in the corresponding register. When the parameter is not within the range of 1000 ~ 1999, this point
is non-motion. When the command is executed to this point, it will stop and set on M28010. Manually set
M28010 to off and continue to execute the following points.
⚫ If the data type is set to 200, it indicates the end row of the current behavior, G_PATHSELcan be loaded
multiple times, or all points can be set for loading at one time. New point can be loaded when G_PATHSEL
is running, and setting the data type to 200 indicates the end of operation. Executing G_PATHSEL must have
a end row.
⚫ The auxiliary point parameter is valid only when the data type is CIRCLE.

(6) Sequence diagram


Trigger the command Trigger the command

Execute

Done

Busy

Abort

Error

Execute other commands in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy signal is set, reset after the command is completed, and the
Done signal is set. Done is reset only after the command is triggered again, otherwise it will not be reset
automatically.
When the instruction is interrupted or has an error, the corresponding Abort or Error signal is set, other signals are
reset, and the corresponding error code will be output in case of error.

214
(7) Application
Load 3 rows of data (the third row is end row). The ladder diagram is as the following:
SM0
FUNC1 D0 M0
M0
A_PWR HD0 M1 K0

A_PWR HD2 M2 K1

A_PWR HD4 M3 K2
M1 M2 M3
G_PWR HD6 M4 K0

M4 M10
G_PATHSEL HD100 HD500 M11 K0

Among them, FUNC1 is to set the value for command G_PATHSEL. When M0 is on, each axis of axis group is
enabled, after all three axis enable are turned on successfully (M1, M2 and M3 are on), the axis group is enabled.
After the axis group is enabled successfully (M4 is on), M10 is from off → on, G_PATHSEL instruction is
triggered. The instruction can load all points in a single time or a certain number of points in multiple times, but
there must be at least one end row to execute G_PATHMOV.

Single time loading:

After setting the parameters, trigger the command G_PATHSEL to load 3 rows of data.

215
Multiple loading:

Set the data row to 1, execute command G_PATHSEL to load one point, then modify the command parameters.

The data row numbers are 2, the row number starts from 2 (larger than the first row number), trigger the command
G_PATHSEL again to load two points, that is, 3 rows of data are loaded.

216
5-2-2-14. Path motion【G_PATHMOV】
(1) Overview
The axis group will move as the path specified by G_PATHSEL.
Path motion [G_PATHMOV]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software V3.7.4 and above
(2) Operand
Operand Function Type
S0 Specify the input parameter start address 16-bit, single word
S1 Specify the output state word start address 16-bit, single word
S2 Specify the output position start address 32-bit, double words
S3 Specify the output state bit start address Bit
S4 Specify the axis group number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ● ● ● ● ● ● ● ●
S3 ●
S4 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3 S4
G_PATHMOV HD0 HD5 HD10 M1 K0

⚫ S0 specifies the input parameter start address, occupies the register S0~S0+1
⚫ S1 specifies the output state word start address
⚫ S2 specifies the output position start address, occupies the register S2~S2+79
⚫ S3 specifies the output state bit start address, occupies the relay S3~S3+4
⚫ S4 specifies the axis group number
⚫ When M0 is from OFF→ON, it will move as the path specified by G_PATHSEL
⚫ After executing the command, the single axis state of axis group (D20000+200*N) is 8, the axis group state
(D46000+300*N) is 2

(5) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 Coordinatesystenm INT16U - Coordinate system. Not
supported at the moment
S0+1 BufferMode INT16U - Buffer mode
0: interrupt mode
1: buffer mode
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
Position output Parameter name Data type Unit Note
S2 Row 1 INT32U - Row 1

217
S2+2 PositionX FP32 Command unit History location X1
S2+4 PositionY FP32 Command unit History location Y1
S2+6 PositionZ FP32 Command unit History location Z1
Position output Parameter name Data type Unit Note
S2+8 PositionA FP32 Command unit History location A1
S2+10 PositionB FP32 Command unit History location B1
S2+12 PositionC FP32 Command unit History location C1
........
S2+126 Row 2 INT32U - Row 10
S2+128 PositionX FP32 Command unit History location X10
S2+130 PositionY FP32 Command unit History location Y10
S2+132 PositionZ FP32 Command unit History location Z10
S2+134 PositionA FP32 Command unit History location A10
S2+136 PositionB FP32 Command unit History location B10
S2+138 PositionC FP32 Command unit History location C10
S2+140 Next running row 11 INT32U - Row 11
S2+142 X11 FP32 Command unit Ready to run position X11
S2+144 Y11 FP32 Command unit Ready to run position Y11
S2+146 Z11 FP32 Command unit Ready to run position Z11
S2+148 A11 FP32 Command unit Ready to run position A11
S2+150 B11 FP32 Command unit Ready to run position B11
S2+152 C11 FP32 Command unit Ready to run position C11
S2+154 M code 1 INT16U - 9999: no M code
S2+155 M code 2 INT16U - 1000-1999: non-stop M code
S2+156 M code 3 INT16U - Others are stop M code
S2+157 M code 4 INT16U -
S2+158 M code 5 INT16U -
S2+159 M code 6 INT16U -
S2+160 M code 7 INT16U -
S2+161 M code 8 INT16U -
S2+162 M code 9 INT16U -
State Parameter name Data type Unit Note
parameter
S3 Done BOOL - Instruction execution
completed
S3+1 Busy BOOL - The instruction is being
executed
S3+2 Active BOOL - The instruction is under
control
S3+3 Abort BOOL - Instruction is interrupted
S3+4 Error BOOL - Instruction execution error
Axis number Parameter name Data type Unit Note
S4 Axis INT16U - Axis group number starts
from 0
⚫ The output position data will record the points that have been executed. The point recording starts from the
historical record position 10. When there is a new point recording, the historical point will be moved up, that
is, after executing G_PATHSEL, the point of row number 1 in pathsel instruction is recorded in S2 + 72 ~ S2
+ 78. After executing the point of row number 2, move the originally recorded point to S2 + 64 ~ S2 + 70,
and write the new point to S2 + 72 ~ S2 + 78, and so on.
⚫ G_PATHMOV can be paused by command G_INTR, but it cannot continue moving through the command
G_GOON. Execute the command G_PATHMOV again to continue the original motion (other axis group
commands can be executed in the pause process).
⚫ G_PATHMOV is different from other motion commands, the command is affected by forward-looking
parameters, and the connection between curves is smoother.

218
⚫ For the data to be run, the interface only displays one row of data, but it will actually occupy more registers
later. The instruction output parameters need about 440 registers in total. Please avoid them during planning
to prevent data conflict.

(6) Sequence diagram

Trigger the command Trigger the command

Execute

Done

Busy

Active

Abort

Error

Execute other commands in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy and Active signals are set, and reset after the command is
completed. At the same time, the Done signal is set. Done will reset only after the command is triggered again,
otherwise it will not reset automatically.
When the instruction is triggered in the buffer mode and there are currently instructions being executed, the Active
signal will be set immediately. The execution of the current instruction ends. When the instruction is executed, the
Busy signal will be set. After the execution of the instruction ends, the Busy and Active signals will be reset and
the Done signal will be set.
When a new instruction is triggered in interrupt mode during instruction execution, the Busy and Active signals
are reset immediately and the Abort signal is set.
When there is an error in the command, the Error signal is set, other signals are reset, and the corresponding error
code is output.

(7) Application
① make the ladder diagram

219
SM0
FUNC1 D0 M0

M0
A_PWR HD0 M1 K0

A_PWR HD2 M2 K1

A_PWR HD4 M3 K2

M1 M2 M3
G_PWR HD6 M4 K0

M4 M10
G_PATHSEL HD100 HD300 M11 K0

M20
G_PATHMOV HD350 HD352 HD354 M21

FUNC1 is used to set the value for the command G_PATHSEL, M0 turns on each axis enable, when the three axes
are enabled (M1, M2, M3 are ON, turns on the axis group enable. After the axis group enabled (M4 is ON). When
M10 is ON, the command G_PATHSEL is executed. When command completion flag M11 is ON, set ON M20 to
trigger the command G_PATHMOV.

② set the value for G_PATHSEL (right click the command to set the value, or set the value through C program):

The instruction demonstrated in this example is the path planning movement of XY axis (the axis group type only
supports XYZ type, and the axis group of XY axis can be realized by setting the corresponding axis configuration
of Z axis as virtual axis). The planning path is two lines, and the movement amount of each turn of X and Y axes
is 10000. Assign values to the parameters as shown in the figure and trigger G_PATHSEL command can insert
into the point, the first point is (100000,100000), the second point is (200000, 150000), and the running speed of
the axis group is 20000 command unit/s.

220
③ The operation track of the axis group is shown in the figure below (where the x-axis position is the abscissa
and the y-axis position is the ordinate):

221
5-2-2-15. Modify the multiplying power【G_SETOVRD】
(1) Overview
Modify the multiplying power of the parameters.
Modify the multiplying power [G_SETOVRD]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software V3.7.4 and above
(2) Operand
Operand Function Type
S0 Specify the input parameter start address 64-bit, four words
S1 Specify the output state word start address 16-bit, single word
S2 Specify the output state bit start address Bit
S3 Specify the axis group number 16-bit, single word
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
S3 ● ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2 S3
G_SETOVRD HD0 HD20 M1 K0

⚫ S0 specifies the input parameter start address, occupies the register S0~S0+11
⚫ S1 specifies the output state word start address
⚫ S2 specifies the output state bit start address, occupies the relay S2~S2+3
⚫ S3 specifies the axis group number
⚫ When M0 is from OFF→ON, the axis group specified by S3 will modify the multiplying power of speed,
acceleration, jerk speed as user setting
⚫ When the speed ratio exceeds 200%, the system takes effect according to the maximum 200%
⚫ It only takes effect in the motion process of G_PATHMOV

(5) Related parameters


Input Parameter Data type Unit Note
parameter name
S0 VelFactor FP64 % The target speed multiplier cannot be less than 1%. When
the set value is less than 1%, it will be treated as 1%
(excluding 0. If the speed multiplier is set to 0, an error code
will be returned)
S0+4 AccFactor FP64 - Target acceleration magnification (not supported
temporarily)
S0+8 JerkFactor FP64 - Target jerk speed magnification (not supported temporarily)
Output Parameter Data type Unit Note
parameter name
S1 ErrCode INT16U - Command error code
State Parameter Data type Unit Note
parameter name

222
S2 Done BOOL - Instruction execution is completed
S2+1 Busy BOOL - Instruction is being executed
S2+2 Abort BOOL - Instruction is interrupted
S2+3 Error BOOL - Instruction execution error
Axis Parameter Data type Unit Note
number name
S3 Axis INT16U - Axis group number starts from 0

(6) Sequence diagram

Trigger the command Trigger the command

Execute

Done

Busy

Abort

Error

Execute other commands in interrupt mode

Explanation:
Generally, after the command is triggered, the Busy signal is set, reset after the command is completed, and the
Done signal is set. Done is reset only after the command is triggered again, otherwise it will not be reset
automatically.
When the instruction is interrupted or has an error, the corresponding Abort or Error signal is set, other signals are
reset, and the corresponding error code will be output in case of error.

(7) Application
The running speed of G_PATHMOV instruction becomes one tenth of the original speed, and the ladder diagram
is as follows:

223
SM0
FUNC1 D0 M0
M0
A_PWR HD0 M1 K0

A_PWR HD2 M2 K1

A_PWR HD4 M3 K2
M1 M2 M3
G_PWR HD6 M4 K0

M4 M10
G_PATHSEL HD100 HD300 M11 K0

M20
G_PATHMOV HD350 HD352 HD354 M21 K0

M30
G_SETOVRD HD650 HD700 M31 K0

Explanation:
The running speed of G_PATHMOV is changed to one tenth of the original speed, that is, the speed magnification
is 10%. In this example, G_PATHSEL and G_PATHMOV instruction configurations is the same as G_PATHMOV
application example, refer to chapter 5-2-2-8. When G_PATHMOV is in normal operation, the axis group speed
can be changed through G_SETOVRD. The speed parameter of the axis group is D46116+300*N. (Note: the
modified magnification is based on the target speed of G_PATHMOV, that is, the speed of the current operating
section of G_PATHMOV is 20000, the speed magnification is 10%, and the speed of the axis group becomes 2000
after the command is triggered).

224
The speed curve of axis group:

Current segment speed


of axis group

Trigger the command


G_SETOVRD

Speed after modifying


magnification

225
5-2-3. Related coil and register
After the relevant register is modified, it will take effect after power on again.

System parameters
Address Definition Data Initial Note
type value
SFD811 Motion control function INT16U 0 0: C motion *
activation mode 1: H motion
SFD820 Axis group numbers INT32U 0 Set the axis group number as needs, at present, the
maximum number of axis groups supported is 2
SFD824 Axis group bit state start INT32U 28000 Axis group related coil start address
address
SFD826 Axis group word state INT32U 46000 Axis group related register start address
start address
*Note:
C motion does not support all commands and parameters in this manual. Please refer to EtherCAT motion control
user manual for specific usage.

Axis configuration parameter (N is axis group number)


Basic parameters
Address Definition Data type Unit Initial Note
value
SFD48000+300*N Kinematic type INT16U - 1 0: XY (not support)
1: XYZ
SFD48001+300*N Set axis number 1 INT16U - 0 axis X number of the axis group
SFD48002+300*N Set axis number 2 INT16U - 1 axis Y number of the axis group
SFD48003+300*N Set axis number 3 INT16U - 2 axis Z number of the axis group
SFD48004+300*N Set axis number 4 INT16U - 65535 axis A number of the axis group
SFD48005+300*N Set axis number 5 INT16U - 65535 axis B number of the axis group
SFD48006+300*N Set axis number 6 INT16U - 65535 axis C number of the axis group
SFD48007+300*N Axis group error stop INT16U - 0 0: deceleration stop
method 1: emergency stop
SFD48008+300*N Emergency stop mode INT16U - 0 0: given stop
1: feedback stop. When the speed
is high, the use of feedback stop
may lead to servo alarm

Performance parameters
Address Definition Data Unit Initial value Note
type
SFD48020+300*N XYZ max speed FP64 Command 6553600 If the speed parameter in the
unit/s command is higher than the
maximum speed, it will run
at the maximum speed
SFD48024+300*N XYZ max FP64 Command 65536000 If the acceleration parameter
acceleration unit/s2 in the command is higher
than the maximum
acceleration, it will run at
the maximum acceleration
SFD48028+300*N XYZ max FP64 Command 65536000 If the deceleration parameter
deceleration unit/s2 in the command is higher
than the maximum
deceleration, it will run at
the maximum deceleration
SFD48032+300*N XYZ max jerk FP64 Command 655360000 If the jerk speed parameter
speed unit/s3 in the command is higher
than the maximum jerk

226
Address Definition Data Unit Initial value Note
type
speed, it will run at the
maximum jerk speed
SFD48036+300*N ABC max speed FP64 Command 6553600 If the speed parameter in the
unit/s command is higher than the
maximum speed, it will run
at the maximum speed
SFD48040+300*N ABC max FP64 Command 65536000 If the acceleration parameter
acceleration unit/s2 in the command is higher
than the maximum
acceleration, it will run at
the maximum acceleration
SFD48044+300*N ABC max FP64 Command 65536000 If the deceleration parameter
deceleration unit/s2 in the command is higher
than the maximum
deceleration, it will run at
the maximum deceleration
SFD48048+300*N ABC max jerk FP64 Command 655360000 If the jerk speed parameter
speed unit/s3 in the command is higher
than the maximum jerk
speed, it will run at the
maximum jerk speed
SFD48052+300*N XYZ default speed INT16U - 10 When the speed in the
percentage command is set to 0, it is
executed with the highest
acceleration * default
acceleration percentage
SFD48053+300*N XYZ default INT16U - 10 When the acceleration in the
acceleration command is set to 0, it is
percentage executed as the highest
acceleration * default
acceleration percentage
SFD48054+300*N XYZ default INT16U - 10 When the deceleration in the
deceleration command is set to 0, the
percentage maximum deceleration *
default deceleration
percentage is executed
SFD48055+300*N XYZ default jerk INT16U - 10 When the jerk speed in the
speed percentage command is set to 0, it is
executed as the highest jerk
speed * default jerk speed
percentage
SFD48056+300*N ABC default speed INT16U - 10 When the speed in the
percentage command is set to 0, it is
executed with the highest
acceleration * default
acceleration percentage
SFD48057+300*N ABC default INT16U - 10 When the acceleration in the
acceleration command is set to 0, it is
percentage executed as the highest
acceleration * default
acceleration percentage
SFD48058+300*N ABC default INT16U - 10 When the deceleration in the
deceleration command is set to 0, the
percentage maximum deceleration *
default deceleration
percentage is executed
SFD48059+300*N ABC default jerk INT16U - 10 When the jerk speed in the

227
Address Definition Data Unit Initial value Note
type
speed percentage command is set to 0, it is
executed as the highest jerk
speed * default jerk speed
percentage

Alarm parameters
Address Definition Data type Unit Initial Note
value
SFD48100+300*N XYZ speed alarm percentage INT16U 100 When XYZ axis group
linear speed is over the
alarm value, the axis group
will alarm
SFD48101+300*N XYZ acceleration alarm INT16U 100 Not supported at the
percentage moment
SFD48102+300*N XYZ deceleration alarm INT16U 100 Not supported at the
percentage moment
SFD48103+300*N ABC speed alarm percentage INT16U 100 When ABC axis group
linear speed is over the
alarm value, the axis group
will alarm
SFD48104+300*N ABC acceleration alarm INT16U - 100 Not supported at the
percentage moment
SFD48105+300*N ABC deceleration alarm INT16U - 100 Not supported at the
percentage moment

Limit configuration parameters


Address Definition Data type Unit Initial value Note
SFD48120+300*N X axis max soft limit FP64 Command 1000000000
unit
SFD48124+300*N Y axis max soft limit FP64 Command 1000000000
unit
SFD48128+300*N Z axis max soft limit FP64 Command 1000000000
unit
SFD48132+300*N X axis min soft limit FP64 Command -1000000000
unit
SFD48136+300*N Y axis min soft limit FP64 Command -1000000000
unit
SFD48140+300*N Z axis min soft limit FP64 Command -1000000000
unit
SFD48144+300*N Start the soft limit INT16U - 0 0: not enable
1: enable
SFD48155+300*N Soft limit stop type INT16U - 0 0: slow stop
1: emergency
stop

Forward-looking parameters
(The smoothness of the motion curve affected by the forward-looking parameters which should not be easily
modified. Please consult the technician if necessary)
Address Definition Data type Unit Initial value Note
SFD48240+300*N Forward looking corner FP64 Command 10000
acceleration unit/s2
SFD48244+300*N Centrifugal acceleration FP64 Command unit 125
/s2
SFD48248+300*N Maximum handwheel speed FP64 Command unit 50
/s
SFD48252+300*N Maximum handwheel FP64 Command unit 500
acceleration /s2

228
Address Definition Data type Unit Initial value Note
SFD48256+300*N Forward looking straight line FP64 Command unit 0.005
transition error
SFD48260+300*N Forward looking arch height FP64 Command unit 0.0025
error
SFD48264+300*N Arc transition error limit FP64 Command unit 0.005
SFD48269+300*N G00 change to G01 INT16U - 0
SFD48270+300*N Emergency stop mode INT16U - 0
SFD48271+300*N Stop time ratio INT16U - 10
SFD48272+300*N Stop mode INT16U - 0
SFD48273+300*N Z-axis feed rate of INT16U - 100
handwheel
SFD48274+300*N Minimum included angle INT16U - 60
limit of forward-looking
section
SFD48275+300*N Forward looking transition INT16U - 160
angle limit
SFD48276+300*N Handwheel high speed INT16U - 0
counting port
SFD48277+300*N Handwheel filtering cycles INT16U - 50
SFD48278+300*N Use default feed rate INT16U - 0
SFD48280+300*N Handwheel pulse equivalent INT32U - 100

Axis group state coil (the coil start address is decided by SFD824)
Address Definition Note
M28000+100*N Axis group enable ON: axis group enable state
M28001+100*N Axis group motion ON: axis group motion state
M28003+100*N Axis group error ON: axis group error state
M28004+100*N Axis group buffer ON: the axis group commands are saved in the buffer
state
M28010+100*N MST interactive ON: G_PATHMOV moves to the user defined operation row specified
by G_PATHSEL

Axis group state register (the register start address is decided by SFD826)
Address Definition Data type Unit Note
D46000+300*N axis group state machine INT16U - 0: the axis group is not enabled
1: axis group enabled, not moving
2: Axis group in motion
3: axis group stop
4: Axis group error
D46001+300*N Axis group error code INT16U - Display the axis group error code
D46020+300*N Current motion segment end FP64 Command X axis current motion end position
point X unit
D46024+300*N Current motion segment end FP64 Command Y axis current motion end position
point Y unit
D46028+300*N Current motion segment end FP64 Command Z axis current motion end position
point Z unit
D46032+300*N Current motion segment end FP64 Command A axis current motion end position
point A unit
D46036+300*N Current motion segment end FP64 Command B axis current motion end position
point B unit
D46040+300*N Current motion segment end FP64 Command C axis current motion end position
point C unit
D46044+300*N Current motion given FP64 Command X axis current motion give
position X unit position
D46048+300*N Current motion given FP64 Command Y axis current motion give
position Y unit position

229
Address Definition Data type Unit Note
D46052+300*N Current motion given FP64 Command Z axis current motion give
position Z unit position
D46056+300*N Current motion given FP64 Command A axis current motion give
position A unit position
D46060+300*N Current motion given FP64 Command B axis current motion give
position B unit position
D46064+300*N Current motion given FP64 Command C axis current motion give
position C unit position
D46068+300*N Current motion given joint FP64 Command X axis current motion given speed
speed X unit
D46072+300*N Current motion given joint FP64 Command Y axis current motion given speed
speed Y unit
D46076+300*N Current motion given joint FP64 Command Z axis current motion given speed
speed Z unit
D46080+300*N Current motion given joint FP64 Command A axis current motion given speed
speed A unit
D46084+300*N Current motion given joint FP64 Command B axis current motion given speed
speed B unit
D46088+300*N Current motion given joint FP64 Command C axis current motion given speed
speed C unit
D46092+300*N Current motion given flange FP64 Command X axis current motion given flange
position X unit position
D46096+300*N Current motion given flange FP64 Command Y axis current motion given flange
position Y unit position
D46100+300*N Current motion given flange FP64 Command Z axis current motion given flange
position Z unit position
D46104+300*N Current motion given flange FP64 Command A axis current motion given flange
position A unit position
D46108+300*N Current motion given flange FP64 Command B axis current motion given flange
position B unit position
D46112+300*N Current motion given flange FP64 Command C axis current motion given flange
position C unit position
D46116+300*N Current motion linear speed FP64 Command Composite speed of axis group
unit
D46140+300*N Current motion feedback FP64 Command X axis current motion feedback
position X unit position
D46144+300*N Current motion feedback FP64 Command Y axis current motion feedback
position Y unit position
D46148+300*N Current motion feedback FP64 Command Z axis current motion feedback
position Z unit position
D46152+300*N Current motion feedback FP64 Command A axis current motion feedback
position A unit position
D46156+300*N Current motion feedback FP64 Command B axis current motion feedback
position B unit position
D46160+300*N Current motion feedback FP64 Command C axis current motion feedback
position C unit position
D46226+300*N PATHSEL buffer remaining INT32S PATHSEL buffer remaining space
space
D46249+300*N M code INT16U PATHMOV mapping
D46262+300*N PATHMOV row number INT16U PATHMOV row number

230
5-3. Cam function
Electronic cam is a software system that uses the constructed cam curve to simulate the mechanical cam, so as to
achieve the relative movement between the camshaft and the main shaft of the same mechanical cam system. In
machining, electronic cams are used to replace heavy mechanical cams. The system using electronic cam has
higher machining accuracy and flexibility and improves production efficiency.
As for the command positions of the main shaft and the slave shaft, the two cams data are interpolated in a straight
line mode(the mode can be changed) to obtain the displacement(slave shaft) equivalent to the phase (main shaft).
When there are few cam points, the accuracy is low, but the amount of data is small. The more points, the smaller
the phase interval and the higher the accuracy.

5-3-1. Command list


Command Function Chapter
CAMTBLSEL Cam table loading 5-3-2-1
CAMIN Cam start 5-3-2-2
CAMOUT Cam release 5-3-2-3
CAMPHASE Phase compensation 5-3-2-4
CAMRD Read cam table 5-3-2-5
CAMWR Write cam table 5-3-2-6
CAMPOINTADD Add key point 5-3-2-7
CAMPOINTDEL Delete key point 5-3-2-8
CAMTBLDEL Cam table unloading 5-3-2-9

231
5-3-2. Command introduction

5-3-2-1. Cam table loading【CAMTBLSEL】


(1) Overview
Load the set cam table and generate an example of the cam table.
Cam table loading [CAMTBLSEL]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software V3.7.4 and above
Note: XDH, XLH series -L models cannot support this instruction.
(2) Operand
Operand Function Type
S0 Specify the input parameter start address 16-bit, single word
S1 Specify the output state word start address 16-bit, single word
S2 Sepcify the output state bit start address Bit
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action


S0 S1 S2
M0
CAMTBLSEL HD0 HD5 M1

⚫ S0 specifies the input parameters start address, occupies the register S0~S0+3
⚫ S1 specifies the output parameters start address, occupies the register S1~S1+1
⚫ S2 specifies the output state bit start address, occupies the register S2~S2+2
⚫ When M0 is from OFF→ON, load the cam table according to the set cam table number. After successful
loading, a cam table instance will be generated and stored in the corresponding register of S1.

(5) Notes
⚫ Before using the command CAMIN and CAMRD, it needs to get the cam table instance through the
CAMTBLSEL, which is the output parameter
⚫ The loaded cam table instance fails after the PLC stops and power is off. It needs to be loaded again after the
next power on
⚫ The CAMTBLSEL command can be executed multiple times for the same cam table number, and the
generated cam table instances will be valid and irrelevant to each other. The maximum number of cam table
instances shall not exceed 32, and the total number of points inside all cam table instances shall not exceed
65536. When the loaded cam table instance is not needed, it is unloaded through CAMTBLDEL command

(6) Related parameters


Input Parameter Data type Unit Note
parameter name
S0 Camtbl INT16S - Cam table number. which is the CamProfile ID on the cam
configuration interface
S0+1 Periodic INT16S - Loop execution

232
Input Parameter Data type Unit Note
parameter name
0: OFF
1: ON
S0+2 MasterAbs INT16S - Main axis mode
0: relative
1: absolute
S0+3 SlaverAbs INT16S - Slave axis mode
0: relative
1: absolute
Output Parameter Data type Unit Note
parameter name
S1 CamtblID INT16S - Cam table instance. One of the input variables of other cam
table commands
S1+1 ErrCode INT16S - Command error code
Output Parameter Data type Unit Note
state name
S2 Done BOOL - The command execution completed
S2+1 Busy BOOL - The command is being executed
S2+2 Error BOOL - The command execution is error

⚫ The main axis adopts relative / absolute mode, which affects the initial position of internal latch when
CAMIN command is triggered, and only the attributes of the cam table are given when CAMTBLSEL is
triggered. The final mode of the main axis is only determined by the MasterAbs and is not affected by the
StartMode in the CAMIN command. It should be noted that the main axis absolute mode may cause a step
from the slave axis position.
⚫ The slave axis adopts relative / absolute mode, which affects the initial position of internal latch when
CAMIN command is triggered, and only the attributes of the cam table are given when CAMTBLSEL is
triggered. The final mode of the slave axis is affected by the StartMode in the CAMIN command. It should
be noted that the slave axis absolute mode may cause a step from the slave axis position.
⚫ Cam table instance is one of the input parameters of other cam commands. It is randomly generated by
CAMTBLSEL command and has nothing to do with the cam ID of cam configuration interface. The same
cam table can be loaded multiple times. The generated cam table instances are different and do not affect
each other.

(7) Sequence diagram

Trigger the command Trigger the command

Execute

Done

Busy

Error

Error in instruction execution

Explanation:
The command is triggered and the Busy signal is set. When the command execution is completed, the Busy signal
is reset and the Done signal is set.
When there is an error during instruction execution, the Error signal is set, other signals are reset, and the
corresponding error code is output.

233
5-3-2-2. CAM start【CAMIN】
(1) Overview
Perform cam movement according to the set parameters according to the loaded cam table.
CAM start [CAMIN]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software V3.7.4 and above
Note: XDH, XLH series -L models cannot support this instruction.
(2) Operand
Operand Function Type
S0 Specify the input parameter start address 16-bit, single word
S1 Specify the output state word start address 16-bit, single word
S2 Sepcify the output state bit start address Bit
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2
CAMIN HD0 HD50 M1

⚫ S0 specifies the input parameters start address, occupies the register S0~S0+47
⚫ S1 specifies the output parameters start address, occupies the register S1~S1+1
⚫ S2 specifies the output state bit start address, occupies the register S2~S2+5
⚫ When M0 is from OFF→ON, execute the CAM motion as the input parameters

(5) Related parameters


Input Parameter Data type Unit Note
parameter name
S0 Master INT16S - Main axis number starts from 0
S0+1 Slaver INT16S - Slave axis number starts from 0
S0+2 CamtblID INT16S - CAM table instance is generated by CAMTBLSEL
S0+3 StartMode INT16S - Start mode of main and slave axis
0: relative mode
1: absolute mode
2: tracking mode
S0+4 MasterSource INT16S - main axis data source type
0: main axis current position given
1: main axis last position given
2: main axis current position feedback
3: main axis last position feedback
S0+5 BufferMode INT16S - Buffer mode
0: interrupt mode
1: buffer mode
S0+6 Dir INT16S - Synchronous direction
0: both forward and reverse synchronization

234
Input Parameter Data type Unit Note
parameter name
1: Forward synchronization only. Not supported at the
moment
2: Reverse synchronization only. Not supported at the
moment
S0+8 MasterOffset FP64 - Main axis offset
S0+12 SlaverOffset FP64 - Slave axis offset
S0+16 MasterScaling FP64 - Main axis ratio
S0+20 SlaverScaling FP64 - Slave axis ratio
S0+32 VecDiff FP64 Command
Max tracking speed in tracking mode
unit/s
S0+36 Acc FP64 Command
Tracking acceleration in tracking mode
unit /s2
S0+40 Dec FP64 Command
Tracking deceleration in tracking mode
unit /s2
S0+44 Jerk FP64 Command Tracking jerk speed in tracking mode. Jerk speed is the
unit /s3 acceleration/deceleration change rate
Output Parameter Data type Unit Note
parameter name
S1 Index INT16S - Current executed cam table segment number, the
segment number is the point number which is going to
S1+1 ErrCode INT16S - Command error code
Output Parameter Data type Unit Note
state name
S2 InSync BOOL - Establishment of cam relationship between master and
slave axis
S2+1 Busy BOOL - The command is being executed
S2+2 Active BOOL - The command is under control (affected by buffer
mode)
S2+3 Abort BOOL - The command is interrupted
S2+4 Error BOOL - The command execution is error
S2+5 EndOfProfile BOOL - Cam execution completed.
When the cam adopts the cycle mode, it will set an
Ethernet communication cycle after the end of the
current cycle of the cam table, and then reset.
When the cam does not adopt the cycle mode, it will be
set after the execution of the cam and will not reset
automatically.

⚫ The InSync status bit is set to on when the slave axis reaches the slave axis position corresponding to the
main axis cam table. Generally, when the slave axis is in the relative mode, execute the CAMIN command,
and the status bit will be set to on immediately. When the slave axis is in the absolute or tracking mode, it
will be set to on after the slave axis steps or catches up to the slave axis position corresponding to the main
axis cam table
⚫ EndOfProfile status bit will be set to on after the slave axis follows the main axis to execute a complete cam
table
⚫ StartMode parameter and MasterAbs/SlaverAbs in command CAMTBLSEL decide the main/slave axis
motion mode. The main axis mode is only determined by MasterAbs and is not affected by the value in
Startmode. The slave axis mode is shown as follows:
StartMode CAMTBLSEL.SlaveAbs Slave axis mode
Absolute Relative Relative
Absolute Absolute Absolute
Relative Relative Relative
Relative Absolute Relative
Tracking Relative Relative
Tracking Absolute Absolute

235
⚫ The result of the absolute/relative mode of the master-slave axis when executing the CAMIN command
Main axis Slave axis Result
mode mode
Relative After CAMIN is executed, the slave axis position does not change. After the main axis
runs, the slave axis moves in relative mode as the corresponding points of the cam table
Absolute After CAMIN is executed, the slave axis position steps to the starting position of the
cam table (i.e. 0). After the main axis runs, the slave axis moves according to the
corresponding points of the cam table
Relative
Relative After CAMIN is executed, the slave axis position doesn’t change. After the main axis
tracking rus, the slave axis moves in relative mode as the corresponding points of the cam table
Absolute After CAMIN is executed, the slave axis tracks to the starting position of cam table (i.e.
tracking 0). After the main axis runs, the slave axis moves according to the corresponding points
of the cam table
Relative After CAMIN is executed, the slave axis position doesn’t change. After the main axis
rus, the slave axis moves in relative mode as the corresponding points of the cam table
Absolute After CAMIN is executed, the slave axis position steps to the slave position
corresponding to the main axis current position in the cam table (eg. Main axis current
position is 100, main axis point 100 corresponds to the slave axis point 200 in the cam
table. After CAMIN is executed, the slave axis steps to 200). After the main axis runs,
the slave axis moves according to the corresponding points of the cam table
Absolute
Relative After CAMIN is executed, the slave axis position doesn’t change. After the main axis
tracking rus, the slave axis moves in relative mode as the corresponding points of the cam table
Absolute After CAMIN is executed, the slave axis tracks to the slave axis position corresponding
tracking to the main axis current position in the cam table (eg. The main axis current position is
100, the main axis point corresponds to the slave axis point 200 in the cam table. After
CAMIN is executed, the slave axis steps to 200). After the main axis runs, the slave axis
moves according to the corresponding points of the cam table
⚫ When the main axis is in absolute mode, if the current position of the main axis is not within the main axis
range of the cam table, the automatic action will be processed periodically. For example, if the current
position of the main axis is 110 and the position of the main axis in the cam table is 0 ~ 100, the default main
axis position after CAMIN is executed is 10 (the actual main axis position does not change).
⚫ The master-slave axis ratio and master-slave axis offset parameters take effect when CAMIN is executed, and
modification in the process is not supported. Inappropriate parameters will lead to slave axis position step.
The position relationship between the master and slave axis is (where CAM( ) represents the slave axis
position corresponding to the main axis on the cam table):
Slave axis position = slave axis ratio× CAM ((main axis position+main axis offset) /main axis ratio) + slave
axis offset
⚫ The main-slave axis ratio canno be 0. When the start mode is tracking mode, S0+32~S0+44 cannot be 0. If
these parameters are not set, it will return error code 1009 when the CAMIN is executed.
⚫ Follow buffer command after CAMIN
➢ Follow the command CAMIN
(1) Multi-cycle: when the EOP signal of the current cam cycle arrives, start the cam movement of the second
CAMIN command, and the slave axis position steps to the actual position corresponding to the cam slave
axis module value.
(2) Single cycle: the second CAMIN instruction is executed during movement, and the processing is the same as
that of single cycle. The second CAMIN command is triggered after the end of the movement without any
special processing
➢ Follow motion command
(1) Multi-cycle: after the EOP signal of the current cam cycle arrives, start to execute the motion command, and
calculate with the actual position of the slave axis as the reference value.
(2) Single cycle: trigger the motion command in the cam motion, and the processing is the same as that of
multi-cycle. The motion command is triggered after the cam motion is completed without any special
treatment

236
(6) Sequence diagram
Trigger the command

Execute

Incycle

Busy

Active

Abort
the command
is interrupted
Error

EndOfProfile

Cam execution completed

Explanation:
When the cam is not executed periodically, the busy and active signals are set after the command is triggered, and
the incycle signal is set after the cam is synchronously bound successfully. If the operation of a single cam cycle is
completed, the EOP signal is set. At this time, other motion commands, stop commands or camout commands are
triggered for the slave axis, the increment, busy, active and EOP signals are reset, and the abort signal is set.

Trigger the command

Execute

Incycle

Busy

Active

Abort
The command
is interrupted
Error

EndOfProfile

Cam execution completed


Explanation:
When the cam adopts periodic execution, the EOP signal will be set once, and the other signal states are consistent
with non-periodic.

237
(7) Operation example
CAM table configuration:

When both the main axis and the slave axis adopt the relative mode, and the starting position of the main axis and
the slave axis is 10000, execute the cam table, and its track is shown in the following figure

It can be seen that the starting point of the track is (10000,10000), and the entire cam table is executed.
When the main axis adopts relative mode and the slave axis adopts absolute mode, and the starting position of the
master and slave axis is 10000, the track of the executed cam table is shown in the following figure

238
It can be seen that the starting point of the track is (10000,0), and the entire cam table is executed, and the slave
axis position produces a step from 10000 to 0 at the beginning.
When the main axis adopts absolute mode and the slave axis adopts relative mode, and the starting position of the
master and slave axis is 10000, the track of the executed cam table is shown in the following figure:

It can be seen that the starting position of the axis does not change, and the subsequent cam table starting from the
main axis position 10000 is executed.
When both the main axis and the slave axis adopt the absolute mode, and the starting position of the main axis is
10000 and the starting position of the slave axis is 0, the track of the executed cam table is as follows:

It can be seen that the slave axis position steps from 0 to 10000, the starting point of the track is (10000,10000),
the cam table starting from main axis position 10000 is executed.
The tracking mode is similar to the absolute mode, except that if it is in the tracking mode, the slave axis will
catch up with the set speed, acceleration and jerk speed without step.
When the movement of the master-slave axis is 10000 per turn, the CAMTBLSEL command adopts the cycle
mode. The ratio of the master-slave axis in the CAMIN command is 1 and the offset of the master-slave axis is 0.
After the cam is bound, the main axis uses the relative motion command to run the position of 40000 command
units. Its trajectory is shown in the figure below:

239
When the main axis ratio is 2, the slave axis ratio is 1 (the main axis becomes twice the original and the slave axis
remains the same):

When the main axis ratio is 1, the slave axis ratio is 2 (the slave axis becomes twice the original and the main axis
remains the same):

When the main axis ratio is 2, the slave axis ratio is 2 (the main axis and slave axis all become twice the original):

240
When the ratio of the master-slave axis is 1 and the main axis offset is 5000 (the main axis point of the cam table
is offset 5000 to the right, that is, the starting position of the main axis is the position of the main axis 5000 of the
original curve, and the curve of the master-slave axis is offset to the left):

When the ratio of the master and slave axis is 1 and the offset of the slave axis is 5000 (the offset of the slave axis
is valid only when the slave axis is in absolute or tracking mode, which will step/catch-up to the offset position
when the CAMIN command is triggered, and the alarm of the slave axis may be caused in absolute mode):

241
5-3-2-3. CAM release【CAMOUT】
(1) Overview
Release the CAM relationship between the main and slave axis.
CAM release [CAMOUT]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software V3.7.4 and above
Note: XDH, XLH series -L models cannot support this command.
(2) Operand
Operand Function Type
S0 Specify the input parameter start address 16-bit, single word
S1 Specify the output state word start address 16-bit, single word
S2 Sepcify the output state bit start address Bit
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2
CAMOUT HD0 HD2 M1

⚫ S0 specifies the input parameter start address


⚫ S1 specifies the output parameter start address
⚫ S2 specifies the output state bit start address, occupies the register S2~S2+1
⚫ When M0 is from OFF→ON, release the cam relationship of the slave axis specified by S0

(5) Notes
⚫ If the slave axis is in motion during the execution of CAMOUT, the slave axis will maintain the original
speed and continue to run after the command is executed. You can use A_ STOP and A_HALT command to
stop
⚫ Whether periodic operation or non-periodic operation is adopted, the master and slave axis of CAMIN need
to unload the cam table through CAMOUT

(6) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 Slaver INT16S - CAM slave axis number
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16S - Command error code
Output state Parameter name Data type Unit Note
S2 Done BOOL - The command execution is successful
S2+1 Busy BOOL - The command is being executed
S2+2 Error BOOL - The command execution is error

242
(7) sequence diagram

Trigger the command Trigger the command

Execute

Done

Busy

Error

Error in instruction execution

Explanation:
The command is triggered and the Busy signal is set. When the command execution is completed, the Busy signal
is reset and the Done signal is set.
When there is an error during instruction execution, the Error signal is set, other signals are reset, and the
corresponding error code is output

243
5-3-2-4. Phase compensation【CAMPHASE】
(1) Overview
Plan a smooth curve to complete the phase offset of the slave axis relative to the main axis.
Phase compensation [CAMPHASE]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software V3.7.4 and above
Note: XDH, XLH series -L models cannot support this command.
(2) Operand
Operand Function Type
S0 Specify the input parameter start address 16-bit, single word
S1 Specify the output state word start address 16-bit, single word
S2 Sepcify the output state bit start address Bit
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2
CAMPHASE HD0 HD30 M1

⚫ S0 specifies the input parameter start address, occupies the register S0~S0+23
⚫ S1 specifies the output parameter start address
⚫ S2 specifies the output state bit start address, occupies the register S2~S2+2
⚫ When M0 is from OFF→ON, when the phase offset of the slave axis to the main axis is executed, the actual
position of the main axis will not be affected, and the slave axis will compensate the position according to the
offset

(5) Related parameters


Input Parameter Data type Unit Note
parameter name
S0 Slaver INT16S - CAM slave axis number
S0+1 Master INT16S - CAM main axis number
S0+4 PhaseShift FP64 Command unit Phase offset
S0+8 Velocity FP64 Command unit
Phase compensation speed
/s
S0+12 Acc FP64 Command unit
Phase compensation acceleration
/s2
S0+16 Dec FP64 Command unit
Phase compensation deceleration
/s2
S0+20 Jerk FP64 Command unit Phase compensation jerk speed, which is the
/s3 acceleration/deceleration change rate
Output Parameter Data type Unit Note
parameter name
S1 ErrCode INT16S - Command error code
Output Parameter Data type Unit Note
state name

244
S2 Done BOOL The command execution is successful
S2+1 Busy BOOL The command is being executed
S2+2 Error BOOL The command execution is error

(6) Sequence diagram

Trigger the command Trigger the command

Execute

Done

Busy

Error

Error in instruction execution

Explanation:
The command is triggered and the Busy signal is set. When the command execution is completed, the Busy signal
is reset and the Done signal is set.
When there is an error during instruction execution, the Error signal is set, other signals are reset, and the
corresponding error code is output.

(7) Sketch diagram


Dotted line: it is the original curve of the slave axis. Solid line: it is the curve after phase compensation of the
slave axis.

Position Phase shift Master position “seen”by slave


360

0
t
Physical master position
Velocity Phase velocity

Master velocity

0
t

Execute

Done
t

245
5-3-2-5. CAM table read【CAMRD】
(1) Overview
Read the point of the cam table.
CAM table read [CAMRD]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software V3.7.4 and above
Note: XDH, XLH series -L models cannot support this command.
(2) Operand
Operand Function Type
S0 Specify the input parameter start address 16-bit, single word
S1 Specify the output state word start address 16-bit, single word
S2 Sepcify the output state bit start address Bit
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2
CAMRD HD0 HD10 M1

⚫ S0 specifies the input parameter start address, occupies the register S0~S0+1
⚫ S1 specifies the output parameter start address, occupies the register S1~S1+18
⚫ S2 specifies the output state bit start address, occupies the register S2~S2+2
⚫ When M0 is from OFF→ON, read the points of the corresponding cam table according to the cam table
instance, and store the read parameters such as position, speed, acceleration and connection type into the
register with S1 as the starting address

(5) Related parameters


Input Parameter Data type Unit Note
parameter name
S0 CamTblID INT16S - CAM table instance. Obtain through CAMTBLSEL
S0+1 PointID INT16S - Read key point number (starting from 0)
Output Parameter Data type Unit Note
parameter name
S1 ErrCode INT16S - Command error code
S1+1 Cnt INT16S - Read key point quantity
S1+2 MasterPos FP64 Command unit Key point main axis position
S1+6 SlaverPos FP64 Command unit Key point slave axis position
S1+10 Vel FP64 Command unit
Key point speed
/s
S1+14 Acc FP64 Command unit
Key point acceleration
/s2
S1+18 TrajType INT16S - Join type at key point (curve type from previous key
point to current key point)*
Output Parameter Data type Unit Note

246
state name
S2 Done BOOL - The command execution is successful
S2+1 Busy BOOL - The command is being executed
S2+2 Error BOOL - The command execution is error
*Note: join type: 1: Cubic curve 2: quintic curve 3: parabola 4: straight line 5: simple harmonic 6: Cycloid 7:
deformation sine 8: deformation trapezoid 9: constant 10: deformation constant velocity 11: double harmonic 12:
inverse double harmonic.

(6) Sequence diagram

Trigger the command Trigger the command

Execute

Done

Busy

Error

Error in instruction execution

Explanation:
The command is triggered and the Busy signal is set. When the command execution is completed, the Busy signal
is reset and the Done signal is set.
When there is an error during instruction execution, the Error signal is set, other signals are reset, and the
corresponding error code is output.

247
5-3-2-6. CAM table write【CAMWR】
(1) Overview
Change the point in the cam table.
CAM table write [CAMWR]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software V3.7.4 and above
Note: XDH, XLH series -L models cannot support this command.
(2) Operand
Operand Function Type
S0 Specify the input parameter start address 16-bit, single word
S1 Specify the output state word start address 16-bit, single word
S2 Sepcify the output state bit start address Bit
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2
CAMWR HD0 HD20 M1

⚫ S0 specifies the input parameter start address, occupies the register S0~S0+18
⚫ S1 specifies the output parameter start address, occupies the register S1~S1+1
⚫ S2 specifies the output state bit start address, occupies the register S2~S2+2
⚫ When M0 is from OFF→ON, modify the point in the cam table instance

(5) Notes
⚫ Except that the first point (i.e. 0,0) cannot be changed, all other points support modification
⚫ When the curves in the cam table are cubic or quintic curves and straight lines, modifying the point position
will affect the trajectories of the before and after curves at most. Improper modified point position may lead
to sudden change of slave axis position
⚫ The written point cannot be read by the programming software and becomes invalid after power on again
⚫ The modified point main axis position can only be between the before and after points

(6) Related parameters


Input Parameter Data type Unit Note
parameter name
S0 CamTblID INT16S - CAM table instance. Obtain through the command
CAMTBLSEL
S0+1 PointID INT16S - Read the key point number (starts from 0)
S0+2 MasterPos FP64 Command unit Key point main axis position
S0+6 SlaverPos FP64 Command unit Key point slave axis position
S0+10 Vel FP64 Command unit
Key point speed. Not support at the moment.
/s
S0+14 Acc FP64 Command unit
Key point acceleration. Not support at the moment.
/s2
S0+18 TrajType INT16S - Join type at the key point. Not support at the

248
moment.
Output Parameter Data type Unit Note
parameter name
S1 ErrCode INT16S - Command error code
S1+1 Cnt INT16S - Write in key point quantity
Output Parameter Data type Unit Note
state name
S2 Done BOOL - The command execution is successful
S2+1 Busy BOOL - The command is being executed
S2+2 Error BOOL - The command execution is error

(7) Sequence diagram

Trigger the command Trigger the command

Execute

Done

Busy

Error

Error in instruction execution

Explanation:
The command is triggered and the Busy signal is set. When the command execution is completed, the Busy signal
is reset and the Done signal is set.
When there is an error during instruction execution, the Error signal is set, other signals are reset, and the
corresponding error code is output.

249
5-3-2-7. Add key point【CAMPOINTADD】
(1) Overview
Add the key point in the specified cam table.
Add key point [CAMPOINTADD ]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.7.1 and above Software V3.7.4 and above
Note: XDH, XLH series -L models cannot support this command.
(2) Operand
Operand Function Type
S0 Specify the input parameter start address 64-bit, four words
S1 Specify the output state word start address 16-bit, single word
S2 Sepcify the output state bit start address Bit
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2
CAMPOINTADD HD0 D0 M1

⚫ S0 specifies the input parameter start address


⚫ S1 specifies the output state word start address
⚫ S2 specifies the output state bit start address
⚫ When M0 is from OFF→ON, [cam table instance] specifies the cam table and add corresponding key points.
After the command is executed, the end index of the cam table is output.

(5) Notes
⚫ You can only add a key point after the first key point in the cam table
⚫ If pointid does not exist in the cam table, a key point is added after the last key point in the cam table by
default. If pointid exists, the key points of cam table need to be increased by one bit in turn.
⚫ The main axis position of the new key point in the middle of cam table can only be within the curve of the
current section. Adding the main axis position of the key point at the end of the cam table can only be greater
than the main axis position of the termination key point, otherwise the command will report an error
⚫ A cam table can store up to 1000 key points

(6) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 CamTblId INT16S - CAM table instance number
S0+1 PointId INT16U - Cam table key point number
S0+4 MasterPos FP64 - Main axis position
S0+8 SlaverPos FP64 - Slave axis position
S0+12 Vel FP64 - Reference speed
S0+16 Acc FP64 - Reference acceleration

250
Input Parameter name Data type Unit Note
parameter
S0+20 Type INT16U - Join trajectory type
S0+21 Mode INT16U - Take effect mode
0: take effect at once
1: take effect in next cam cycle, not support at
the moment
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
S1+1 EndPointIndex INT16U - Cam table end point index
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - The command execution completed
S2+1 Busy BOOL - The command is being executed
S2+2 Error BOOL - The command execution is error

(7) Sequence diagram

Trigger the command Trigger the command

Execute

Done

Busy

Error

Error in instruction execution

Explanation:
The command is triggered and the Busy signal is set. When the command execution is completed, the Busy signal
is reset and the Done signal is set.
When there is an error during instruction execution, the Error signal is set, other signals are reset, and the
corresponding error code is output.

251
5-3-2-8. Key point delete【CAMPOINTDEL】
(1) Overview
Delete the key point in the specified cam table.
Key point delete [CAMPOINTDEL ]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.7.1 and above Software V3.7.4 and above
Note: XDH, XLH series -L models cannot support this command.
(2) Operand
Operand Function Type
S0 Specify the input parameter start address 64-bit, four words
S1 Specify the output state word start address 16-bit, single word
S2 Sepcify the output state bit start address Bit
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2
CAMPOINTDEL HD0 D0 M1

⚫ S0 specifies the input parameter start address


⚫ S1 specifies the output state word start address
⚫ S2 specifies the output state bit start address
⚫ When M0 is from OFF→ON, for the cam table specified in the [cam table instance], delete the key point
specified in the [key point serial number], and output the end point index of the cam table after the command
is executed

(5) Notes
⚫ You can only delete a key point after the first key point in the cam table
⚫ Deleting the key points in the middle of the cam table needs to ensure the continuous speed of the previous
section and the last two sections of the curve. Deleting key points at the end of the cam table needs to ensure
that the speed of the previous curve is continuous
⚫ After deleting key points, if the starting and ending slave axis position of cubic and quintic curves are equal,
the command will report an error
⚫ Pointid can be found in the cam table. Delete the corresponding key point, and the key point serial number
after the key point needs to be backward one bit in turn. If pointid cannot be found in the cam table, the
command will report an error

(6) Related parameters


Input Parameter name Data type Unit Note
parameter
S0 CamTblId INT16S - Cam table instance number
S0+1 PointId INT16U - Cam table key point number

252
S0+2 Mode INT16U - Take effect mode
0: take effect at once
1: take effect in next cam cycle, not support at
the moment
Output Parameter name Data type Unit Note
parameter
S1 ErrCode INT16U - Command error code
S1+1 EndPointIndex INT16U - Cam table end point index
State Parameter name Data type Unit Note
parameter
S2 Done BOOL - The command execution completed
S2+1 Busy BOOL - The command is being executed
S2+2 Error BOOL - The command execution is error

(7) Sequence diagram

Trigger the command Trigger the command

Execute

Done

Busy

Error

Error in instruction execution

Explanation:
The command is triggered and the Busy signal is set. When the command execution is completed, the Busy signal
is reset and the Done signal is set.
When there is an error during instruction execution, the Error signal is set, other signals are reset, and the
corresponding error code is output.

253
5-3-2-9. CAM table unload【CAMTBLDEL】
(1) Overview
Unload the loaded cam table, release the buffer space.
CAM table unload [CAMTBLDEL]
Execution Rising/falling edge of the coil Suitable XDH, XLH
condition model
Firmware V3.6.1b and above Software V3.7.4 and above
Note: XDH, XLH series -L models cannot support this command.
(2) Operand
Operand Function Type
S0 Specify the input parameter start address 16-bit, single word
S1 Specify the output parameter start address 16-bit, single word
S2 Sepcify the output state bit start address Bit
(3) Suitable soft component
Operand Word soft component Bit soft component
System Constant Module System
D* FD TD* CD* DX DY DM* DS* K/H ID QD X Y M* S* T* C*
S0 ● ● ● ● ● ● ● ●
S1 ● ● ● ● ● ● ● ●
S2 ●
*: D means D, HD; TD means TD and HTD; CD means CD, HCD, HSCD and HSD; DM means DM and DHM; DS
means DS and DHS; M means M, HM, SM; S means S, HS; T means T, HT; C means C, HC.

(4) Function and action

M0 S0 S1 S2
CAMTBLDEL HD0 HD2 M1

⚫ S0 specifies the input parameter start address


⚫ S1 specifies the output parameter start address
⚫ S2 specifies the output state bit start address, occupies the register S2~S2+2
⚫ When M0 is from OFF→ON, unload the cam table instance specified by S0

(5) Notes
⚫ No matter whether the cam is executed periodically or not, CAMOUT is required before CAMTBLDEL can
be executed after CAMIN is executed
⚫ The running cam cannot be unloaded
⚫ Cam table unloading only deletes the corresponding cam table instance number to free the buffer space. You
can load a new cam table instance through CAMTBLSE instruction.
⚫ If the slave axis is stop or broken by the command A_STOP or A_HALT, the cam binding state of the slave
axis will also be released. At this time, the CAMTBLDEL command can be executed without the CAMOUT
command

(6) Related parameters


Input Parameter Data type Unit Note
parameter name
S0 CamTblID INT16S - CAM table instance, obtain through the command
CAMTBLSEL
Output Parameter Data type Unit Note
parameter name
S1 ErrCode INT16S - Command error code
Output state Parameter Data type Unit Note
name

254
S2 Done BOOL - The command execution is successful
S2+1 Busy BOOL - The command is being executed
S2+2 Error BOOL - The command execution is error

(7) Sequence diagram

Trigger the command Trigger the command

Execute

Done

Busy

Error

Error in instruction execution

Explanation:
The command is triggered and the Busy signal is set. When the command execution is completed, the Busy signal
is reset and the Done signal is set.
When there is an error during instruction execution, the Error signal is set, other signals are reset, and the
corresponding error code is output.

255
5-3-3. CAM configuration in the software
5-3-3-1. Open the cam table configuration
Click the CAM in the project bar to open the cam table configuration interface:

5-3-3-2. Create a new CAM table


Right click [CamProfile], choose [New]:

256
The interface after creating:

Multiple cam tables can be created. Cam tables are distinguished by CAMID, which can be modified manually:

5-3-3-3. Add the cam table point


After the cam table is created, right-click in the cam table editing interface and click [add] to add the key points of
the cam table (up to 1000 points in a single cam table, and the total key points in all tables do not exceed 65535).
The added points can be changed by dragging in the master-slave relationship diagram, or double clicking on the
master and slave axes in the cam table editing interface:

257
The points can be dragged

258
[main axis]: The point position of the main axis can be changed manually by double clicking. The subsequent
point position must be greater than the previous point position. The number of main axis points cannot exceed
65535. The number of main axis points = (main axis final point position – main axis starting point position) / pace
[slave axis]: The point position of the slave axis can be changed manually by double clicking.
[curve type]: Type of curve connection between points. Currently supported curve types: constant; Straight line;
Parabola; Constant deformation velocity; Deformed trapezoid; Deformation sine; Cycloid; Simple harmonic;
Double harmonic; Inverse double harmonic; Cubic curve; Quintic curve.
[velocity]: Automatic calculation. Only when the [curve type] is cubic curve or quintic curve, check the box and
manually modify the speed value. (improper speed value may lead to step of point)
[acceleration]: Automatic calculation. The acceleration value can be modified manually only when the [curve type]
is a quintic curve. (improper acceleration value may lead to step of point position)
[jerk]: Automatic calculation. Cannot be modified.
[pace]: For the data interval between points, the smaller the pace, the higher the curve accuracy, and the number of
main axis points = (main axis final point – main axis starting point) / pace.
[upload]: The downloaded cam table can be uploaded to the programming software through the upload button.
[download]: The configured cam table needs to be downloaded to make it effective. Only xnet protocol download
is supported.
[ok]: save the modification for the cam table.
[cancel]: cancel the modification for the cam table.

5-3-3-4. Export the cam table


Right click the cam table to show the export option.

[export]: The cam table is exported. The generated file can be imported again in the cam table editing interface.
The generated file is only a description file and does not contain the points in the cam table.
[export CAM data to CSV]: Export the points in cam table to generate excel table, including each point (key point
and intermediate point) of master-slave relationship, and the interval of intermediate points is pace.

Right click the CamProfile, click [import] to read the exported cam table into the editing software.

259
6. Motion command application
6-1. Single axis function application
Taking Xinje DS5C as an example, the slave station runs 1310720 distance based on the current position at the
speed of 131072. The operation method is as follows:
① When the slave station is an EtherCAT device, EtherCAT configuration is required first. Click [scan] in
EtherCAT configuration interface:

② confirm the PDO in the [expert process data] (The default configuration can meet the use of instructions. If
necessary, other relevant parameters can be added).

260
③ confirm the value of 6060h is 8 in [launch parameters]. 6060h value 8 represents the slave station is CSP
mode.

④ [IO mapping] is the PDO mapping register address, the default starting address is HD10000, they can be
modified as needs.

⑤ after the parameter configuration, click [download]→[activate].

⑥ after activating, slave station state machine (SD8021) is from 1→2→4→8, 8 means OP state. At this time,
SDO, PDO can send and receive data, the communication connection is built.

⑦ confirm the command channel (SFD8001+300*N) in axis configuration is Ethercat (register value is 0).

261
⑧ After confirming the parameters, enables the specified axis through A_PWR command. After successful
enabling, the axis will move through the corresponding single axis command (take A_MOVER as an example
here). During operation, the current axis state is monitored through D20000 + 200*N (single word), the current
given position is monitored through D20016 + 200*N (double precision), the current feedback position is
monitored through D20044 + 200*N (double precision), and the current given speed is monitored through D20020
+ 200*N (double precision).
M0
A_PWR HD0 M1 K0
M2
A_MOVER HD50 HD100 M3 K0

In motion:

The given position (D20016) and the current position (D20044) are constantly changing. The current given speed
(D20020) is the speed 131072 set in the command, and the current axis state (D20000) is 2, indicating that the
axis is in the motion state with the termination speed of 0.

262
After motion:

The given position (D20016) and the current position (D20044) are the final position 1310720 set in the command,
the current given speed (D20020) is 0, and the current axis state (D20000) is 1, indicating that the axis is in the
enabled static state.
Note: the current position (D20044) is the actual feedback position, which will fluctuate up and down around the
final position, and the fluctuation is affected by the number of pulses per cycle.

263
6-2. Axis group function application
Take Xinje DS5C as an example, the axis group contains axis 0,1,2, the motion track is a line from (0,0,0) to
(100000,150000,0) connecting an arc passing the point (150000,130000,0), the end point is (200000,0,0). The
operation method is as the following:
Ethercat configuration is same to chapter 6-1 step ①~⑦.
⑧ set the axis group kinematics type and axis number.

At present, the kinematics type only supports XYZ. If the XY type is required, the axis type SFD8000 + 300*N of
the single axis corresponding to the Z axis can be modified to a virtual axis).

⑨ after configuration, enable each axis of the axis group through A_PWR. After each axis in the axis group is
enabled, enable the axis group through G_PWR. After the axis group is enabled, the axis group commands can be
executed.During the operation of the axis group, the state of the axis group can be monitored through
D46000+300*N (single word), the current given position of the axis group can be monitored through
D46044~D46064+300*N (double precision), the linear speed of the axis group can be monitored through
D46116+300*N (double precision), and the current feedback position of the axis group can be monitored through
D46140~D46160+300*N (double precision).

The ladder diagram:


M0
A_PWR HD0 M1 K0

A_PWR HD2 M3 K1

A_PWR HD4 M5 K2

M6
G_PWR HD6 M7 K0

M10
G_LINE HD100 HD200 M11 K0

M11
G_CIRCLE HD300 HD400 M21 K0

264
The command configuration:

265
The command is being executed:

At this time, the single axis state D20000+200*N in the axis group is 8 (in the axis group), and the state D4600 of
the axis group is 2 (in the axis group movement). Its running track is a straight line + arc (the completion flag M11
of the G_LINE command triggers the G_CIRCLE command), the end point of the straight line is
(10000,150000,0), the end point of the arc is (200000,0,0), and the arc passes through the auxiliary point (150000,
130000,0).

The motion trajectory diagram is as follows:

266
6-3. CAM function application
Take Xinje DS5C servo as an example, perform the cam movement of the master-slave axis relationship as shown
in the figure in non cyclic mode and cyclic mode respectively:
EtherCAT configuration is same to chapter 6-1 step ①~⑦.
⑧ Configure the CAM table:

(after configuration of cam table, click download)

⑨ Enable the master-slave axis of the cam through A_PWR. Load the corresponding cam table through
CAMTBLSEL. After successful loading, execute CAMIN command to bind the cam. After successful cam
binding, run the cam main axis through single axis command, and the cam slave station will move according to
the corresponding cam table. (the cam can be bound during the operation of the axis, the main axis will maintain
the current motion, and the slave axis will stop the current motion and move the point corresponding to the cam
table).

267
The ladder diagram:
M0
A_PWR HD0 M1 K0

A_PWR HD2 M3 K1

M5
CAMTBLSEL HD10 HD20 M6

M6
MOV HD20 HD102

M10
CAMIN HD100 HD150 M11

M20
A_MOVER HD200 HD250 M21 K0

When the CAM is in non-cycle mode:


The command configuration is shown as below:

268
The cam table instance number parameter of CAMIN command is obtained by executing CAMTBLSEL
command. After the parameter setting is completed, execute the CAMIN command. After the CAMIN command
is successfully executed, its synchronization flag is set to on, indicating that the cam binding state has been
entered at this time. The main axis movement is controlled by single axis command. The command configuration
is as follows:

269
After the main axis runs, the given position is monitored through D20016+200*N, and the feedback position is
monitored through D20044+200*N. The running track of its cam is shown in the figure below:

In the figure, axis X is the main axis position and axis Y is the slave axis position. When the main axis position is
from 0 to 200000, the slave axis makes corresponding movement according to the point position of the cam table.
When the main axis position is from 200000 to 400000, at this time, because the cam table is non-cyclic execution,
the cam operation has ended and the slave axis position does not change.

When the CAM is in cyclic mode, the command configuration is shown as below:

270
(In the loop mode, only the CAMTBLSEL instruction parameters changed, and the CAMIN instruction
parameters are the same).
The cam table instance number parameter of CAMIN command is obtained by executing CAMTBLSEL
command. After the parameter setting is completed, execute the CAMIN command. After the CAMIN command
is successfully executed, its synchronization flag is set to on, indicating that the cam binding state has been
entered at this time. The main axis movement is controlled by single axis command. The command configuration
is as follows:

271
After the main axis runs, monitor the given position through D20016+200*N, monitor the feedback position
through D20044+200*N. The CAM motion track is shown as below:

In the figure, axis X is the main axis position and axis Y is the slave axis position. When the main axis position is
from 0 to 200000, the slave axis makes corresponding movement according to the point position of the cam table.
When the main axis position is from 200000 to 400000, the slave axis makes a new cycle of cam movement.

If you want to know the master-slave axis position, speed, acceleration, connection track type and other
information of a key point, you can read out the information of the point through CAMRD cam table reading
command. The command configuration is as follows:

The cam table instance number is obtained through CAMTBLSEL command. The key point sequence number
should start from 0, and 0 represents the first point (0,0) of the cam table.
The key information read out will be displayed in the output parameters.
If it is necessary to modify a key point in the cam table, it can be realized through the CAMWR cam table write
command (will invalid when power failure). The command configuration is as follows:

272
Among them, the cam table instance number is obtained through CAMTBLSEL, and the key point serial number
shall start from 1, that is, the second key point (the first key point (0,0) cannot be modified).
When the generated cam table instance is not needed, it can be unloaded through the CAMTBLDEL instruction to
free the internal cache space. The instruction configuration is as follows:

The cam table instance number is generated by the CANTBLSEL command. After the command is executed, the
instance will be unloaded. If the instance number has been started by the CAMIN command, you need to execute
the CAMOUT command to release the cam relationship, and then execute the unloading command.
If A_STOP comman is used to stop the slave axis during the cam table motion process, you can directly execute
the unloading command to unload the instance number without executing the CAMOUT command.
When you need to add a key point to the cam table, you can use the CAMPOINTADD key point addition
command. The command configuration is shown in the following figure:

273
After the main axis runs, the cam master-slave relationship is as shown in the following figure:

If a point in the cam table needs to be deleted, it can be realized through the CAMPOINTDEL key point deletion
command. The command parameter configuration is shown in the following figure:

274
After the main axis runs, the cam master-slave relationship is as shown in the following figure:

275
6-4. Pulse channel application
Operation steps of pulse output function.
(1) Modify the command channel to pulse in axis configuration-basic configuration.

(2) Set the pulse port and pulse direction port in axis configuration-probe configuration. Pulse port range is
[0,3], direction port range is [0,7] ,[10,17],[20,27].

(3) modify the servo parameter to normal pulse control type, please refer to servo manual.
(4) enable the servo by manual.
(5) execute other motion commands after enabled.

Note:
(1) Pulse port range is [0,3], direction port range is [0,7], [10,17], [20,27].
(2) When there are multiple pulse axes, the pulse and direction port configurations cannot conflict.
(3) The command A_MODE, A_HOME, A_PROBE, A_CYCVEL, A_CYCTRQ cannot support pulse
channel.
(4) In the pulse channel, it needs to enable the servo by manual. A_PWR cannot enable the servo, but all the
motion commands can be executed after A_PWR is executed.
(5) Since the pulse channel cannot directly control the servo, A_RST command can only clear the error report
of the master station, but cannot clear the servo alarm.
(6) For the axis group function, the constituent axis of the shaft group must be the same channel, that is, all
are pulse channels or bus channels, otherwise the axis group enable command will report an error.
(7) The use of other commands is the same as that of EtherCAT axis.
(8) PLC firmware version should be v3.7.1 and above.

276
6-5. Full closed-loop function application
In some applications, it is necessary to carry out high-precision position control according to the actual position of
the equipment. The full closed-loop function is to form a position loop through servo feedback position or
high-speed counting position to achieve the purpose of control.

Set the parameters (take effective after power on again)


Address Definition Data type Unit Initial Note
value
SFD8204+300*N closed loop ENUM 0 Closed loop switch
switch 0: OFF
1: ON
SFD8205+300*N Closed loop ENUM 0 Closed loop position feedback
feedback data source:
source type 0: bus position feedback
1: high speed counting terminal.
Set through SFD8006+300*N
SFD8206+300*N Encoder FP64 Equivalent 0 It only takes effect when the
equivalent unit closed-loop position feedback
source is high-speed counting.
The encoder inputs the movement
of each pulse. That is movement
per turn (SFD8008 +
300*N)/encoder pulse number per
turn.
Eg. PLC sets the movement per
turn is 10000, the closed-loop
position feedback source is a
grating ruler or encoder for
counting, and the high-speed
counting value of each turn of the
motor is 2500. Then the encoder
equivalent value is set to 4.
SFD8210+300*N Proportional FP64 0 Proportional gain of PID in full
gain closed loop control
SFD8214+300*N Integral gain FP64 ms 0 Integral gain of PID in full closed
loop control
SFD8218+300*N Differential gain FP64 0 Differential gain of PID in full
closed loop control
SFD8222+300*N Speed FP64 0.1% 0 Full closed loop speed
feedforward feedforward gain
gain
SFD8226+300*N Feedback speed FP64 0.1% 0 Full closed loop speed feedback
feedforward gain
gain
SFD8230+300*N Closed loop FP64 Command 0 Error code 2018 is returned when
maximum unit the closed-loop position deviation
position gain exceeds this limit value. When set
to 0, it does not take effect.
SFD8234+300*N Speed forward INT16U ms 0 Full closed loop speed
looking filtering feedforward filtering time
time
SFD8235+300*N Feedback INT16U ms 0 Full closed loop speed feedback
velocity filtering filtering time
time
SFD8236+300*N 2 degree free FP64 0 Full closed loop 2 free degree
alpha alpha. Range 0~1, When the
setting value is 0, no instruction

277
Address Definition Data type Unit Initial Note
value
filtering is performed, and when
the setting value is greater than 1,
it is processed as 1.
SFD8240+300*N 2 degrees of FP64 ms 0 Full closed loop 2 free degree
freedom integration time.
integration time

Dynamic parameters (take effective at once after modification. When the PLC runs again, it will write the SFD
value of the corresponding parameter in the [set parameter])
Address Definition Data type Unit Initial Note
value
D20060+200*N Proportional gain FP64 0 Corresponding parameter
SFD8210+300*N.
The modification takes effect in
real time.
D20064+200*N Integral gain FP64 ms 0 Corresponding parameter
SFD8214+300*N.
The modification takes effect in
real time.
D20068+200*N Differential gain FP64 0 Corresponding parameter
SFD8218+300*N.
The modification takes effect in
real time.
D20072+200*N Speed FP64 0.1% 0 Corresponding parameter
feedforward gain SFD8222+300*N.
The modification takes effect in
real time.
D20076+200*N Speed feedback FP64 0.1% 0 Corresponding parameter
gain SFD8226+300*N.
The modification takes effect in
real time.
D20080+200*N External speed FP64 Command 0 Full closed loop external speed
feedforward value unit feedforward value.
D20084+200*N 2 free degree FP64 0 Corresponding parameter
alpha SFD8236+300*N.
The modification takes effect in
real time. The range is 0 ~ 1.
When the setting value is 0,
instruction filtering is not
performed. When the setting value
is greater than 1, it is processed as
1.
D20088+200*N 2 degree of FP64 ms 0 Corresponding parameter
freedom SFD8240+300*N.
integration time The modification takes effect in
real time.

278
Full closed loop control model
Command External feedforward value
filter
+
Command 1+(1-α)*Tis + +
PID
position 1+Tis - +

Speed
feedforward
gain filter +
Speed Speed +
detection feedback
gain filter

Encoder Motor

Usage and precautions:


⚫ The full closed loop mode needs to operate in CSV mode. After the full closed loop mode is ON, it needs to
switch to CSV mode through A_MODE command. After the full closed loop is ON, the command of the
original CSP mode can be used in CSV mode. (instructions other than A_HOME, A_CYCVEL,
A_CYCTRQ)
⚫ When the closed-loop position feedback source SFD8205 + 300*N is set to 0, the full closed-loop takes the
servo feedback position and feedback speed as the closed-loop input, and the full closed-loop position value
is obtained through operation. See [full closed-loop control model] for the operation process.
⚫ When the closed loop position feedback source SFD8205+300*N is set to 1, it needs to set the encoder input
terminal SFD8006+300*N, encoder equivalent value SFD8206+300*N, closed loop takes high speed
counting as closed loop input, and gets the closed loop position value through operation, the operation
process refers to [full closed loop control model].
⚫ After the full closed loop is on, the gain of the full closed loop can be adjusted in real time through [dynamic
parameters]. When PLC is powered on again, the value in [set parameters] will be written into the register
corresponding to [dynamic parameters].
⚫ The higher the gain, the smaller the difference between the given position and the feedback. However,
excessive gain will cause motor vibration. At this time, the gain value should be appropriately reduced.
⚫ When using high-speed counting as the closed-loop position feedback source, please ensure that the
mechanical principle meets the conditions of full closed-loop (whether the grating ruler or encoder
synchronizes the current axis correctly, and whether the encoder equivalent value is set correctly).
⚫ PLC firmware version is v3.7.1 and above.

279
7. Bus motion control function choice
7-1. H motion/C motion
C motion (simple motion control function) / H motion (practical motion control function).
All parameters and instructions in this manual need to be used under H motion. Please refer to <EtherCAT motion
control user manual> for relevant instructions of C motion. The motion control function can be selected by
modifying the parameter SFD811 (see section 5-1-3 for the modification method) or by software configuration.
After the software configuration is modified, SFD811 will be automatically modified to the corresponding motion
control function when downloading the program.

7-2. Software configuration

Right click [bus motion control] can select [enable C motion].

When selecting H motion, the project bar shows [axis configuration], [axis monitoring and debugging], [axis
group configuration]. When selecting C motion, it shows [NC module].

Note:
When H motion or C motion is enabled, the download program will automatically modify the parameter SFD811
to the value of the corresponding motion control function. If SFD811 is manually changed to 0, a prompt will
appear when opening the H motion configuration interface, as shown in the following information: current C
motion, axis configuration is invalid. At this time, set SFD811 to 1, or enable the H motion, download program to
use the axis configuration function.

280
8. Motion control configuration interface
8-1. Axis configuration
Enable the H motion to use the axis configuration.

The main interface:


① [the number of axes shown]

The setting of [the number of axes shown] determines the number of axes in the configuration bar. It has nothing
to do with the actual number of connected axes and is only for display. Select the corresponding axis number to
configure the axis related parameters.

② [read]

Click [read] to read the parameters.


[read]-[current interface]: read the parameters in the current interface
[read]-[current axis]: read the parameters of the current selected axis
[read]-[all axes]: read the parameters of all the axes

281
③ [write]

Click [write] to write in the parameters.


[write]-[current interface]: write the selected parameters in the current interface, it will automatically select the
parameter when modify the offline value of the parameter.
[write]-[current axis]: write all the parameters of the current axis, only write in the selected parameters. It will
automatically select the parameter when modify the offline value of the parameter.
[write]-[all axes]: write in the parameters of all the axes whatever selected or not.

④ [system settings]

Click the [system settings] to show below interface:

[number of control shaft]: it is SFD810, refer to chapter 5-1-3 (the offline value is the setting value in [the number
of axes shown], the online value is the actual value in current register).
[axis bit status start address]: it is SFD814, refer to chapter 5-1-3 (offline default value is 0, the online value is the
actual value in current register).
[axis word status start address]: it is SFD816, refer to chapter 5-1-3 (offline default value is 0, the online value is
the actual value in current register).
[axis word status preserves address]: not support at the moment.

282
⑤ Parameter interface

[Basic configuration]: corresponds to the register SFD8000+300*N~SFD8036+300*N, refer to chapter 5-1-3.


[Limit configuration]: corresponds to the register SFD8040+300*N~SFD8076+300*N, refer to chapter 5-1-3.
[Performance configuration]: corresponds to the register SFD8080+300*N~SFD8099+300*N, refer to chapter
5-1-3.
[Detection and alarm configuration]: corresponds to the register SFD8120+300*N~SFD8139+300*N, refer to
chapter 5-1-3.
[Return to origin configuration]: not support at the moment.
[Pulse configuration]: not support at the moment.
[A closed-loop configuration]: not support at the moment.
(The parameters are modified in [offline value], click [write] to take effective, [online value] is the display value
of corresponding registers which cannot be changed).

283
8-2. Axis monitor and debug

The interface is shown as below:

① Axis selection interface: click the axis number to monitor / debug the axis.
② Axis monitoring interface: monitors the status of the current axis, including state machine, error code, target
position, command position, etc. The register / coil in this interface is only used for monitoring and cannot be
modified.
③ Axis debugging interface: debugging the current axis is valid only when the debugging mode is enabled
(directly enable on the interface or modify the corresponding register D20104 + 200*N). After the debugging
mode is enabled, you can do the operation of enable, move to the target position, return to the origin and other
actions through the registers and coils on the interface. (the homing is the same as the A_HOME command, and
the Ethernet parameters 6098h, 6099h and 609Ah need to be set. See section 5-1-2-12 for details).

The differences of D20040, D20016, D20044:


D20040: encoder feedback value
D20016: The position that the axis should reach in each scan cycle after the command is executed.
D20044: The position feedback is obtained by conversion according to the set electronic gear ratio, movement per
cycle, number of pulses per cycle and other parameters.

284
8-3. Axis group configuration

The main interface:


① [the number of axes shown]
The setting of the number of displayed axes determines the number of axis groups in the configuration bar. It has
nothing to do with the number of actually configured axis groups. It is only for display. The number of actually
configured axis groups is modified by SFD820. Select the corresponding axis group number to configure the
relevant parameters of the axis group.

② [read]

Click [read] to read the parameters.


[Read] – [current interface]: only the parameters of the current interface are read (the current interface refers to the
main interface category currently displayed, as shown in the figure is the basic configuration interface).
[Read] – [current axis]: read all parameters of the currently selected axis group.
[Read] – [all axes]: read all parameters of all axis groups in the interface.

285
③ [write]

Click [write] to write parameters


[Write] – [current interface]: write only the parameters in the current interface and only the selected parameters. It
will be selected automatically after modifying the offline value of the parameter. (the current interface only
displays the main interface category, as shown in the figure is the basic configuration interface)
[Write] – [current axis]: write all the parameters of the current axis group. Only the selected parameters are
written. After modifying the offline value of the parameter, it will be selected automatically.
[Write] – [all axes]: write all parameters of all axis groups in the interface, whether selected or not.

④ [system settings]

Click [system settings] to show below interface:

[Control the number of shaft groups]: it is SFD820, refer to chapter 5-2-3 (offline value is the set value in [the
number of axes shown], the online value is the actual value of the current register).
[Axis group bit status address]: it is SFD824, refer to chapter 5-2-3 (the default offline value is 28000, the online
value is the actual value of the current register).
[Axis type status address]: it is SFD826, refer to chapter 5-2-3 (the default offline value is 46000, the online value
is the actual value of the current register).
[The axis block maintains the address]: not support at the moment.

286
⑤ Parameters interface

[Basic configuration]: corresponds to the register SFD48000+300*N~SFD48008+300*N, refer to chapter 5-2-3.


[Performance parameter configuration]: corresponds to the register SFD48020+300*N~SFD48059+300*N, refer
to chapter 5-2-3.
[Alarm parameter configuration]: corresponds to the register SFD48100+300*N~SFD48105+300*N, refer to
chapter 5-2-3.
[Limit configuration]: corresponds to the register SFD48120+300*N~SFD48145+300*N, refer to chapter 5-2-3.
[Interpolation configuration]: not support at the moment.
[Looking forward parameters]: corresponds to the register SFD48232+300*N~SFD48280+300*N, refer to chapter
5-2-3.
(The parameters are modified in [offline value], click [write] to take effective, [online value] is the display value
of corresponding registers which cannot be changed).

287
9. Oscilloscope function
9-1. Operating conditions of oscilloscope
The oscilloscope function can only be used when the EtherCAT slave is connected and the programming software
is in the X-NET monitoring mode.

9-2. Open the oscilloscope


Click the oscilloscope icon as shown in the figure to open the oscilloscope interface.

The interface is shown as below:

9-3. Oscilloscope main interface

Parameter Explanation
Start The oscilloscope starts to work
Stop Oscilloscope stops working
Import Open saved oscilloscope data
Export Save all the oscilloscope data (curve configuration, cursor, trigger, image data, oscilloscope
working time, etc.) under the current situation

288
Shaft Display different Y-axes of the same display area into different regions.
Note: this function is valid only when the curve is configured with different axes; when there
is only one axis, axis splitting cannot be realized. When the user configures different axes,
multiple Y-axes are displayed. Only when there are more than one y-axis, the function of axis
splitting can be realized.
Interval (us) The time interval between the two sampling points, the unit is us (default is the value of the
synchronization unit cycle in EtherCAT)
Pos Locate a curve starting from one time or value
Time Display start, end and oscilloscope working time

Interface operation instructions


Parameter Explanation
Zoom in Hold the left mouse button and drag to select the area to be enlarged. The default zooming method is
to zoom in both horizontally and vertically (region magnification). Right click the menu displayed in
the display area to modify the zoom mode (horizontal zoom in and vertical zoom in).
Zoom out Right click the display area and click restore to original/restore to previous zoom in the display menu
to zoom out
Drag There are three ways to drag: ① hold the Ctrl + left button, the cursor changes to hand type and drag
the image; ② press and hold the middle button (wheel) of the mouse to drag the image; ③ when the
horizontal zoom and vertical zoom in the right-click menu are not selected (there is no zoom function
at this time), press and hold the left mouse button to drag the image.
Right mouse button function:
Parameter Explanation
Save chart Save the image of the current interface in picture format
Export data Save the image data in Excel format
Restore to original scale Display the entire curve
Display node value When the mouse moves to a node on the curve, the coordinate axis value of the node
is displayed
Restore to previous scale The image zoom out to the previous display scale and area
Scale horizontally Zoom in / out X axis only
Zoom vertically Zoom in / out Y axis only (region can be zoomed only if both horizontal and vertical
scaling are selected)
Note: when the interface displays data for more than one minute, the data curve before one minute will be cleared,
but the data still exists. Users need to click export data in the right-click menu to view all data.

289
9-4. Oscilloscope configuration interface

9-4-1. Oscilloscope type configuration


Parameter Explanation
YT Abscissa is time variable, ordinate is single register variable, only single register variable is needed
to configure curve
XY Abscissa and ordinate are both register variables. When configuring the curve, two register
variables need to be configured

9-4-2. Axis variable configuration

Parameter Explanation
Add Add the curve
Delete Delete the curve
Edit Edit curve properties
Note: when the oscilloscope starts to work, can not add or delete curves, only can edit curve attributes.

290
9-4-3. Register configuration
Cick add to show the register configuration interface:

Parameter Explanation
X axis Register type (HD, D, SD) + register offset (number)+ register data type
Y axis Register type (HD, D, SD) + register offset (number)+ register data type
Color Curve display color (click the color block to modify the curve color)
Display The curve displays on the oscilloscope display interface or not
Axis1 Which axis is the curve displayed on the oscilloscope display interface (for the realization of the
axis splitting function)
Note:
(1) When the oscilloscope type is YT, the [X-axis] cannot be configured, and the abscissa displays the time.
(2) When the oscilloscope starts to work, it can only adjust the color, display and axis attribute of the curve, and
the register of XY axis cannot be modified.

9-4-4. Cursor configuration

Parameter Explanation
X axis Add X-axis cursor (vertical cursor, perpendicular to X-axis)
Y axis Add Y-axis cursor (horizontal cursor, perpendicular to Y-axis)
Delete Delete the cursor
Value Display cursor difference data

291
9-4-5. Difference interface
Click [value] to show below window:

Parameter Note
Time Show / hide the status time area (this area is only available when the oscilloscope type is YT).
X-axes Show / hide Channel/ X-Axes area
Y-axes Show/ hide Y-Axes area
Note:
(1) Display rules of status time area:
A. Display two time: computer time (PC time); oscilloscope working display time
B. Time data source: the value of the x-axis cursor on the x-axis (time axis).
(2) Channel area display rules:
A. Data source: Y-axis register data corresponding to X-axis cursor (data on Y-axis corresponding
to X-axis in coordinate system). For example, the time of x-axis cursor on x-axis is 1s, and the data
at 1s of y-axis register variable is used as display data source.
B. Channel column: displays all the register variables monitored on the oscilloscope.
(3) Display rules of Y-axes area:
A. Data source: data of y-axis cursor on vertical axis.
B. For each additional y-axis, a piece of data is added and displayed in the table.

292
9-4-6. Trigger configuration

Parameter Note
Add Add the trigger
Del Delete the trigger
Edit Edit the trigger
Pos The location on the screen after the trigger is triggered
Note:
(1) Trigger position description: for example, if the trigger position is 1/8, the trigger will stop and will not
stop immediately. When the data obtained after trigger can occupy 7/8 of the current interface, the display will
stop.
(2) After the trigger is triggered, the state changes to red. At the same time, a dotted line is displayed on the
trigger position on the interface to indicate the trigger position.
(3) When the trigger version is XY, it stops immediately after the trigger is triggered.

After click [add], it will show below window:

Parameter Note
Object Configured register variables
Condition Logical relationship between triggers of the same register object
Mode Trigger edge (Risingedg, fallingedge)
Threshold Trigger threshold
Action The action after triggering (StopDisplay, ReStartDisplay)
Enable Enable the trigger

293
9-4-7. Oscilloscope application
For example: Xinje XG2 series PLC controls two DS5C servo drivers, the CSP mode is used to make the motor
forward and reverse, and the actual position waveform is monitored.
The oscilloscope interface configuration is as follows:

Among them, HD1012 is the mapping of axis 1-6064h, and HD1032 is the mapping of axis 2-6064h.
Click [start] to run the oscilloscope. At this time, the oscilloscope displays the current positions of the two
axes. When the axis is not running, it will be two straight lines (the waveform will have a small jitter, and the
proportion of ordinates will be obvious when the two axes are running). After the two axes are running, the
waveform will change, and the coordinate proportion will be automatically adjusted during the operation of the
oscilloscope. If you want to view the waveform, click [stop] and right click [restore to the original zoom ratio],
you can view the complete waveform (the waveform will only be displayed within 60s, but all data will be saved.
Right click menu [export data] can display data in Excel form).
The waveform is shown as below:

There are two coordinate axes on the left, axis 2 ordinate on the left and axis 1 ordinate on the right.
If it needs to be divided into two coordinate axes, click [sub axis] (the axis variable needs to be set to two
different axes).

294
After [sub axis], the figure is as follows:

Click the cursor configuration [X axis] [Y axis] to generate a cursor (two cursors are configured for X axis
and Y axis in the figure), and the cursor position can be dragged by the mouse.

Click the cursor configuration [value] to enter the cursor difference interface, which can monitor the specific
value of the register with the cursor.

295
StatusTime area:
Absolute Position represents the current actual time (that is, computer time) indicated by the cursor.
Chart Position indicates the working time of oscilloscope (i.e. abscissa of cursor position).
Channel area:
The data in the region represents the value of the register corresponding to the cursor position. Combined
with the [status time] area, the real-time value of the register can be monitored. As shown in the figure, the value
of register HD1012 in 50.067s is 14135 and that in register HD1032 is 45858. In 19.389s, the value of register
HD1012 is 29738 and the value of register HD1032 is 1990265; [C1-C0] represents the difference between the
positions of two cursors (Note: when the number of cursors set on one axis is greater than or equal to 2, the cursor
difference interface will automatically generate cursor difference data)
Axis area:
The data in the area represents the value corresponding to the cursor of [Y axis], as shown in the figure, the
value of [C2] in Axis1 is 228583.194, the value in Axis2 is 895594.051; the value of [C3] in Axis1 is 897091.24,
and the value in Axis2 is 1552946.514; and [C3-C2] represents the difference between the corresponding values of
the two cursors.
The trigger configuration is show as below:

296
Configure two triggers, the object of which are all HD1012, the condition is AND, the mode is rising edge, the
threshold value is 50000 and the other is 100000, the action is StopDisplay, enable is True.

Trigger position is set to 4/8, the results of oscilloscope operation are as follows:

The dotted line in the figure is the trigger position of the trigger. When the trigger is triggered, the trigger position
accounts for 4/8 of the current waveform diagram, and the oscilloscope will stop (that is, the dotted line position
accounts for half of the current waveform diagram). You can see that the trigger status has turned red, indicating
that both triggers have been triggered. If the trigger condition is selected AND, it means that the trigger will stop
only when both triggers are triggered, so the trigger position register value is 100000 (if the trigger condition is
OR, any one of the triggers will stop if it is triggered; if one of the two trigger conditions is AND the other is OR,
the trigger condition will be judged as OR).

297
10. EtherCAT instruction
10-1. SDO read [EC_SDORD]
(1) Instruction overview
The SDO value is read from the target station and stored in the local register.
SDO read [EC_SDORD]
Execution Edge triggering Suitable model XG2, XDH, XLH
condition
Hardware V3.6 and above, V3.6.1b and above Software V3.6 and above, V3.7.4 and above
(2) Operand
Operand Function Range Type
S0 EtherCAT slave station no.: Station 0~63 16-bit constant or single word register
ID
S1 Object index 0x1000~0xffff 16-bit constant or single word register
S2 Object subIndex 0~255 16-bit constant or single word register
S3 Value register Single word register
S4 Status register Single word register
S5 Completion flag bit Bit
(3) Suitable software component
Operand Word Bit
System Constant Module System
D FD TD CD DX DY DM DS K/H ID QD X Y M S T C Dn.m
S0 ● ●
S1 ● ●
S2 ● ●
S3 ●
S4 ●
S5 ● ● ● ● ● ●
Note: D is D and HD; TD is TD and HTD; CD is CD, HCD, HSCD and HSD; DM is DM and DHM; DS is DS and DHS.
M is M, HM and SM; S is S and HS; T is T and HT; C is C and HC.

(4) Function and action


S0· S1· S2· S3· S4· S5.
X0
EC_SDORD K0 H6060 K0 D0 D2 M0

⚫ Instruction meaning: Read the value in slave object dictionary 0x6060: 00 of StationID0 to D0.
⚫ Instruction description: EC_SDORD is used to read the value in slave object dictionary.

298
The figure shows the slave and the corresponding object dictionary index, read the value in slave object dictionary
0x6060: 00 of StationID0 to D0.
S0· S1· S2· S3· S4· S5.
X0
EC_SDORD K0 H6060 K0 D0 D2 M0

S0:K0 or write 0 in the corresponding register. Note: the first slave station ID is 0, not 1.
S1:H6060 or write K24672 in the corresponding register (H6060).
S2:It is 00 at present, write K0 or 0 in the corresponding register.
S3:The read value is saved in local register D0.
S4:The processing status of instruction.
S5:Instruction processing completion flag. Whether the value is read successfully or not, it only indicates
that the instruction processing is finished and will not reset actively.

The status code of operand S4 is shown in below table:


Operand Status code Meaning Note
0 Wait for processing Set to 0 once the instruction is triggered
1 In processing
Instruction processing
2
successful
3 No instruction Confirm the firmware and software version is
matched
4 No slave station Confirm the S0 parameter is correct, check the
slave station connection
5 Slave station busy
S4
6 Instruction processing overtime
7 Parameter error Check S1, S2 parameters
8 Unknown error Check the program
20 Write value too large Check S1, S2 parameters
21 Slave station in unread status
22 the object is write only
23 the object is read only
24 No SDO

299
25 No subindex of SDO

When using EC_SDORD, it should be standardized according to the meaning of instruction operands. The S5
instruction completion flag in the instruction indicates that the instruction processing has been completed when it
is set. At this time, other EtherCAT communication instructions can be read and written. No matter the current
reading and writing is successful or not, S5 will be set. Therefore, during programming, other EtherCAT
communication instructions need to wait for it to be set ON before executing, as shown in the following figure:
M0
EC_SDORD K0 H6060 K0 D0 D2 M1

M1 K2 D2
= MOV D0 D10

M0
( R )
M1
( R )

After operand S5 (M1) is set ON, check the status of S4 (D2). According to the status code, if the instruction is
processed successfully, the read register can be set value. Since the completion mark M1 will not reset actively, it
needs to be reset manually, so RST M1.

300
10-2. SDO write [EC_SDOWR]
(1) Instruction overview
Write the local register value in target slave station object SDO.
SDO object write [EC_SDOWR]
Execution Edge triggering Suitable model XG2, XDH, XLH
condition
Hardware V3.6 and above, V3.6.1b and above Software V3.6 and above, V3.7.4 and above
(2) Operand
Operand Function Range Type
S0 EtherCAT slave station no.: Station 0~63 16-bit constant or single word
ID register
S1 Object index 0x1000~0xffff 16-bit constant or single word
register
S2 Object subIndex 0~255 16-bit constant or single word
register
S3 Write value register single word register
S4 write value byte length 16-bit constant or single word
register
S5 Status register single word register
S6 Completion flag bit Bit
(3) Suitable software component
Operand Word Bit
System Constant Module System
D FD TD CD DX DY DM DS K/H ID QD X Y M S T C Dn.m
S0 ● ●
S1 ● ●
S2 ● ●
S3 ●
S4 ● ●
S5 ●
S6 ● ● ● ● ● ●
Note: D is D and HD; TD is TD and HTD; CD is CD, HCD, HSCD and HSD; DM is DM and DHM; DS is DS and DHS.
M is M, HM and SM; S is S and HS; T is T and HT; C is C and HC.

(4) Function and action


S0· S1· S2· S3· S4· S5· S6·
X0
EC_SDOWR K0 H6060 K0 D0 K2 D2 M0

⚫ Instruction meaning: write 2 bytes starting from D0 in slave object dictionary 0x6060:00 of StationID0.
⚫ Instruction description: EC_SDOWR is used to write value in slave object dictionary.

301
The figure shows the slave and the corresponding object dictionary index.
S0· S1· S2· S3· S4· S5· S6·
X0
EC_SDOWR K0 H6060 K0 D0 K2 D2 M0

S0:K0 or write 0 in corresponding register. Note: the first station ID is 0 but not 1.
S1:H6060 or write K24672 in corresponding register (H6060).
S2:It is 00 at present, write K0 or 0 in corresponding register.
S3:The value starting from D0 will be written in object SDO.
S4:Write in length, eg. K2 is 2 bytes (one single word register). K4 will occupy two registers eg. D0 D1.
S5:Instruction processing status.
S6:Instruction processing completion flag. Whether the value is written successfully or not, it only
indicates that the instruction processing is finished and will not reset actively.

The status code of operand S4 is shown in below table:


Operand Status code Meaning Note
0 Wait for processing Set to 0 once the instruction is triggered
1 In processing
Instruction processing
2
successful
3 No instruction Confirm the firmware and software version is
matched
4 No slave station Confirm the S0 parameter is correct, check the
slave station connection
5 Slave station busy
S4 6 Instruction processing overtime
7 Parameter error Check S1, S2 parameters
8 Unknown error Check the program
20 Write value too large Check S1, S2 parameters
21 Slave station in unread status
22 the object is write only
23 the object is read only
24 No SDO
25 No subindex of SDO

302
When using EC_SDOWR, it should be standardized according to the meaning of instruction operands. The S6
instruction completion flag in the instruction indicates that the instruction processing has been completed when it
is set. At this time, other EtherCAT communication instructions can be read and written. No matter the current
reading and writing is successful or not, S6 will be set. Therefore, during programming, other EtherCAT
communication instructions need to wait for it to be set ON before executing, as shown in the following figure:
M0
EC_SDOWR K0 H6060 K0 D0 K2 D2 M1
M1 K2 D2 M0
= ( R )
M1
( R )

After operand S6 (M1) is set ON, check the status of S5 (D2). According to the status code, if the instruction is
processed successfully, the read register can be set value. Since the completion mark M1 will not reset actively, it
needs to be reset manually, so RST M1.

303
10-3. ESC read [EC_REGRD]
(1) Instruction overview
Read ESC register value of target station to local register.
ESC register read [EC_REGRD]
Execution Edge triggering Suitable model XG2, XDH, XLH
condition
Hardware V3.6 and above, V3.6.1b and above Software V3.6 and above, V3.7.4 and above
(2) Operand
Operand Function Range Type
S0 EtherCAT slave station no.: Station 0~63 16-bit constant or single word
ID register
S1 ESC register starting address 0x000~0xfff 16-bit constant or single word
register
S2 Read byte length 0~255 single word register
S3 Save value register starting address single word register
S4 Status register single word register
S5 Completion flag bit Bit
(3) Suitable softw component
Operand Word Bit
System Constant Module System
D FD TD CD DX DY DM DS K/H ID QD X Y M S T C Dn.m
S0 ● ●
S1 ● ●
S2 ●
S3 ●
S4 ●
S5 ● ● ● ● ● ●
Note: D is D and HD; TD is TD and HTD; CD is CD, HCD, HSCD and HSD; DM is DM and DHM; DS is DS and DHS.
M is M, HM and SM; S is S and HS; T is T and HT; C is C and HC.

(4) Function and action


S0· S1· S2· S3· S4· S5.
X0
EC_REGRD K0 H100 D4 D0 D2 M0

⚫ Instruction meaning: read ESC register value of StationID0 to D0.


⚫ Instruction description: EC_REGRD is used to read ESC value of slave station.

304
The figure is ESC parameter interface, if it needs to read ESC address H100 of slave station StationID0, please
see below example.
S0· S1· S2· S3· S4· S5.
X0
EC_REGRD K0 H100 D4 D0 D2 M0

S0:K0 or write 0 in corresponding register. Note: the first station ID is 0 but not 1.
S1:H100 or write K256 (H100) in corresponding register.
S2:ESC address corresponds to one byte. If D4 is written 1, it means read the value of H100 to D0. If it is
written 2, it means read H100 H102 to D0 D1.
S3:The read value is saved in local register D0.
S4:The instruction processing status.
S5:Instruction processing completion flag. Whether the value is written successfully or not, it only
indicates that the instruction processing is finished and will not reset actively.

The status code of operand S4 is shown in below table:


Operand Status code Meaning Note
0 Wait for processing Set to 0 once the instruction is triggered
1 In processing
Instruction processing
2
successful
3 No instruction Confirm the firmware and software version is
matched
4 No slave station Confirm the S0 parameter is correct, check the
slave station connection
S4 5 Slave station busy
6 Instruction processing overtime
7 Parameter error Check S1, S2 parameters
8 Unknown error Check the program
20 Address parameter overlimit Check S1 parameters
21 Length invalid Check S1, S2 parameters
22 Slave station position error Check whether there is the slave station
23 Request failure Retry

305
When using EC_REGRD, it should be standardized according to the meaning of instruction operands. The S5
instruction completion flag in the instruction indicates that the instruction processing has been completed when it
is set. At this time, other EtherCAT communication instructions can be read and written. No matter the current
reading and writing is successful or not, S5 will be set. Therefore, during programming, other EtherCAT
communication instructions need to wait for it to be set ON before executing, as shown in the following figure:

M0
EC_REGRD K0 H100 D0 D2 D4 M1

M1 K2 D2
= MOV D2 D10

M0
( R )
M1
( R )

After operand S5 (M1) is set ON, check the status of S4 (D2). According to the status code, if the instruction is
processed successfully, the read register can be set value. Since the completion mark M1 will not reset actively, it
needs to be reset manually, so RST M1.

306
10-4. ESC write [EC_ESCWR]
(1) Instruction overview
Write the value in local register to target slave station ESC address.
ESC object write [EC_ESCWR]
Execution Edge triggering Suitable model XG2, XDH, XLH
condition
Hardware V3.6 and above, V3.6.1b and above Software V3.6 and above, V3.7.4 and above
(2) Operand
Operand Function Range Type
S0 EtherCAT slave station no.: Station 0~63 16-bit constant or single word
ID register
S1 ESC register starting address 0x000~0xfff 16-bit constant or single word
register
S2 Write value starting register single word register
S3 Write value byte length 16-bit constant or single word
register
S4 Status register single word register
S5 Completion flag bit Bit
(3) Suitable soft component
Operand Word Bit
System Constant Module System
D FD TD CD DX DY DM DS K/H ID QD X Y M S T C Dn.m
S0 ● ●
S1 ● ●
S2 ●
S3 ● ●
S4 ●
S5 ● ● ● ● ● ●
Note: D is D and HD; TD is TD and HTD; CD is CD, HCD, HSCD and HSD; DM is DM and DHM; DS is DS and DHS.
M is M, HM and SM; S is S and HS; T is T and HT; C is C and HC.

(4) Function and action


S0· S1· S2· S3· S4· S5.
X0
EC_REGWR K0 H100 D0 K1 D2 M0

⚫ Instruction meaning: write the value starting from D0 into ESC register of slave station StationID0.
⚫ Instruction description: EC_REGWR is used to write value in slave station ESC address.

307
The figure is ESC parameter interface. If it needs to write value in ESC address H100 of slave station ID0, the
example is shown as below:
S0· S1· S2· S3· S4· S5.
X0
EC_REGWR K0 H100 D0 K1 D2 M0

S0:K0 or write 0 in corresponding register. Note: the first station ID is 0 but not 1.
S1:H100 or write K256 (H100) in corresponding register.
S2:write in register starting address.
S3:ESC address corresponds to one byte. K1 means write D0 value to H100. K2 means write D0, D1 value
to H100, H102.
S4:instruction processing status.
S5:instruction processing completion flag. Whether the value is written successfully or not, it only
indicates that the instruction processing is finished and will not reset actively.

The status code of operand S4 is shown in below table:


Operand Status code Meaning Note
0 Wait for processing Set to 0 once the instruction is triggered
1 In processing
Instruction processing
2
successful
3 No instruction Confirm the firmware and software version is
matched
4 No slave station Confirm the S0 parameter is correct, check the
slave station connection
S4 5 Slave station busy
6 Instruction processing overtime
7 Parameter error Check S1, S2 parameters
8 Unknown error Check the program
20 Address parameter overlimit Check S1 parameters
21 Length invalid Check S1, S2 parameters
22 Slave station position error Check whether there is the slave station
23 Request failure Retry

308
When using EC_REGWR, it should be standardized according to the meaning of instruction operands. The S5
instruction completion flag in the instruction indicates that the instruction processing has been completed when it
is set. At this time, other EtherCAT communication instructions can be read and written. No matter the current
reading and writing is successful or not, S5 will be set. Therefore, during programming, other EtherCAT
communication instructions need to wait for it to be set ON before executing, as shown in the following figure:
M0
EC_REGWR K0 H100 D0 K1 D2 M1

M1 K2 D2 M0
= ( R )
M1
( R )

After operand S5 (M1) is set ON, check the status of S4 (D2). According to the status code, if the instruction is
processed successfully, the read register can be set value. Since the completion mark M1 will not reset actively, it
needs to be reset manually, so RST M1.

309
10-5. ESM status switch [EC_SETSS]
(1) Instruction overview
Slave station state machine instruction switching.
ESM status switch [EC_ESCWR]
Execution Edge triggering Suitable model XG2, XDH, XLH
condition
Hardware V3.6 and above, V3.6.1b and above Software V3.6 and above, V3.7.4 and above
(2) Operand
Operand Function Range Type
S0 EtherCAT slave station no.: 0~63, 0xFFFF means switch all the 16-bit constant or single
Station ID slave stations word register
S1 ESM status 1, 2, 4, 8 16-bit constant or single
word register
(3) Suitable soft component
Operand Word Bit
System Constant Module System
D FD TD CD DX DY DM DS K/H ID QD X Y M S T C Dn.m
S0 ● ●
S1 ● ●
Note: D is D and HD; TD is TD and HTD; CD is CD, HCD, HSCD and HSD; DM is DM and DHM; DS is DS and DHS.
M is M, HM and SM; S is S and HS; T is T and HT; C is C and HC.

(4) Function and action


S0· S1·
X0
EC_SETSS K0 K8

⚫ Instruction meaning: switch ESM state machine of slave station ID0 to 8.


⚫ Instruction description: slave station ESM (EtherCAT Status Machine) can be switched through instruction.
The state 1: INT, 2: Pre-OP, 4: Safe-OP, 8: OP.
⚫ The instruction must be triggered by the rising edge. After the instruction is executed, the slave station is
requested to switch to the specified state. There is no guarantee of immediate switching or successful
switching. The switching status can be confirmed by SD [8021 + 20*i]. If it is unable to switch, the status
switching error message can be confirmed through SD [8028 + 20 * i].

310
Appendix
Appendix 1. Command error code
Code Explanation Solution
100 Servo cannot be enabled Confirm the slave status and whether it can be enabled through the bus
101 Duplicate slave station number Check whether the setting of SFD8002+300*N is repeated
102 Pulse per turn is 0 Check whether the setting of SFD8004+300*N is suitable
103 Movement per turn ≤0 Check whether the setting of SFD8008+300*N is suitable
104 Abnormal reducer parameters Check whether the setting of SFD8014+300*N, SFD8016+300*N is
suitable
105 Abnormal port polarity setting Check whether the setting of SFD8202+300*N, SFD8203+300*N is
suitable
106 Port number conflict Check whether the setting of SFD8200+300*N, SFD8201+300*N is
suitable
107 Invalid port number Check whether the setting of SFD8200+300*N, SFD8201+300*N is
suitable
108 Encoder terminal Check whether the setting of SFD8006+300*N is suitable
configuration overlimit
1000 Axis in error stop A_RST clear the error or close axis enabling reopen
1001 Axis is not enabled Confirm whether there is A_PWR instruction and whether the
instruction was successfully executed
1002 Axis is homing The axis is in the state of returning to the original point, and will
automatically return to the operable state after returning to the original
point. If it is not restored to the operational state correctly, please check
whether there is an error in the process of returning to the original point
1003 Axis is in stop process The axis executes A_STOP command and is in the process of stop, you
can use the new A_STOP command to interrupt and other motion
commands cannot be executed
1004 Specified axis is axis group Verify that the specified axis is already a component axis of the axis
bound axis group and that the axis group is enabled
1005 The axis is in static status The current command cannot be used when the axis is stationary
1006 The axis is in discrete motion The current command cannot be used in axis discrete motion
1007 The axis is in continuous The current command cannot be used in continuous axis motion
motion
1008 The axis is in synchronous Verify that the specified axis is in A_GEARIN binding status
motion
1009 The command input parameter Check whether the necessary parameters of the instruction are set (some
error parameters can only be non-negative numbers, and 1009 will be
reported when the value is abnormal)
1010 At the soft/hard limit At the positive limit, it can move to the negative direction; At the
negative limit, it can move forward
1011 Abnormal position of Confirm the A_WRITE command position is in the range of soft limit
modification instruction
1012 At the soft/hard limit At the positive limit, it can move to the negative direction; At the
negative limit, it can move forward
1020 The command cannot support This instruction does not support execution in buffer mode
buffer

311
Code Explanation Solution
1021 The command cannot support The previous instruction does not support the execution of this
buffer instruction in buffer mode
1022 The cache is full One instruction has been cached. No more instructions can be cached
1023 Buffer mode parameter error Buffer mode error
1030 Axis has no error Repeat executing A_RST instruction returns this error code
1031 Homing process error Check whether the parameters related to the homing are set correctly
(homing mode is not set, homing speed is not set, etc.)
1032 Not supported control mode A_MODE specified mode is not supported by the slave station
1033 The denominator is 0 GEARIN command denominator cannot be 0
1034 The current axis is rotation The rotation counting axis only supports A_MOVEA, A_CMOVEA
counting command motion
1035 Axis is in motion The current command cannot be executed during axis motion
1036 Non CSP mode The current instruction only supports CSP mode. Confirm whether the
6060h parameter of IO mapping is 8. If not, please switch the mode to
CSP through A_MODE command
1037 The current axis is a virtual The current instruction does not support virtual axis execution
axis
1038 The current axis is an encoder The current command does not support encoder axis execution
axis
1039 Same master-slave axis index Confirm whether the master-slave axis parameters of the command are
set correctly
1040 The axis index over limit Confirm whether the specified axis number of the command exceeds the
limit (0 ~ 31) and whether it exceeds the actual real axis, virtual axis and
encoder axis numbers
1041 Probe window value error Confirm whether the window is enabled in the probe instruction
A_PROBE. If the window is enabled, whether the window end position
is greater than the window start position
1042 Non CSV mode The current command only supports CSV mode usage
1043 Non CST mode The current command only supports CST mode usage
1044 GEAROUT invalid A_GEAROUT cannot be executed in the current state. Example: the
specified axis is unbound
1046 Instruction specifies that the The specified register address does not support odd numbers
register address is an odd
number
1048 The ZRN command is Please set a reasonable homing direction
invalid. It can only return to
zero in the opposite direction
at the limit
1049 Error in motion parameter of Check whether the parameters in the homing configuration are
return to zero configuration reasonable
1050 Error in port parameter of Check whether the parameters in the homing configuration are
return to zero configuration reasonable
1051 Z phase numbers Check whether the parameters in the homing configuration are
configuration error reasonable
1052 The zero point signal is too Check whether the signal spacing is too short or the equipment fault
close to the positive and signal is triggered by mistake
negative limit
1053 The command is not supported The current instruction does not support execution in closed-loop mode

312
Code Explanation Solution
in closed loop mode
1054 The terminal configurations of Check whether the probe parameters are set reasonably
the two probes are inconsistent
1055 Only when the trigger source The pulse axis does not support probe commands, take the slave station
is invalid can the Ethernet axis as the trigger source
support the slave mode
1056 Communication between Check whether the value of 4041h is correct or whether the master-slave
master station and slave configuration is reasonable
station is not established
1058 The command is not supported The current command only supports EtherCAT axis
by the pulse axis
1059 Illegal target location Check whether the parameter SFD8188+300*N setting is reasonable
1060 Invalid homing direction Check whether the parameter SFD8192+300*N setting is reasonable
2000 Max hard limit The current axis is at the maximum hard limit. It can run in the negative
direction to leave the hard limit
2001 Min hard limit The current axis is at the min hard limit. It can run in the positive
direction to leave the hard limit
2002 Max soft limit The current axis position is greater than or equal to the maximum soft
limit. It can run in the negative direction and go inside the soft limit
2003 Min soft limit The current axis position is less than or equal to the minimum soft limit.
It can move forward to go inside the soft limit
2004 Illegal soft limit value Confirm whether the maximum soft limit is greater than the minimum
soft limit
2005 Servo error After confirming that the servo error has been removed, execute A_RST
to clear error code
2006 Excessive position deviation The deviation between the given position and the feedback position is
too large. Please check whether the position and speed values are set
reasonably
2007 Illegal rotation count setting Confirm whether the rotation counting max value SFD8024+300*N is
larger than min value SFD8028+300*N
2008 The rotation count setting Confirm that the upper / lower limit of rotation count does not exceed
exceeds the soft limit the soft limit maximum / minimum value
2009 Unsupported control mode A_MODE specified mode is not supported by the slave station
2010 Position increment value If the axis position changes suddenly, please confirm whether the
exceeds the limit parameters are reasonable (for example, the position change caused by
the absolute mode of the master-slave axis of the CAMIN command)
2011 Servo disconnection Check the servo connection status and whether the slave station ESM
status is OP
2012 Illegal hard limit stop mode SFD8040+300*N setting value is not supported
2013 Illegal soft limit stop mode SFD8061+300*N setting value is not supported
2014 When the master and slave is Check the servo connection status and whether the slave station ESM
moving, the servo is status is OP
disconnected
2015 Mode modification timeout Check whether the command parameters are set correctly, and check the
state of the axis and the value of 6041
2016 CST\CSV switch to CSP mode Check whether the command parameters are set correctly, and check the
timeout state of the axis and the value of 6041
2017 Instruction buffer full Instruction buffer full

313
Code Explanation Solution
2018 In closed-loop mode, the Check whether the relevant parameters are set reasonably
following error is greater than
the set value
3000 There is not enough space to The number of cam table instances cannot exceed 32. Space can be
create a cam table instance released through CAMTBLDEL command
3001 There is not enough space to The number of cam table points cannot exceed 65536, and the space can
create a cam table point be released through CAMTBLDEL command
3002 There are no points in the cam Confirm whether the cam table is downloaded (click download in the
table cam editing interface of the programming software)
3003 Cam table is in use Confirm whether the cam table is in motion
3004 Cam function not initialized Cam table not initialized
3005 Cam table instance does not The cam table instance parameter set in the command does not exist.
exist Please confirm whether the parameter is consistent with the cam table
instance parameter obtained by the execution of CAMTBLSEL
command
3007 The slave axis is not Determines whether the slave axis is in CAMIN motion
synchronized
3008 Cam table key point does not Confirm whether the key point parameters set in the command are less
exist than the number of points in the corresponding cam table
3009 CAMOUT is invalid The CAMOUT instruction cannot be executed in the current state.
Example: the command axis is in unbound state
3012 Cam table key point write The specified key point does not support writing
invalid
3013 Cam time acquisition failed Cam time acquisition failed
3014 Key point search failed The specified key point does not exist
3015 The starting point and ending Check whether the command parameter setting is reasonable
point of the cubic or quintic
curve are the same
3016 The current moves to the last Check whether the command parameter setting is reasonable
point, and the last point cannot
be deleted
3017 Main axis position setting Check whether the command parameter setting is reasonable
error
3018 Add delete key point trigger Check whether the instruction trigger mode is correct
mode error
3019 Cam curve type error Check whether the command parameter setting is reasonable
3020 CAMIN direction input error Check whether the command parameter setting is reasonable
3031 Key point no.0 must be (0,0) Check whether the command parameter setting is reasonable
5000 Axis group is not enabled Confirm whether G_PWR command execution is successful
5001 Axis group error stop After the axis group stops, disable the axis group then enable again
5002 Axis group stop The axis group is in the process of deceleration stop, and a new
movement can be performed after stop
5003 Axis group is in motion The current command does not support execution in axis group motion
5004 Axis is not enabled Confirm whether the constituent axes in the axis group have been
enabled
5005 Axis has error Confirm whether there is an error in the constituent axis in the axis
group, and perform A_RST command for the specified axis after the
error is removed, then enable the axis group again

314
Code Explanation Solution
5006 Axis is in motion Confirm whether the constituent axes in the axis group are in motion. If
they are in motion, wait for the end of the current motion or stop the axis
and then enable the axis group through A_STOP/A_HALT command
5007 Axis is not in standstill status Confirm whether the constituent axes in the axis group are in standstill
state. Example: after the axis triggers the hard limit, go out of the hard
limit in the opposite direction. At this time, the axis is still in the error
state and needs to clear the error through A_RST command, then enable
the axis group again
5008 Command input parameter Confirm whether the necessary parameters in the instruction have been
error set (some parameters only support non-negative numbers, and an error
will be reported when the parameters are abnormal)
5009 Execution does not support The current instruction does not support execution in buffer mode
buffer
5010 The previous instruction does The previous instruction does not support the execution of this
not support this instruction instruction in buffer mode
buffer
5011 The buffer is full An instruction has been cached. Caching again is not supported
5012 Buffer mode parameter error Buffer mode parameter error
5013 The buffer is full An instruction has been cached. Caching again is not supported
5015 Axis group index over limit The axis group parameter specified by the command is greater than the
number of axis groups SFD820. Check the online value in axis group
configuration - system setting
5016 Axis group is in motion Confirm whether the constituent axes in the axis group are in motion. If
they are in motion, wait for the end of the current motion or stop the axis
and then enable the axis group through A_STOP/A_HALT command
5017 Axis status abnormal The axis group is enabled, and the single axis in the configured axis is
not enabled and stationary
5018 Command input register The specified register address does not support odd numbers
address error
5019 The component axis is in the Check whether the constituent axes in the axis group are at the limit
limit position position
5020 Pathsel buffer operation PATHSEL parameter abnormal
invalid
5021 Pathsel cannot support reset PATHMOV is in motion
action
5022 The distributed data is larger Check D46226 (Buffer remaining space), ensure that the data in the
than the buffer size instruction does not exceed the buffer size
5023 Invalid curve type Check whether the curve type parameter in the command is legal
5024 G_PATHSEL command The command sets the user-defined curve type, and the parameter value
parameter abnormal must be greater than 100
5025 G_PATHSEL input speed Check the target speed in the command
abnormal
5026 The row number is not Ensure the row number of G_PATHSEL command is monotonic
monotonic increasing increasing
5027 Invalid arc mode The current arc only supports three-point mode
5030 There are currently other There are currently instructions in motion
instructions running
5031 The buffer has no data Confirm whether the G_PATHSELexecution is successful

315
Code Explanation Solution
5040 Unable to continue with the G_GOON cannot be executed after forward-looking paused
original track
5041 Axis number not support Confirm that the constituent axes of the axis group are connected and
the ESM status of the specified axis is normal
5050 The command is invalid The constituent axis of the axis group cannot be encoder axis
5051 X axis max soft limit Check whether the X-axis of the axis group is at the max soft limit
5052 Y axis max soft limit Check whether the Y-axis of the axis group is at the max soft limit
5053 Z axis max soft limit Check whether the Z-axis of the axis group is at the max soft limit
5054 X axis min soft limit Check whether the X-axis of the axis group is at the min soft limit
5055 Y axis min soft limit Check whether the Y-axis of the axis group is at the min soft limit
5056 Z axis min soft limit Check whether the Z-axis of the axis group is at the min soft limit
5057 The radius vector is not Check whether the command parameter setting is reasonable
perpendicular to the selected
plane
5058 Wheelbase input value is 0, Check whether the command parameter setting is reasonable
illegal
5059 Axial displacement is 0, illegal Check whether the command parameter setting is reasonable
5060 Function reload Check whether the command parameter setting is reasonable
5061 The current state does not Check whether the command parameter setting is reasonable
allow starting in interrupt
mode
6000 Duplicate index for constituent Check whether the SFD48001+300*N~SFD48003+300*N has duplicate
axes of the axis group axis number
6001 constituent axes index of the Check whether the SFD48001+300*N~SFD48003+300*N exceeds the
axis group exceeds the number axis number SFD810
of single axis
6002 Single axis has error Single axis in the axis group has error
6003 Single axis is not enabled Single axis in the axis group is not enabled
6004 Linear speed overspeed alarm Check whether the linear speed is abnormal. If there is no abnormality,
increase the linear speed alarm value appropriately
6005 Acceleration over limit Not support at the moment
6006 Deceleration over limit Not support at the moment
6007 Abnormal number of The number of single axes configured for the axis group does not match
constituent axes the model
6008 The hardware channels in the Confirm whether the SFD8001+300*N of constitute axis is consistent
axis group are inconsistent
6009 Counting mode abnormal Only linear counting is supported. Confirm whether SFD8020+300*N is
correct
6010 The constitute axis is not CSP Confirm whether the value of IO mapping 6060h is 8. If not, modify it
mode through A_MODE command
6011 Invalid kinematics type Confirm whether SFD48000+300*N setting is normal
6012 Axis group given position step Check whether the position parameters of the command are reasonable
6013 The constitute axis is conflict The constituent axis cannot be the constituent axis of another enabled
axis group
6015 Servo disconnected Check whether the servo connection is normal and whether the slave
ESM state machine is in OP state
6016 Soft limit setting is abnormal Check whether the maximum value of soft limit of axis group is greater

316
Code Explanation Solution
than the minimum value
6017 Illegal soft limit stop mode Check whether the SFD48145+300*N setting is correct
6101 Three points of an arc are The start point, auxiliary point and end point of the G_CIRCLE
collinear command cannot be on the same straight line
6102 Matrix irreversibility Arc input point position abnormality
6103 The calculated radius is The values from start point to center, auxiliary point to center, and end
inconsistent point to center are inconsistent
6104 The distance between two The distance between any two points of starting point, auxiliary point
points is too short and ending point cannot be less than 0.00001
7001 Illegal input The instruction parameter cannot be less than 0
7002 The given distance is too short Unreasonable input parameters
to accelerate to the specified
speed
7003 The given distance is too short Unreasonable input parameters
to decelerate to the specified
speed
7004 Illegal input The instruction parameter cannot be less than 0
7006 Illegal input The instruction parameter cannot be less than 0
7100 Cannot decelerate to 0. The Check whether the configuration is reasonable
original acceleration and
deceleration model cannot
decelerate to zero through the
current model
7101 Unknown G code type Check whether the input G code is reasonable
7102 Unknown Check whether the acceleration and deceleration settings are reasonable
acceleration/deceleration type
7103 Illegal input Check the axis configuration and axis group configuration parameters
7104 The given distance is too short Unreasonable input parameters
to accelerate to the specified
speed
7105 The given distance is too short Unreasonable input parameters
to decelerate to the specified
speed
7116 Radius close to 0 Unreasonable input parameters
7117 The starting point, center and The starting point, center and end point are collinear
end point are collinear
7118 The start point, center point The start point, center point and end point coincide
and end point coincide
7119 After correcting the center of After correcting the center of the circle, the error value is greater than
the circle, the error value is the allowable value
greater than the allowable
value
7120 The included angle of starting Check whether the command end point and circle center parameters are
point, circle center and ending reasonable
point is 0
7121 Connecting point distance Start to end greater than diameter
greater than diameter
7122 The vector between the start The vector between the start point and the end point is not perpendicular

317
Code Explanation Solution
point and the end point is not to the normal vector
perpendicular to the normal
vector
9090 The interpolation buffer is PATHSEL untimely data distribution
empty
9114 Timeout waiting for data Check whether the termination line is missing or whether the parameter
from upper computer type is reasonable

318
Appendix 2. Register and coil distribution
Type Type Space Starting address End address
M 50 20000 23200
Single axis D 200 20000 32800
SFD 300 8000 27200
M 100 28000 29000
Axis group D 300 46000 49000
SFD 300 48000 51000

319
Appendix 3. Servo driver group U parameters
U0-XX
Code Contents Unit
U0-00 servo motor speed Rpm
U0-01 Input speed instruction Rpm
U0-02 Torque instruction % rated
U0-03 Mechanical angle 1°
U0-04 Electric angle 1°
U0-05 Bus voltage V
U0-06 IPM temperature ℃
U0-07 Torque feedback % rated
U0-08 (0000~9999)*1 Instruction
pulse offset
U0-09 (0000~65535)*10000 pulse
U0-10 (0000~9999)*1
Encoder feedback Encoder pulse
U0-11 (0000~65535)*10000
U0-12 (0000~9999)*1 Instruction
input instruction pulse numbers pulse
U0-13 (0000~65535)*10000
U0-14 (0000~9999)*1 Instruction
position feedback pulse
U0-15 (0000~65535)*10000
U0-16 (0000~9999)*1
encoder accumulated position Encoder pulse
U0-17 (0000~65535)*10000
U0-18 Torque current 0.01A
U0-19 Analog input V-REF value 0.01V
U0-20 Analog input T-REF value 0.01V
U0-21 Input signal status 1
U0-22 Input signal status 2
U0-23 output signal status 1
U0-24 ouput signal status 2
U0-25 (0000~9999)*1
Input pulse frequency 1Hz
U0-26 (0000~9999)*10000
U0-37 VREF AD Raw value
U0-38 TREF AD Raw value
U0-41 Instantaneous output power 1W
U0-42 Average output power 1W
U0-43 Instantaneous thermal power 1W
U0-44 average thermal power 1W
1 command
U0-49 position feedforward
unit
U0-50 speed feedforward rpm
U0-51 torque feedforward % rated

320
U0-52 Instantaneous Bus Capacitor Power 1W
U0-53 Average Bus Capacitor Power 1W
U0-55 Discharge power of instantaneous regenerative braking 1W
U0-56 Average regenerative brake discharge power 1W
U0-57 Absolute encoder present position (0000~65536)*1
Encoder pulse
U0-58 feedback low 32-bit (0000~65536)*216
Code Contents Unit
U0-59 Absolute encoder present position (0000~65536)*232
Encoder pulse
U0-60 feedback high 32-bit (0000~65536)
U0-61 Xnet communication error amounts
U0-62 Xnet Communication Waiting Synchronization Frame State Interference
Xnet Communication Waiting for Synchronization Frame State
U0-63
Receiving Data Frame
U0-64 Xnet Communication Waiting Data Frame State Interference
Xnet Communication Waiting for Data Frame Status Receive
U0-65
Synchronized Frame
U0-66 Xnet communication CRC parity error
U0-67 Xnet communication UART error
U0-68 Xnet communication timeout counting
U0-69 Communication encoder timeout counting
U0-88 Motor code reading status
U0-89 Real-time speed feedback (displaying range -99.99~99.99rpm) 0.01rpm
U0-91 Multi-turn absolute motor circles
U0-94 (0000~65536)*1
U0-95 Encoder feedback position after (0000~65536)*216
Encoder pulses
U0-96 calibration (0000~65536)*232
U0-97 (0000~65536)
U0-98 High power motor temperature ℃

U1-XX
Code Contents Unit
U1-00 present alarm code
U1-01 present warning code
U1-02 U phase current when alarming 0.01A
U1-03 V phase current when alarming 0.01A
U1-04 bus voltage when alarming V
U1-05 IGBT temperature when alarming ℃
U1-06 torque current when alarming 0.01A
U1-07 excitation current when alarming A
Instruction
U1-08 position offset when alarming
pulse
U1-09 speed when alarming rpm
U1-10 Seconds(low 16-bit) when alarming, cumulated seconds from the first s

321
time power-on
Seconds(high 16-bit) when alarming, cumulated seconds from the first
U1-11 s
time power-on
U1-12 this time running error numbers, counting after power on this time
U1-13 this time operation warning numbers, counting after power on this time
U1-14 historical alarm amounts
U1-15 historical warning amounts
U1-16 Recent 2nd alarm code
U1-17 Recent 3rd alarm code
U1-18 Recent 4th alarm code
U1-19 Recent 5th alarm code
U1-20 Recent 6th alarm code
U1-21 Recent 2nd warning code
U1-22 Recent 3rd warning code
U1-23 Recent 4th warning code
U1-24 Recent 5th warning code
U1-25 Recent 6th warning code

U2-XX
Code Contents Unit
U2-00 Power on times
U2-01 series
U2-02 Model (low 16-bit)
U2-03 Model (high 16-bit)
U2-04 out of factory date: year
U2-05 out of factory date: month
U2-06 out of factory date: day
U2-07 Firmware version
U2-08 Hardware version
U2-09 Total running time (from the first time power on) hour
U2-10 Total running time (from the first time power on) minute
U2-11 Total running time (from the first time power on) second
U2-12 This time running time (from this time power on) hour
U2-13 This time running time (from this time power on) minute
U2-14 This time running time (from this time power on) second
Average output power (from the first time enabled, average power in the
U2-15 1W
process of enabling)
Average thermal power (from the first time enabled, average power in
U2-16 1W
the process of enabling)
Average bus capacitor filter power (from the first time power on,
U2-17 1W
average power in the process of power on)
U2-20 Device serial no.: low 16-bit
U2-21 Device serial no.: high 16-bit

322
U2-22 Firmware generation date: year
U2-23 Firmware generation date: month/day
U2-24 Firmware generation date: hour/minute

U3-XX
Code Contents Unit
Motor code (including thermal power parameters) read
U3-00 -
automatically by driver
U3-01 Motor version -
U3-02 Encoder version -
Automatically read the motor code of the encoder in the motor
U3-70 -
parameters (only related to the motor code)

323
Appendix 4. EtherCAT communication related servo driver alarm

Appendix 4-1. Alarm list


Alarm
Explanation Reason Solution
code
E-800 Incorrect Accept the requires cannot tranform from the current Confirm the state transformation of
ESM status: the upper device. Set ON
requires Init→Safeop SM2013+20*(N-1) or set servo
fault Init→OP parameter F0-00=1 to clear the
protection PreOP→OP alarm.
ESM status after alarm: when the current status is
Init, PreOP, it stops in current status, and transforms
to SafeOP when OP.
ESC register AL Status Code: 0011h
801 Undefined Accept status transform requires except the Confirm the state transformation of
ESM followings: the upper device. Set ON
requires 1:Request Init State SM2013+20*(N-1) or set servo
fault 2:Request Pre-Operational State parameter F0-00=1 to clear the
protection 3:Request Bootstrap State alarm.
4:Reauest Safe-operational State
8:Request Operational State
ESM status after alarm: when the current status is
Init, PreOP, SafeOP, it stops in current status, and
transforms to SafeOP when OP.
ESC register AL Status Code: 0012h
802 Leading Accept the following status transforming requires: Confirm the state transformation of
status 3:Request Bootstrap State the upper device. Set ON
requires ESM status after alarm: Init SM2013+20*(N-1) or set servo
fault ESC register AL Status Code: 0013h parameter F0-00=1 to clear the
protection alarm.
803 PLL not After 1s of synchronization, the phase combination Confirm the setting of DC, and
finish fault (PLL locking) of communication and servo still whether transmission delay
protection cannot be completed. compensation and deviation
ESM status after alarm: PreOP compensation are correct.
ESC register AL Status Code: 002Dh Set ON SM2013+20*(N-1) or set
servo parameter F0-00=1 to clear
the alarm.
804 PDO For PDO communication (SafeOP or OP status), bit Confirm whether the transmission
watchdog 10 that setting time 0220 (AL Event Request) time of PDO from the upper device is
fault through ESC register address 0400 (Watchdog fixed (whether it is interrupted);
protection Divider) and 0420 (Watchdog Time Process Data) is Confirm that the PDO watchdog
not ON. ESM status after alarm: Safe OP detection delay value is too large;
ESC register AL Status Code: 001Bh Confirm whether there is any problem
in the wiring of EtherCAT
communication cable and whether
there is serious noise on the cable.
Set ON SM2013+20*(N-1) or set
servo parameter F0-00=1 to clear

324
the alarm.
806 PLL fault ESM state is the case that the phase (PLL lock) of Confirm the setting of DC, and
protection communication and servo does not match in SafeOP confirm whether transmission delay
or OP state. compensation and deviation
ESM status after alarm: SafeOP compensation are correct.
ESC register AL Status Code: 0032h The alarm can be cleared through
cutting off the control power or set
servo parameter F0-00 = 1.
807 Synchroniza After the completion of synchronization, according Confirm the setting of DC, and
tion signal to SYNC0 or IRQ, interrupt processing occurs confirm whether transmission delay
fault above the setting threshold. compensation and deviation
protection ESM status after alarm: SafeOP compensation are correct.
ESC register AL Status Code: 002Ch The alarm can be cleared through
cutting off the control power or set
servo parameter F0-00 = 1.
810 Synchroniza Cannot support the setting period: Set correct synchronization period.
tion period Synchronization period should be 500us, 1ms, 2ms, Set ON SM2013+20*(N-1) or set
setting error 4ms. servo parameter F0-00=1 to clear
protection ESM status after alarm: PreOP the alarm.
ESC register AL Status Code: 0035h
811 Mailbox Bad SM0 / 1 setting for mailbox: Set SyncManager as ESI file.
setting fault The receiving and sending area of the mailbox Set ON SM2013+20*(N-1) or set
protection overlaps, overlaps with SM2/3, and the address of servo parameter F0-00=1 to clear
the receiving and sending area is odd; the alarm.
The mailbox start address is out of the range of
SyncManager0: 1000h~10FFh, SyncManager1:
1200h~12FFh.
SyncManager0/1 length (ESC register: 0802h,
0803h/080Ah, 080Bh) setting error:
SyncManager0: out of the range of 32~256byte
SyncManager1: out of the range of 40~256byte
SyncManager0/1 Control Register (ESC register:
0804h/080Ch) setting error conditions:
Not set 100110b to 0804h: bit5-0
Not set 100110b to 080Ch: bit5-0
ESM status after alarm: Init
ESC register AL Status Code: 0016h
814 PDO PDO watchdog setting error. Set the watchdog detection timeout
watchdog PDO watchdog trigger is valid (syncmanager: bit6 value correctly.
setting fault of register 0804h is 1), the setting value of PDO Set ON SM2013+20*(N-1) or set
protection watchdog detection timeout value (register 0400h, servo parameter F0-00=1 to clear
0402h) does not meet the condition of the alarm.
"communication cycle * 2"
ESM status after alarm: PreOP
ESC register AL Status Code: 001Fh
815 DC setting The setting of DC is wrong. Confirm the DC setting.
error Bit2-0 of ESC register 0981h (activation) is set to a Set ON SM2013+20*(N-1) or set
protection value other than the following. servo parameter F0-00=1 to clear
bit2-0=000b;bit2-0=011b the alarm.

325
ESM status after alarm: PreOP
ESC register AL Status Code: 0030h
816 SM event Unsupported SM time mode is set. 1C32 / 1C33-01 Confirm that the settings of
mode setting sets values other than 00, 01 and 02. 1C32h-01h and 1C33h-01h are the
error Bit2-0 = 000b of ESC register 0981 and only SM2 same and the values are in 00h, 01h
protection of 1C32h-01h and 1C33h-01h are set. and 02h.
ESM status after alarm: PreOP Set ON SM2013+20*(N-1) or set
ESC register AL Status Code: 0028h servo parameter F0-00=1 to clear
the alarm.
817 SyncManag SM2/3 is set to error value. Set correct value of SyncManager2/3
er 2/3 The physical address of SM2/3 is set incorrectly as ESI file.
setting error (ESC register: 0810h / 0818h): the receiving and Set ON SM2013+20*(N-1) or set
protection sending areas overlap, coincide with SM2/3, the servo parameter F0-00=1 to clear
starting address is odd, and the completion address the alarm.
of the starting address is outside the range
SM2/3 length setting (ESC register: 0812h/081A) is
different from RxPDO, TxPDO.
The control register (ESC register: 0814h/081ch) of
SM2/3 is not set correctly.
Not set 100110b to bit5-0.
ESM status after alarm: PreOP
ESC register AL Status Code: 001Dh/001Eh
850 TxPDO Data size of TxPDO mapping exceeds 24 bytes. Confirm that the data size of TxPDO
distribution ESM status after alarm: PreOP mapping is set within 24 bytes.
error ESC register AL Status Code: 0024h Set ON SM2013+20*(N-1) or set
protection servo parameter F0-00=1 to clear
the alarm.
851 RxPDO Data size of RxPDO mapping exceeds 24 bytes. Confirm that the data size of RxPDO
distribution ESM status after alarm: PreOP mapping is set within 24 bytes.
error ESC register AL Status Code: 0025h Set ON SM2013+20*(N-1) or set
protection servo parameter F0-00=1 to clear
the alarm.
881 Control When the set value of 6060h is 0 and the set value of Confirm the setting value of 6060h.
mode setting 6061h is 0, the PDS status will be converted to Set ON SM2013+20*(N-1) or set
error "operation enabled". servo parameter F0-00=1 to clear
protection 6060h is set to not corresponding control mode. the alarm.
In full closed-loop control, 6060h is not set to
position control mode.
ESM status after alarm: stop in the current ESM
status
ESC register AL Status Code: 0000h
882 ESM When PDS status is "Operation enabled" or "Quick Confirm the state transformation
requires in stop active", other ESM status conversion requirements from the upper device.
operation commands are received. Set ON SM2013+20*(N-1) or set
error ESM status after alarm: based on the requirement of servo parameter F0-00=1 to clear
protection state transformation from upper device. the alarm.
ESC register AL Status Code: 0000h
883 abnormal When the input signal EXT1 / EXT2 is not Set ON SM2013+20*(N-1) or set
action allocated, select the external trigger condition servo parameter F0-00=1 to clear

326
protection through Touch probe function; the alarm.
The calculation result of electronic gear ratio is
1/1000 to 1000 times;
The calculation process of electronic gear ratio,
when the denominator or numerator is not signed
and more than 64-bit;
The final calculation result of electronic gear ratio,
when the denominator or numerator is not signed
and more than 32-bit;
ESM status after alarm: stop in current ESM status
ESC register AL Status Code: 0000h

Appendix 4-3. Clear the alarm


Reset method of protection function associated with EtherCAT that can be cleared in case of abnormal
(alarm)
The following methods ① ② ③ can be used for abnormal (alarm) clearing no matter which method.
In addition, for protection functions other than EtherCAT association, please refer to the basic function
specifications of technical manual.
Method ①: bit4 (Error Ind ACK) of AL control is set to "1".
After that, bit7 of 6040h (control word) is cleared by setting 0 → 1 (sending Fault result command).
After the alarm is cleared, the PDS status is converted from Fault to Switch on disabled.
Method ②: carry out abnormal (alarm) clearing by servo driver (panel F0-00, upper computer software).
After the alarm is cleared, the PDS status is transferred from Fault to Switch on disabled.
Method ③: the external alarm clear input (A-CLR) of servo driver changes from OFF state to ON state.
After the alarm is cleared, the PDS status is migrated from Fault to Switch on disabled.

327
Appendix 5. Phraseology
Abbreviation Full name
EtherCAT Ethernet for Control Automation Technology
COE CANopen Over EtherCAT
FMMU Fieldbus Memory Management Unit
SM Sync Manager
pp Profile position
pv Profile velocity
tq Torque profile
csp Cyclic synchronous position mode
hm Homing mode
csv Cyclic synchronous velocity mode
cst Cyclic synchronous torque mode
DC Distributed Clock
SDO Service Data Object
PDO Process Data Object
TxPDO -
RxPDO -
ESM EtherCAT State Machine
ESC EtherCAT Salve Controller
Physical layer device that converts data from the Ethernet controller to electric
PHY
or optical signals.
PDI Process Data Interface or Physical Device Interface
EEPROM Electrically Erasable Programmable Read Only Memory
ESI EtherCAT Slave Information, stored in ESI EEPROM(formerly known as SII)

328
Appendix 6. List of object dictionaries

Appendix 6-1. COE communication area (0x1000-0x1FFF)


IndexSubindex Name Unit Data arange Data type Flag PDO
1000h 00h device type - 0-429496795 U32 RO N0
1001h 00h error register - 0-65535 U16 RO N0
1008h 00h Device name - - - RO N0
1009h 00h Hardware version - - - RO N0
100Ah 00h software version - - - RO N0
00h Identity - - - RO -
01h vendor ID - 0-255 U8 RO N0
1018h 02h product code - 0-429496795 U32 RO N0
03h Revision - 0-429496795 U32 RO N0
04h Serial number - 0-429496795 U32 RO N0
00h 1st RxPDO mapping - 0-24 U8 RW N0
01h SubIndex 001 - 0-4294967295 U32 RW N0
02h SubIndex 002 - 0-4294967295 U32 RW N0
1600h
03h SubIndex 003 - 0-4294967295 U32 RW N0
... ... - 0-4294967295 U32 RW N0
18h SubIndex 024 - 0-4294967295 U32 RW N0
00h 2nd RxPDO mapping - 0-24 U8 RW N0
01h SubIndex 001 - 0-4294967295 U32 RW N0
02h SubIndex 002 - 0-4294967295 U32 RW N0
1601h
03h SubIndex 003 - 0-4294967295 U32 RW N0
... ... - 0-4294967295 U32 RW N0
18h SubIndex 024 - 0-4294967295 U32 RW N0
00h 3rd RxPDO mapping - 0-24 U8 RW N0
01h SubIndex 001 - 0-4294967295 U32 RW N0
02h SubIndex 002 - 0-4294967295 U32 RW N0
1602h
03h SubIndex 003 - 0-4294967295 U32 RW N0
... ... - 0-4294967295 U32 RW N0
18h SubIndex 024 - 0-4294967295 U32 RW N0
00h 4th RxPDO mapping - 0-24 U8 RW N0
01h SubIndex 001 - 0-4294967295 U32 RW N0
02h SubIndex 002 - 0-4294967295 U32 RW N0
1603h
03h SubIndex 003 - 0-4294967295 U32 RW N0
... ... - 0-4294967295 U32 RW N0
18h SubIndex 024 - 0-4294967295 U32 RW N0
00h 1st TxPDO mapping - 0-24 U8 RW N0
01h SubIndex 001 - 0-4294967295 U32 RW N0
02h SubIndex 002 - 0-4294967295 U32 RW N0
1A00h
03h SubIndex 003 - 0-4294967295 U32 RW N0
... ... - 0-4294967295 U32 RW N0
18h SubIndex 024 - 0-4294967295 U32 RW N0
00h 2nd TxPDO mapping - 0-24 U8 RW N0
01h SubIndex 001 - 0-4294967295 U32 RW N0
02h SubIndex 002 - 0-4294967295 U32 RW N0
1A01h
03h SubIndex 003 - 0-4294967295 U32 RW N0
... ... - 0-4294967295 U32 RW N0
18h SubIndex 024 - 0-4294967295 U32 RW N0
00h 3rd TxPDO mapping - 0-24 U8 RW N0
1A02h
01h SubIndex 001 - 0-4294967295 U32 RW N0

329
02h SubIndex 002 - 0-4294967295 U32 RW N0
03h SubIndex 003 - 0-4294967295 U32 RW N0
... ... - 0-4294967295 U32 RW N0
18h SubIndex 024 - 0-4294967295 U32 RW N0
00h 4th TxPDO mapping - 0-24 U8 RW N0
01h SubIndex 001 - 0-4294967295 U32 RW N0
02h SubIndex 002 - 0-4294967295 U32 RW N0
1A03h
03h SubIndex 003 - 0-4294967295 U32 RW N0
... ... - 0-4294967295 U32 RW N0
18h SubIndex 024 - 0-4294967295 U32 RW N0
00h Sync mangager communication type - 0-255 U8 RO N0
01h SubIndex 001 - 0-4 U8 RO N0
1C00h 02h SubIndex 002 - 0-4 U8 RO N0
03h SubIndex 003 - 0-4 U8 RO N0
04h SubIndex 004 - 0-4 U8 RO N0
00h RxPDO assign - 0-4 U8 RW N0
01h SubIndex 001 - 1600h-1603h U16 RW N0
1C12h 02h SubIndex 002 - 1600h-1603h U16 RW N0
03h SubIndex 003 - 1600h-1603h U16 RW N0
04h SubIndex 004 - 1600h-1603h U16 RW N0
00h TxPDO assign - 0-4 U8 RW N0
01h SubIndex 001 - 1A00h-1A03h U16 RW N0
1C13h 02h SubIndex 002 - 1A00h-1A03h U16 RW N0
03h SubIndex 003 - 1A00h-1A03h U16 RW N0
04h SubIndex 004 - 1A00h-1A03h U16 RW N0
00h SM output parameter - 0-20h U8 RO N0
01h Synchronization Type - 0-65535 U16 RW N0
02h Cycle Time ns 0-4294967295 U32 RW N0
03h SubIndex 003 ns 0-4294967295 U32 RW N0
04h Synchronization Type supported - 0-65535 U16 RO N0
05h Minimum Cycle Time ns 0-4294967295 U32 RO N0
06h Calc and Cope Time ns 0-4294967295 U32 RO N0
1C32h 08h Get Cycle Time ns 0-65535 U16 RO N0
09h Delay Time ns 0-4294967295 U32 RO N0
0Ah Sync0 Cycle Time - 0-4294967295 U32 RO N0
0Bh SM -Event Missed - 0-65535 U16 RO N0
0Ch Cycle Time Too Small - 0-65535 U16 RO N0
0Dh Shift Time Too Short - 0-65535 U16 RO N0
0Eh SubIndex 0014 - 0-65535 U16 RW N0
20h Sync Error - 0-1 BOOL RO N0
00h SM input parameter - 0-20h U8 RO N0
01h Synchronization Type - 0-65535 U16 RW N0
02h Cycle Time ns 0-4294967295 U32 RW N0
03h SubIndex 003 ns 0-4294967295 U32 RW N0
04h Synchronization Type supported - 0-65535 U16 RO N0
05h Minimum Cycle Time ns 0-4294967295 U32 RO N0
1C33h 06h Calc and Cope Time ns 0-4294967295 U32 RO N0
08h Get Cycle Time ns 0-65535 U16 RO N0
09h Delay Time ns 0-4294967295 U32 RO N0
0Ah Sync0 Cycle Time - 0-4294967295 U32 RO N0
0Bh SM -Event Missed - 0-65535 U16 RO N0
0Ch Cycle Time Too Small - 0-65535 U16 RO N0
0Dh Shift Time Too Short - 0-65535 U16 RO N0

330
0Eh SubIndex 0014 - 0-65535 U16 RW N0
20h Sync Error - 0-1 BOOL RO N0

Appendix 6-2. Servo parameter area


Index Subindex Name Index Subindex Name
2000h 00h P0-00 2500h 00h P5-00
2001h 00h P0-01 2501h 00h P5-01
2002h 00h P0-02 2502h 00h P5-02
2003h 00h P0-03 2503h 00h P5-03
... ... ... ... ... ...
205Fh 00h P0-95 2547h 00h P5-71

2100h 00h P1-00 2700h 00h P7-00


2101h 00h P1-01 2701h 00h P7-01
2102h 00h P1-02 2702h 00h P7-02
2103h 00h P1-03 2703h 00h P7-03
... ... ... ... ... ...
214Ah 00h P1-74 2715h 00h P7-21

2200h 00h P2-00 2800h 00h P8-00


2201h 00h P2-01 2801h 00h P8-01
2202h 00h P2-02 2802h 00h P8-02
2203h 00h P2-03 2803h 00h P8-03
... ... ... ... ... ...
2263h 00h P2-99 281Ah 00h P8-26

2300h 00h P3-00


2301h 00h P3-01
2302h 00h P3-02
2303h 00h P3-03
... ... ...
232Eh 00h P3-46

Appendix 6-3. Servo driver Profile area (0x6000~0x6FFF)


Data
Index Subindex Name Unit Data range Flag PDO
type
Abort connection option
6007h 00h 0-3 I16 RW NO
code
603Fh 00h Error Code 0 - 65535 U16 RO TxPDO
6040h 00h Controlword 0 - 65535 U16 RW RxPDO
6041h 00h Statusword 0 - 65535 U16 RO TxPDO
605Ah 00h Quickstop option code - 0-7 I16 RW NO
605Bh 00h Shutdown option code - 0-1 I16 RW NO
Disable operation option
605Ch 00h - 0–1 I16 RW NO
code
605Dh 00h Halt option code - 1–3 I16 RW NO
605Eh 00h Fault reaction option code - 0–2 I16 RW NO
6060h 00h Modes of operation --128-127 I8 RW RxPDO
6061h 00h Modes of operation display --128-127 I8 RO TxPDO
Position demand value Command -2147483648 –
6062h 00h I32 RO TxPDO
[PUU] unit 2147483647

331
Position actual internal -2147483648 –
6063h 00h pulse I32 RO TxPDO
value 2147483647
Command -2147483648 –
6064h 00h Position actual value I32 RO TxPDO
unit 2147483647
Command
6065h 00h Following error window 0 – 4294967295 U32 RW RxPDO
unit
6066h 00h Following error time out 1ms 0 – 65535 U16 RW RxPDO
Command
6067h 00h Position windows 0 – 4294967295 U32 RW RxPDO
unit
6068h 00h Position window time 1ms 0 – 65535 U16 RW RxPDO
Velocity sensor actual
6069h 00h I32 RO TxPDO
value
606Ah 00h Sensor selection code RW
Command -2147483648 –
606Bh 00h Velocity demand value I32 RO TxPDO
unit /s 2147483647
Command -2147483648 –
606Ch 00h Velocity actual value I32 RO TxPDO
unit /s 2147483647
Command
606Dh 00h Velocity window 0 – 4294967295 U32 RW RxPDO
unit
606Eh 00h Velocity window time 1ms 0 – 65535 U16 RW RxPDO
Command
606Fh 00h Velocity threshold 0 – 4294967295 U32 RW RxPDO
unit
6070h 00h Velocity threshold time 1ms 0 – 65535 U16 RW RxPDO
6071h 00h Target torque 0.10% -32768 – 32767 I16 RW RxPDO
6072h 00h Max torque 0.10% 0 – 65535 U16 RW RxPDO
6073h 00h Max current 0.10% 0 - 65535 U16 RO NO
6074h 00h Torque demand value 0.10% -32768 – 32767 I16 RO TxPDO
6075h 00h Motor rated current 1mA 0 – 4294967295 U32 RO TxPDO
6076h 00h Motor rated torque Mn·m 0 – 4294967295 U32 RO TxPDO
6077h 00h Torque actual value 0.10% -32768 – 32767 I16 RO TxPDO
6078h 00h Current actual value 0.10% -32768 – 32767 I16 RO TxPDO
6079h 00h DC link circuit voltage RO
Command -2147483648 –
607Ah 00h Target position I32 RW RxPDO
unit 2147483647 E208
- Position range limit - - - - -
00h Number of entries - 2 U8 RO NO
Command -2147483648 –
607Bh 01h SubIndex 001 I32 RW RxPDO
unit 2147483647
Command -2147483648 –
02h SubIndex 002 I32 RW RxPDO
unit 2147483647
Command -2147483648 –
607Ch Home Offset I32 RW RxPDO
unit 2147483647
- Software position limit - - - - -
00h Number of entries - 2 U8 RO NO
Command -2147483648 –
607Dh 01h SubIndex 001 I32 RW RxPDO
unit 2147483647
Command -2147483648 –
02h SubIndex 002 I32 RW RxPDO
unit 2147483647
607Eh 00h Polarity - 0 – 255 U8 RW NO
Command
607Fh 00h Max profile velocity 0 – 4294967295 U32 RW RxPDO
unit /s
6080h 00h Max motor speed r/min 0 – 4294967295 U32 RW RxPDO

332
Command
6081h 00h Profile velocity 0 – 4294967295 U32 RW RxPDO
unit /s
Command
6082h 00h End velocity 0 – 4294967295 U32 RW RxPDO
unit /s
Command
6083h 00h Profile acceleration 0 – 4294967295 U32 RW RxPDO
unit /s²
Command
6084h 00h Profile deceleration 0 – 4294967295 U32 RW RxPDO
unit / s²
Command
6085h 00h Quick stop deceleration 0 – 4294967295 U32 RW RxPDO
unit / s²
6086h 00h Motion profile type - -32768 – 32767 I16 RW RxPDO
6087h 00h Torque slope 0.1%/S 0 – 4294967295 U32 RW RxPDO
6088h 00h Torque profile type - -65535 I16 RW RxPDO
- Position encoder resolution - - - - -
00h Number of entries - 2 U8 RO NO
608Fh
01h SubIndex 001 pulse 1 – 4294967295 U32 RO NO
02h SubIndex 002 r (motor) 1 – 4294967295 U32 RO NO
- Gear ratio - - - - -
00h Number of entries - 2 U8 RO NO
6091h
01h SubIndex 001 r (motor) 1 – 4294967295 U32 RW NO
02h SubIndex 002 r (shaft) 1 – 4294967295 U32 RW NO
- Feed constant - - - - -
00h Number of entries - 2 U8 RO NO
6092h Command
01h SubIndex 001 1 – 4294967295 U32 RW NO
unit
02h SubIndex 002 r (shaft) 1 – 4294967295 U32 RW NO
6093h 00h Position factor No supported
6098h 00h Homing method - -128 – 127 I8 RW RxPDO
- Homing speeds - - - - -
00h Number of entries - 2 U8 RO NO
Command
6099h 01h SubIndex 001 0 – 4294967295 U32 RW RxPDO
unit /s
Command
02h SubIndex 002 0 – 4294967295 U32 RW RxPDO
unit/s
609Ah 00h Homing acceleration - 0 – 4294967295 U32 RW RxPDO
60A3h - Profile jerk use
60A4h 00h Profile jerk
The version cannot support these two parameters, for backup
01h SubIndex 001
02h SubIndex 002
60B0h 00h Position offset These three parameters are used for driving three loop control.
60B1h 00h Velocity offset Since the servo underlying algorithm does not support
feedforward control, these three parameters are not used, and
60B2h 00h Torque offset the modification will not affect the effect.
60B8h 00h Touch probe function - 0 - 65535 U16 RW RxPDO
60B9h 00h Touch probe status - 0 - 65535 U16 RO TxPDO
Command -2147483648 –
60BAh 00h Touch probe pos1 pos value I32 RO TxPDO
unit 2147483647
Touch probe pos1 neg Command -2147483648 –
60BBh 00h I32 RO TxPDO
value unit 2147483647
Command -2147483648 –
60BCh 00h Touch probe pos2 pos value I32 RO TxPDO
unit 2147483647
Touch probe pos2 neg Command -2147483648 –
60BDh 00h I32 RO TxPDO
value unit 2147483647

333
Interpolation sub mode
60C0h
select
- Interpolation data record
No supported
00h Number of entries
60C1h
01h SubIndex 001
02h SubIndex 002
- Interpolation time period
- - - - -
00h Number of entries - 2 U8 RO TxPDO
60C2h
01h SubIndex 001 - 0– 4294967295 U32 RW TxPDO
02h SubIndex 002 - 0– 4294967295 U32 RW TxPDO
Command
60C5h Max acceleration 0 – 4294967295 U32 RW RxPDO
unit /s²
Command
60C6h Max deceleration 0 – 4294967295 U32 RW RxPDO
unit/s²
60E0h 00h Positive torque limited No supported
60E1h 00h Negtive torque limited No supported
- Supported homing method - - - - TxPDO
00h Number of entries - 1 - 254 U8 RO TxPDO
1st supported homing
01h - 0 - 32767 U16 RO TxPDO
60E3h method
.. .. .. .. .. .. ..
32nd supported homing
20h - 0 - 32767 U16 RO TxPDO
method
60F2h 00h Positioning option code
Following error actual Command -2147483648 –
60F4h 00h I32 RO TxPDO
value unit 2147483647
Following error actual Command -2147483648 –
60FA 00h I32 RO TxPDO
value unit/s 2147483647
-2147483648 –
60FCh 00h Position demand value pulse I32 RO TxPDO
2147483647
60FDh 00h Digital inputs No supported
- Digital outputs
00h Number of entries
60FEh No supported
01h Physical outputs
02h Bit mask
Command
60FFh 00h Target velocity 0 – 4294967295 U32 RW RxPDO
unit /s
6502h 00h Supported drive modes 0-4294967295 U32 RO TxPDO
Note:
(1) The object dictionary default value of 607Bh (Position range limited) and 607Dh (softward position
limited): Min range limited: -2147483648; Max range limited: 2147483647.
This parameter modification does not work.
(2) 6086h (Motion profile type)
0: step type 1: slope type
This parameter is only fit for HM mode. In PP, PV mode, trajectory planning is directly used for slope
type.
In CSP and CSV mode, it is unnecessary to use this parameter, and the trajectory planning is completed
in the master station.
(3) 6088h (Torque profile type)
0: step type 1: slope type
In TQ mode, the slope type is used for torque planning directl, this parameter does not work.

334
Appendix 7. Key points for attention
(1) Do not activate the parameters when the servo is enabled. If you want to activate the parameters, please
activate them in the servo disabled state, otherwise the correct execution of the action cannot be guaranteed;
(2) If it is necessary to power down and power on the driver or the host, please power off and power on both,
otherwise the correct execution of the action cannot be guaranteed.
(3) In CSP, CSV and CST modes, do not manually modify the value of 6040h (control word) during motor
operation.

335
WUXI XINJE ELECTRIC CO., LTD.
4th Floor Building 7, Originality Industry
park, Liyuan Development Zone, Wuxi City,
Jiangsu Province
214072
Tel: 400-885-0136
Wechat ID Fax: (510) 85111290

You might also like