Lerra писал(а):Панель MT8150 стоит как slave, нужно выводить на ней состояние связи с контроллером по Ethernet по протоколу Modbus. Это можно сделать только с помощью макроса или системными тегами тоже можно? Она же не опрашивает в этом случае контроллер?
И какие команды надо использовать GetData или GetDataEx?
Как вариант. В окне Common Windows размещаете объект Таймер в режиме задержки отключения. Длительность задержки выставляете 5-10 секунд. ПЛК пусть регулярно (раз в секунду) пишет в панель системные секунды. И делаете макрос, который раз в секунду проверяет эти данные и взводит таймер. Если выходной бит таймера сбросится, то значит связи нет.
- Код: Выделить всё
- macro_command main()
unsigned short A, B
bool C
GetData(A, "Local HMI", LW, 1, 1) //Данные с ПЛК
GetData(B, "Local HMI", LW, 2, 1) //Данные с ПЛК в прошлый запуск
C = A <> B
SetData(C, "Local HMI", LB, 0, 1) //Бит запуска таймера
SetData(A, "Local HMI", LW, 2, 1)
end macro_command