Search Results (Searched for: halpin)
- cekaa

04 Apr 2026 06:37
Replied by cekaa on topic Hello, I would like to add an EtherCAT IO device. What should I do
Hello, I would like to add an EtherCAT IO device. What should I do
Category: EtherCAT
I struggled a lot because it was a topic I didn't understand at all. I added the pdos and the lcec_configgen result, but I didn't understand what kind of structure I was supposed to create.
When 32 bit = 16 bit
ceka@debian:~$ ethercat slave
0 0:0 OP + XINJE-DS5C1 EtherCAT(CoE) Drive Rev4.0 v3.7.70
1 0:1 OP + XINJE-DS5C1 EtherCAT(CoE) Drive Rev4.0 v3.7.70
2 0:2 OP + XINJE-DS5C1 EtherCAT(CoE) Drive Rev4.0 v3.7.70
3 0:3 SAFEOP+ERROR E EM32DX-E4 ????????????????????????????????????????????
ceka@debian:~$
SAFEOP+ERROR E EM32DX-E4
old now
ceka@debian:~$ ethercat pdos
=== Master 0, Slave 3 ===
SM0: PhysAddr 0x1000, DefaultSize 128, ControlRegister 0x26, Enable 1
SM1: PhysAddr 0x1400, DefaultSize 128, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1800, DefaultSize 5, ControlRegister 0x64, Enable 1
RxPDO 0x1600 "RxPDO0-Map"
PDO entry 0x7000:01, 16 bit, "OUT"
SM3: PhysAddr 0x1c00, DefaultSize 7, ControlRegister 0x20, Enable 1
TxPDO 0x1a00 "TxPDO1-Map"
PDO entry 0x6000:01, 16 bit, "IN"
ceka@debian:~$
lcec_configgen
<slave idx="3" type="generic" vid="0x00004321" pid="0x01100073" name="D4">
<!--EM32DX-E4-->
<syncManager idx="0" dir="in"/>
<syncManager idx="1" dir="out"/>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<!--RxPDO0-Map-->
<pdoEntry idx="7000" subIdx="01" bitLen="16" halPin="out" halType="u32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<!--TxPDO1-Map-->
<pdoEntry idx="6000" subIdx="01" bitLen="16" halPin="in" halType="u32"/>
</pdo>
</syncManager>
</slave>
</master>
</masters>
ceka@debian:~$
Would the `lcec_configgen` command help? Could someone write the correct configuration for me?
When 32 bit = 16 bit
ceka@debian:~$ ethercat slave
0 0:0 OP + XINJE-DS5C1 EtherCAT(CoE) Drive Rev4.0 v3.7.70
1 0:1 OP + XINJE-DS5C1 EtherCAT(CoE) Drive Rev4.0 v3.7.70
2 0:2 OP + XINJE-DS5C1 EtherCAT(CoE) Drive Rev4.0 v3.7.70
3 0:3 SAFEOP+ERROR E EM32DX-E4 ????????????????????????????????????????????
ceka@debian:~$
SAFEOP+ERROR E EM32DX-E4
old now
ceka@debian:~$ ethercat pdos
=== Master 0, Slave 3 ===
SM0: PhysAddr 0x1000, DefaultSize 128, ControlRegister 0x26, Enable 1
SM1: PhysAddr 0x1400, DefaultSize 128, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1800, DefaultSize 5, ControlRegister 0x64, Enable 1
RxPDO 0x1600 "RxPDO0-Map"
PDO entry 0x7000:01, 16 bit, "OUT"
SM3: PhysAddr 0x1c00, DefaultSize 7, ControlRegister 0x20, Enable 1
TxPDO 0x1a00 "TxPDO1-Map"
PDO entry 0x6000:01, 16 bit, "IN"
ceka@debian:~$
lcec_configgen
<slave idx="3" type="generic" vid="0x00004321" pid="0x01100073" name="D4">
<!--EM32DX-E4-->
<syncManager idx="0" dir="in"/>
<syncManager idx="1" dir="out"/>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<!--RxPDO0-Map-->
<pdoEntry idx="7000" subIdx="01" bitLen="16" halPin="out" halType="u32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<!--TxPDO1-Map-->
<pdoEntry idx="6000" subIdx="01" bitLen="16" halPin="in" halType="u32"/>
</pdo>
</syncManager>
</slave>
</master>
</masters>
ceka@debian:~$
Would the `lcec_configgen` command help? Could someone write the correct configuration for me?
- cekaa

02 Apr 2026 11:13
Replied by cekaa on topic Hello, I would like to add an EtherCAT IO device. What should I do
Hello, I would like to add an EtherCAT IO device. What should I do
Category: EtherCAT
Hi, I have the same problem. How did you switch to XML OP mode?
Leidshine em32dx-e
ceka@debian:~$ ethercat slave
0 0:0 OP + XINJE-DS5C1 EtherCAT(CoE) Drive Rev4.0 v3.7.70
1 0:1 OP + XINJE-DS5C1 EtherCAT(CoE) Drive Rev4.0 v3.7.70
2 0:2 OP + XINJE-DS5C1 EtherCAT(CoE) Drive Rev4.0 v3.7.70
3 0:3 PREOP E EM32DX-E4
ceka@debian:~$
main xml
slave idx="3" type="generic" vid="0x00004321" pid="0x01100073" configPdos="true">
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<!-- Digtial Outputs (RTEC1616)-->
<pdoEntry idx="0x7000," subIdx="01" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="out-01" halType="bit"/>
<complexEntry bitLen="1" halPin="out-02" halType="bit"/>
<complexEntry bitLen="1" halPin="out-03" halType="bit"/>
<complexEntry bitLen="1" halPin="out-04" halType="bit"/>
<complexEntry bitLen="1" halPin="out-05" halType="bit"/>
<complexEntry bitLen="1" halPin="out-06" halType="bit"/>
<complexEntry bitLen="1" halPin="out-07" halType="bit"/>
<complexEntry bitLen="1" halPin="out-08" halType="bit"/>
<complexEntry bitLen="1" halPin="out-09" halType="bit"/>
<complexEntry bitLen="1" halPin="out-10" halType="bit"/>
<complexEntry bitLen="1" halPin="out-11" halType="bit"/>
<complexEntry bitLen="1" halPin="out-12" halType="bit"/>
<complexEntry bitLen="1" halPin="out-13" halType="bit"/>
<complexEntry bitLen="1" halPin="out-14" halType="bit"/>
<complexEntry bitLen="1" halPin="out-15" halType="bit"/>
<complexEntry bitLen="1" halPin="out-16" halType="bit"/>
</pdoEntry>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="0x1a00,">
<!-- Digtial_inputs -->
<pdoEntry idx="0x6000," subIdx="01" bitLen="32" halType="complex">
<complexEntry bitLen="1" halPin="in-01" halType="bit"/>
<complexEntry bitLen="1" halPin="in-02" halType="bit"/>
<complexEntry bitLen="1" halPin="in-03" halType="bit"/>
<complexEntry bitLen="1" halPin="in-04" halType="bit"/>
<complexEntry bitLen="1" halPin="in-05" halType="bit"/>
<complexEntry bitLen="1" halPin="in-06" halType="bit"/>
<complexEntry bitLen="1" halPin="in-07" halType="bit"/>
<complexEntry bitLen="1" halPin="in-08" halType="bit"/>
<complexEntry bitLen="1" halPin="in-09" halType="bit"/>
<complexEntry bitLen="1" halPin="in-10" halType="bit"/>
<complexEntry bitLen="1" halPin="in-11" halType="bit"/>
<complexEntry bitLen="1" halPin="in-12" halType="bit"/>
<complexEntry bitLen="1" halPin="in-13" halType="bit"/>
<complexEntry bitLen="1" halPin="in-14" halType="bit"/>
<complexEntry bitLen="1" halPin="in-15" halType="bit"/>
<complexEntry bitLen="1" halPin="in-16" halType="bit"/>
</pdoEntry>
</pdo>
</syncManager>
</slave>
</master>
</masters>
Leidshine em32dx-e
ceka@debian:~$ ethercat slave
0 0:0 OP + XINJE-DS5C1 EtherCAT(CoE) Drive Rev4.0 v3.7.70
1 0:1 OP + XINJE-DS5C1 EtherCAT(CoE) Drive Rev4.0 v3.7.70
2 0:2 OP + XINJE-DS5C1 EtherCAT(CoE) Drive Rev4.0 v3.7.70
3 0:3 PREOP E EM32DX-E4
ceka@debian:~$
main xml
slave idx="3" type="generic" vid="0x00004321" pid="0x01100073" configPdos="true">
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<!-- Digtial Outputs (RTEC1616)-->
<pdoEntry idx="0x7000," subIdx="01" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="out-01" halType="bit"/>
<complexEntry bitLen="1" halPin="out-02" halType="bit"/>
<complexEntry bitLen="1" halPin="out-03" halType="bit"/>
<complexEntry bitLen="1" halPin="out-04" halType="bit"/>
<complexEntry bitLen="1" halPin="out-05" halType="bit"/>
<complexEntry bitLen="1" halPin="out-06" halType="bit"/>
<complexEntry bitLen="1" halPin="out-07" halType="bit"/>
<complexEntry bitLen="1" halPin="out-08" halType="bit"/>
<complexEntry bitLen="1" halPin="out-09" halType="bit"/>
<complexEntry bitLen="1" halPin="out-10" halType="bit"/>
<complexEntry bitLen="1" halPin="out-11" halType="bit"/>
<complexEntry bitLen="1" halPin="out-12" halType="bit"/>
<complexEntry bitLen="1" halPin="out-13" halType="bit"/>
<complexEntry bitLen="1" halPin="out-14" halType="bit"/>
<complexEntry bitLen="1" halPin="out-15" halType="bit"/>
<complexEntry bitLen="1" halPin="out-16" halType="bit"/>
</pdoEntry>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="0x1a00,">
<!-- Digtial_inputs -->
<pdoEntry idx="0x6000," subIdx="01" bitLen="32" halType="complex">
<complexEntry bitLen="1" halPin="in-01" halType="bit"/>
<complexEntry bitLen="1" halPin="in-02" halType="bit"/>
<complexEntry bitLen="1" halPin="in-03" halType="bit"/>
<complexEntry bitLen="1" halPin="in-04" halType="bit"/>
<complexEntry bitLen="1" halPin="in-05" halType="bit"/>
<complexEntry bitLen="1" halPin="in-06" halType="bit"/>
<complexEntry bitLen="1" halPin="in-07" halType="bit"/>
<complexEntry bitLen="1" halPin="in-08" halType="bit"/>
<complexEntry bitLen="1" halPin="in-09" halType="bit"/>
<complexEntry bitLen="1" halPin="in-10" halType="bit"/>
<complexEntry bitLen="1" halPin="in-11" halType="bit"/>
<complexEntry bitLen="1" halPin="in-12" halType="bit"/>
<complexEntry bitLen="1" halPin="in-13" halType="bit"/>
<complexEntry bitLen="1" halPin="in-14" halType="bit"/>
<complexEntry bitLen="1" halPin="in-15" halType="bit"/>
<complexEntry bitLen="1" halPin="in-16" halType="bit"/>
</pdoEntry>
</pdo>
</syncManager>
</slave>
</master>
</masters>
- andrax

04 Mar 2026 17:44 - 04 Mar 2026 17:46
Replied by andrax on topic CiA 402 Folder Missing
CiA 402 Folder Missing
Category: EtherCAT
Sorry, my mistake, I misread something.
Your sync errors are gone.
But there is another problem,
Your output ethercat pdos:
[/code]
[/code]
[/code][/code]
Your sync errors are gone.
But there is another problem,
Your output ethercat pdos:
[code] RxPDO 0x1701 "RxPDO"
PDO entry 0x6040:00, 16 bit, "ControlWord"
PDO entry 0x607a:00, 32 bit, "Target position"
PDO entry 0x60b8:00, 16 bit, "Touch probe function"
PDO entry 0x6060:00, 8 bit, "Modes of operation"
PDO entry 0x0000:00, 0 bit, "Gap"
PDO entry 0x0000:00, 0 bit, "Gap"
PDO entry 0x0000:00, 0 bit, "Gap"
PDO entry 0x0000:00, 0 bit, "Gap"
PDO entry 0x0000:00, 0 bit, "Gap"
PDO entry 0x0000:00, 0 bit, "Gap"
SM3: PhysAddr 0x1400, DefaultSize 15, ControlRegister 0x20, Enable 1
TxPDO 0x1b01 "TxPDO"
PDO entry 0x603f:00, 16 bit, "Error Code"
PDO entry 0x6041:00, 16 bit, "statusWord"
PDO entry 0x6064:00, 32 bit, "Position actual value"
PDO entry 0x6077:00, 16 bit, "Torque actual value"
PDO entry 0x60f4:00, 32 bit, "Following error actual value"
PDO entry 0x6061:00, 8 bit, "Modes of operation display"
PDO entry 0x0000:00, 0 bit, "Gap"
PDO entry 0x0000:00, 0 bit, "Gap"
PDO entry 0x0000:00, 0 bit, "Gap"
PDO entry 0x0000:00, 0 bit, "Gap"Your XML:[code][code]<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="control-word" halType="u32"/>
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="control-mode" halType="s32"/>
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
<pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
<pdoEntry idx="607C" subIdx="00" bitLen="32" halPin="home-offset" halType="s32"/>
<pdoEntry idx="6098" subIdx="00" bitLen="8" halPin="homing-method" halType="s32"/>
<pdoEntry idx="6099" subIdx="01" bitLen="32" halPin="homing-high-velocity" halType="u32"/>
<pdoEntry idx="6099" subIdx="02" bitLen="32" halPin="homing-low-velocity" halType="u32"/>
<pdoEntry idx="609A" subIdx="00" bitLen="32" halPin="homing-acceleration" halType="u32"/>[/code]
[code]The addresses are missing in the pdos, which is apparently why the errors occur.
However, the addresses are found in the sdos.
I don't know if they need to be configured manually. What does the manual say?- tuxcnc
- tuxcnc
16 Feb 2026 21:28
Now works.
(Not usable yet, but homing and moves).
XML config file:Script:And HAL only for testing:No speed and acceleration control, it is to do...
Replied by tuxcnc on topic EtherCAT driver as simply positioner
EtherCAT driver as simply positioner
Category: EtherCAT
It is it.Set controlword to 6, 7, 15 (op-enabled)
Now works.
(Not usable yet, but homing and moves).
XML config file:
<slave idx="0" type="generic" vid="0000ffff" pid="00000001" configPdos="true">
<!--
Distributed Clock Configuration
assignActivate: Activation time for DC in ms
sync0Cycle: Sync0 cycle multiplier (*1 = 1 ms)
sync0Shift: Phase shift for Sync0 event
-->
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
<sdoConfig idx="6098" subIdx="00"><sdoDataRaw data ="13 00"/></sdoConfig> <!-- Home mode 19 (use HOME-switch input)-->
<!--
Sync Manager for Output (Commands sent to drive)
idx: Sync Manager index (2 is standard for outputs)
dir: Direction (out = from master to slave)
-->
<syncManager idx="2" dir="out">
<!--
Process Data Object (PDO) for Output
idx: PDO index (1600h is standard for TxPDO)
-->
<pdo idx="1600">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="controlword" halType="u32"/>
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
<pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-speed" halType="s32"/>
</pdo>
</syncManager>
<!--
Sync Manager for Input (Status received from drive)
idx: Sync Manager index (3 is standard for inputs)
dir: Direction (in = from slave to master)
-->
<syncManager idx="3" dir="in">
<!--
Process Data Object (PDO) for Input
idx: PDO index (1A00h is standard for RxPDO)
-->
<pdo idx="1a00">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="statusword" halType="u32"/>
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>
<pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>
<pdoEntry idx="6077" subIdx="00" bitLen="16" halPin="actual-torque" halType="s32"/>
<!-- Digtial_inputs (cia402 compatible) -->
<pdoEntry idx="60FD" subIdx="0" bitLen="32" halType="complex">
<complexEntry bitLen="1" halPin="CW-limit" halType="bit"/>
<complexEntry bitLen="1" halPin="CCW-limit" halType="bit"/>
<complexEntry bitLen="1" halPin="HOME-switch" halType="bit"/>
<complexEntry bitLen="23"/>
<complexEntry bitLen="1" halPin="IN-4" halType="bit"/>
</pdoEntry>
</pdo>
</syncManager>
</slave>#!/bin/bash
halcmd setp lcec.0.0.opmode 6
halcmd setp lcec.0.0.controlword 6
halcmd setp lcec.0.0.controlword 7
halcmd setp lcec.0.0.controlword 15
halcmd setp lcec.0.0.controlword 31
sleep 2
halcmd setp lcec.0.0.opmode 8
halcmd setp lcec.0.0.controlword 6
halcmd setp lcec.0.0.controlword 7
halcmd setp lcec.0.0.controlword 15
halcmd setp lcec.0.0.target-speed 1
halcmd setp lcec.0.0.target-position 4000
exit 0loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadusr -W lcec_conf ethercat-conf.xml
loadrt lcec
addf lcec.read-all servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf lcec.write-all servo-thread
setp iocontrol.0.emc-enable-in 1- Hakan
- Hakan
06 Feb 2026 23:04 - 06 Feb 2026 23:22
Replied by Hakan on topic Stepperonline Y series/ YAKO YKD2608PE configuration
Stepperonline Y series/ YAKO YKD2608PE configuration
Category: EtherCAT
There is some mismatch with the numbering.
The pattern is lcec.<master idx>.<slave idx>.halPinName
master idx is always 0 for you. Slave idx is 0-3 in ethercat-conf.xml
but 3-6 in the hal file. They must agree.
Go through the hal file and compare with ethercat-conf.xml so you
refer to what you intend to.
Oh, wait! There is the name="D1" field used. Then the hal pin is called lcec.0.D1.halPinName.
With that info, rename the lcec variables in the hal file. D1, D2, D3 etc.
Many of us use a descriptive name like X instead of D1 and so on.
The pattern is lcec.<master idx>.<slave idx>.halPinName
master idx is always 0 for you. Slave idx is 0-3 in ethercat-conf.xml
but 3-6 in the hal file. They must agree.
Go through the hal file and compare with ethercat-conf.xml so you
refer to what you intend to.
Oh, wait! There is the name="D1" field used. Then the hal pin is called lcec.0.D1.halPinName.
With that info, rename the lcec variables in the hal file. D1, D2, D3 etc.
Many of us use a descriptive name like X instead of D1 and so on.
- Hakan
- Hakan
04 Feb 2026 18:24
Replied by Hakan on topic Stepperonline Y series/ YAKO YKD2608PE configuration
Stepperonline Y series/ YAKO YKD2608PE configuration
Category: EtherCAT
That seems to be ok.
The error message is in the output from the linuxcnc command
And if you look in the ethercat-conf.xml you find the word BLANK
In place of BLANK there should be one of the hal types u32, s32, float-ieee, bit.
Have a look at the ethercat-conf.xml in this example I often refer to
github.com/dbraun1981/hal-cia402/tree/main/example
Modify both the halType and the halPin .
This example also shows how you use the cia402 component to
connect the servo drives to the joints.
The error message is in the output from the linuxcnc command
And if you look in the ethercat-conf.xml you find the word BLANK
In place of BLANK there should be one of the hal types u32, s32, float-ieee, bit.
Have a look at the ethercat-conf.xml in this example I often refer to
github.com/dbraun1981/hal-cia402/tree/main/example
Modify both the halType and the halPin .
This example also shows how you use the cia402 component to
connect the servo drives to the joints.
- jrc
- jrc
02 Feb 2026 09:13
Replied by jrc on topic Step By Step Help Needed . EL8 Leadshine to PI 5
Step By Step Help Needed . EL8 Leadshine to PI 5
Category: EtherCAT
The xml settings for the spindle using an EL8-1000 are:
<code>
<!-- Spindle Leadshine EL8 1000 servo drive -->
<slave idx="4" type="generic" vid="00004321" pid="000010c4" configPdos="true">
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
<syncManager idx="2" dir="out">
<pdo idx="1601">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
<!-- <pdoEntry idx="6098" subIdx="00" bitLen="8" halPin="homing-method" halType="s32"/> -->
<pdoEntry idx="6071" subIdx="00" bitLen="16" halPin="target-torque" halType="s32"/>
<pdoEntry idx="6071" subIdx="00" bitLen="16" halPin="target-torque-dummy" halType="s32"/>
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
<pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>
<pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>
<pdoEntry idx="6077" subIdx="00" bitLen="16" halPin="actual-torque" halType="s32"/>
</pdo>
</syncManager>
</slave>
</code>
<code>
<!-- Spindle Leadshine EL8 1000 servo drive -->
<slave idx="4" type="generic" vid="00004321" pid="000010c4" configPdos="true">
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
<syncManager idx="2" dir="out">
<pdo idx="1601">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
<!-- <pdoEntry idx="6098" subIdx="00" bitLen="8" halPin="homing-method" halType="s32"/> -->
<pdoEntry idx="6071" subIdx="00" bitLen="16" halPin="target-torque" halType="s32"/>
<pdoEntry idx="6071" subIdx="00" bitLen="16" halPin="target-torque-dummy" halType="s32"/>
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
<pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>
<pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>
<pdoEntry idx="6077" subIdx="00" bitLen="16" halPin="actual-torque" halType="s32"/>
</pdo>
</syncManager>
</slave>
</code>
- rodw

22 Jan 2026 11:11
Replied by rodw on topic Kinko ECT coupler
Kinko ECT coupler
Category: EtherCAT
Probably more like this where a bitmap exists. Note that in places its padded with unused bits
<pdoEntry idx="60FD" subIdx="0" bitLen="32" halType="complex">
<complexEntry bitLen="1" halPin="CW-limit" halType="bit"/>
<complexEntry bitLen="1" halPin="CCW-limit" halType="bit"/>
<complexEntry bitLen="1" halPin="in-home" halType="bit"/>
<complexEntry bitLen="13"/>
<complexEntry bitLen="1" halPin="in-1" halType="bit"/>
<complexEntry bitLen="1" halPin="in-2" halType="bit"/>
<complexEntry bitLen="1" halPin="in-3" halType="bit"/>
<complexEntry bitLen="1" halPin="in-4" halType="bit"/>
<complexEntry bitLen="1" halPin="in-5" halType="bit"/>
<complexEntry bitLen="1" halPin="in-6" halType="bit"/>
<complexEntry bitLen="10"/>
</pdoEntry> - Hakan
- Hakan
22 Jan 2026 10:33 - 22 Jan 2026 10:34
Replied by Hakan on topic Kinko ECT coupler
Kinko ECT coupler
Category: EtherCAT
TryNote the bit.
<pdoEntry idx="0x7020" subIdx="0x01" bitLen="8" halPin="out-byte-0" halType="bit"/>- bkt

19 Jan 2026 12:27
Kinko ECT coupler was created by bkt
Kinko ECT coupler
Category: EtherCAT
hello at all ... i try to load new coupler kinko etc .... with some in / out analogue in and out relays ... i try to use a custo xml based on pdos and sdos teminal reply .....
seems to work ... but for obtain the real value of pdos need to use these one ...
problem become create everytime a new .hal file based on new module added .... for obtain bit correctly need to use bitslice component .... that is no so fast .... there is a giude for create a new lcec-kinko-c e lcec-kinko.h library so no need to use bitsile or other component for reading and writing bit?? ... thanks to any help .... (p.s. analogue reading is good) .... for better explaine me I add some pdos reading ....
regards
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
<slave idx="0" type="generic" vid="0x00681168" pid="0x52503230" configPdos="true">
<sdoConfig idx="0x1c12" subIdx="0"><sdoDataRaw data="00"/></sdoConfig>
<sdoConfig idx="0x1c13" subIdx="0"><sdoDataRaw data="00"/></sdoConfig>
<sdoConfig idx="0x1c12" subIdx="1"><sdoDataRaw data="0216"/></sdoConfig>
<sdoConfig idx="0x1c12" subIdx="2"><sdoDataRaw data="0316"/></sdoConfig>
<sdoConfig idx="0x1c12" subIdx="0"><sdoDataRaw data="02"/></sdoConfig>
<sdoConfig idx="0x1c13" subIdx="1"><sdoDataRaw data="001a"/></sdoConfig>
<sdoConfig idx="0x1c13" subIdx="2"><sdoDataRaw data="011a"/></sdoConfig>
<sdoConfig idx="0x1c13" subIdx="0"><sdoDataRaw data="02"/></sdoConfig>
<syncManager idx="2" dir="out">
<pdo idx="0x1602">
<pdoEntry idx="0x7020" subIdx="0x01" bitLen="8" halPin="out-byte-0" halType="u32"/>
<pdoEntry idx="0x7020" subIdx="0x02" bitLen="8" halPin="out-byte-1" halType="u32"/>
</pdo>
<pdo idx="0x1603">
<pdoEntry idx="0x7030" subIdx="0x01" bitLen="8" halPin="relay-byte-0" halType="u32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="0x1a00">
<pdoEntry idx="0x6000" subIdx="0x01" bitLen="8" halPin="in-byte-0" halType="u32"/>
<pdoEntry idx="0x6000" subIdx="0x02" bitLen="8" halPin="in-byte-1" halType="u32"/>
</pdo>
<pdo idx="0x1a01">
<pdoEntry idx="0x6010" subIdx="0x01" bitLen="16" halPin="analog-0" halType="s32"/>
<pdoEntry idx="0x6010" subIdx="0x02" bitLen="16" halPin="analog-1" halType="s32"/>
<pdoEntry idx="0x6010" subIdx="0x03" bitLen="16" halPin="analog-2" halType="s32"/>
<pdoEntry idx="0x6010" subIdx="0x04" bitLen="16" halPin="analog-3" halType="s32"/>
</pdo>
</syncManager>
</slave>
</master>
</masters>seems to work ... but for obtain the real value of pdos need to use these one ...
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
<slave idx="0" type="generic" vid="0x00681168" pid="0x52503230" configPdos="true">
<sdoConfig idx="0x1c12" subIdx="0"><sdoDataRaw data="00"/></sdoConfig>
<sdoConfig idx="0x1c13" subIdx="0"><sdoDataRaw data="00"/></sdoConfig>
<sdoConfig idx="0x1c12" subIdx="1"><sdoDataRaw data="0216"/></sdoConfig>
<sdoConfig idx="0x1c12" subIdx="2"><sdoDataRaw data="0316"/></sdoConfig>
<sdoConfig idx="0x1c12" subIdx="0"><sdoDataRaw data="02"/></sdoConfig>
<sdoConfig idx="0x1c13" subIdx="1"><sdoDataRaw data="001a"/></sdoConfig>
<sdoConfig idx="0x1c13" subIdx="2"><sdoDataRaw data="011a"/></sdoConfig>
<sdoConfig idx="0x1c13" subIdx="0"><sdoDataRaw data="02"/></sdoConfig>
<syncManager idx="2" dir="out">
<pdo idx="0x1602">
<pdoEntry idx="0x7020" subIdx="0x01" bitLen="8" halPin="out-byte-0" halType="u32"/>
<pdoEntry idx="0x7020" subIdx="0x02" bitLen="8" halPin="out-byte-1" halType="u32"/>
</pdo>
<pdo idx="0x1603">
<pdoEntry idx="0x7030" subIdx="0x01" bitLen="8" halPin="relay-byte-0" halType="u32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="0x1a00">
<pdoEntry idx="0x6000" subIdx="0x01" bitLen="8" halPin="in-byte-0" halType="u32"/>
<pdoEntry idx="0x6000" subIdx="0x02" bitLen="8" halPin="in-byte-1" halType="u32"/>
</pdo>
<pdo idx="0x1a01">
<pdoEntry idx="0x6010" subIdx="0x01" bitLen="16" halPin="analog-0" halType="s32"/>
<pdoEntry idx="0x6010" subIdx="0x02" bitLen="16" halPin="analog-1" halType="s32"/>
<pdoEntry idx="0x6010" subIdx="0x03" bitLen="16" halPin="analog-2" halType="s32"/>
<pdoEntry idx="0x6010" subIdx="0x04" bitLen="16" halPin="analog-3" halType="s32"/>
</pdo>
</syncManager>
</slave>
</master>
</masters>problem become create everytime a new .hal file based on new module added .... for obtain bit correctly need to use bitslice component .... that is no so fast .... there is a giude for create a new lcec-kinko-c e lcec-kinko.h library so no need to use bitsile or other component for reading and writing bit?? ... thanks to any help .... (p.s. analogue reading is good) .... for better explaine me I add some pdos reading ....
adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 3
0x00 0
adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 4
0x08 8
adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 3
[sudo] password for adm1:
0x00 0
adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 2
0x03 3
adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 1
0x00 0
adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 0
0x11 17
adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 4
0x08 8
adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 3
0x00 0
adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 2
0x03 3
adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 1
0x00 0
adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 0
0x11 17regards
- Ahmed.emara
- Ahmed.emara
22 Dec 2025 15:01
leadshine R3EC was created by Ahmed.emara
leadshine R3EC
Category: EtherCAT
hello guys
i really need help with configuring R3EC IO coupler + R3 1600 DI + R3 0016-P DO ,to my etherCAT system,
i wrote XML file but when i check the status of the slaves all the drivers are in OP mode except the R3EC is in SAFEOP and it does not switch to OP mode,
here is the XML section for the R3EC i used :
<slave idx="6" type="generic" vid="0x00004321" pid="0x61400025" configPdos="true">
<!-- SM2: Outputs -->
<syncManager idx="2" dir="out">
<pdo idx="0x7000">
<pdoEntry idx="0x7000" subIdx="0x01" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="do-01" halType="bit"/>
<complexEntry bitLen="1" halPin="do-02" halType="bit"/>
<complexEntry bitLen="1" halPin="do-03" halType="bit"/>
<complexEntry bitLen="1" halPin="do-04" halType="bit"/>
<complexEntry bitLen="1" halPin="do-05" halType="bit"/>
<complexEntry bitLen="1" halPin="do-06" halType="bit"/>
<complexEntry bitLen="1" halPin="do-07" halType="bit"/>
<complexEntry bitLen="1" halPin="do-08" halType="bit"/>
<complexEntry bitLen="1" halPin="do-09" halType="bit"/>
<complexEntry bitLen="1" halPin="do-10" halType="bit"/>
<complexEntry bitLen="1" halPin="do-11" halType="bit"/>
<complexEntry bitLen="1" halPin="do-12" halType="bit"/>
<complexEntry bitLen="1" halPin="do-13" halType="bit"/>
<complexEntry bitLen="1" halPin="do-14" halType="bit"/>
<complexEntry bitLen="1" halPin="do-15" halType="bit"/>
<complexEntry bitLen="1" halPin="do-16" halType="bit"/>
</pdoEntry>
</pdo>
</syncManager>
<!-- SM3: Inputs -->
<syncManager idx="3" dir="in">
<pdo idx="0x6000">
<pdoEntry idx="0x6000" subIdx="0x01" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="di-01" halType="bit"/>
<complexEntry bitLen="1" halPin="di-02" halType="bit"/>
<complexEntry bitLen="1" halPin="di-03" halType="bit"/>
<complexEntry bitLen="1" halPin="di-04" halType="bit"/>
<complexEntry bitLen="1" halPin="di-05" halType="bit"/>
<complexEntry bitLen="1" halPin="di-06" halType="bit"/>
<complexEntry bitLen="1" halPin="di-07" halType="bit"/>
<complexEntry bitLen="1" halPin="di-08" halType="bit"/>
<complexEntry bitLen="1" halPin="di-09" halType="bit"/>
<complexEntry bitLen="1" halPin="di-10" halType="bit"/>
<complexEntry bitLen="1" halPin="di-11" halType="bit"/>
<complexEntry bitLen="1" halPin="di-12" halType="bit"/>
<complexEntry bitLen="1" halPin="di-13" halType="bit"/>
<complexEntry bitLen="1" halPin="di-14" halType="bit"/>
<complexEntry bitLen="1" halPin="di-15" halType="bit"/>
<complexEntry bitLen="1" halPin="di-16" halType="bit"/>
</pdoEntry>
</pdo>
</syncManager>
</slave>
i appreciate your help guys i have been stuck with this problem since two weeks!
i really need help with configuring R3EC IO coupler + R3 1600 DI + R3 0016-P DO ,to my etherCAT system,
i wrote XML file but when i check the status of the slaves all the drivers are in OP mode except the R3EC is in SAFEOP and it does not switch to OP mode,
here is the XML section for the R3EC i used :
<slave idx="6" type="generic" vid="0x00004321" pid="0x61400025" configPdos="true">
<!-- SM2: Outputs -->
<syncManager idx="2" dir="out">
<pdo idx="0x7000">
<pdoEntry idx="0x7000" subIdx="0x01" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="do-01" halType="bit"/>
<complexEntry bitLen="1" halPin="do-02" halType="bit"/>
<complexEntry bitLen="1" halPin="do-03" halType="bit"/>
<complexEntry bitLen="1" halPin="do-04" halType="bit"/>
<complexEntry bitLen="1" halPin="do-05" halType="bit"/>
<complexEntry bitLen="1" halPin="do-06" halType="bit"/>
<complexEntry bitLen="1" halPin="do-07" halType="bit"/>
<complexEntry bitLen="1" halPin="do-08" halType="bit"/>
<complexEntry bitLen="1" halPin="do-09" halType="bit"/>
<complexEntry bitLen="1" halPin="do-10" halType="bit"/>
<complexEntry bitLen="1" halPin="do-11" halType="bit"/>
<complexEntry bitLen="1" halPin="do-12" halType="bit"/>
<complexEntry bitLen="1" halPin="do-13" halType="bit"/>
<complexEntry bitLen="1" halPin="do-14" halType="bit"/>
<complexEntry bitLen="1" halPin="do-15" halType="bit"/>
<complexEntry bitLen="1" halPin="do-16" halType="bit"/>
</pdoEntry>
</pdo>
</syncManager>
<!-- SM3: Inputs -->
<syncManager idx="3" dir="in">
<pdo idx="0x6000">
<pdoEntry idx="0x6000" subIdx="0x01" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="di-01" halType="bit"/>
<complexEntry bitLen="1" halPin="di-02" halType="bit"/>
<complexEntry bitLen="1" halPin="di-03" halType="bit"/>
<complexEntry bitLen="1" halPin="di-04" halType="bit"/>
<complexEntry bitLen="1" halPin="di-05" halType="bit"/>
<complexEntry bitLen="1" halPin="di-06" halType="bit"/>
<complexEntry bitLen="1" halPin="di-07" halType="bit"/>
<complexEntry bitLen="1" halPin="di-08" halType="bit"/>
<complexEntry bitLen="1" halPin="di-09" halType="bit"/>
<complexEntry bitLen="1" halPin="di-10" halType="bit"/>
<complexEntry bitLen="1" halPin="di-11" halType="bit"/>
<complexEntry bitLen="1" halPin="di-12" halType="bit"/>
<complexEntry bitLen="1" halPin="di-13" halType="bit"/>
<complexEntry bitLen="1" halPin="di-14" halType="bit"/>
<complexEntry bitLen="1" halPin="di-15" halType="bit"/>
<complexEntry bitLen="1" halPin="di-16" halType="bit"/>
</pdoEntry>
</pdo>
</syncManager>
</slave>
i appreciate your help guys i have been stuck with this problem since two weeks!
- emresensoy
- emresensoy
04 Dec 2025 07:02 - 04 Dec 2025 07:55
Replied by emresensoy on topic Beckhoff EL2522 lcec xml file
Beckhoff EL2522 lcec xml file
Category: EtherCAT
with lcec_configgen, It worked with a few minor tweaks. Great.
<slave idx="6" type="generic" vid="0x00000002" pid="0x09da3052" configPdos="true">
<!--EL2522 2K. Pulse Train Ausgang-->
<syncManager idx="0" dir="in"/>
<syncManager idx="1" dir="out"/>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<!--PTO RxPDO-Map Control Ch.1-->
<pdoEntry idx="7000" subIdx="01" bitLen="1" halPin="ch-1-frequency-select" halType="bit"/>
<pdoEntry idx="7000" subIdx="02" bitLen="1" halPin="ch-1-disable-ramp" halType="bit"/>
<pdoEntry idx="7000" subIdx="03" bitLen="1" halPin="ch-1-go-counter" halType="bit"/>
<pdoEntry idx="7000" subIdx="11" bitLen="16" halPin="ch-1-frequency-value" halType="u32"/>
</pdo>
<pdo idx="1603">
<!--PTO RxPDO-Map Target Ch.1-->
<pdoEntry idx="7000" subIdx="12" bitLen="32" halPin="ch-1-target-counter-value" halType="u32"/>
</pdo>
<pdo idx="1605">
<!--PTO RxPDO-Map Control Ch.2-->
<pdoEntry idx="7010" subIdx="01" bitLen="1" halPin="ch-2-frequency-select" halType="bit"/>
<pdoEntry idx="7010" subIdx="02" bitLen="1" halPin="ch-2-disable-ramp" halType="bit"/>
<pdoEntry idx="7010" subIdx="03" bitLen="1" halPin="ch-2-go-counter" halType="bit"/>
<pdoEntry idx="7010" subIdx="11" bitLen="16" halPin="ch-2-frequency-value" halType="u32"/>
</pdo>
<pdo idx="1608">
<!--PTO RxPDO-Map Target Ch.2-->
<pdoEntry idx="7010" subIdx="12" bitLen="32" halPin="ch-2-target-counter-value" halType="u32"/>
</pdo>
<pdo idx="160b">
<!--ENC RxPDO-Map Control Ch.1-->
<pdoEntry idx="7020" subIdx="03" bitLen="1" halPin="ch-1-set-counter" halType="bit"/>
<pdoEntry idx="7020" subIdx="10" bitLen="1" halPin="ch-1-reserved" halType="bit"/>
<pdoEntry idx="7020" subIdx="11" bitLen="32" halPin="ch-1-set-counter-value" halType="u32"/>
</pdo>
<pdo idx="160d">
<!--ENC RxPDO-Map Control Ch.2-->
<pdoEntry idx="7030" subIdx="03" bitLen="1" halPin="ch-2-set-counter" halType="bit"/>
<pdoEntry idx="7030" subIdx="10" bitLen="1" halPin="ch-2-reserved" halType="bit"/>
<pdoEntry idx="7030" subIdx="11" bitLen="32" halPin="ch-2-set-counter-value" halType="u32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<!--PTO TxPDO-Map Status Ch.1-->
<pdoEntry idx="6000" subIdx="01" bitLen="1" halPin="ch-1-sel-ack-end-counter" halType="bit"/>
<pdoEntry idx="6000" subIdx="02" bitLen="1" halPin="ch-1-ramp-active" halType="bit"/>
<pdoEntry idx="6000" subIdx="07" bitLen="1" halPin="ch-1-error" halType="bit"/>
<pdoEntry idx="6000" subIdx="0e" bitLen="1" halPin="ch-1-sm3-sync-error" halType="bit"/>
<pdoEntry idx="6000" subIdx="10" bitLen="1" halPin="ch-1-txpdo-toggle" halType="bit"/>
</pdo>
<pdo idx="1a01">
<!--PTO TxPDO-Map Status Ch.2-->
<pdoEntry idx="6010" subIdx="01" bitLen="1" halPin="ch-2-sel-ack-end-counter" halType="bit"/>
<pdoEntry idx="6010" subIdx="02" bitLen="1" halPin="ch-2-ramp-active" halType="bit"/>
<pdoEntry idx="6010" subIdx="07" bitLen="1" halPin="ch-2-error" halType="bit"/>
<pdoEntry idx="6010" subIdx="0e" bitLen="1" halPin="ch-2-sm3-sync-error" halType="bit"/>
<pdoEntry idx="6010" subIdx="10" bitLen="1" halPin="ch-2-txpdo-toggle" halType="bit"/>
</pdo>
<pdo idx="1a03">
<!--ENC TxPDO-Map Status Ch.1-->
<pdoEntry idx="6020" subIdx="03" bitLen="1" halPin="ch-1-set-counter-done" halType="bit"/>
<pdoEntry idx="6020" subIdx="04" bitLen="1" halPin="ch-1-counter-underflow" halType="bit"/>
<pdoEntry idx="6020" subIdx="05" bitLen="1" halPin="ch-1-counter-overflow" halType="bit"/>
<pdoEntry idx="6020" subIdx="0e" bitLen="1" halPin="ch-1-sm3--sync-error" halType="bit"/>
<pdoEntry idx="6020" subIdx="0f" bitLen="1" halPin="ch-1-txpdo-state" halType="bit"/>
<pdoEntry idx="6020" subIdx="10" bitLen="1" halPin="ch-1-sm3--txpdo-toggle" halType="bit"/>
<pdoEntry idx="6020" subIdx="11" bitLen="32" halPin="ch-1-counter-value" halType="u32"/>
</pdo>
<pdo idx="1a05">
<!--ENC TxPDO-Map Status Ch.2-->
<pdoEntry idx="6030" subIdx="03" bitLen="1" halPin="ch-2-set-counter-done" halType="bit"/>
<pdoEntry idx="6030" subIdx="04" bitLen="1" halPin="ch-2-counter-underflow" halType="bit"/>
<pdoEntry idx="6030" subIdx="05" bitLen="1" halPin="ch-2-counter-overflow" halType="bit"/>
<pdoEntry idx="6030" subIdx="0e" bitLen="1" halPin="ch-2-sm3--sync-error" halType="bit"/>
<pdoEntry idx="6030" subIdx="0f" bitLen="1" halPin="ch-2-txpdo-state" halType="bit"/>
<pdoEntry idx="6030" subIdx="10" bitLen="1" halPin="ch-2-sm3--txpdo-toggle" halType="bit"/>
<pdoEntry idx="6030" subIdx="11" bitLen="32" halPin="ch-2-counter-value" halType="u32"/>
</pdo>
</syncManager>
</slave>- miro199315
- miro199315
13 Nov 2025 05:56 - 13 Nov 2025 05:58
Replied by miro199315 on topic Configuration Schnider electric ILA2 Servo
Configuration Schnider electric ILA2 Servo
Category: EtherCAT
Thanks a lot for looking into this and taking the time to check my issue. I really appreciate the help and suggestions.
Below I’m attaching the XML configuration and system logs for reference.
[/code]
[/code]
Below I’m attaching the XML configuration and system logs for reference.
[35409.201585] EtherCAT: Requesting master 0...
[35409.201588] EtherCAT: Successfully requested master 0.
[35409.201704] EtherCAT 0: Domain0: Logical address 0x00000000, 46 byte, expected working counter 3.
[35409.201706] EtherCAT 0: Datagram domain0-0-main: Logical offset 0x00000000, 46 byte, type LRW.
[35409.201717] EtherCAT 0: Master thread exited.
[35409.201718] EtherCAT 0: Stopping EoE thread.
[35409.201726] EtherCAT 0: EoE thread exited.
[35409.201726] EtherCAT 0: Starting EoE thread.
[35409.201750] EtherCAT 0: Starting EtherCAT-OP thread.
[35409.201765] EtherCAT WARNING 0: 12 datagrams TIMED OUT!
[35409.331702] EtherCAT WARNING 0-1: Other mailbox protocol response for eoe0s1.
[35409.331956] EtherCAT ERROR 0-1: Reception of CoE download response failed: No response.
[35409.331959] EtherCAT WARNING 0-1: Failed to map PDO entry 0x0000:00 (8 bit) to position 6.
[35409.331961] EtherCAT WARNING 0-1: Currently mapped PDO entries: (none). Entries to map: 0x6040:00/16 0x6060:00/8 0x607A:00/32 0x60FF:00/32 0x0000:00/8 0x0000:00/8 0x0000:00/8 0x0000:00/8 0x0000:00/8 0x0000:00/8 0x0000:00/8 0x0000:00/8 0x0000:00/8 0x0000:00/8 0x0000:00/8
[35409.331973] EtherCAT WARNING 0-1: Failed to configure mapping of PDO 0x1600.
[35409.355684] EtherCAT ERROR 0-1: Mailbox error response received - Unknown error reply code 0x0000.
[35409.355688] EtherCAT WARNING 0-1: Invalid mailbox response for eoe0s1.
[35409.375692] EtherCAT WARNING 0-1: Other mailbox protocol response for eoe0s1.
[35409.375948] EtherCAT ERROR 0-1: Reception of CoE download response failed: No response.
[35409.375951] EtherCAT WARNING 0-1: Failed to map PDO entry 0x0000:00 (8 bit) to position 11.
[35409.375953] EtherCAT WARNING 0-1: Currently mapped PDO entries: (none). Entries to map: 0x6041:00/16 0x6061:00/8 0x6064:00/32 0x606C:00/32 0x6077:00/16 0x0000:00/8 0x0000:00/8 0x0000:00/8 0x0000:00/8 0x0000:00/8 0x0000:00/8 0x0000:00/8 0x0000:00/8 0x0000:00/8 0x0000:00/8 0x0000:00/8
[35409.375965] EtherCAT WARNING 0-1: Failed to configure mapping of PDO 0x1A00.
[35409.389044] EtherCAT ERROR 0-1: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR).
[35409.390043] EtherCAT ERROR 0-1: AL status message 0x001E: "Invalid input configuration".
[35409.392045] EtherCAT 0-1: Acknowledged state PREOP.
[35409.403540] EtherCAT 0: Slave states on main device: PREOP, OP.
linuxcnc@linuxcnc:~$
[code]<?xml version="1.0" ?>
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
<slave idx="1" type="generic" vid="0800005a" pid="000022db" configPdos="true">
<!-- Distributed Clocks -->
<dcConf assignActivate="300" sync0Cycle="1000000" sync0Shift="0" />
<!-- SyncManagers -->
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="6040" subIdx="0" bitLen="16" halPin="cia-controlword" halType="u32" />
<pdoEntry idx="6060" subIdx="0" bitLen="8" halPin="opmode" halType="s32" />
<pdoEntry idx="607A" subIdx="0" bitLen="32" halPin="target-position" halType="s32" />
<pdoEntry idx="60FF" subIdx="0" bitLen="32" halPin="target-velocity" halType="s32" />
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1A00">
<pdoEntry idx="6041" subIdx="0" bitLen="16" halPin="cia-statusword" halType="u32" />
<pdoEntry idx="6061" subIdx="0" bitLen="8" halPin="opmode-display" halType="s32" />
<pdoEntry idx="6064" subIdx="0" bitLen="32" halPin="actual-position" halType="s32" />
<pdoEntry idx="606C" subIdx="0" bitLen="32" halPin="actual-velocity" halType="s32" />
<pdoEntry idx="6077" subIdx="0" bitLen="16" halPin="actual-torque" halType="s32" />
</pdo>
</syncManager>
</slave>
</master>
</masters>[/code]
[code] - conman
- conman
02 Nov 2025 19:03
Replied by conman on topic Help with Inovance IS620N Servo Drive - Stays in PREOP
Help with Inovance IS620N Servo Drive - Stays in PREOP
Category: EtherCAT
Hello, thank you for that, I added it but still the same result.
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
<slave idx="0" type="generic" name="IS620N_ECAT_v2.6.8" vid="0x00100000" pid="0x000C0108" configPdos="true">
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
<syncManager idx="2" dir="out">
<pdo idx="1701">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="OperationMode" halType="s32"/>
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="TargetPosition" halType="s32"/>
<pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="TargetVelocity" halType="s32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1b01">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="ActualPosition" halType="s32"/>
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="ActualOperationMode" halType="s32"/>
<pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="ActualVelocity" halType="s32"/>
<pdoEntry idx="6077" subIdx="00" bitLen="32" halPin="ActualTorque" halType="s32"/>
</pdo>
</syncManager>
</slave>
</master>
</masters>
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
<slave idx="0" type="generic" name="IS620N_ECAT_v2.6.8" vid="0x00100000" pid="0x000C0108" configPdos="true">
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
<syncManager idx="2" dir="out">
<pdo idx="1701">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="OperationMode" halType="s32"/>
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="TargetPosition" halType="s32"/>
<pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="TargetVelocity" halType="s32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1b01">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="ActualPosition" halType="s32"/>
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="ActualOperationMode" halType="s32"/>
<pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="ActualVelocity" halType="s32"/>
<pdoEntry idx="6077" subIdx="00" bitLen="32" halPin="ActualTorque" halType="s32"/>
</pdo>
</syncManager>
</slave>
</master>
</masters>
- Hakan
- Hakan
29 Oct 2025 10:47
Replied by Hakan on topic Long initialization of Ethercat on servo drive SV660N
Long initialization of Ethercat on servo drive SV660N
Category: EtherCAT
Or is it that you don't have the "target-velocity" pdo? Just delete it. Same with "actual-velocity" and "actual-torque". Nice to have, not needed.
Minimal
Minimal
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>
</pdo>
</syncManager>
Time to create page: 0.253 seconds