я выключаю питание модулей и связь пропадает. потом включают питание и связь восстанавливается. думаю проблема глубже.
я выключаю питание модулей и связь пропадает. потом включают питание и связь восстанавливается. думаю проблема глубже.
Была похожая проблема с частотниками. Вышел из положения перезагрузкой слэйвов в случае ошибки:
IF Modbus_Slave_COM_Port.xError THEN
BL(ENABLE:=TRUE , TIMELOW:=T#5000MS , TIMEHIGH:=T#100MS , OUT=> );
Modbus_Slave_COM_Port.xReset:=BL.OUT;
ELSE
BL(ENABLE:=FALSE , TIMELOW:=T#5000MS , TIMEHIGH:=T#100MS , OUT=> );
Modbus_Slave_COM_Port.xReset:=FALSE;
END_IF;
IF Modbus_Slave_COM_Port_1.xError THEN
BL1(ENABLE:=TRUE , TIMELOW:=T#5000MS , TIMEHIGH:=T#100MS , OUT=> );
Modbus_Slave_COM_Port_1.xReset:=BL1.OUT;
ELSE
BL1(ENABLE:=FALSE , TIMELOW:=T#5000MS , TIMEHIGH:=T#100MS , OUT=> );
Modbus_Slave_COM_Port_1.xReset:=FALSE;
END_IF;
IF Modbus_Slave_COM_Port_2.xError THEN
BL2(ENABLE:=TRUE , TIMELOW:=T#5000MS , TIMEHIGH:=T#100MS , OUT=> );
Modbus_Slave_COM_Port_2.xReset:=BL2.OUT;
ELSE
BL2(ENABLE:=FALSE , TIMELOW:=T#5000MS , TIMEHIGH:=T#100MS , OUT=> );
Modbus_Slave_COM_Port_2.xReset:=FALSE;
END_IF;
По сути, Логвиненко Андрей прав.