Добрый день.
Такое поведение обусловлено тем, что приходится работать не только с чисто TCP устройствами, но и со шлюзами, преобразователями из Ethernet в Serial.
В этом случае, на одном IP адресе и TCP порту может находится несколько устройств, 20 и более. И если одно из устройств выйдет из строя и перестанет отвечать, переподключение по такому каналу приведёт к сбою связи со всеми остальными.
Можно было бы, допустим, переподключать канал при потери связи со всеми устройствами, но на то, что бы определить что пропала связь со всеми, потребуется много времени.
Как вариант, можно попробовать добавить системный OPC тег, для канала. С помощью которого можно дать команду с верхнего уровня на переподключение. Но это решение, на мой взгляд, не очень хорошее, т.к. не всегда есть возможность так сделать, желательно что бы OPC сервер сам умел определять, когда надо разорвать соединение, а когда нет.
Если у вас есть дельное предложение, для решения этого вопроса, всегда готов рассмотреть.
Айрат.