Какой командой опросить прибор по Modbus из программы PMP20?
Команды Modbus пишутся прямо в лестничной диаграмме, отдельная «задача связи» не нужна. Формат одинаков для всех: команда, номер станции, адрес Modbus, данные или регистр, номер порта контроллера.
Пример записи значения в регистр ведомого устройства:
REGW K1 H0002 K5000 K2
Здесь K1 — станция 1, H0002 — адрес Modbus (регистр D2 ведомого), K5000 — записываемое значение, K2 — порт 2 контроллера. В линии это превратится в кадр 01 06 00 02 13 88 25 5C, где последние два байта CRC контроллер считает сам.
Что стоит знать при отладке:
- Условие запуска — нарастающий фронт. При неудаче команда автоматически повторяет попытку дважды; если и третья попытка не прошла, обмен завершается с ошибкой.
- Несколько команд Modbus можно запускать одним условием: контроллер сам ставит запросы в очередь.
- Команда не различает систему счисления: K500 и H1F4 — одно и то же значение, как и двоичная запись того же числа.
- В блоках последовательности BLOCK команды Modbus отменены, обмен ведётся обычными командами в основной программе.
Аналогично работают COLR и MCLW: COLR K1 K500 K3 M1 K2 читает три катушки со станции 1, начиная с адреса 500, в M1 и далее через порт 2.
Прикреплённая документация
Георгий Жуков
Ведущий инженер