наверно потому что при восстановлении связи ошибка пропадает попробуйте что-то типа счетчика переподключений поставить
Код:
IF Modbus_Slave_COM_Port.xError THEN
Blink_01(ENABLE:= TRUE, TIMELOW:= T#1S, TIMEHIGH:= T#10MS);
Modbus_Slave_COM_Port.xReset:= Blink_01.OUT;
IF Blink_01.OUT THEN
count:= count+1;
END_IF
END_IF
ну или присвоение перенести в другое место:
Код:
IF Modbus_Slave_COM_Port.xError THEN
Var1 := Modbus_Slave_COM_Port.xError
Blink_01(ENABLE:= TRUE, TIMELOW:= T#1S, TIMEHIGH:= T#10MS);
Modbus_Slave_COM_Port.xReset:= Blink_01.OUT;
END_IF
так по идее признак ошибки в переменной Var1 будет пока принудительно где-нибудь не обнулим