- Configuring LinuxCNC
- Advanced Configuration
- EtherCAT
- MS300 EtherCAT not going into OP state with CMM-02 (rev 131328)
MS300 EtherCAT not going into OP state with CMM-02 (rev 131328)
05 Jun 2024 20:46 #302416
by zmrdko
Replied by zmrdko on topic MS300 EtherCAT not going into OP state with CMM-02 (rev 131328)
what happens if you remove init commands?
so that you will have onlyin your ethercat.xml file.
second try would be:
refClockSyncCycles="-1" and reorder, so that EK1100 goes first and DeMS300 second (you have to swap ethernet cables as well)
then
1) run in terminal ethercat slaves (post screenshot)
2) launch linuxcnc
3) re-run in terminal ethercat slaves again and (post screenshot)
also what ethercat master device are you running? generic?
so that you will have only
<slave idx="0" type="DeMS300" name="DRV" />
second try would be:
refClockSyncCycles="-1" and reorder, so that EK1100 goes first and DeMS300 second (you have to swap ethernet cables as well)
then
1) run in terminal ethercat slaves (post screenshot)
2) launch linuxcnc
3) re-run in terminal ethercat slaves again and (post screenshot)
also what ethercat master device are you running? generic?
Please Log in or Create an account to join the conversation.
09 Jun 2024 03:30 #302654
by silden
Replied by silden on topic MS300 EtherCAT not going into OP state with CMM-02 (rev 131328)
I figured it out, the CMM-EC02 does not include the FMMU Sync Manager bindings in it's EEPROM; which isn't writable through TwinCAT, nor the Beckhoff EtherCAT configurator; though it is possible to write, and commit using .
To generate the file, you'll need siitool , and the ESI file from Delta.
You'll likely need to modify the ESI file to get the right PDOs if you want to use it with TwinCAT, since the official ESI file lacks some standard PDOs at the time of writing, furthermore, to avoid a slip-up, I removed all cards except my own revision from the ESI file.
The command to generate the binary from the ESI XML file is:
The next step is taking a backup of the SII data from the CMM-EC02 card for safety:
To compare the files, you can use (the first command outputs the original, the second the modified sii data):
To actually write, you can use (editor note: don't use --force, since it likely means something's wrong with the SII file):
The reason for the discrepancy is that TwinCAT uses the ESI file to find the Sync Manager addresses for the MS300, which is correct, while the EtherLab master uses the MS300 SII data, which apparently is incomplete (as hinted at by the warning and error messages from)
ethercat sii_write
To generate the file, you'll need siitool , and the ESI file from Delta.
You'll likely need to modify the ESI file to get the right PDOs if you want to use it with TwinCAT, since the official ESI file lacks some standard PDOs at the time of writing, furthermore, to avoid a slip-up, I removed all cards except my own revision from the ESI file.
The command to generate the binary from the ESI XML file is:
siitool -p -o etherlab_ms300_cmm_ec02.sii DeltaMS300.xml
The next step is taking a backup of the SII data from the CMM-EC02 card for safety:
ethercat sii_read -s <YOUR MS300 ADDRESS HERE (can be found with the first number in ethercat slaves)> > original_ms300_cmm_ec02.sii
To compare the files, you can use (the first command outputs the original, the second the modified sii data):
siitool -p original_ms300_cmm_ec02.sii
siitool -p etherlab_ms300_cmm_ec02.sii
To actually write, you can use (editor note: don't use --force, since it likely means something's wrong with the SII file):
ethercat sii_write -s <YOUR MS300 ADDRESS HERE (can be found with the first number in ethercat slaves)> etherlab_ms300_cmm_ec02.sii
The reason for the discrepancy is that TwinCAT uses the ESI file to find the Sync Manager addresses for the MS300, which is correct, while the EtherLab master uses the MS300 SII data, which apparently is incomplete (as hinted at by the warning and error messages from
dmesg
Please Log in or Create an account to join the conversation.
10 Jun 2024 05:35 #302741
by zmrdko
Replied by zmrdko on topic MS300 EtherCAT not going into OP state with CMM-02 (rev 131328)
So can you control the VFD now completely over EtherCAT?
Because my point of view is, that dems300 component is missing hal pin for running the spindle.
Because my point of view is, that dems300 component is missing hal pin for running the spindle.
Please Log in or Create an account to join the conversation.
17 Jun 2024 06:24 #303148
by GuiHue
Replied by GuiHue on topic MS300 EtherCAT not going into OP state with CMM-02 (rev 131328)
I'd love to piggy back on this, since I have a similar journey.
I tried the MS300 driver in the current linuxcnc-ethercat/linuxcnc-ethercat package.
I initialized the VFD using a single ethercat-conf.xml line:
This gets me a slave that is OP and all the pins the driver support within linuxcnc. I followed documentation to connect the pins within hal. Also in reference to: github.com/steup-engineering/sbs625-cnc-dk-schlemper. I have also tried the init commands but I have to admit: I don't understand how they work.
What I get puzzles me:
- I have sent S1000 followed by M3, this gives me 1000 rpm and 16.667 rps.
- VFD shows on front display 333.33: Given that it is a 4 pole spindle 33.33 would be correct, but it is an order of magnitude off.
- The VFD will not start. LCEC pins for the MS300 as exposed by the specific driver stat-volt-enabled, stat-switched. stat-op-enabled remain low even though *.enable is high.
I have set up the MS300 via USB interface beforehand and have validated that the spindle works. I would dare say that I trust the spindle related parameters to be correct.
ethercat pdos and ethercat slaves -v appear to be to be in good working order. PDOs shows the expected SMs and all registers one would need.
At this point I am lost.
I tried the MS300 driver in the current linuxcnc-ethercat/linuxcnc-ethercat package.
I initialized the VFD using a single ethercat-conf.xml line:
<slave idx="9" type="DeMS300" name="spindle"/>
This gets me a slave that is OP and all the pins the driver support within linuxcnc. I followed documentation to connect the pins within hal. Also in reference to: github.com/steup-engineering/sbs625-cnc-dk-schlemper. I have also tried the init commands but I have to admit: I don't understand how they work.
What I get puzzles me:
- I have sent S1000 followed by M3, this gives me 1000 rpm and 16.667 rps.
- VFD shows on front display 333.33: Given that it is a 4 pole spindle 33.33 would be correct, but it is an order of magnitude off.
- The VFD will not start. LCEC pins for the MS300 as exposed by the specific driver stat-volt-enabled, stat-switched. stat-op-enabled remain low even though *.enable is high.
I have set up the MS300 via USB interface beforehand and have validated that the spindle works. I would dare say that I trust the spindle related parameters to be correct.
ethercat pdos and ethercat slaves -v appear to be to be in good working order. PDOs shows the expected SMs and all registers one would need.
At this point I am lost.
The following user(s) said Thank You: zmrdko
Please Log in or Create an account to join the conversation.
17 Jun 2024 09:54 #303162
by GuiHue
Replied by GuiHue on topic MS300 EtherCAT not going into OP state with CMM-02 (rev 131328)
Having spent some time this morning looking at the ms300 driver within linuxcnc-ethercat/linuxcnc-ethercat and also while reviewing documentation.
Looking a my screenshot from last night, I realize, that the drive does not pass into Ready to Switch on State. That however appears to be less of an EtherCAT Issue than a drive isseu, right?
Any ideas?
Looking a my screenshot from last night, I realize, that the drive does not pass into Ready to Switch on State. That however appears to be less of an EtherCAT Issue than a drive isseu, right?
Any ideas?
The following user(s) said Thank You: zmrdko
Please Log in or Create an account to join the conversation.
02 Jul 2024 15:05 #304247
by bobiyu
Replied by bobiyu on topic MS300 EtherCAT not going into OP state with CMM-02 (rev 131328)
Hello!
I'd also like to enter the discussion on getting MS300's CMM-02 module from PROP to OP. I did a bit of digging through the forum and tried a bunch of steps that seem to lead nowhere. I tried the steps in silden's post - no result. Tried a bunch of different initCmds - same dead end.
I tried to use EC Configurator but wasn't able to get it running as it asked me for registration key.
I have updated my EC master from the new repositories. When I run dmesg I see the skipped datagram and a bunch of errors regarding the PDO mapping of the original SII image. The hardware revision of the board is v2.01 ( at least that's what the sticker says).
I'd really appreciate any advice. If there is need to post any files, please let me know.
Best regards!
I'd also like to enter the discussion on getting MS300's CMM-02 module from PROP to OP. I did a bit of digging through the forum and tried a bunch of steps that seem to lead nowhere. I tried the steps in silden's post - no result. Tried a bunch of different initCmds - same dead end.
I tried to use EC Configurator but wasn't able to get it running as it asked me for registration key.
I have updated my EC master from the new repositories. When I run dmesg I see the skipped datagram and a bunch of errors regarding the PDO mapping of the original SII image. The hardware revision of the board is v2.01 ( at least that's what the sticker says).
I'd really appreciate any advice. If there is need to post any files, please let me know.
Best regards!
Please Log in or Create an account to join the conversation.
03 Jul 2024 11:07 #304320
by bobiyu
Replied by bobiyu on topic MS300 EtherCAT not going into OP state with CMM-02 (rev 131328)
Hello,
I'd like to say that I've managed to figure what the problem was. The devil is really hidden in the details. The product ID in the DeMS300 was set to the older CMM-EC01 module. I figured it while I was tinkering with the generic Cia402 slave. I just changed the PID in the lcec_ms300.h and recompiled the LCEC. No initCmds were needed.
Best regards!
I'd like to say that I've managed to figure what the problem was. The devil is really hidden in the details. The product ID in the DeMS300 was set to the older CMM-EC01 module. I figured it while I was tinkering with the generic Cia402 slave. I just changed the PID in the lcec_ms300.h and recompiled the LCEC. No initCmds were needed.
Best regards!
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
- Configuring LinuxCNC
- Advanced Configuration
- EtherCAT
- MS300 EtherCAT not going into OP state with CMM-02 (rev 131328)
Time to create page: 0.281 seconds