Содержание поля данных

В сообщении ведущего устройства ведомому поле данных содержит дополнительную информацию, необходимую для выполнения указанной функции. Например, если код функции указывает, что необходимо считать данные из группы регистров устройства ввода (код функции 03 hex), то поле данных содержит адрес начального регистра и количество регистров. Если ведущее устройство посылает команду записи данных в группу регистров (код функции 10 hex), то поле данных должно содержать адрес начального регистра, количество регистров, количество байтов данных и данные для записи в регистр.

Конкретное содержание поля данных устанавливается стандартом для каждой функции отдельно.

В некоторых сообщениях поле данных может иметь нулевую длину.

Список кодов Modbus

В табл. 2.13 приведен пример кодов Modbus RTU для модуля дискретного ввода и вывода типа RealLab! NL-16DI (фирмы НИЛ АП). Для чтения логических состояний входов модуля через интерфейс RS-485 необходимо послать команду в формате, показанном на рис. 2.25, где в полях "Адрес", "Код" указываются значения из соответствующих граф табл. 2.13. Подробный список команд можно посмотреть в формате pdf по этой ссылке.

Табл. 2.13. Пример кодов протокола Modbus RTU для модуля RealLab! типа NL-16DI (pdf, 920 кб)
Обозначение регистра HEX адрес регистра Что читается или записывается Код функции чтения регистра Код функции записи в регистр Примечание
  00h 00 h Дискр. выход 0     1 или 0
  00h 01 h Дискр. выход 1     1 или 0
           
  00h 00 h Дискр. вход 0   - 1 или 0
  00h 01 h Дискр. вход 1   - 1 или 0
  00h 02h Дискр. вход 2   - 1 или 0
  00h 03h Дискр. вход 3   - 1 или 0
  00h 04h Дискр. вход 4   - 1 или 0
  00h 05h Дискр. вход 5   - 1 или 0
  00h 06h Дискр. вход 6   - 1 или 0
  00h 07h Дискр. вход 7   - 1 или 0
  00h 08h Дискр. вход 8   - 1 или 0
  00h 09h Дискр. вход 9   - 1 или 0
  00h 0Ah Дискр. вход 10   - 1 или 0
  00h 0Bh Дискр. вход 11   - 1 или 0
  00h 0Ch Дискр. вход 12   - 1 или 0
  00h 0Dh Дискр. вход 13   - 1 или 0
  00h 0Eh Дискр. вход 14   - 1 или 0
  00h 0Fh Дискр. вход 15   - 1 или 0
           
  00h C8 h Имя модуля      
           
  00 h D4h Версия программы   -  
           
  02h 00 h Адрес модуля     0001h-00 F7h (Допустимый диапазон значений)
  02h 01 h Скорость UART     0003h-000 Ah (Допустимый диапазон значений)
  02h 05 h Протокол     0000h– ASCII, 0001h - RTU
           
  03h 00 h Значение на выходе после включения питания модуля Power On Value0     0000h-0003 h (Допустимый диапазон значений)

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: