Сделал вот так. Формально оно работает, но... Наверное действительно это решение для периода аварийного отсутствия станка в сети, после чего оператору надо будет в меню СЛК отключать и включать станок.
Подскажите, как всё таки можно в цикле перебирать все слейвы?Код:MyTimer(IN:=TRUE, PT:=T#15S, Q=>xTimerFlag); IF xTimerFlag = TRUE THEN // Попробовать включить выключенные СЛЕЙВы IF NOT Modbus_Slave_SI30_1.Enable THEN Modbus_Slave_SI30_1.Enable := TRUE; END_IF MyTimer(IN := FALSE); MyTimer(IN := TRUE, PT:=T#15S, Q=>xTimerFlag); xTimerFlag := FALSE; END_IF ..... IF NOT Modbus_Master_COM_Port.xAllSlavesOk THEN Modbus_Slave_SI30_1.Enable := NOT Modbus_Slave_SI30_1.xError; Modbus_Slave_SI30_2.Enable := NOT Modbus_Slave_SI30_2.xError; END_IF





Ответить с цитированием