Ethercat HAL driver
08 Aug 2017 00:32 #97147
by sirop
Replied by sirop on topic Ethercat HAL driver
PDO mapping can be done without TwinCAT and solely by the means of EtherLAB master.
Please Log in or Create an account to join the conversation.
- sqmathlete
- Offline
- Premium Member
Less
More
- Posts: 118
- Thank you received: 17
08 Aug 2017 01:02 #97149
by sqmathlete
Replied by sqmathlete on topic Ethercat HAL driver
Interesting...I'm obviously missing something.
Please Log in or Create an account to join the conversation.
- plopes9000
- Offline
- Premium Member
Less
More
- Posts: 87
- Thank you received: 18
10 Aug 2017 11:43 #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
Please Log in or Create an account to join the conversation.
10 Aug 2017 12:23 - 10 Aug 2017 12:25 #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: 10 Aug 2017 12:25 by sirop.
Please Log in or Create an account to join the conversation.
- plopes9000
- Offline
- Premium Member
Less
More
- Posts: 87
- Thank you received: 18
10 Aug 2017 13:41 #97287
by plopes9000
Replied by plopes9000 on topic Ethercat HAL driver
See for example lists.etherlab.org/pipermail/etherlab-users/2010/000867.html
Please Log in or Create an account to join the conversation.
- plopes9000
- Offline
- Premium Member
Less
More
- Posts: 87
- Thank you received: 18
10 Aug 2017 13:45 #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
Please Log in or Create an account to join the conversation.
- plopes9000
- Offline
- Premium Member
Less
More
- Posts: 87
- Thank you received: 18
10 Aug 2017 13:53 #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."
Please Log in or Create an account to join the conversation.
- plopes9000
- Offline
- Premium Member
Less
More
- Posts: 87
- Thank you received: 18
10 Aug 2017 13:58 #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.
Please Log in or Create an account to join the conversation.
10 Aug 2017 14:30 - 10 Aug 2017 14:31 #97293
by sirop
Replied by sirop on topic Ethercat HAL driver
Then you can try something like that from the command line:
-p0 for slave position=0 , 0x8006 : CAN TxPDO Configuration Node for slave 0,
1 : subindex for Configuration of CAN TxPDO 1 , OCTET_STRING as explained for (8006+n*16):01 .
ethercat download -p0 0x8006 1 OCTET_STRING
-p0 for slave position=0 , 0x8006 : CAN TxPDO Configuration Node for slave 0,
1 : subindex for Configuration of CAN TxPDO 1 , OCTET_STRING as explained for (8006+n*16):01 .
Last edit: 10 Aug 2017 14:31 by sirop.
Please Log in or Create an account to join the conversation.
- plopes9000
- Offline
- Premium Member
Less
More
- Posts: 87
- Thank you received: 18
10 Aug 2017 15:13 #97296
by plopes9000
Replied by plopes9000 on topic Ethercat HAL driver
Unfortunately it will be 2.5 weeks before I can try anything, but the issue is not the configuration of the el6751, after configuring the 8yyx objects it's all setup appropriately. The issue is that the igh ethercat master does not know that the mapping has changed and thinks that there are no PDOs assigned to 1000 and 1400 physical addresses - but there are by now.
Please Log in or Create an account to join the conversation.
Time to create page: 0.146 seconds