Hypertherm XPR woes
- bcorley
- Offline
- Junior Member
-
Less
More
- Posts: 21
- Thank you received: 6
16 Jan 2025 20:51 #319146
by bcorley
Hypertherm XPR woes was created by bcorley
I am trying to connect linuxcnc to a Hypertherm XPR plasma via EtherCAT but am having issues. I don't have Twincat or EtherCAT Configurator to produce an xml file, so, I have attempted to make one on my own. The xml seems to load correctly and I can see the lcec hal component, however, the XPR plasma will not get past PREOP. It complains with:
ERROR 0-0: Timeout while waiting for SDO entry 0x3000:3 description response.
A capture of the sdos indicates that 0x3000:3 and above don't exist. Why is that address being interrogated? Did I miss something in the xml?
All applicable project and capture files are in the attached zip file.
Any help would be greatly appreciated. I have a limited window of time to fiddle with this before we stick an Edge Connect on it and send it on its way.
Thanks,
Butch
ERROR 0-0: Timeout while waiting for SDO entry 0x3000:3 description response.
A capture of the sdos indicates that 0x3000:3 and above don't exist. Why is that address being interrogated? Did I miss something in the xml?
All applicable project and capture files are in the attached zip file.
Any help would be greatly appreciated. I have a limited window of time to fiddle with this before we stick an Edge Connect on it and send it on its way.
Thanks,
Butch
Please Log in or Create an account to join the conversation.
- rodw
-
- Offline
- Platinum Member
-
Less
More
- Posts: 10995
- Thank you received: 3651
17 Jan 2025 00:42 #319150
by rodw
Replied by rodw on topic Hypertherm XPR woes
The hypertherm docs show quite a number of 3000:xx SDO's
Try this
www.hypertherm.com/Download?fileId=HYP182148&zip=False
Try this
www.hypertherm.com/Download?fileId=HYP182148&zip=False
Please Log in or Create an account to join the conversation.
- bcorley
- Offline
- Junior Member
-
Less
More
- Posts: 21
- Thank you received: 6
20 Jan 2025 18:13 #319477
by bcorley
Replied by bcorley on topic Hypertherm XPR woes
Thanks Rod. I have that document already and have examined it thoroughly. And, yes, there are several 3000:xx SDOs that are used, plus some 3100, etc. Here is an ESI file for the XPR from off an Edge Connect control. Hypertherm has an EtherCAT Studio that reads this and generates the ENI xml file for their EtherCAT Master to use. Notice the datatype DT3000 lists all applicable SDO entries I need. However, when I query the XPR with EtherLab's EtherCAT Master, I get something different. The attached file 'XPR sdos (captured).txt' is what I get from the query and it tells a different story than the ESI file provided for the XPR, (stops at 3000:02).
I have tried using bits and pieces of Hypetherm's generated ENI file, (attached: ethercat-config-xpr.xml), but EtherLab's master chokes on most of it.
I don't have access to TwinCat or EtherCAT Configurator from Beckhoff at this time but have sent a request to our Sales Rep to order the Configurator. Apparently, he has to refer me to a "special group" at Beckhoff corporate. I figure that may be my next best step on generating an ENI file with components I can use.
I'm afraid I'm going to run out of time to mess with the XPR before I get the Configurator and we have to ship out the XPR.
Have you, (or anyone), seen a similar situation where an ESI file is different than what you get by interrogating a device?
I have tried using bits and pieces of Hypetherm's generated ENI file, (attached: ethercat-config-xpr.xml), but EtherLab's master chokes on most of it.
I don't have access to TwinCat or EtherCAT Configurator from Beckhoff at this time but have sent a request to our Sales Rep to order the Configurator. Apparently, he has to refer me to a "special group" at Beckhoff corporate. I figure that may be my next best step on generating an ENI file with components I can use.
I'm afraid I'm going to run out of time to mess with the XPR before I get the Configurator and we have to ship out the XPR.
Have you, (or anyone), seen a similar situation where an ESI file is different than what you get by interrogating a device?
Please Log in or Create an account to join the conversation.
- rodw
-
- Offline
- Platinum Member
-
Less
More
- Posts: 10995
- Thank you received: 3651
21 Jan 2025 11:27 #319549
by rodw
Replied by rodw on topic Hypertherm XPR woes
I can;t really help as I have never used twincat.
Scott has an esi parser as part of the Ethercat driver (I think) now hosted by etherlabmaster . Have you tried it? github.com/linuxcnc-ethercat/esi-data
Scott has an esi parser as part of the Ethercat driver (I think) now hosted by etherlabmaster . Have you tried it? github.com/linuxcnc-ethercat/esi-data
Please Log in or Create an account to join the conversation.
- bcorley
- Offline
- Junior Member
-
Less
More
- Posts: 21
- Thank you received: 6
21 Jan 2025 22:58 - 22 Jan 2025 20:54 #319598
by bcorley
Replied by bcorley on topic Hypertherm XPR woes
UPDATES! (edited)
Rod - I have not tried the esi-data thing. Not sure how to use it or if it will yield any gains at this point.
I have loaded a trial version of TwinCAT and successfully linked to the XPR using the ESI file provided by Hypertherm. Even brought it up to OP mode. I then exported an ENI configuration file. I added the InitCmds under Mailbox in a file and included the file reference in my xml.
I found that the xml file is actually parsed by the linuxcnc-ethercat (lcec) hal component. And now I have located some documentation for it on github.
lcec seems to be ok with my 2 ENI files as they are.
They are attached (also attached my hal file):
ethercat-config-xpr-combined.xml
xpr-inits.xml
xpr_test.hal
However, the XPR is not happy. Here's a printout of dmesg | grep EtherCAT after starting a halrun session with the above hal file:
sudo dmesg -c | grep EtherCAT
[12534.331088] EtherCAT: Requesting master 0...
[12534.331095] EtherCAT: Successfully requested master 0.
[12534.331209] EtherCAT 0: Domain0: Logical address 0x00000000, 10 byte, expected working counter 3.
[12534.331212] EtherCAT 0: Datagram domain0-0-main: Logical offset 0x00000000, 10 byte, type LRW.
[12534.331244] EtherCAT 0: Master thread exited.
[12534.331248] EtherCAT 0: Starting EtherCAT-OP thread.
[12534.331329] EtherCAT WARNING 0: 1 datagram UNMATCHED!
[12534.417375] EtherCAT ERROR 0-0: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR).
[12534.419374] EtherCAT ERROR 0-0: AL status message 0x001E: "Invalid input configuration".
[12534.421379] EtherCAT 0-0: Acknowledged state PREOP.
No idea what is going on here. What could be wrong with the input configuration? Any help would be much appreciated. I would like to share a working configuration for an XPR with everyone.
Thanks,
Butch
Rod - I have not tried the esi-data thing. Not sure how to use it or if it will yield any gains at this point.
I have loaded a trial version of TwinCAT and successfully linked to the XPR using the ESI file provided by Hypertherm. Even brought it up to OP mode. I then exported an ENI configuration file. I added the InitCmds under Mailbox in a file and included the file reference in my xml.
I found that the xml file is actually parsed by the linuxcnc-ethercat (lcec) hal component. And now I have located some documentation for it on github.
lcec seems to be ok with my 2 ENI files as they are.
They are attached (also attached my hal file):
ethercat-config-xpr-combined.xml
xpr-inits.xml
xpr_test.hal
However, the XPR is not happy. Here's a printout of dmesg | grep EtherCAT after starting a halrun session with the above hal file:
Warning: Spoiler!
sudo dmesg -c | grep EtherCAT
[12534.331088] EtherCAT: Requesting master 0...
[12534.331095] EtherCAT: Successfully requested master 0.
[12534.331209] EtherCAT 0: Domain0: Logical address 0x00000000, 10 byte, expected working counter 3.
[12534.331212] EtherCAT 0: Datagram domain0-0-main: Logical offset 0x00000000, 10 byte, type LRW.
[12534.331244] EtherCAT 0: Master thread exited.
[12534.331248] EtherCAT 0: Starting EtherCAT-OP thread.
[12534.331329] EtherCAT WARNING 0: 1 datagram UNMATCHED!
[12534.417375] EtherCAT ERROR 0-0: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR).
[12534.419374] EtherCAT ERROR 0-0: AL status message 0x001E: "Invalid input configuration".
[12534.421379] EtherCAT 0-0: Acknowledged state PREOP.
No idea what is going on here. What could be wrong with the input configuration? Any help would be much appreciated. I would like to share a working configuration for an XPR with everyone.
Thanks,
Butch
Last edit: 22 Jan 2025 20:54 by bcorley. Reason: fix attachments and found lcec documentation
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
- bcorley
- Offline
- Junior Member
-
Less
More
- Posts: 21
- Thank you received: 6
22 Jan 2025 21:10 #319676
by bcorley
Replied by bcorley on topic Hypertherm XPR woes
I may have found something in my xml file
<pdoEntry idx="6000" subIdx="01" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="motion" halType="bit"/>
<complexEntry bitLen="1" halPin="tbd" halType="bit"/>
<complexEntry bitLen="1" halPin="ready-for-start" halType="bit"/>
<complexEntry bitLen="1" halPin="error" halType="bit"/>
<complexEntry bitLen="1" halPin="process-ready" halType="bit"/>
<complexEntry bitLen="1" halPin="error-priority-info" halType="bit"/>
<complexEntry bitLen="1" halPin="error-priority-alert" halType="bit"/>
<complexEntry bitLen="1" halPin="ohmic-contact" halType="bit"/>
<complexEntry bitLen="1" halPin="remote-power-status" halType="bit"/>
<complexEntry bitLen="1" halPin="error-priority-error" halType="bit"/>
<complexEntry bitLen="1" halPin="error-priority-failure" halType="bit"/>
<complexEntry bitLen="4"/> <<<need to change this to 5
</pdoEntry>
Need to change last complexEntry bitLen from 4 to 5
Can't test it until tomorrow though.
<pdoEntry idx="6000" subIdx="01" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="motion" halType="bit"/>
<complexEntry bitLen="1" halPin="tbd" halType="bit"/>
<complexEntry bitLen="1" halPin="ready-for-start" halType="bit"/>
<complexEntry bitLen="1" halPin="error" halType="bit"/>
<complexEntry bitLen="1" halPin="process-ready" halType="bit"/>
<complexEntry bitLen="1" halPin="error-priority-info" halType="bit"/>
<complexEntry bitLen="1" halPin="error-priority-alert" halType="bit"/>
<complexEntry bitLen="1" halPin="ohmic-contact" halType="bit"/>
<complexEntry bitLen="1" halPin="remote-power-status" halType="bit"/>
<complexEntry bitLen="1" halPin="error-priority-error" halType="bit"/>
<complexEntry bitLen="1" halPin="error-priority-failure" halType="bit"/>
<complexEntry bitLen="4"/> <<<need to change this to 5
</pdoEntry>
Need to change last complexEntry bitLen from 4 to 5
Can't test it until tomorrow though.
The following user(s) said Thank You: rodw
Please Log in or Create an account to join the conversation.
- bcorley
- Offline
- Junior Member
-
Less
More
- Posts: 21
- Thank you received: 6
23 Jan 2025 17:38 #319722
by bcorley
Replied by bcorley on topic Hypertherm XPR woes
Got it working!!!
Attached working xml for Hypertherm XPR
Attached working xml for Hypertherm XPR
The following user(s) said Thank You: tommylight, RDA
Please Log in or Create an account to join the conversation.
- RDA
- Offline
- Premium Member
-
Less
More
- Posts: 150
- Thank you received: 42
23 Jan 2025 19:19 #319728
by RDA
Replied by RDA on topic Hypertherm XPR woes
Good job!
You might want to check what Joco and Rod did with holes to get your own ”true hole” stuff in the cnc.
You might want to check what Joco and Rod did with holes to get your own ”true hole” stuff in the cnc.
Please Log in or Create an account to join the conversation.
- rodw
-
- Offline
- Platinum Member
-
Less
More
- Posts: 10995
- Thank you received: 3651
23 Jan 2025 20:30 #319730
by rodw
Replied by rodw on topic Hypertherm XPR woes
Awesome work, This is the first XPR machine running under Linuxcnc I know of. Great you cracked the Ethercat settings
In the meantime, this video of mine explains the process which is based on info shared with me by a guy who worked in the Hidef manufacturing industry
This is incorporated into Monokrom plasma which is a qtpyvcp variant of QTplasmac. I'll see if I can find Joco's latest git for youGood job!
You might want to check what Joco and Rod did with holes to get your own ”true hole” stuff in the cnc.
In the meantime, this video of mine explains the process which is based on info shared with me by a guy who worked in the Hidef manufacturing industry
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
- Joco
-
- Offline
- Platinum Member
-
Less
More
- Posts: 528
- Thank you received: 319
26 Jan 2025 04:30 #319869
by Joco
Replied by Joco on topic Hypertherm XPR woes
Part of the hole processing smarts is in the qtpyvcp code base. In the programe used by monokrom to parse out the incoming gcode file and adjust it if necessary. I still want to come back to this and refine/improve it. Just on a long list of other things in life to see to.
Please Log in or Create an account to join the conversation.
Time to create page: 0.067 seconds