- Posts: 10
- Thank you received: 1
Ethercat HAL driver
- marcin2458
- Offline
- New Member
-
Less
More
7 years 1 month ago - 7 years 1 month ago #145496
by marcin2458
Replied by marcin2458 on topic Ethercat HAL driver
Hello Chimeno,
Thank you for responding so quickly.
I have improved the pid configuration.
The shaft started to spin, one pin was missing 'net v-vel-cmd=> axis.0.0.join-vel-cmd'. But to the same signal is assigned x-pid.output pin. When it assigns both pins to the same signal, the information pops up when the program is opened that the second pin cannot be assigned to the same signal. When for x-pid.output I change the name of the PID signal just doesn't work so the motor shaft is quite "soft" enough that I can shake it with my hand. When I assign it to x-vel-cmd signal, PID works as it should but the shaft does not rotate. Someone may have some idea how to solve this problem, maybe some examples of writing in the hall?
Regards,
Marcin
Thank you for responding so quickly.
I have improved the pid configuration.
The shaft started to spin, one pin was missing 'net v-vel-cmd=> axis.0.0.join-vel-cmd'. But to the same signal is assigned x-pid.output pin. When it assigns both pins to the same signal, the information pops up when the program is opened that the second pin cannot be assigned to the same signal. When for x-pid.output I change the name of the PID signal just doesn't work so the motor shaft is quite "soft" enough that I can shake it with my hand. When I assign it to x-vel-cmd signal, PID works as it should but the shaft does not rotate. Someone may have some idea how to solve this problem, maybe some examples of writing in the hall?
Regards,
Marcin
Last edit: 7 years 1 month ago by marcin2458.
The following user(s) said Thank You: chimeno
Please Log in or Create an account to join the conversation.
- Nico2017
- Offline
- Premium Member
-
Less
More
- Posts: 153
- Thank you received: 26
7 years 1 month ago - 7 years 1 month ago #145896
by Nico2017
Replied by Nico2017 on topic Ethercat HAL driver
Hi all,
I am trying to summarize the general philosophy to get a device with EtherCAT capability to work with the EtherCAT driver then linuxcnc-ethercat.
As far as I understand it, the device manufacturer can provide an ESI file (EtherCAT slave information, using xml formatting). Not sure at this stage if this file can contain some default communication feature.
Then with the firmware of the manufacturer you can set up the EtherCAT communication of the device: which information is exchanged, what frequency and so on. For instance that would be Indraworks for Bosch Rexroth. Once done we should be able to generate an ENI file (EtherCAT network information) which describes the bus topology and all the information exchanged.
This configuration can be amended/tested with the EtherCAT configurator or TwinCAT.
Another file is then created, based on the ENI file, WITH a xml format. It should be created manually to fit the format for the .xml file used in linuxcnc etherCAT module based on the ENI file. This step is described in the nice .pdf tutorial by @roschi: docs.google.com/document/d/1GiB065ZIAaoM...GQl2X9DM9-THNM/edit#
I understand all the parameters transformation but not parameter 2:
I do not really get the A00F transformation to 0x0FA0. I get that 0FA0 in hex gives 4000 in decimal.
At this stage I might need to implement a Eurotherm temperature controller (mini
and an ABB drive with EtherCAT for a specific project. So as I have not seen any of those devices being used like that on this forum topic, I wanted to be sure I got it right in theory before digging in the more technical aspects.
Thank you,
Nicolas
I am trying to summarize the general philosophy to get a device with EtherCAT capability to work with the EtherCAT driver then linuxcnc-ethercat.
As far as I understand it, the device manufacturer can provide an ESI file (EtherCAT slave information, using xml formatting). Not sure at this stage if this file can contain some default communication feature.
Then with the firmware of the manufacturer you can set up the EtherCAT communication of the device: which information is exchanged, what frequency and so on. For instance that would be Indraworks for Bosch Rexroth. Once done we should be able to generate an ENI file (EtherCAT network information) which describes the bus topology and all the information exchanged.
This configuration can be amended/tested with the EtherCAT configurator or TwinCAT.
Another file is then created, based on the ENI file, WITH a xml format. It should be created manually to fit the format for the .xml file used in linuxcnc etherCAT module based on the ENI file. This step is described in the nice .pdf tutorial by @roschi: docs.google.com/document/d/1GiB065ZIAaoM...GQl2X9DM9-THNM/edit#
I understand all the parameters transformation but not parameter 2:
Then grab the Information of the NC-cycle time
here it is A00F → 0x0FA0 = 4000 and multiply by 1000; Or choose another number which fix to the needs (Parameter 2)
I do not really get the A00F transformation to 0x0FA0. I get that 0FA0 in hex gives 4000 in decimal.
At this stage I might need to implement a Eurotherm temperature controller (mini
Thank you,
Nicolas
Last edit: 7 years 1 month ago by Nico2017.
Please Log in or Create an account to join the conversation.
- chimeno
- Offline
- Elite Member
-
Less
More
- Posts: 295
- Thank you received: 125
7 years 1 month ago #145986
by chimeno
Replied by chimeno on topic Ethercat HAL driver
Hi Marcin,
You do what I can! I'm glad you start the engine, I just didn't understand very well? surely only the PID configured with more margin would have to work without problems.
Hi Nico,
in theory, the configuration of any ethercat device is quite easy, if you are using TWINCAT, the values you have, you have to invert them every two bits example
TWINCAT parameter "A00F00F0A0" = "A0 0F 00 F0 A0" invert.
Parameter Linuxcnc-ethercat "0A F0 00 0F A0
When the parameters are very long, it is best to make a capture with WIRESHARK, you activate it at the same time as the configuration in TWINCAT and you can see the exact values in format for linuxcnc-ethercat.
I create my own .XML configuration files only with the parameters that I want to change, since any configuration problem creates many problems.
I don't know if I could help you a lot.
Regards
Chimeno
You do what I can! I'm glad you start the engine, I just didn't understand very well? surely only the PID configured with more margin would have to work without problems.
Hi Nico,
in theory, the configuration of any ethercat device is quite easy, if you are using TWINCAT, the values you have, you have to invert them every two bits example
TWINCAT parameter "A00F00F0A0" = "A0 0F 00 F0 A0" invert.
Parameter Linuxcnc-ethercat "0A F0 00 0F A0
When the parameters are very long, it is best to make a capture with WIRESHARK, you activate it at the same time as the configuration in TWINCAT and you can see the exact values in format for linuxcnc-ethercat.
I create my own .XML configuration files only with the parameters that I want to change, since any configuration problem creates many problems.
I don't know if I could help you a lot.
Regards
Chimeno
The following user(s) said Thank You: Nico2017
Please Log in or Create an account to join the conversation.
- chimeno
- Offline
- Elite Member
-
Less
More
- Posts: 295
- Thank you received: 125
7 years 1 month ago - 7 years 1 month ago #145992
by chimeno
Replied by chimeno on topic Ethercat HAL driver
Hello guys,
I have attached a new EL9576 controller, for you players!
regards
Chimeno
I have attached a new EL9576 controller, for you players!
regards
Chimeno
Last edit: 7 years 1 month ago by chimeno.
The following user(s) said Thank You: CORBETT
Please Log in or Create an account to join the conversation.
- Nico2017
- Offline
- Premium Member
-
Less
More
- Posts: 153
- Thank you received: 26
7 years 1 month ago #146633
by Nico2017
Replied by Nico2017 on topic Ethercat HAL driver
Hi,
thanks @chimeno for your answer. Although just to be sure:
So if I got any device EtherCAT capable and its ESI file, I should be able to work out the associated .xml file for linuxcnc-etherCAT. Is that it?
Thank you,
Nicolas
thanks @chimeno for your answer. Although just to be sure:
Did you mean: Parameter Linuxcnc-ethercat "0A F0 00 0F 0A" the last one being different?TWINCAT parameter "A00F00F0A0" = "A0 0F 00 F0 A0" invert.
Parameter Linuxcnc-ethercat "0A F0 00 0F A0
So if I got any device EtherCAT capable and its ESI file, I should be able to work out the associated .xml file for linuxcnc-etherCAT. Is that it?
Thank you,
Nicolas
Please Log in or Create an account to join the conversation.
- chimeno
- Offline
- Elite Member
-
Less
More
- Posts: 295
- Thank you received: 125
7 years 1 month ago - 7 years 1 month ago #146733
by chimeno
Replied by chimeno on topic Ethercat HAL driver
Hi Nico, Sorry I was wrong,
TWINCAT parameter "A00F00F0A0" = "A0 0F 00 F0 A0" inverted.
Parameter Linuxcnc-ethercat "A0 F0 00 0F A0
If you can configure any device in the attached .xml file.
for example
EL5152
"set up
80n0: 03 Enable up / down
counter [} 128]
Enablement of the up / down counter in place of the encoder with the bit set.
BOOLEAN RW 0x00 (0dec) "
<? xml version = "1.0" encoding = "ISO-8859-1"?>
<EtherCATMailbox><CoE> <InitCmds>
<InitCmd>
<Transition> PS </Transition>
<Comment> <! [CDATA [Max current]]> </Comment>
<Timeout> 0 </Timeout>
<Ccs> 1 </Ccs>
<Index> 32768 </Index>
<SubIndex> 3 </SubIndex>
<Data> 0x01 </Data>
</InitCmd>
</InitCmds></SoE> </EtherCATMailbox>
it helps you?
Regards
Chimeno
TWINCAT parameter "A00F00F0A0" = "A0 0F 00 F0 A0" inverted.
Parameter Linuxcnc-ethercat "A0 F0 00 0F A0
If you can configure any device in the attached .xml file.
for example
EL5152
"set up
80n0: 03 Enable up / down
counter [} 128]
Enablement of the up / down counter in place of the encoder with the bit set.
BOOLEAN RW 0x00 (0dec) "
<? xml version = "1.0" encoding = "ISO-8859-1"?>
<EtherCATMailbox><CoE> <InitCmds>
<InitCmd>
<Transition> PS </Transition>
<Comment> <! [CDATA [Max current]]> </Comment>
<Timeout> 0 </Timeout>
<Ccs> 1 </Ccs>
<Index> 32768 </Index>
<SubIndex> 3 </SubIndex>
<Data> 0x01 </Data>
</InitCmd>
</InitCmds></SoE> </EtherCATMailbox>
it helps you?
Regards
Chimeno
Last edit: 7 years 1 month ago by chimeno.
Please Log in or Create an account to join the conversation.
Time to create page: 0.194 seconds