Ethercat - assinged the same pdos to multiple Slave-Signals?

More
11 months 2 weeks ago #338252 by MillingMarvin
Hello Everyone,
i am just starting out with some Beckhoff Modules and ethercat communication.
To be speciffic:
EK1100
EL1014 and EL1014-0010
EL2004
EL5101
EL4038

I only addet :
HALFILE = ethercat.hal
the the axis.ini file.
The axis.sim config is otherwise untouched

I used the basic xml definition like so:
Code:
<slave idx="0" type="EK1100" name="EK1100_01"/> <slave idx="1" type="EL1014" name="EL1014_01"/> Full xml file is attached. When i arrange them in this order: K1100, EL1014, EL2004 I can start Linuxcnc and see/use them in the Halshow window. (set the output of the EL2004 Module and sense the Input on the EL1014 module) But if i try to stack more EL1014, I get the error: Failed to register PDO entry: No such file or directory Debug file information: [spoiler] Note: Using POSIX realtime Failed to register PDO entry: No such file or directory LCEC: master 0 PDO entry registration failed LCEC: failure, clearing config LCEC: exiting LCEC: returning -EINVAL lcec: rtapi_app_main: Invalid argument (-22) ./ethercat.hal:4: waitpid failed /usr/bin/rtapi_app lcec ./ethercat.hal:4: /usr/bin/rtapi_app exited without becoming ready ./ethercat.hal:4: insmod for lcec failed, returned -1 9404 Stopping realtime threads Unloading hal components Note: Using POSIX realtime [/spoiler] after some reserch on pdos, it is obvious that every pdo should only be used once per master-slave config. [b]Why does my Ethercat master distribute the same pdo to different salves? Or even better, how can I fix this? Any help is greadly appreciated. Do you need more information on my setup or additional files? my output after:[/b]
  • Code:
    [b]ethercat pdos and[/b]
    • Code:
      [b]ethercat slave [spoiler] [code]cnc@cnc:~$ ethercat pdos === Master 0, Slave 1 === SM0: PhysAddr 0x1000, DefaultSize    1, ControlRegister 0x00, Enable 1   TxPDO 0x1a00 "Channel 1"     PDO entry 0x6000:01,  1 bit, "Input"   TxPDO 0x1a01 "Channel 2"     PDO entry 0x6010:01,  1 bit, "Input"   TxPDO 0x1a02 "Channel 3"     PDO entry 0x6020:01,  1 bit, "Input"   TxPDO 0x1a03 "Channel 4"     PDO entry 0x6030:01,  1 bit, "Input" === Master 0, Slave 2 === SM0: PhysAddr 0x1000, DefaultSize    0, ControlRegister 0x00, Enable 0   TxPDO 0x1a00 "Channel 1"     PDO entry 0x3101:01,  1 bit, "Input"   TxPDO 0x1a01 "Channel 2"     PDO entry 0x3101:02,  1 bit, "Input"   TxPDO 0x1a02 "Channel 3"     PDO entry 0x3101:03,  1 bit, "Input"   TxPDO 0x1a03 "Channel 4"     PDO entry 0x3101:04,  1 bit, "Input" === Master 0, Slave 3 === SM0: PhysAddr 0x1000, DefaultSize    0, ControlRegister 0x00, Enable 0   TxPDO 0x1a00 "Channel 1"     PDO entry 0x6000:01,  1 bit, "Input"   TxPDO 0x1a01 "Channel 2"     PDO entry 0x6010:01,  1 bit, "Input"   TxPDO 0x1a02 "Channel 3"     PDO entry 0x6020:01,  1 bit, "Input"   TxPDO 0x1a03 "Channel 4"     PDO entry 0x6030:01,  1 bit, "Input" === Master 0, Slave 4 === SM0: PhysAddr 0x1000, DefaultSize    0, ControlRegister 0x00, Enable 0   TxPDO 0x1a00 "Channel 1"     PDO entry 0x3101:01,  1 bit, "Input"   TxPDO 0x1a01 "Channel 2"     PDO entry 0x3101:02,  1 bit, "Input"   TxPDO 0x1a02 "Channel 3"     PDO entry 0x3101:03,  1 bit, "Input"   TxPDO 0x1a03 "Channel 4"     PDO entry 0x3101:04,  1 bit, "Input" === Master 0, Slave 5 === SM0: PhysAddr 0x1000, DefaultSize    0, ControlRegister 0x00, Enable 0   TxPDO 0x1a00 "Channel 1"     PDO entry 0x3101:01,  1 bit, "Input"   TxPDO 0x1a01 "Channel 2"     PDO entry 0x3101:02,  1 bit, "Input"   TxPDO 0x1a02 "Channel 3"     PDO entry 0x3101:03,  1 bit, "Input"   TxPDO 0x1a03 "Channel 4"     PDO entry 0x3101:04,  1 bit, "Input" === Master 0, Slave 6 === SM0: PhysAddr 0x0f00, DefaultSize    0, ControlRegister 0x44, Enable 9   RxPDO 0x1600 "Channel 1"     PDO entry 0x7000:01,  1 bit, "Output"   RxPDO 0x1601 "Channel 2"     PDO entry 0x7010:01,  1 bit, "Output"   RxPDO 0x1602 "Channel 3"     PDO entry 0x7020:01,  1 bit, "Output"   RxPDO 0x1603 "Channel 4"     PDO entry 0x7030:01,  1 bit, "Output" cnc@cnc:~$ ethercat slave 0  0:0  PREOP  +  EK1100 EtherCAT-Koppler (2A E-Bus) 1  0:1  PREOP  +  EL1014 4Ch. Dig. Input 24V, 10 s 2  0:2  PREOP  +  EL1014 4K. Dig. Eingang 24V, 10 s 3  0:3  PREOP  +  EL1014 4K. Dig. Eingang 24V, 10 s 4  0:4  PREOP  +  EL1014-0010 4K. Dig. Eingang 24V, galv. getrennt, 10 s 5  0:5  PREOP  +  EL1014-0010 4K. Dig. Eingang 24V, galv. getrennt, 10 s 6  0:6  PREOP  +  EL2004 4Ch. Dig. Output 24V, 0.5A [/spoiler] It does matter which EL1014 Module is in which position, the sequence of the assigned pdos is not allways the same. Greatings from germany!
      [/b][/code]
Code:
[b][code]Sorry, wrong category, could someone move this to "ethercat"?
[/b][/code]
Code:
[b][code] 
[/b][/code]

Please Log in to join the conversation.

More
11 months 2 weeks ago #338253 by tommylight
Moved to "EtherCAT" section.

Please Log in to join the conversation.

More
11 months 2 weeks ago #338260 by Hakan
From what I can see, the lcec EL1014 driver expects PDOs at 0x6000, 0x6010, 0x6020 and 0x6030. Two of your units have that.
Three of your units have PDOs at 0x3101:1, 0x3101:2, 0x3101:3 and 0x3101:4.
Maybe there is a reason for that? Different versions? I don't know the products very well.

You can use the generic driver for the 0x3101 units.  And for the other units as well.
Run "lcec_configgen -typedb=false" and hopefully you should get the "generic" driver for all devices in the output.
 

Please Log in to join the conversation.

More
11 months 2 weeks ago #338307 by MillingMarvin
this is genius!
the comand "lcec_configgen -typedb=false" worked perfectly,
thank you so much for the recomandation!



 

Please Log in to join the conversation.

More
6 months 1 day ago #346042 by grandixximo
Just merged a fix for this in linuxcnc-ethercat upstream (commit 678314b, issue #457). For EL1014 units that map their inputs at 0x3101:01..0x3101:04 instead of the modern 0x6000/0x6010/0x6020/0x6030, you can now use type="EL1014-legacy" in your XML and the driver routes to the right PDO addresses. No more -typedb=false workaround needed for that variant. Untested on hardware on my end, if anyone has the affected revision, please confirm and post back.

---
test signature

Please Log in to join the conversation.

Time to create page: 0.089 seconds
Powered by Kunena Forum