Modbus TCP freeze screen after device remoted from network

I created a screen that display values in modbus tags, when I removed the modbus device from our network. It freeze the screen and the designer. Also, I am not able to re-open the screen.

Got any idea?
Thanks in advance

=+=+=+=+=+=+=+=+=+=

[WARN] 9:36:08 AM ReadInputRegistersRequest Request failed. FailureType==DISCONNECTED

java.lang.Exception: Driver is disconnected.
at com.inductiveautomation.xopc.driver.api.AbstractDriver$RequestSchedule.cancelCurrentSchedule(AbstractDriver.java:1263)
at com.inductiveautomation.xopc.driver.api.AbstractDriver.notifyDisconnectDone(AbstractDriver.java:621)
at com.inductiveautomation.xopc.driver.api.AbstractIODelegatingDriver.notifyDisconnectDone(AbstractIODelegatingDriver.java:71)
at com.inductiveautomation.xopc.driver.api.AbstractIODelegatingDriver.disconnect(AbstractIODelegatingDriver.java:43)
at com.inductiveautomation.xopc.driver.api.AbstractIODelegatingDriver.reconnect(AbstractIODelegatingDriver.java:93)
at com.inductiveautomation.xopc.drivers.modbus2.AbstractModbusDriver.access$100(AbstractModbusDriver.java:89)
at com.inductiveautomation.xopc.drivers.modbus2.AbstractModbusDriver$2.notifyCommunicationTimeout(AbstractModbusDriver.java:150)
at com.inductiveautomation.xopc.drivers.modbus2.requests.AbstractModbusRequest.fail(AbstractModbusRequest.java:158)
at com.inductiveautomation.xopc.drivers.modbus2.requests.AbstractModbusReadRequest.fail(AbstractModbusReadRequest.java:101)
at com.inductiveautomation.xopc.driver.api.ScheduledRequest.fail(ScheduledRequest.java:96)
at com.inductiveautomation.xopc.driver.api.BasicRequestCycle$TimeoutDaemon.failRequests(BasicRequestCycle.java:337)
at com.inductiveautomation.xopc.driver.api.BasicRequestCycle$TimeoutDaemon.run(BasicRequestCycle.java:293)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

less
[WARN] 9:36:08 AM ReadCoilsRequest Request failed. FailureType==TIMEOUT

java.lang.Exception: Request failed by TimeoutDaemon due to timeout: ScheduledRequest[com.inductiveautomation.xopc.drivers.modbus2.requests.ReadCoilsRequest@196487d]

more
[WARN] 9:36:08 AM TimeoutDaemon ScheduledRequest[com.inductiveautomation.xopc.drivers.modbus2.requests.ReadCoilsRequest@196487d] request with key “1032” failed due to timeout.
[WARN] 9:36:05 AM ReadDiscreteInputsRequest Request failed. FailureType==TIMEOUT

java.lang.Exception: Request failed by TimeoutDaemon due to timeout: ScheduledRequest[com.inductiveautomation.xopc.drivers.modbus2.requests.ReadDiscreteInputsRequest@58f22b33]

more
[WARN] 9:36:05 AM TimeoutDaemon ScheduledRequest[com.inductiveautomation.xopc.drivers.modbus2.requests.ReadDiscreteInputsRequest@58f22b33] request with key “1031” failed due to timeout.
[WARN] 9:36:02 AM ReadInputRegistersRequest Request failed. FailureType==TIMEOUT

java.lang.Exception: Request failed by TimeoutDaemon due to timeout: ScheduledRequest[com.inductiveautomation.xopc.drivers.modbus2.requests.ReadInputRegistersRequest@56179810]
at com.inductiveautomation.xopc.driver.api.BasicRequestCycle$TimeoutDaemon.failRequests(BasicRequestCycle.java:337)
at com.inductiveautomation.xopc.driver.api.BasicRequestCycle$TimeoutDaemon.run(BasicRequestCycle.java:293)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

less
[WARN] 9:36:02 AM TimeoutDaemon ScheduledRequest[com.inductiveautomation.xopc.drivers.modbus2.requests.ReadInputRegistersRequest@56179810] request with key “1030” failed due to timeout.
[WARN] 9:35:59 AM ReadInputRegistersRequest Request failed. FailureType==TIMEOUT

java.lang.Exception: Request failed by TimeoutDaemon due to timeout: ScheduledRequest[com.inductiveautomation.xopc.drivers.modbus2.requests.ReadInputRegistersRequest@56179810]
at com.inductiveautomation.xopc.driver.api.BasicRequestCycle$TimeoutDaemon.failRequests(BasicRequestCycle.java:337)
at com.inductiveautomation.xopc.driver.api.BasicRequestCycle$TimeoutDaemon.run(BasicRequestCycle.java:293)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

less
[WARN] 9:35:59 AM TimeoutDaemon ScheduledRequest[com.inductiveautomation.xopc.drivers.modbus2.requests.ReadInputRegistersRequest@56179810] request with key “1029” failed due to timeout.

What do you mean by the screen is freezing? If the device connection no longer exists, then your tags will not receive updates. If that is causing a problem with your windows, you can remove the SQLTags that were using that device connection. This will give you Tag Not Found overlays on any component that is bound to one of those tags.

What I mean by freeze is that the ignition client window no longer functions. I cannot close the window or change to a different graphic. Even after the connection with the device is reestablished the ignition client window does nothing. The only way to close the Ignition Client window is to kill the process under the MSWindow Task Manager.

The same thing happens with the Designer when the graphic reading those tags is opened.

this all started after we upgraded to 7.6.3

I think you are seeing two different problems, not one causing the other. The Modbus device is reconnecting after 3 request timeouts (which is normal), the question there is why the requests are taking so long in the first place? You can take a look at the Diagnostics screen for your device (in the Gateway under OPC-UA -> Devices -> diagnostics).

For your designer/client freezing, it’s odd to see that at the same time as a device reconnect. Do you have any tag change scripts for those tags? I usually only see the designer freeze when I’ve coded myself into an infinite loop, or written a script that’s using the UI thread when it shouldn’t.