8bit писал(а):еще алгоритмически можно: заставить кажого slave писать инкремент в свой регистр мастера
например: slave1 -> LW-101, slave2 -> LW-102, slave3 -> LW-103
и уже в макросе следить за этими LW и видеть изменения или их отсутствие уже по каждому slave'у
- Код: Выделить всё
- for i = 0 to nmb_slave
var0 = i + 2
GetDataEx(tmp, "MODBUS RTU (Adjustable)", 4x, var0#112, 1)
GetError(err)
if err <> 0 then
fl_err = 1
SetData(fl_err, "Local HMI", LB, 12, 1)
SetData(err, "Local HMI", LW, 200, 1)
end if
next
Сделал пока так для проверки активных slave. В LW112 каждый slave пишет свой номер.
По итогу: макрос виснет. Следующие команды не выполняются. В err лежит "1".
P.S. возможно ли выключить из макроса ModBus RTU по аналогии как отключается ModBus server через регистр LB-12052?