Changes for page 07 EtherCAT

Last modified by Iris on 2026/04/15 16:37

From version 2.1
edited by Iris
on 2026/03/30 17:52
Change comment: There is no comment for this version
To version 4.1
edited by Iris
on 2026/04/15 16:37
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -62,7 +62,7 @@
62 62  [[image:1744341765726-520.png]]
63 63  
64 64  
65 -=== ** Slave station parameters** ===
65 +=== **Slave station parameters** ===
66 66  
67 67  [[image:1744341765727-592.png]]
68 68  
... ... @@ -253,9 +253,13 @@
253 253  
254 254  In monitoring mode, click on the EtherCAT device interface in the project management interface.
255 255  
256 +(% style="text-align:center" %)
257 +[[image:1774921706980-630.png||height="388" width="320"]]
256 256  
257 257  At this time, the following interface appears. Different from the non-monitoring mode, [Write EEprom] appears. This button writes the alias to the corresponding servo.
258 258  
261 +(% style="text-align:center" %)
262 +[[image:1774921736912-237.png]]
259 259  
260 260  The execution rules for this key are:
261 261  
... ... @@ -264,31 +264,34 @@
264 264  Before OP, (SM1902 OFF) is aliased according to the link sequence Regardless of whether the model corresponds or not, set it directly. If there is no correspondence, the setting will fail.
265 265  
266 266  
271 +**Simple configuration instance**
267 267  
268 -=== **Simple configuration instance** ===
269 -
270 -
271 271  When an EtherCAT device configuration exists, open the EtherCAT configuration of the corresponding slave station.
272 272  
273 273  1Check [Start Expert Parameters] and [Alias Enable], and then configure the corresponding alias to be written into the "Alias Address"; 2 Save the configuration and download it to Run in PLC;
274 274  
277 +(% style="text-align:center" %)
278 +[[image:1774921785975-984.png]]
275 275  
276 276  When the link sequence corresponds, the corresponding servo can still be matched. 3Open the software device monitoring interface and observe that SM1902 is ON;
277 277  
278 -4 Open the EtherCAT configuration interface, click [Write EEprom], and write the alias to Servo;
282 +Open the EtherCAT configuration interface, click [Write EEprom], and write the alias to Servo;
279 279  
284 +(% style="text-align:center" %)
285 +[[image:1774921849319-426.png]]
280 280  
287 +(% style="text-align:center" %)
288 +[[image:1774921877348-328.png]]
281 281  
282 -
283 -
284 284  Restart the servo and PLC can be matched by alias.
285 285  
292 +(% style="text-align:center" %)
293 +[[image:1774921899334-213.png||height="228" width="362"]]
286 286  
287 287  Then check [Device optional] in edit mode.
288 288  
297 +[[image:1774921964285-625.png]]
289 289  
290 -
291 -
292 292  After removing the linked EtherCAT device and re-downloading the ladder diagram that checks the optional device, the ladder diagram can still start normally. However, MC_POWER corresponding to the axis cannot be started (but no error will be reported), and the IO mapping does not work.
293 293  
294 294  In the same ladder diagram, connect the corresponding equipment, and then stop->run. The corresponding device of run PLC can be used normally.
... ... @@ -296,9 +296,9 @@
296 296  
297 297  === **Expert parameters** ===
298 298  
306 +(% style="text-align:center" %)
307 +[[image:1774922011354-552.png]]
299 299  
300 -
301 -
302 302  . Select ① Synchronization Manager table area, select input and output, ② PDO allocation table area will be updated to synchronization manager output or the PDO allocation list corresponding to input;
303 303  
304 304  . Check or uncheck “enable ② PDO allocation table area”, which will be fed back to the ③ PDO list;. Select the checked row in the ③ PDO list to update the ④ PDO content table;
... ... @@ -312,18 +312,22 @@
312 312  
313 313  The process data interface is basically consistent with the expert process parameter functions except that PDO content cannot be customized.
314 314  
322 +(% style="text-align:center" %)
323 +[[image:1774922053648-913.png]]
315 315  
316 -
317 317  === **I/O Mapping** ===
318 318  
319 319  
320 320  For PDO content set by process parameters, you can select device or variables to map.
321 321  
330 +(% style="text-align:center" %)
331 +[[image:1774922078808-508.png]]
322 322  
323 323  === **Start Parameters** ===
324 324  
335 +(% style="text-align:center" %)
336 +[[image:1774922137069-776.png]]
325 325  
326 -
327 327  ① Add
328 328  
329 329  Right-click the menu to select [Add] or directly click [Add] to enter the interface for adding startup parameters, select the corresponding item, and add startup parameters. ② Delete
... ... @@ -330,16 +330,13 @@
330 330  
331 331  After selecting the parameter content to be deleted, right-click the menu to select delete or directly click “Delete”.
332 332  
333 -
334 -
335 -
336 336  === **Slave station information** ===
337 337  
338 -
339 339  Display slave station information.
340 340  
348 +(% style="text-align:center" %)
349 +[[image:1774922176699-927.png]]
341 341  
342 -
343 343  === **Device scanning** ===
344 344  
345 345  EtherCAT's device scanning supports direct scanning after connecting or unloading the device.
... ... @@ -371,4 +371,243 @@
371 371  (% style="text-align:center" %)
372 372  [[image:1774864251046-293.jpeg]]
373 373  
374 -
382 +== **EtherCAT instruction** ==
383 +
384 +=== **ETC_READPARAMETER_COE** ===
385 +
386 +[[image:1774922271272-193.png]]
387 +
388 +This function is mainly used to read the SDO parameters of the servo.
389 +
390 +**Content, range, data type**
391 +
392 +|**Instruction**|**Pin type**|**Parameter**|**Variable type**|**Can be empty or not**|**Range**|**Description**
393 +|(% rowspan="12" %)ETC_READPARAMETER_COE|(% rowspan="5" %)Input|Enable|BOOL|No|TRUE/FALSE|Read Servo SDO enable
394 +|SlaveID|WORD|No|0 to range of EtherCAT slaves that can be linked|Set according to the ID configured in the interface. If the device is optional, an error will be reported even if the device does not actually exist
395 +|Index|WORD|No|0 to 65535|Index, fill in according to the information provided by the servo
396 +|SubIndex|WORD|No|0 to 65535|Sub-index, fill in according to the information provided by the servo
397 +|DstLength|WORD|No|-|Data length, fill in according to the information provided by the servo.
398 +|(% rowspan="7" %)Output|Done|BOOL|Yes|TRUE/FALSE|When the value is obtained, Done will be set to TRUE, and if Done is not read, it will be set to FALSE
399 +|Busy|BOOL|Yes|TRUE/FALSE|Busy is TRUE during reading
400 +|RelLength|WORD|Yes|-|Actual length
401 +|Data|DWORD|Yes|-|Read data
402 +|AbrotCode|DWORD|Yes|TRUE/FALSE|Interrupt code returned by the servo, refer to the EtherCAT standard document for information
403 +|Error|BOOL|Yes|TRUE/FALSE|Error
404 +|ErrorID|DWORD|Yes|See error code for details|Error code
405 +
406 +**Device used**
407 +
408 +|(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="22" %)**Device**|**Offset modification**|**Double word extension**|**Pulse-type expansion**
409 +|**X**|**Y**|**M**|**S**|**SM**|**T(Bit)**|**HSC(Bit)**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**DXX**|**XXP**
410 +|(% rowspan="12" %)(((
411 +ETC_READ
412 +
413 +PARAMETER_COE
414 +)))|Enable|●|●|●|●|●| | | | | | | | | | | | | | | | | | | |
415 +|SlaveID| | | | | | | | | | | | | | | | | | | | | | | | |
416 +|Index| | | | | | | | | | | | | | | | | | | | | | | | |
417 +|SubIndex| | | | | | | | | | | | | | | | | | | | | | | | |
418 +|DstLength| | | | | | | | | | | | | | | | | | | | | | | | |
419 +|Done| |●|●|●|●| | | | | | | | | | | | | | | | | | | |
420 +|Busy| |●|●|●|●| | | | | | | | | | | | | | | | | | | |
421 +|RelLength| | | | | | | | | | | | | | | | | | | | | | | | |
422 +|Data| | | | | | | | | | | | | | | | | | | | | | | | |
423 +|AbrotCode| | | | | | | | | | | | | | | | | | | | | | | | |
424 +|Error| |●|●|●|●| | | | | | | | | | | | | | | | | | | |
425 +|ErrorID| | | | | | | | | | | | | | | | | | | | | | | | |
426 +
427 +* Used to read the address values of the servo index and subindex, with the correct length.
428 +* Function:
429 +
430 +① When Enable is continuously set to ON, it will continuously read the SDO value into Data. Upon receiving a value, it will set Done to ON and append the new value to Data. If no value is read, Done will be set to OFF.
431 +
432 +② When Enable is triggered by an edge, it will read data once. During this process, Busy is TRUE. After reading the data, it will write the obtained value to Data, at which point Done will be set to ON.
433 +
434 +③ If the corresponding slave cannot be found after Enable is triggered, a 0x27c3 error will be reported.
435 +
436 +④ If the corresponding index, sub-index, or length is incorrect after Enable is triggered, an error will occur. The specific error needs to be checked according to AbrotCode.
437 +
438 +**✎Note:**Reading data takes time, and reading too much data at once will take a long time to update the data.
439 +
440 +**Error code**
441 +
442 +|**Error code**|**Content**
443 +|0x27c3|Axis not found (Check if the input parameters are correct)
444 +|0x27D8|SDO access length error (Check the length used in SDO read and write instructions)
445 +|0x27CD|SDO read error. Check the address, retry the write operation, or increase the timeout period.
446 +|0x27CC|SDO write error. Check the address, retry the write operation, or increase the timeout period.
447 +
448 +**Example**
449 +
450 +[[image:1774922271273-764.png]]
451 +
452 +Read the value from Index 0x6064, Subindex 0, with a length of 2, and display the read value in the Data field.
453 +
454 +
455 +**ETC_WRITEPARAMETER_COE**
456 +
457 +[[image:1774922271274-351.png]]
458 +
459 +This function is mainly used to write SDO parameters to the servo drive.
460 +
461 +**Content, range, data types**
462 +
463 +|**Instruction**|**Pin type**|**Parameter**|**Variable type**|**Can be empty or not**|**Range**|**Description**
464 +|(% rowspan="10" %)ETC_WRITEPARAMETER_COE|(% rowspan="5" %)Input|Enable|BOOL|No|TRUE/FALSE|Read Servo SDO enable
465 +|SlaveID|WORD|No|0 to range of EtherCAT slaves that can be linked|Set according to the ID configured in the interface. If the device is optional, an error will be reported even if the device does not actually exist
466 +|Index|WORD|No|0~~65535|Index, fill in according to the information provided by the servo
467 +|SubIndex|WORD|No|0~~65535|Sub-index, fill in according to the information provided by the servo
468 +|DstLength|WORD|No|-|Data length, fill in according to the information provided by the servo.
469 +|(% rowspan="5" %)Output|Done|BOOL|Yes|TRUE/FALSE|When the value is obtained, Done will be set to TRUE, and if Done is not read, it will be set to FALSE
470 +|Busy|BOOL|Yes|TRUE/FALSE|Busy is TRUE during reading
471 +|AbrotCode|DWORD|Yes|TRUE/FALSE|Interrupt code returned by the servo, refer to the EtherCAT standard document for information
472 +|Error|BOOL|Yes|TRUE/FALSE|Error
473 +|ErrorID|DWORD|Yes|See error code for details|Error code
474 +
475 +**Device used**
476 +
477 +|(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="22" %)**Device**|**Offset modification**|**Double word extension**|**Pulse-type expansion**
478 +|**X**|**Y**|**M**|**S**|**SM**|**T(Bit)**|**HSC(Bit)**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**DXX**|**XXP**
479 +|(% rowspan="10" %)(((
480 +ETC_WRITE
481 +
482 +PARAMETER_COE
483 +)))|Enable|●|●|●|●|●| | | | | | | | | | | | | | | | | | | |
484 +|SlaveID| | | | | | | | | | | | | | | | | | | | | | | | |
485 +|Index| | | | | | | | | | | | | | | | | | | | | | | | |
486 +|SubIndex| | | | | | | | | | | | | | | | | | | | | | | | |
487 +|DstLength| | | | | | | | | | | | | | | | | | | | | | | | |
488 +|Done| |●|●|●|●| | | | | | | | | | | | | | | | | | | |
489 +|Busy| |●|●|●|●| | | | | | | | | | | | | | | | | | | |
490 +|AbrotCode| | | | | | | | | | | | | | | | | | | | | | | | |
491 +|Error| |●|●|●|●| | | | | | | | | | | | | | | | | | | |
492 +|ErrorID| | | | | | | | | | | | | | | | | | | | | | | | |
493 +
494 +* Used to read the address values of the servo index and subindex, with the correct length.
495 +* Function:
496 +
497 +① When Enable is continuously set to ON, it will continuously read the SDO value into Data. Upon receiving a value, it will set Done to ON and append the new value to Data. If no value is read, Done will be set to OFF.
498 +
499 +② When Enable is triggered by an edge, it will read data once. During this process, Busy is TRUE. After reading the data, it will write the obtained value to Data, at which point Done will be set to ON.
500 +
501 +③ If the corresponding slave cannot be found after Enable is triggered, a 0x27c3 error will be reported.
502 +
503 +④ If the corresponding index, sub-index, or length is incorrect after Enable is triggered, an error will occur. The specific error needs to be checked according to AbrotCode.
504 +
505 +**✎Note**:Reading data takes time, and reading too much data at once will take a long time to update the data.
506 +
507 +**Error code**
508 +
509 +|**Error code**|**Content**
510 +|0x27c3|Corresponding slave station not found (Check if the input parameters are correct)
511 +|0x27D8|SDO access length error (Check the length used in SDO read and write instructions)
512 +|0x27CD|SDO read error. Check the address, retry the write operation, or increase the timeout period.
513 +|0x27CC|SDO write error. Check the address, retry the write operation, or increase the timeout period.
514 +
515 +**Example**
516 +
517 +[[image:1774922271275-534.png]]
518 +
519 +Write the value 131072 to the address of index 0x6091, subindex 1 and data length 4, read it back via the ETC_READPARAMETER_COE.
520 +
521 +=== **IODRVETHERCAT** ===
522 +
523 +[[image:1774922271276-492.png]]
524 +
525 +This function is mainly used to start, restart, and shut down the EtherCAT bus.
526 +
527 +**Content, range, data type**
528 +
529 +|**Instruction**|**Pin type**|**Parameter**|**Variable type**|**Can be empty or not**|**Range**|**Description**
530 +|(% rowspan="6" %)(((
531 +IODRV
532 +
533 +ETHERCAT
534 +)))|(% rowspan="2" %)Input|Restart|BOOL|No|TRUE/FALSE|Trigger restart/start of the EtherCAT bus
535 +|StopBus|BOOL|No|TRUE/FALSE|Trigger shutdown of the EtherCAT bus
536 +|(% rowspan="4" %)Output|ConfigFinished|BOOL|Yes|TRUE/FALSE|Configuration completed (TRUE)
537 +|DistributedClockInSync|BOOL|Yes|TRUE/FALSE|Sync clock initialization completed (TRUE)
538 +|Error|BOOL|Yes|TRUE/FALSE|Error occurred (TRUE)
539 +|SyncInWindow|BOOL|Yes|See error code for details   |Sync window initialization completed (TRUE)
540 +
541 +**Device used**
542 +
543 +|(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="22" %)**Device**|**Offset modification**|**Double word extension**|**Pulse-type expansion**
544 +|**X**|**Y**|**M**|**S**|**SM**|**T(Bit)**|**HSC(Bit)**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**DXX**|**XXP**
545 +|(% rowspan="6" %)(((
546 +IODRV
547 +
548 +ETHERCAT
549 +)))|Restart|●|●|●|●|●| | | | | | | | | | | | | | | | | | | |
550 +|StopBus|●|●|●|●|●| | | | | | | | | | | | | | | | | | | |
551 +|ConfigFinished| |●|●|●|●| | | | | | | | | | | | | | | | | | | |
552 +|(((
553 +Distributed
554 +
555 +ClockInSync
556 +)))| |●|●|●|●| | | | | | | | | | | | | | | | | | | |
557 +|Error| |●|●|●|●| | | | | | | | | | | | | | | | | | | |
558 +|SyncInWindow| |●|●|●|●| | | | | | | | | | | | | | | | | | | |
559 +
560 +* This function is mainly used to start, restart, and shut down the EtherCAT bus.
561 +* Function:
562 +
563 +① Setting Restart to TRUE or triggering it on a rising edge will execute the EtherCAT bus restart procedure. ConfigFinished, DistributedClockInSync, and SyncInWindow will be set to TRUE according to the initialization order. An initialization exception (Error) will be set to TRUE.
564 +
565 +② Setting StopBus to TRUE will shut down the EtherCAT bus. ConfigFinished, DistributedClockInSync, and SyncInWindow will be set to FALSE.
566 +
567 +③ Setting both Restart and StopBus to TRUE simultaneously will be considered an exception, and Error will be set to TRUE. The error code will be output from the PLC error address.
568 +
569 +**✎Note: **Reading data takes time, and reading too much data at once will take a long time to update the data.
570 +
571 +**Error code**
572 +
573 +|**Error code**|**Content**
574 +|0x27c3|Corresponding slave station not found (Check if the input parameters are correct)
575 +|0x27D8|SDO access length error (Check the length used in SDO read and write instructions)
576 +|0x27CD|SDO read error. Check the address, retry the write operation, or increase the timeout period.
577 +|0x27CC|SDO write error. Check the address, retry the write operation, or increase the timeout period.
578 +
579 +**Example**
580 +
581 +[[image:1774922271276-525.png]]
582 +
583 +Setting Restart to TRUE starts the EtherCAT master, and SM1902 is set to TRUE after successful startup.
584 +
585 +[[image:1774922271277-338.png]]
586 +
587 +Setting StopBus to TRUE shuts down the EtherCAT master, and SM1902 is set to FALSE synchronously.
588 +
589 +**AbrotCode exception codes**
590 +
591 +|**AbrotCode exception codes**|**Corresponding exception**
592 +|0x00000000|No SDO error
593 +|0x05030000|Toggle bit not changed
594 +|0x05040000|SDO timeout
595 +|0x05040001|Instruction specifier unknown
596 +|0x05040005|Insufficient memory event explanation
597 +|0x06010000|Access not supported
598 +|0x06010001|Write-only entry
599 +|0x06010002|Read-only entry
600 +|0x06010003|Entry cannot be written because Subindex 0 is not 0
601 +|0x06010004|Object cannot be accessed
602 +|0x06020000|Object does not exist
603 +|0x06040041|Object cannot be mapped to PDO
604 +|0x06040042|Mapped object exceeds PDO
605 +|0x06040043|Parameter incompatible
606 +|0x06040047|Device incompatible
607 +|0x06060000|Hardware error
608 +|0x06070010|Parameter length error
609 +|0x06070012|Parameter too long
610 +|0x06070013|Parameter too short
611 +|0x06090011|Subindex (entry) does not exist
612 +|0x06090030|Value exceeded
613 +|0x06090031|Value too large
614 +|0x06090032|Threshold too small
615 +|0x06090033|Detected module identification list (0xF030) does not match configured module identification list
616 +|0x06090036|Less than minimum value
617 +|0x08000000|General error
618 +|0x08000020|Data not readable/writable event explanation
619 +|0x08000021|Data inaccessible due to local control
620 +|0x08000022|Event explanation: unable to read or write data in current state
621 +|0x08000023|Object not in object dictionary
1774921706980-630.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +298.1 KB
Content
1774921736912-237.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +119.5 KB
Content
1774921785975-984.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +120.2 KB
Content
1774921849319-426.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +193.3 KB
Content
1774921877348-328.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +121.5 KB
Content
1774921899334-213.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +48.2 KB
Content
1774921964285-625.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +110.2 KB
Content
1774922011354-552.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +580.7 KB
Content
1774922053648-913.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +152.8 KB
Content
1774922069148-945.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +106.9 KB
Content
1774922078808-508.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +106.9 KB
Content
1774922137069-776.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +105.2 KB
Content
1774922176699-927.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +39.1 KB
Content
1774922271272-193.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +4.2 KB
Content
1774922271273-764.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +10.1 KB
Content
1774922271274-351.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +3.9 KB
Content
1774922271275-534.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +17.5 KB
Content
1774922271276-492.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +3.9 KB
Content
1774922271276-525.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +15.5 KB
Content
1774922271277-338.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +16.0 KB
Content
wps60.jpg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +407.4 KB
Content
wps61.jpg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +678.4 KB
Content