Chinese Servos: Working great! German Servos: Not yet. Metronix ARS 2310 FS

More
28 Jul 2024 15:19 - 28 Jul 2024 15:43 #306242 by purged
Hi, Experts! I am trying to integrate a Metronix ARS 2310 FS into my existing EtherCAT system, but it's not having any of it.I can see it and some parameters with ethercat slaves


But it doesn't seem to have any PDOs yet, even though these have been configured in the manufacturers software and should comply with CiA 402.
 

This drive has an EtherCAT plug-in module that apparently uses a Beckhoff ESC20 chip. Am I heading in the right direction when looking at a certain Sii EEPROM? And possibly siitool on github to convert the manufacturer supplied .xml file into something that could be used with ethercat sii_write to initialize the drive / module?
 

I am surprised that my affordable Chinese hardware was pretty much ready to go while the German luxury stuff is giving me a lot of trouble.
 
Attachments:
Last edit: 28 Jul 2024 15:43 by purged. Reason: attached image not embedded correctly

Please Log in or Create an account to join the conversation.

More
04 Aug 2024 20:21 #306944 by purged
Wow this is shaping out to be quite tricky! There is probably no useful info in this message, but I found that writing stuff down sometimes reveals a sensible next step in an otherwise blurry mess of ethercat acronyms

By rearranging the PDOs in the manufacturer supplied TwinCAT 2 project slightly I can get the drive to OP state and I can even read cyclic PDO data from it, such as statusword, velocity and position. But the other direction master-> drive PDO transmission is not received no matter what I try.
 
  • I have verified equal 1ms cycle time settings in the servo drive config software, in the TwinCAT 2 distributed clock settings, in the TwinCAT 2 axis and PLC
  • Even if this was a distributed clock configuration or jitter issue, Metronix ARS 2310 FS claims to be able to synchronize with raw Ethercat frames on the network if no DC is available
  • I am seeing 1 (one) successful master->drive PDO transmission per preop->op state transition, where I believe TwinCAT also transfers a lot of SDO settings

It's worse on LinuxCNC, here I don't even receive any PDO data from the drive. But here too the drive reaches OP state and SDO transmissions via ethercat download or ethercat upload work and are evaluated seemingly correctly by Metronix.
 

I am still not quite sure how important the SII EEPROM data is. If I use siitool -m to create an eeprom image from the manufacturer supplied EDS xml profile with PDO mappings, any ethercat sii_write attempts are seemingly dismissed, afterwards the drive is listed only with some IDs in ethercat slaves. An image created without PDO mappings, but only with sync managers and human readable manufacturer strings etc can be written successfully and is listed as such in ethercat slaves even after power cycles.
 

With the diagnostics in my Chinese servo drives I can verify that Linux-dominated Ethercat has the correct sync cycle time of 1ms configured. I've never seen any errors from them, but there does seem to be a non-zero number of SM2 lost times and Sync lost times, maybe 1 per second? Is that normal or could that be a problem for a fastidious German servo drive?
 

The laptop on which I am currently running TwinCAT and the Raspberry Pi on which I am running the Linux Ethercat master are both not equipped with especially reputable Intel NICs ... could that be a fundamental problem? Should I look for some normal office PC for a test run?
Attachments:

Please Log in or Create an account to join the conversation.

More
06 Aug 2024 12:20 - 06 Aug 2024 15:50 #307076 by purged
Solved: All active PDOs needed to be filled up to 8 Byte, can't have a half empty one

Well, not completely just yet. There are still a few "no sync" error messages every 20 seconds or so, but we have a successful bidirectional communication which is a huge step forward. I hope I can treat the sync issues (which don't seem to bother the Leadshine servo drives) with rt-preempt kernel and <master idx="0" appTimePeriod="1000000" refClockSyncCycles="-1"> as per github.com/sittner/linuxcnc-ethercat/issues/45
Last edit: 06 Aug 2024 15:50 by purged. Reason: Not quite solved entirely

Please Log in or Create an account to join the conversation.

More
12 Aug 2024 10:37 #307533 by purged
Solved: really this time!

The SII eeprom image created by siitool based on the manufacturers ESI xml file did not configure some PDI bits, such as enable sync0, which is important for the open source ethercat master. I had to graft some bytes of an older image onto siitools output and rectify the crc checksum. With the attached files I am confident one can integrate Metronix ARS2000 series and some Festo CMMP series servo drives into a linux-run ethercat network.
Attachments:
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

Time to create page: 0.241 seconds
Powered by Kunena Forum