Ignition 7.9.6
I’m having some trouble with a device disconnecting/reconnecting periodically (around every 10 minutes) from ignition. The device is an AutomationDirect BRX PLC. I’m connected via an ethernet connection to the built in ModbusTCP server. The server is set to allow 4 concurrent connections, with a 60 second inactivity timeout.
In ignition, I have some modbus registers and coils being read on a 5 second scanclass. I also have a laptop on the same network running the programming software viewing live values in the PLC. The laptop connection hasn’t missed a beat all day, no retrys, no errors in hours, so I’m assuming the network itself is fine. When ignition is connected, the device is showing about 1% utilization, with requests being handled in about 28 ms, so I don’t think the device itself is slammed. Scan time for the PLC is hovering around 8 ms.
I installed tshark on the server (headless ubuntu) and was watching the traffic to that PLC. Here’s a snapshot of the screen (the server is the .2 address and the PLC is the .106 address):
2409 1619.276564058 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 Query: Trans: 24397; Unit: 0, Func: 3: Read Holding Registers
2411 1619.301431968 192.168.150.106 â 192.168.150.2 Modbus/TCP 157 Response: Trans: 24397; Unit: 0, Func: 3: Read Holding Registers
2413 1619.312400295 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 Query: Trans: 24398; Unit: 0, Func: 1: Read Coils
2415 1619.338403811 192.168.150.106 â 192.168.150.2 Modbus/TCP 66 Response: Trans: 24398; Unit: 0, Func: 1: Read Coils
2417 1624.276085460 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 Query: Trans: 24399; Unit: 0, Func: 3: Read Holding Registers
2419 1624.305256597 192.168.150.106 â 192.168.150.2 Modbus/TCP 157 Response: Trans: 24399; Unit: 0, Func: 3: Read Holding Registers
2421 1624.312849650 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 Query: Trans: 24400; Unit: 0, Func: 1: Read Coils
2423 1624.342299284 192.168.150.106 â 192.168.150.2 Modbus/TCP 66 Response: Trans: 24400; Unit: 0, Func: 1: Read Coils
2425 1629.276893446 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 Query: Trans: 24401; Unit: 0, Func: 3: Read Holding Registers
2427 1629.303503206 192.168.150.106 â 192.168.150.2 Modbus/TCP 157 Response: Trans: 24401; Unit: 0, Func: 3: Read Holding Registers
2429 1629.312768626 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 Query: Trans: 24402; Unit: 0, Func: 1: Read Coils
2431 1629.340483222 192.168.150.106 â 192.168.150.2 Modbus/TCP 66 Response: Trans: 24402; Unit: 0, Func: 1: Read Coils
2433 1634.276147301 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 Query: Trans: 24403; Unit: 0, Func: 3: Read Holding Registers
2435 1634.305894353 192.168.150.106 â 192.168.150.2 Modbus/TCP 157 Response: Trans: 24403; Unit: 0, Func: 3: Read Holding Registers
2436 1634.481769896 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 [TCP Spurious Retransmission] Query: Trans: 24403; Unit: 0, Func: 3: Read Holding Registers
2438 1634.897776210 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 [TCP Spurious Retransmission] Query: Trans: 24403; Unit: 0, Func: 3: Read Holding Registers
2441 1635.729782478 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 [TCP Spurious Retransmission] Query: Trans: 24403; Unit: 0, Func: 3: Read Holding Registers
2445 1637.397779658 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 [TCP Spurious Retransmission] Query: Trans: 24403; Unit: 0, Func: 3: Read Holding Registers
2450 1640.729782619 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 [TCP Spurious Retransmission] Query: Trans: 24403; Unit: 0, Func: 3: Read Holding Registers
2459 1647.401780399 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 [TCP Spurious Retransmission] Query: Trans: 24403; Unit: 0, Func: 3: Read Holding Registers
2468 1665.490579240 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 Query: Trans: 24410; Unit: 0, Func: 3: Read Holding Registers
2470 1665.516158202 192.168.150.106 â 192.168.150.2 Modbus/TCP 157 Response: Trans: 24410; Unit: 0, Func: 3: Read Holding Registers
2472 1665.518580265 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 Query: Trans: 24411; Unit: 0, Func: 1: Read Coils
2474 1665.553150475 192.168.150.106 â 192.168.150.2 Modbus/TCP 66 Response: Trans: 24411; Unit: 0, Func: 1: Read Coils
2475 1665.553497298 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 Query: Trans: 24412; Unit: 0, Func: 3: Read Holding Registers
2477 1665.590212416 192.168.150.106 â 192.168.150.2 Modbus/TCP 157 Response: Trans: 24412; Unit: 0, Func: 3: Read Holding Registers
2478 1665.590579613 192.168.150.2 â 192.168.150.106 Modbus/TCP 66 Query: Trans: 24413; Unit: 0, Func: 1: Read Coils
2480 1665.626107681 192.168.150.106 â 192.168.150.2 Modbus/TCP 66 Response: Trans: 24413; Unit: 0, Func: 1: Read Coils
I believe the TCP Spurious retransmissions from ignition to the PLC are causing the problem. I’m at a loss as to how to troubleshoot further. Any suggestions?
Brian