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.