Configuration Schnider electric ILA2 Servo
- miro199315
- Away
- New Member
-
Less
More
- Posts: 4
- Thank you received: 0
12 Nov 2025 22:01 #338289
by miro199315
Configuration Schnider electric ILA2 Servo was created by miro199315
I’m trying to connect an ICLA ILA2E servo drive over EtherCAT using LinuxCNC 2.9.7 with the lcec driver and the IgH EtherCAT master 1.6.8 (on Debian 12 RT). The EtherCAT bus is: PC → Beckhoff EK1100 → ICLA ILA PLCOpen (the ILA2E servo). The EK1100 coupler always reaches OP state without problems, but the servo stays stuck in PREOP + ERROR when controlled through lcec.When I control the servo manually with thecommand-line tools, it behaves correctly. If I send controlwords 0x0006, 0x0007, and then 0x000F to object 0x6040, the drive enables, holds torque, and moves as expected. The feedback position from 0x6064 changes correctly, and the motor clearly enters operational state internally, even thoughstill lists it as PREOP + ERROR. So communication works and the drive can be controlled directly, but it never transitions to OP when LinuxCNC and lcec are running.The PDO mapping was taken directly from the drive:RxPDO 0x1600 contains 6040 (controlword, 16 bits), 6060 (opmode, 8 bits), 607A (target position, 32 bits), and 60FF (target velocity, 32 bits).
TxPDO 0x1A00 contains 6041 (statusword, 16 bits), 6061 (opmode display, 8 bits), 6064 (actual position, 32 bits), 606C (actual velocity, 32 bits), and 6077 (actual torque, 16 bits).The XML configuration for the slave defines these PDOs and basic HAL pins for cia-controlword, opmode, target-position, actual-position, and so on. I have not included any DC configuration yet because the drive does not reach OP even in basic mode.When I start LinuxCNC, lcec loads normally, but the servo never leaves PREOP. The HAL pins show that the slave is online but not operational. The logs show mailbox or CoE errors such as “Invalid input configuration (0x001E)” or timeouts while reading SDOs like 0x1C33:3. Despite that, if I exit LinuxCNC and usecommands directly, the servo behaves correctly every time.So the problem is that the drive can reach operational state when commanded manually through, but it stays in PREOP when controlled via lcec. I suspect the issue might be in the XML configuration or a missing initialization SDO sequence.Has anyone successfully used an ICLA ILA PLCOpen (Vendor ID 0x0800005A, Product ID 0x000022DB, model ILA2E) servo with LinuxCNC and lcec? Any hints about what might be missing in the configuration would be greatly appreciated.
ethercatethercat slavesTxPDO 0x1A00 contains 6041 (statusword, 16 bits), 6061 (opmode display, 8 bits), 6064 (actual position, 32 bits), 606C (actual velocity, 32 bits), and 6077 (actual torque, 16 bits).The XML configuration for the slave defines these PDOs and basic HAL pins for cia-controlword, opmode, target-position, actual-position, and so on. I have not included any DC configuration yet because the drive does not reach OP even in basic mode.When I start LinuxCNC, lcec loads normally, but the servo never leaves PREOP. The HAL pins show that the slave is online but not operational. The logs show mailbox or CoE errors such as “Invalid input configuration (0x001E)” or timeouts while reading SDOs like 0x1C33:3. Despite that, if I exit LinuxCNC and use
ethercat downloadethercatPlease Log in or Create an account to join the conversation.
- Hakan
- Offline
- Platinum Member
-
Less
More
- Posts: 1025
- Thank you received: 342
12 Nov 2025 22:41 - 12 Nov 2025 23:00 #338294
by Hakan
Replied by Hakan on topic Configuration Schnider electric ILA2 Servo
Check syslog with "sudo dmesg | tail -20", the master usually tells you in its own cryptic way what's wrong.
Edit, sorry I see you have already done that. Nevertheless, show us messages in the syslog.
And the ethercat-conf.xml file.
Edit, sorry I see you have already done that. Nevertheless, show us messages in the syslog.
And the ethercat-conf.xml file.
Last edit: 12 Nov 2025 23:00 by Hakan.
Please Log in or Create an account to join the conversation.
- miro199315
- Away
- New Member
-
Less
More
- Posts: 4
- Thank you received: 0
13 Nov 2025 05:56 - 13 Nov 2025 05:58 #338301
by miro199315
Replied by miro199315 on topic Configuration Schnider electric ILA2 Servo
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]
Last edit: 13 Nov 2025 05:58 by miro199315.
Please Log in or Create an account to join the conversation.
- Hakan
- Offline
- Platinum Member
-
Less
More
- Posts: 1025
- Thank you received: 342
13 Nov 2025 07:36 - 13 Nov 2025 07:38 #338304
by Hakan
Replied by Hakan on topic Configuration Schnider electric ILA2 Servo
I see these two linesThe first one with datagrams TIMED OUT is usually due to network adapter perfomance.
If you have a Realtek network adapter, install the realtek dkms linux drivers.
12 datagrams timed out isn't too bad and it should still work.
The second line indicates your drive supports EoE, Ethernet over EtherCat.
Unfortunately, linuxcnc-ethercat doesn't support that and people have all kinds
of problem to get such servos going.
The most straight-forward way is to download the IgH Ethertcat master and build it
with the flag --disable-eoe.
There is another way - read out the eeprom content of the drive, modify two bits,
and write back. forum.linuxcnc.org/ethercat/55806-long-i...660n?start=20#337450
[35409.201765] EtherCAT WARNING 0: 12 datagrams TIMED OUT!
[35409.331702] EtherCAT WARNING 0-1: Other mailbox protocol response for eoe0s1.If you have a Realtek network adapter, install the realtek dkms linux drivers.
12 datagrams timed out isn't too bad and it should still work.
The second line indicates your drive supports EoE, Ethernet over EtherCat.
Unfortunately, linuxcnc-ethercat doesn't support that and people have all kinds
of problem to get such servos going.
The most straight-forward way is to download the IgH Ethertcat master and build it
with the flag --disable-eoe.
There is another way - read out the eeprom content of the drive, modify two bits,
and write back. forum.linuxcnc.org/ethercat/55806-long-i...660n?start=20#337450
Last edit: 13 Nov 2025 07:38 by Hakan. Reason: That editor is terrible with the bbcode tags
Please Log in or Create an account to join the conversation.
Time to create page: 0.086 seconds