10-16-2024 03:36 AM - edited 10-16-2024 04:00 AM
Hi everyone!
I have an issue when using NI cRIO-9055 in network with ring topology.
This is scheme of my network. I'm using switches with ERPS protocol.
Configuration of ERPS is correct. I checked it few times.
To check the working I used ping command. I noticed that оnly some ping commands pass successfully. The rest come out after a timeout. This happens when the ring is closed. If the ring is open, then the ping goes stably well. Tried using both controller ports (192.168.0.116 and .126 addresses) and just one. Same result. I used another controllers 9055. Same result.
When I replaced the controller with another computer, the ping worked well in any ring state (closed or opened). That is why I think the problem is with the controller or I don't know any specifics.
The main problem is that I read data from NI cRIO-9055 via Modbus protocol every second. Data requests constantly exceed timeout. I can't change it and make it bigger, although I tried for tests, and the result was just as bad.
Solved! Go to Solution.
10-22-2024 08:18 AM
I managed to solve the problem.
Please do not judge me too harshly. I cannot explain it technically or scientifically, so, as they say, I will just put it here, maybe it will be useful to someone 🙂
I analyzed the traffic using wireshark.
Below is a picture with an opened ring.
In general, nothing special. Ping and something else.
But when I closed the ring, there was too much of this "something".
It is interesting that after disconnecting the controller from the network, this "something" continues to be on the network.
Then a little google, where I found that PTP (Precision Time Protocol) is a protocol used to synchronize clocks over a computer network.
I tried to exclude everything related to time synchronization from the software that is installed on the controller. In my case, it turned out that I had NI-TimeSync Time Reference for IEEE 802.1AS-2011 installed and it was enough not to install this component.
After that, ping and modbus started working well.
Specifically for my tasks, where controller synchronization is not important, this is quite sufficient.