Цитата Сообщение от 1exan Посмотреть сообщение
Подскажите, каким образом вы делаете "упаковку" данных в сетевые "dword"-ы (ну явно не вся же передаваемая информация имеет размер 4 байта) ?

Опоздал немного, а как производится "наводка"?
Где-то на форуме я это описывал, но уже сам не смог найти где, поэтому коротко повторю.

Я создаю структуры для нужных мне элементов.
Например.
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, она появляется в нужном месте в области передачи в слейв.

Желательно в панели тоже использовать средства "наведения", чтобы в панели самому не считать номер получившегося регистра.
Но не на всех панелях это работает, поэтому этот метод не всегда хорош.