В проекте созданы соединения Modbus с протоколом TCP/IP. Всего три абонента, связь с двумя идет через беспроводное Wi-Fi соединение, с третьи по проводу. Периодически пропадает связь с абонентами, подключенными через Wi-Fi. Данные замирают и не приходят. При перезапуске МРВ все снова начинает работать. С чем это может быть связано? Связь по Wi-Fi, конечно, менее надежна, чем по проводу, и возможны потери данных, но почему обмен встает совсем?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
При отсутствии связи с Modbus-Slave МРВ через некоторое время принудительно разрывает связь и примерно 1 раз в мин. пытается снова соединиться с Modbus-Slave. Если Вы откроете окно "Панель МРВ/Протокол 1", то в нем будут соответствующие записи, например, (13:7:42) ERR_TCP:p9 recieve zero bytes from 192.168.12.16:502 Rout_Word(3)#4 (13:7:43) ERR_TCP:p9 192.168.12.16:502 send err=10054 Rout_Word(3)#4 (13:7:43) ERR_TCP:disconnect from 192.168.12.16:502 by errors (13:8:4) INF_RTM:301:invalid connect for unit_xx addr=192.168.12.16[502] err=10060:ETIMEDOUT (13:8:56) ERR_TCP:invalid connect for unit_xx addr=192.168.12.16[502] err=10060:ETIMEDOUT (13:9:48) ERR_TCP:invalid connect for unit_xx addr=192.168.12.16[502] err=10060:ETIMEDOUT
Если Slave примет коннект, связь восстановится.
У Slave-устройства должна быть настройка принудительного уничтожения соответствующего соккета после длительного отсутствия Modbus-запросов. В этом случае он должен принять подключение МРВ.