Персональные страницы Доп. раздел |
Комплект эксплуатационной и технической документацииКоманды интерфейса RS-485 (MODBUS-RTU)1. Команды интерфейса RS-485 (MODBUS-RTU)1.1. Описание реализации1.1.1. ИнтерфейсПрибор имеет последовательный интерфейс RS-485 и является ведомым (slave) устройством, отвечающим на команды с соответствующим адресом в пакете протокола. Поддерживается скорость передачи 9600 бит/с без контроля четности, 8 бит данных, 1 стоп-бит. По последовательному интерфейсу поддерживается протокол верхнего уровня Modbus c форматом пакета RTU в полном соответствии с документом «Modbus over Serial Line Specification & Implementation guide V1.0». Протокол Modbus определяет элементарный пакет данных Protocol Data Unit (PDU). Структура PDU не зависит от типа линии связи и включает в себя код функции и поле данных. Код функции кодируется однобайтовым полем и может принимать значения в диапазоне 1…127. Поле данных может быть переменной длины. Размер пакета PDU ограничен 253 байтами. Для передачи пакета по физическим линиям связи PDU помещается в другой пакет, содержащий дополнительные поля. Этот пакет носит название Application Data Unit (ADU). Общая структура ADU следующая:
1.1.2. Адреса устройств ModbusКонтроллер прибора поддерживает команды Modbus в полном соответствии с синтаксисом запроса и ответа, определённым в документе «Modbus Application Protocol Specification v1.1a». Адрес устройства может быть от 0x01 до 0xF7. Диапазон адресов 0xF8-0xFF зарезервирован в стандарте Modbus. Широковещательный режим не поддерживается. Адрес контроллера прибора: 0x30. 1.1.3. КомандыКонтроллер поддерживает следующие команды: · 0x03 Чтение регистров (Read Holding Registers) · 0x04 Чтение входных регистров (Read Input Register) ·0x06 Запись регистра (Write Single Register) ·0x10 Запись регистров (Write Multiple registers) 1.1.4. АдресацияАдреса запрашиваемых регистров по протоколу Modbus и адреса в памяти устройства имеют однозначное табличное соответствие, но не совпадают. Таблица соответствия адресов задаётся программистом и должна быть отражена в документации к устройству. Основным способом передачи данных по протоколу Modbus является чтение или запись регистров. 1.1.5. Регистры хранения и задания параметров (Holding Register).
Чтение регистров производится командой 0x03 (Read Holding Register). Данная функция позволяет получить двоичное содержимое 16-ти разрядных регистров адресуемого контроллера. Регистры нумеруются с нуля. Широковещательный режим не допускается. Контроллер посылает в ответе код выполненной функции и информационное поле. Информационное поле содержит 1 байт, описывающий количество возвращаемых байт данных и содержимое запрошенных регистров. Длина каждого регистра данных – 2 байта. Первый байт данных в посылке является старшим байтом регистра, второй – младшим. PDU запроса:
* Если значение поля «Кол-во регистров» равно 0 (ноль), то в ответ возвращаются значения всех регистров хранения. PDU ответа:
* N – количество регистров. Запись в один регистр производится командой 0x06 (Write Single Register). В случае успешного выполнения функции ответное сообщение идентично запросу. PDU запроса:
Запись в несколько регистров производится командой 0x10 (Write Multiple registers). В случае успешного выполнения функции ответное сообщение содержит код функции, начальный адрес и количество записанных регистров. PDU запроса:
* N – количество регистров. PDU ответа:
1.1.6. Регистры данных (Input Register).
В регистрах 00..02 содержатся обработанные данные. Чтение регистров производится командой 0x04 (Read Input Register). Данная функция позволяет получить двоичное содержимое 16-ти разрядных регистров адресуемого контроллера. Регистры нумеруются с нуля. Широковещательный режим не допускается. Контроллер посылает в ответе код выполненной функции и информационное поле. Информационное поле содержит 1 байт, описывающий количество возвращаемых байт данных и содержимое запрошенных регистров. Длина каждого регистра данных – 2 байта. Первый байт данных в посылке является старшим байтом регистра, второй – младшим. PDU запроса:
* Если значение поля «Кол-во регистров» равно 0 (ноль), то в ответ возвращаются значения всех регистров хранения. PDU ответа:
* N – количество регистров. 1.1.7. Исключительные ситуацииКонтроллер поддерживает сообщения информирования клиента (мастера) Modbus об исключительных ситуациях (Exception). Формат возвращаемых пакетов полностью соответствует документу «Modbus Application Protocol Specification v1.1a». Сообщения об исключительных ситуациях возникают только на запросы, адресованные данному устройству с правильным значением CRC пакета.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||