Server keeps dropping modbus connections to all plc's

trying 9 seconds now, not in a while, a certainly not the 300 all at once, think idle time is default for idec

9 second made no difference

When you reconnect, are you getting at least some read operations in the wireshark captures? Your snippet above is minutes of nothing but keep-alives. What does the diagnostic page for your device show?

null unknown error in diagnostic, getting capture after a restart

1 0.000000000   srv → plc TCP 74 41600 → 502 [SYN] Seq=0 Win=28400 Len=0 MSS=1420 SACK_PERM=1 TSval=26891851 TSecr=0 WS=128
2 0.790837760 plc → srv   TCP 58 502 → 41600 [SYN, ACK] Seq=0 Ack=1 Win=512 Len=0 MSS=532
3 0.790869287   srv → plc.12 TCP 54 41600 → 502 [ACK] Seq=1 Ack=1 Win=28400 Len=0
4 11.471637363 plc → srv   TCP 55 [TCP Keep-Alive] 502 → 41600 [ACK] Seq=0 Ack=1 Win=512 Len=1
5 11.471699267   srv → plc.12 TCP 54 [TCP Keep-Alive ACK] 41600 → 502 [ACK] Seq=1 Ack=1 Win=28400 Len=0

^C5 packets captured

Let me know if you want some more, thx

Is this really Ignition 7.8 as tagged?

Can you pick one PLC to focus on then:

  • make sure it has tags subscribed at faster than 10 seconds (just for now, at least)
  • set the logging levels for ReadHoldingRegistersRequest to TRACE (assuming there are holding registered subscribed)
  • start Wireshark capture
  • do an edit/save on that device connection, wait ~30 seconds, and then stop the capture and upload the Wireshark pcap file and Ignition logs

7.8.5

Do an edit/save on the device connection?

Yes, whichever one you decide to focus on. Just need to know its IP address so it can be picked out in the Wireshark capture and ensure it has subscribed tags at a rate faster than 10s.

Oh, you mean in wireshark, using tshark, no graphical terminal on this thing. Do you want me to restart the server to get fresh logs beginning to end.

I’m talking about edit/save on the device page in the Ignition gateway. As if you were going to make a configuration change, but don’t change anything, just hit save. This forces the device to reconnect and it should send any requests for any items it has subscribed against it.

tshark vs Wireshark doesn’t matter here, they’re basically the same thing, you just need the capture file.

My pad, doing that now

so I am subscribed to holding registers, there’s a read optimizer for modbus, here’s what I have per tag:

drivers.ModbusDriver2[100-8792] INFO
drivers.ModbusDriver2[100-8792].BasicRequestCycle INFO
drivers.ModbusDriver2[100-8792].BasicRequestCycle.TimeoutDaemon INFO
drivers.ModbusDriver2[100-8792].BasicTransactionProcessor INFO
drivers.ModbusDriver2[100-8792].BatchingTransactionProcessor INFO
drivers.ModbusDriver2[100-8792].ModbusReadOptimizer INFO
drivers.ModbusDriver2[100-8792].ModbusWriteOptimizer INFO
drivers.ModbusDriver2[100-8792].RequestQueue INFO
drivers.ModbusDriver2[100-8792].RequestSchedule INFO
drivers.ModbusDriver2[100-8792].SocketIODelegate INFO

No reads. See all Len=0, except keepalive which is len=1 (because it is a keepalive). Are you sure all the relevant tags are enabled? No tags enabled ==> no reads ==> device times out on idle.

        ] [06:25:13,832]: [hostname=11772.topinc.us,port=504] Socket connect

Connection timed out
Stream.socketRead0(Native Method)
Stream.socketRead(SocketInputStream.java:116)
Stream.read(SocketInputStream.java:170)
Stream.read(SocketInputStream.java:141)
Stream.read(SocketInputStream.java:127)
ion.iosession.socket.AsyncSocketIOSession.run(AsyncSocketIOSession.java:71)

So I found that there’s an ack in the beginning and all keep alives after that from wireshark. From the logs it seems the server just isn’t requesting any data for some reason.

Create a new tag in a folder by itself pointing at a single holding register in the device you are trying to monitor. Use a relatively fast scan class. See what happens. (In wireshark.)

same, it’s like the server isn’t interested in getting data or something

Have you tried restarting Ignition yet?

several times

Sounds to me like you need an actual support person looking over your shoulder.