- Posts: 153
- Thank you received: 26
Beckhoff ethercat 64 with bit linuxcnc, How to install.
- Nico2017
- Offline
- Premium Member
-
Less
More
6 years 8 months ago - 6 years 8 months ago #158571
by Nico2017
Replied by Nico2017 on topic Beckhoff ethercat 64 with bit linuxcnc, How to install.
Hi,
More importantly, I think you forgot the last mark for closing masters at the end of the ethercat config file:
Let us know,
Nicolas
- is at least linuxcnc launching witthe EtherCAT config file. If it is not launching can you attached a print out of the message after doing your
command. Most common errors are related to the config-ethercat.xml file Have you check that the time period is matching the thread period you are associating it with, in your case the servo thread.Code:linuxcnc file.ini
- if it is launching, I guess your issue is the drive might not be communication correctly. You can first of all verify that the drive reached the OP state by doing :
and read the status of the driveCode:ethercat slave
- If the slave is not in OP state, then you can use use
to try to find out a bit more why is the slave not going into OPCode:sudo dmesg -T
More importantly, I think you forgot the last mark for closing masters at the end of the ethercat config file:
Code:
</masters>
Let us know,
Nicolas
Last edit: 6 years 8 months ago by Nico2017.
Please Log in or Create an account to join the conversation.
- Sockheaven
- Offline
- Senior Member
-
Less
More
- Posts: 51
- Thank you received: 11
6 years 8 months ago #158600
by Sockheaven
Replied by Sockheaven on topic Beckhoff ethercat 64 with bit linuxcnc, How to install.
Thanks for the debugging tips! I was not aware of those commands.
I checked the XML file, the </master> object is closed at the second to last line, so i think that's ok.
Running "$ ethercat slave" I get:
0 0:0 PREOP + AKD EtherCAT Drive (CoE)
So this backs up that the drive appears to be remaining in the pre-op state that i saw in the HAL Meter.
Running "sudo dmesg -T" I get a load of text, i've filtered it to the ECat stuff:
ec_master: loading out-of-tree module taints kernel.
EtherCAT: Master driver 1.5.2 unknown
EtherCAT: 1 master waiting for devices.
ec_generic: EtherCAT master generic Ethernet device module 1.5.2 unknown
EtherCAT: Accepting 00:90:27:F0:09:41 as main device for master 0.
ec_generic: Binding socket to interface 3 (eth1).
EtherCAT 0: Starting EtherCAT-IDLE thread.
igb 0000:03:00.0 eth1: igb: eth1 NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX
EtherCAT 0: Link state of ecm0 changed to UP.
EtherCAT 0: 1 slave(s) responding on main device.
EtherCAT 0: Slave states on main device: PREOP.
EtherCAT 0: Scanning bus.
EtherCAT 0: Bus scanning completed in 220 ms.
EtherCAT 0: Using slave main-0 as DC reference clock.
EtherCAT 0: Slave states on main device: INIT.
EtherCAT 0: Slave states on main device: PREOP.
Next, I open the LinuxCNC project and some new entries are appended:
EtherCAT: Requesting master 0...
EtherCAT: Successfully requested master 0.
EtherCAT 0: Domain0: Logical address 0x00000000, 12 byte, expected working counter 3.
EtherCAT 0: Datagram domain0-0-main: Logical offset 0x00000000, 12 byte, type LRW at ffff9d2359435798.
EtherCAT 0: Master thread exited.
EtherCAT 0: Starting EtherCAT-OP thread.
looks like there is some kind of init error - not sure what it's trying to tell me, except that the main thread exited for some reason.
Maybe related...
I was curious about some of those SDOs, in the examples, sometimes the subIdx="complete" and other times the sub index is specified (what i'm normally used to). I was wondering what the "complete" meant.
I also wasnt sure why all the examples use syncManager 2/3 and 0/1 are always empty.
Any other observations or ideas about why the main thread is exiting would be greatly appreciated!
Thanks again!
-Paul
I checked the XML file, the </master> object is closed at the second to last line, so i think that's ok.
Running "$ ethercat slave" I get:
0 0:0 PREOP + AKD EtherCAT Drive (CoE)
So this backs up that the drive appears to be remaining in the pre-op state that i saw in the HAL Meter.
Running "sudo dmesg -T" I get a load of text, i've filtered it to the ECat stuff:
ec_master: loading out-of-tree module taints kernel.
EtherCAT: Master driver 1.5.2 unknown
EtherCAT: 1 master waiting for devices.
ec_generic: EtherCAT master generic Ethernet device module 1.5.2 unknown
EtherCAT: Accepting 00:90:27:F0:09:41 as main device for master 0.
ec_generic: Binding socket to interface 3 (eth1).
EtherCAT 0: Starting EtherCAT-IDLE thread.
igb 0000:03:00.0 eth1: igb: eth1 NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX
EtherCAT 0: Link state of ecm0 changed to UP.
EtherCAT 0: 1 slave(s) responding on main device.
EtherCAT 0: Slave states on main device: PREOP.
EtherCAT 0: Scanning bus.
EtherCAT 0: Bus scanning completed in 220 ms.
EtherCAT 0: Using slave main-0 as DC reference clock.
EtherCAT 0: Slave states on main device: INIT.
EtherCAT 0: Slave states on main device: PREOP.
Next, I open the LinuxCNC project and some new entries are appended:
EtherCAT: Requesting master 0...
EtherCAT: Successfully requested master 0.
EtherCAT 0: Domain0: Logical address 0x00000000, 12 byte, expected working counter 3.
EtherCAT 0: Datagram domain0-0-main: Logical offset 0x00000000, 12 byte, type LRW at ffff9d2359435798.
EtherCAT 0: Master thread exited.
EtherCAT 0: Starting EtherCAT-OP thread.
looks like there is some kind of init error - not sure what it's trying to tell me, except that the main thread exited for some reason.
Maybe related...
I was curious about some of those SDOs, in the examples, sometimes the subIdx="complete" and other times the sub index is specified (what i'm normally used to). I was wondering what the "complete" meant.
I also wasnt sure why all the examples use syncManager 2/3 and 0/1 are always empty.
Any other observations or ideas about why the main thread is exiting would be greatly appreciated!
Thanks again!
-Paul
Please Log in or Create an account to join the conversation.
- chimeno
- Offline
- Elite Member
-
Less
More
- Posts: 295
- Thank you received: 125
6 years 8 months ago #158813
by chimeno
Replied by chimeno on topic Beckhoff ethercat 64 with bit linuxcnc, How to install.
Hi @Paul,
I was looking at your .xml configuration file and is this correct?
can be this?
if it helps you
greeting
Chimeno
I was looking at your .xml configuration file and is this correct?
Code:
<slave idx="0" type="generic" vid="00000106" pid="00000001" configPdos="true">
Code:
<slave idx="0" type="generic" vid="0000006a" pid="00414b44" configPdos="true">
greeting
Chimeno
The following user(s) said Thank You: Sockheaven
Please Log in or Create an account to join the conversation.
- Sockheaven
- Offline
- Senior Member
-
Less
More
- Posts: 51
- Thank you received: 11
6 years 8 months ago #158864
by Sockheaven
Replied by Sockheaven on topic Beckhoff ethercat 64 with bit linuxcnc, How to install.
Well you definitely saw something I didn't.. I see the translation from 106 to A6 being hex vs dec, but I don't even see where you pulled the PID from (to be frank, why that even mattered since I wasn't compiling my own objects - i figured those numbers just needed to match if i wrote my own module).
I now see after booting (pre linuxcnc) my dmesg -T output is:
igb 0000:03:00.0 eth1: igb: eth1 NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX
EtherCAT 0: Link state of ecm0 changed to UP.
EtherCAT 0: 1 slave(s) responding on main device.
EtherCAT 0: Slave states on main device: PREOP.
EtherCAT 0: Scanning bus.
EtherCAT 0: Bus scanning completed in 228 ms.
EtherCAT 0: Using slave main-0 as DC reference clock.
EtherCAT 0: Slave states on main device: INIT.
EtherCAT 0: Slave states on main device: PREOP.
Then when starting LinuxCNC, there are new logs/errors:
EtherCAT: Requesting master 0...
EtherCAT: Successfully requested master 0.
EtherCAT 0: Domain0: Logical address 0x00000000, 12 byte, expected working counter 3.
EtherCAT 0: Datagram domain0-0-main: Logical offset 0x00000000, 12 byte, type LRW at ffff974066a53cd8.
EtherCAT 0: Master thread exited.
EtherCAT 0: Starting EtherCAT-OP thread.
EtherCAT 0: Slave states on main device: INIT.
EtherCAT 0: Slave states on main device: PREOP.
EtherCAT ERROR 0-main-0: SDO download 0x1A00:01 (4 bytes) aborted.
EtherCAT ERROR 0-main-0: SDO abort message 0x06040041: "The object cannot be mapped into the PDO".
EtherCAT ERROR 0-main-0: SDO configuration failed.
So clearly having the VID/PID set correctly mattered, because now it made it as far as trying to run the init SDO list i had set in the XML file. It looks like something is failing, I'll check with the Apps group on Monday to see if they can identify what may be going wrong.
Thanks so much! Will post an update soon.
Best Regards,
Paul
I now see after booting (pre linuxcnc) my dmesg -T output is:
igb 0000:03:00.0 eth1: igb: eth1 NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX
EtherCAT 0: Link state of ecm0 changed to UP.
EtherCAT 0: 1 slave(s) responding on main device.
EtherCAT 0: Slave states on main device: PREOP.
EtherCAT 0: Scanning bus.
EtherCAT 0: Bus scanning completed in 228 ms.
EtherCAT 0: Using slave main-0 as DC reference clock.
EtherCAT 0: Slave states on main device: INIT.
EtherCAT 0: Slave states on main device: PREOP.
Then when starting LinuxCNC, there are new logs/errors:
EtherCAT: Requesting master 0...
EtherCAT: Successfully requested master 0.
EtherCAT 0: Domain0: Logical address 0x00000000, 12 byte, expected working counter 3.
EtherCAT 0: Datagram domain0-0-main: Logical offset 0x00000000, 12 byte, type LRW at ffff974066a53cd8.
EtherCAT 0: Master thread exited.
EtherCAT 0: Starting EtherCAT-OP thread.
EtherCAT 0: Slave states on main device: INIT.
EtherCAT 0: Slave states on main device: PREOP.
EtherCAT ERROR 0-main-0: SDO download 0x1A00:01 (4 bytes) aborted.
EtherCAT ERROR 0-main-0: SDO abort message 0x06040041: "The object cannot be mapped into the PDO".
EtherCAT ERROR 0-main-0: SDO configuration failed.
So clearly having the VID/PID set correctly mattered, because now it made it as far as trying to run the init SDO list i had set in the XML file. It looks like something is failing, I'll check with the Apps group on Monday to see if they can identify what may be going wrong.
Thanks so much! Will post an update soon.
Best Regards,
Paul
Please Log in or Create an account to join the conversation.
- Moronicsmurf
- Offline
- Senior Member
-
Less
More
- Posts: 53
- Thank you received: 2
6 years 7 months ago #158955
by Moronicsmurf
Replied by Moronicsmurf on topic Beckhoff ethercat 64 with bit linuxcnc, How to install.
Sorry for going off topic in this thread..
But if using the EtherCAT stuff from beckhoff. Would the stepgen be completly pc based then instead of having a step generator in an FPGA like with the mesa cards?
One of the resons for using the fpga cards is that you can use crappier hardware in most cases and get away with it.. is it the same with Ethercat ?
But if using the EtherCAT stuff from beckhoff. Would the stepgen be completly pc based then instead of having a step generator in an FPGA like with the mesa cards?
One of the resons for using the fpga cards is that you can use crappier hardware in most cases and get away with it.. is it the same with Ethercat ?
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
-
Less
More
- Posts: 4793
- Thank you received: 1480
6 years 7 months ago - 6 years 7 months ago #158970
by Todd Zuercher
Replied by Todd Zuercher on topic Beckhoff ethercat 64 with bit linuxcnc, How to install.
I don't think you would be using step generation at all with EtherCAT. You would be sending velocity (or position) commands directly to the EtherCAT drive. (but I have no experience with EtherCAT.)
Last edit: 6 years 7 months ago by Todd Zuercher.
Please Log in or Create an account to join the conversation.
Time to create page: 0.565 seconds