- Posts: 87
- Thank you received: 18
Ethercat HAL driver
- plopes9000
- Offline
- Premium Member
-
Less
More
9 years 2 months ago #97280
by plopes9000
Replied by plopes9000 on topic Ethercat HAL driver
Does anyone know how to overcome the issue of the el6751 dynamic PDOs?
My assumption is that the el6751 PDOs are read by the ethercat driver during scan. At this point since the el6751 is not configured yet, the ethercat driver stores the partially empty pdo table. Later on, the el6751 is configured via generic config sdo to object 800x which enables the el6751 to dynamically make available the full pdo table. However since the ethercat drive is not aware of the newly updated pdo table it does not allow the pdo configuration to succeed.
I see two options, use the backup parameter (suggested somewhere) or trigger the ethercat driver to re-read this slave pdo table ..
Am I missing something here? Is there a better way?
Thank you
My assumption is that the el6751 PDOs are read by the ethercat driver during scan. At this point since the el6751 is not configured yet, the ethercat driver stores the partially empty pdo table. Later on, the el6751 is configured via generic config sdo to object 800x which enables the el6751 to dynamically make available the full pdo table. However since the ethercat drive is not aware of the newly updated pdo table it does not allow the pdo configuration to succeed.
I see two options, use the backup parameter (suggested somewhere) or trigger the ethercat driver to re-read this slave pdo table ..
Am I missing something here? Is there a better way?
Thank you
- sirop
- Offline
- Elite Member
-
Less
More
- Posts: 193
- Thank you received: 57
9 years 2 months ago - 9 years 2 months ago #97281
by sirop
Replied by sirop on topic Ethercat HAL driver
What is the issue of "the issue of the el6751 dynamic PDOs" ?
What is "generic config sdo to object 800x "?
Index 8000-87E0 is Communication Parameter Node yyy according to infosys.beckhoff.com/english.php?content.../2571595019.html&id= .
This means Index 8000 has nothing to do with PDO mapping.
Pdo mapping is either Index 1600-167E RxPDO-Map Node yyy or Index 1A00-1A7E TxPDO-Map Node yyy .
What is "generic config sdo to object 800x "?
Index 8000-87E0 is Communication Parameter Node yyy according to infosys.beckhoff.com/english.php?content.../2571595019.html&id= .
This means Index 8000 has nothing to do with PDO mapping.
Pdo mapping is either Index 1600-167E RxPDO-Map Node yyy or Index 1A00-1A7E TxPDO-Map Node yyy .
Last edit: 9 years 2 months ago by sirop.
- plopes9000
- Offline
- Premium Member
-
Less
More
- Posts: 87
- Thank you received: 18
9 years 2 months ago #97287
by plopes9000
Replied by plopes9000 on topic Ethercat HAL driver
See for example
lists.etherlab.org/pipermail/etherlab-users/2010/000867.html
- plopes9000
- Offline
- Premium Member
-
Less
More
- Posts: 87
- Thank you received: 18
9 years 2 months ago #97288
by plopes9000
Replied by plopes9000 on topic Ethercat HAL driver
I'm actually over 2000km away from home so I can't run anything to put here the output but what I get with ethercat -pX pdo using is same as this:
SM0: PhysAddr 0x1800, DefaultSize 558, ControlRegister 0x26, Enable 1
SM1: PhysAddr 0x1a2e, DefaultSize 558, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1000, DefaultSize 0, ControlRegister 0x26, Enable 1
SM3: PhysAddr 0x1400, DefaultSize 0, ControlRegister 0x22, Enable 1
SM0: PhysAddr 0x1800, DefaultSize 558, ControlRegister 0x26, Enable 1
SM1: PhysAddr 0x1a2e, DefaultSize 558, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1000, DefaultSize 0, ControlRegister 0x26, Enable 1
SM3: PhysAddr 0x1400, DefaultSize 0, ControlRegister 0x22, Enable 1
- plopes9000
- Offline
- Premium Member
-
Less
More
- Posts: 87
- Thank you received: 18
9 years 2 months ago #97289
by plopes9000
Replied by plopes9000 on topic Ethercat HAL driver
The configuration I am using is almost identical to
github.com/sittner/linuxcnc-ethercat/blo.../ethercat-conf_X.xml
infosys.beckhoff.com/english.php?content.../2519216395.html&id=
"PDO Mapping
For each configured CANopen slave, there is an EtherCAT RxPDO (if the CANopen slave has CAN RxPDOs) and an EtherCAT TxPDO (if the CANopen slave has CAN TxPDOs). The PDO mapping of the EtherCAT PDOs is automatically calculated by the EL6751 after the download of the respective 0x8yyz objects and can be read. The PDO mapping objects 0x16yy and 0x1Ayy thereby belong to the configuration objects 0x8yyz. The PDO mapping objects can only be written with the values that the EL6751 has calculated itself. The writing of the PDO mapping thus serves only to check the PDO mapping calculated by the EtherCAT configurator and can therefore be omitted."
infosys.beckhoff.com/english.php?content.../2519216395.html&id=
"PDO Mapping
For each configured CANopen slave, there is an EtherCAT RxPDO (if the CANopen slave has CAN RxPDOs) and an EtherCAT TxPDO (if the CANopen slave has CAN TxPDOs). The PDO mapping of the EtherCAT PDOs is automatically calculated by the EL6751 after the download of the respective 0x8yyz objects and can be read. The PDO mapping objects 0x16yy and 0x1Ayy thereby belong to the configuration objects 0x8yyz. The PDO mapping objects can only be written with the values that the EL6751 has calculated itself. The writing of the PDO mapping thus serves only to check the PDO mapping calculated by the EtherCAT configurator and can therefore be omitted."
- plopes9000
- Offline
- Premium Member
-
Less
More
- Posts: 87
- Thank you received: 18
9 years 2 months ago #97290
by plopes9000
Replied by plopes9000 on topic Ethercat HAL driver
Finally to complete the circle, what I get in the log is something like this:
EtherCAT WARNING 0-4: Slave does not support assigning PDOs!
[ 4071.841658] EtherCAT WARNING 0-4: Currently assigned PDOs: (none). PDOs
to assign: 0x1600 0x1A80
I do get the opencan slave into op state but can't get cyclical data to work.
EtherCAT WARNING 0-4: Slave does not support assigning PDOs!
[ 4071.841658] EtherCAT WARNING 0-4: Currently assigned PDOs: (none). PDOs
to assign: 0x1600 0x1A80
I do get the opencan slave into op state but can't get cyclical data to work.
Time to create page: 0.866 seconds