
Сообщение от
Спорягин Кирилл
Где-то на форуме я это описывал, но уже сам не смог найти где, поэтому коротко повторю.
Я создаю структуры для нужных мне элементов.
Например.
Struct Valve
Command : word;
State : word;
Mode : word;
Alarm : word;
end_struct
И общую структуру, которая включает в себя эти структуры.
Struct PanelData
Valve1 : Valve;
Valve2 : Valve;
Valve3 : Valve;
и т.д.
end_struct
Затем объявляю (обычно в глобальных данных) данную структуру следующим образом:
PanelData AT %QD7.1.0 : PanelData;
где %QD7.1.0 - адрес первого 4х байтового элемента в нужном мне Модбас слейве.
ВСЕ!
Далее, если в Valve1.Alarm := 1, она появляется в нужном месте в области передачи в слейв.
Желательно в панели тоже использовать средства "наведения", чтобы в панели самому не считать номер получившегося регистра.
Но не на всех панелях это работает, поэтому этот метод не всегда хорош.