-
Notifications
You must be signed in to change notification settings - Fork 684
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
high and low update rate #845
Comments
A wireshark capture of the slaves running in two groups will help identifying the issue. It could well be there is a timing issue in the linux network stack for your hardware. |
OK, I'll try to be in the lab tomorrow where everything is homed to create the wireshark capture. Thanks so far! |
OK, here comes the data. Slaveinfo:
RU is the slave with 80Bit process data - roughly 10 Bytes. Find the wireshark captures attached. I did them with tcpdump. |
Thanks for the data.
A BOTE calculation gives a transmission time of a 60 byte packet of 6.7us in a two slave set-up. A 1054byte packet takes 86us. So your network stack between SOEM and the NIC eats up 192us. That should be your focus, as your cycle time is only 100us in total. Optimize your network stack and NIC driver. I guess there is some interrupt moderation going on. Your CPU is more than capable enough. I have run 30KHz on a 144MHz single core MCU reliably. |
Hmm, our observations:
|
Good morning!
We try to get two different slave groups working:
(1) 20 Bytes process image and 10kHz update rate
(2) 1kByte process image and 100-1000Hz update rate
We managed to get (1) and (2) working, but isolated from each other: when using (1) the other group (2) isn't connected to EtherCAT.
But if we start using two different groups with different update rates, like explained here:
We only get 4,4kHz for (1) and 3,2kHz for (2). What did we try:
For us it seems that when exchanging data with (1) there is also 1kB+20Byte process data exchanged which is too much for the machine. We only want to exchange 20 Bytes process data when doing the (1) cycle. Is this possible?
This one says (in table below Process Data Exchange):
Having different cycle tasks (multiple update rates for PDO) isn't possible with SOEM ...
Any hint would be very helpful.
Thank you very much!
Daniel
The text was updated successfully, but these errors were encountered: