Как записать катушку и группу регистров по Modbus из PMP20?

Проверено экспертом Опубликовано: 14.07.2025 1353 просмотра Помогло 76%

Для записи есть четыре команды, каждая соответствует своему коду функции Modbus: COLW — запись одной катушки (код 05H), REGW — запись одного регистра (06H), MCLW — запись нескольких катушек (0FH), MRGW — запись нескольких регистров (10H).

Что важно знать про формат:

  • Запись одной катушки. Включённому состоянию соответствует значение 00FFH, выключенному — 0000H, причём младший байт передаётся первым. Это ловушка при разборе кадра в анализаторе: в линии байты идут не в том порядке, в каком записаны в руководстве.
  • Запись нескольких регистров. В кадре есть поле числа байт, и оно равно числу регистров, умноженному на два. Ошибка в этом поле — самая частая причина ответа с ошибкой данных.

Пример разбора. Команда REGW K1 H0002 K5000 K2 пишет значение 5000 в регистр с адресом 2 станции 1 через порт 2. В линию уходит кадр 01 06 00 02 13 88 25 5C: номер станции, код функции, два байта адреса, два байта значения и два байта контрольной суммы. Значение 5000 в шестнадцатеричном виде — это 13 88, и по этой паре байт запрос легко опознаётся в анализаторе.

Общие правила для всех команд записи: условие — только нарастающий фронт, номер порта указывается последним операндом, результат обмена проверяется по регистру результата порта. Внутри блоков последовательности команды обмена не работают — записи в приборы выносят в основную программу.

Прикреплённая документация

Георгий Жуков Георгий Жуков Ведущий инженер

Этот ответ был полезен?

Не нашли ответ?

Инженер сервисной службы ответит на почту. Вопросы, которые повторяются, мы публикуем в базе знаний — без ваших контактов.

Вопрос из раздела Как записать катушку и группу регистров по Modbus из PMP20?