-
Notifications
You must be signed in to change notification settings - Fork 691
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug: Invalid FMMU Configuration, not skipping unused SyncManagers #878
Comments
After some digging I found out that SOEM actually tries to configure FMMU[1,3] for use with SM[6,7]. After looking at the ESI file again, SOEM actually takes default values for SM[4,5] instead of those from SM[6,7]. Is there some patch I can apply to the library to fix this or is it better to somehow manually override this in my startup sequence? |
Could you show the output of slaveinfo -map to see what the information given by the slave is? |
Hi ! Of course, here's the output after a power cycle, with none of my configuration of the process data in SM6,7
The device won't go to operational if the process data in SM6,7 is not configured completely right, this is the output of slaveinfo after my configuration to operational state:
|
Hello,
I'm encountering an issue with a Beckhoff EtherCat device (ELM7231-9016)
This device calls for the mandatory use of SM 6&7 for transmission of FSOE PDUs (as per the .xml datasheet)
Though its regular process data is still expected to be exchanged through SM 2&3.
By selecting my PDOs through objects x1C12 x1C13 x1C16 x1C17 and also setting the correct Sync0 and Sync1 times, I am able to bring my device into Operational State. SOEM correctly reports the configured process data length to be the sum of all four SyncManager sizes, and process data is written/read successfully for SM 2&3. But process data sent to SM 6&7 is not received by the device, and the data received from the slave seems to be misaligned or faulty (though it is consistent and not random)
My understanding of how SOEM works is still a bit limited, but I have the impression that the library does not configure FMMUs above the first 4, which would cause process data for SM6&7 to not be mapped to any particular slave memory.
Could you give me some pointers on how and where I could implement a workaround ?
Thank you !
The text was updated successfully, but these errors were encountered: