- Posts: 40
- Thank you received: 29
Ethercat HAL driver
- roschi
- Offline
- Senior Member
-
Less
More
9 years 2 months ago - 9 years 2 months ago #98270
by roschi
Replied by roschi on topic Ethercat HAL driver
Hi,
I can mention that the "halType=special32" was an intermediate solution which only worked for the forked development find here: github.com/aschiffler/linuxcnc
I recommend to use the latest development from S. Ittner and therefore the halType=complex
See here:
github.com/sittner/linuxcnc-ethercat/blo.../ethercat-conf_X.xml
lines 98 -116
EDIT
Also sirop has given this answer.
Regards Andreas
I can mention that the "halType=special32" was an intermediate solution which only worked for the forked development find here: github.com/aschiffler/linuxcnc
I recommend to use the latest development from S. Ittner and therefore the halType=complex
See here:
github.com/sittner/linuxcnc-ethercat/blo.../ethercat-conf_X.xml
lines 98 -116
EDIT
Also sirop has given this answer.
Regards Andreas
Last edit: 9 years 2 months ago by roschi.
The following user(s) said Thank You: sqmathlete
- bkt
- Offline
- Platinum Member
-
Less
More
- Posts: 1111
- Thank you received: 114
9 years 1 month ago - 9 years 1 month ago #98746
by bkt
Replied by bkt on topic Ethercat HAL driver
Sorry, I ask here but not sure the right place ... using pcie slave card (ixxat, hilscher CIFX 50E-RE seems more suitable but there are other producer ) I would run linuxcnc as slave Ethercat ... Master is an other pc or plc .... without starting experiments that go blank then I would like to know if it is possible, according to the experiences of master ethercat lcnc developers, to build a lcnc slave based on these cards, and what are the attentions that need to be devoted to the development of the "glue" between the card drives and Lcnc ... or what are the critical points?
Or installing the latest versions from github you can already use Lcnc as a slave with some kind of slave cards?
You can suggest me some more suitable pci/pcie/minipcie card for these'
regards
giorgio
Or installing the latest versions from github you can already use Lcnc as a slave with some kind of slave cards?
You can suggest me some more suitable pci/pcie/minipcie card for these'
regards
giorgio
Last edit: 9 years 1 month ago by bkt.
- sirop
- Offline
- Elite Member
-
Less
More
- Posts: 193
- Thank you received: 57
9 years 1 month ago #98749
by sirop
I never tried out any of these slave cards but it schould be possible to use such a card similar to the way MESA PCIE cards are used.
The EtherCAT chip on the PCIE card would garantee that an ethercat frame traverses the card within under 1 us.
Your main attention then schould be paid to sync-ing of other procceses that deliver input for the slave card.
As an alternative: XMOS, kind of FPGA for the poor www.synapticon.com/product/ethercat-development-kit .
Replied by sirop on topic Ethercat HAL driver
k-1 wrote: Sorry, I ask here but not sure the right place ... using pcie slave card (ixxat, hilscher CIFX 50E-RE seems more suitable but there are other producer ) I would run linuxcnc as slave Ethercat
giorgio
I never tried out any of these slave cards but it schould be possible to use such a card similar to the way MESA PCIE cards are used.
The EtherCAT chip on the PCIE card would garantee that an ethercat frame traverses the card within under 1 us.
Your main attention then schould be paid to sync-ing of other procceses that deliver input for the slave card.
As an alternative: XMOS, kind of FPGA for the poor www.synapticon.com/product/ethercat-development-kit .
The following user(s) said Thank You: bkt, kenedy1
- bkt
- Offline
- Platinum Member
-
Less
More
- Posts: 1111
- Thank you received: 114
9 years 1 month ago #98759
by bkt
what do you mean by that? processes that come from the master (ex. plc -> external to Lcnc) or processes that come from Lcnc itself? Those should synchronize with a normal file hal ... or in the case of motion data with the kinematic ... Iunderstand badly?
regards
Giorgio
Replied by bkt on topic Ethercat HAL driver
sirop wrote: Your main attention then schould be paid to sync-ing of other procceses that deliver input for the slave card.
what do you mean by that? processes that come from the master (ex. plc -> external to Lcnc) or processes that come from Lcnc itself? Those should synchronize with a normal file hal ... or in the case of motion data with the kinematic ... Iunderstand badly?
regards
Giorgio
- sirop
- Offline
- Elite Member
-
Less
More
- Posts: 193
- Thank you received: 57
9 years 1 month ago #98760
by sirop
Any process data between the master and its slave is synced by the means of EtherCAT.
Interesting is what happens within the slave: the EtherCAT network can be synced within under 1us, but a typical Linuxcnc installation
would have a latency of at least 10 us nowadays, wouldn't it?
Suppose you run the EtherCAT network at 500 us cycle time, then your EtherCAT LinuxCNC slave might need to run its internal HAL processes at 250 us cycle time in order to cope with the higher latency of LinuxCNC software.
Replied by sirop on topic Ethercat HAL driver
k-1 wrote:
what do you mean by that? processes that come from the master (ex. plc -> external to Lcnc) or processes that come from Lcnc itself? Those should synchronize with a normal file hal ... or in the case of motion data with the kinematic ... Iunderstand badly?
regards
Giorgio
Any process data between the master and its slave is synced by the means of EtherCAT.
Interesting is what happens within the slave: the EtherCAT network can be synced within under 1us, but a typical Linuxcnc installation
would have a latency of at least 10 us nowadays, wouldn't it?
Suppose you run the EtherCAT network at 500 us cycle time, then your EtherCAT LinuxCNC slave might need to run its internal HAL processes at 250 us cycle time in order to cope with the higher latency of LinuxCNC software.
The following user(s) said Thank You: bkt
- bkt
- Offline
- Platinum Member
-
Less
More
- Posts: 1111
- Thank you received: 114
9 years 1 month ago #98779
by bkt
Replied by bkt on topic Ethercat HAL driver
ok ... you are right ... I did not evaluate this aspect .... so I will have the slave card that will pass the ethercat packages not interesting for Lcnc and will take those directed to the slave Lcnc .... i will have to create a sort of queque for the input packages if was too much in too little time, in these way the response is everytime complete, not in 500us cile, but complete ... this way the card will respect the 500us and Lcnc will not have to chase anyone .... of course everything that my lcnc slave will do will write registers on the Master .... and it will be the Master to steer on the need to synchronize. .... do you think it might be the right way to proceed?
If so, I should only create an rt component to communicate with the board, fixing what you can read or write.
What do you think about it?
regards
Giorgio
If so, I should only create an rt component to communicate with the board, fixing what you can read or write.
What do you think about it?
regards
Giorgio
Time to create page: 0.288 seconds