Good morning everybody.
I want to share this issue I was facing during last weeks, now it is partially solved, I'd like to receive some comments from CODESYS engineers.
My configuration
CODESYS V3.5 SP17 Patch 1 (64 bit)
CODESYS EtherCAT 4.1.0.0
CODESYS SoftMotion 4.10.0.0
CODESYS Control for Raspberry PI 4.1.0.0
Revolution PI Library for CODESYS 1.1.0.0
Controller: RevPi KUNBUS CONNECT+
Issue description
Randomly, after minutes or even hours EtherCAT stop working.
The message log error shown is: "Filedbus lost synchronicity"
This kind of error apparently has nothing to do with the solution configuration and tasks cycling neither.
The EtherCAT task execution time is always below the task cycle, and other tasks too.
Furthermore, the EtherCAT task is executed in a separated processor core with priority value 0, the highest one.
The master status counters don't highlight any error.
Partial solution
I've found the origin of the issue I was observing.
It was due to OPCUA server or something related to.
An application (bad implemented) instead of open the communication channel and keep it open for performing read/write actions on variables values, every one second the application opened the communication channel did actions on variables and closed the channel.
This kind of behaviour led the EtherCAT master to lose sync.
Currently the application with the unusual behaviour has been modified and the problem did not appear so frequently.
Even though the problem was caused by this unusual use of OPCUA protocol, I'm not able to recognize a direct cause.
Current situation
Now, during our tests the EtherCAT master stops for the reported error after many hours of correct functioning.
It's seems something related to OPCUA server.
Is there a way to instruct OPCUA server to use unly a specific Ethernet port instead of all the ports present on the system?
Thank you for your time and suggestions
Best regards
Rossano Paris
Last edit: rossanoparis 2021-08-20
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I assume, you've already verified and tuned everything regarding the EtherCAT network.
In my case the problem was due to a wrong core assignement.
I suggest to not use the core #0 for your EtherCAT task.
The OS realtime patch, which is present on RevPi OS, uses the core #0 for its porpouses and it mustn't be used by any other task which requires realtime and deterministic features.
regards
Rossano
π
1
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Good morning everybody.
I want to share this issue I was facing during last weeks, now it is partially solved, I'd like to receive some comments from CODESYS engineers.
My configuration
CODESYS V3.5 SP17 Patch 1 (64 bit)
CODESYS EtherCAT 4.1.0.0
CODESYS SoftMotion 4.10.0.0
CODESYS Control for Raspberry PI 4.1.0.0
Revolution PI Library for CODESYS 1.1.0.0
Controller: RevPi KUNBUS CONNECT+
Issue description
Randomly, after minutes or even hours EtherCAT stop working.
The message log error shown is: "Filedbus lost synchronicity"
This kind of error apparently has nothing to do with the solution configuration and tasks cycling neither.
The EtherCAT task execution time is always below the task cycle, and other tasks too.
Furthermore, the EtherCAT task is executed in a separated processor core with priority value 0, the highest one.
The master status counters don't highlight any error.
Partial solution
I've found the origin of the issue I was observing.
It was due to OPCUA server or something related to.
An application (bad implemented) instead of open the communication channel and keep it open for performing read/write actions on variables values, every one second the application opened the communication channel did actions on variables and closed the channel.
This kind of behaviour led the EtherCAT master to lose sync.
Currently the application with the unusual behaviour has been modified and the problem did not appear so frequently.
Even though the problem was caused by this unusual use of OPCUA protocol, I'm not able to recognize a direct cause.
Current situation
Now, during our tests the EtherCAT master stops for the reported error after many hours of correct functioning.
It's seems something related to OPCUA server.
Is there a way to instruct OPCUA server to use unly a specific Ethernet port instead of all the ports present on the system?
Thank you for your time and suggestions
Best regards
Rossano Paris
Last edit: rossanoparis 2021-08-20
more posts ...
Hi Rossano,
Did you ever find a solution to this issue? It seems i am facing the same issue but i do not use OPCUA...
Best Regards,
Rinie Maas
Hello @rmaas
I assume, you've already verified and tuned everything regarding the EtherCAT network.
In my case the problem was due to a wrong core assignement.
I suggest to not use the core #0 for your EtherCAT task.
The OS realtime patch, which is present on RevPi OS, uses the core #0 for its porpouses and it mustn't be used by any other task which requires realtime and deterministic features.
regards
Rossano