11
Write Coil
Адрес
Параметр
0
Запуск работы блока
1
Остановка работы блока
Preset Single Register
5. Краткое описание протокола
Данный раздел является сокращенным переводом документа Modbus Ap-plication
Protocol Specification v1.1a. Подробное описание можно найти на сайте http://www.Modbus-
IDA.org.
Протокол определяет способ, которым Modbus клиент (например PC) должен взаи-
модействовать с Modbus сервером (прибор), т.е. как начинается и за-канчивается сеанс связи,
каким способом кодируются данные и т.п.
Начало обмена (сеанса связи) считается с первого переданного клиентом байта. Ко-
нец сеанса – последний переданный сервером байт.
Обмен сообщениями.
Взаимодействие между клиентом и сервером происходит посредством обмена сооб-
щениями. Для протокола Modbus RTU сообщение имеет следующую структуру:
Сообщение Modbus RTU
PDU Modbus (единица данных – Modbus spec)
Адрес
Номер функции Modbus (Function
Code)
Данные контрольная сумма
CRC16
На поле адреса выделяется 1 байт – что позволяет теоретически на одной шине дан-
ных находиться не более 255 приборов одновременно, соответственно байт может принимать
значение от 1 до 255, 0 служит для обращения ко всем серверам одновременно. На практике
число одновременно подключенных прибо-ров не более 32.
Сообщения разделяются между собой паузами. По спецификации Modbus RTU пауза
составляет не менее интервала, необходимого на передачу 3 байт.
В приборах данный интервал равен 40 ms. Общее время, необходимое на обмен за-
прос + ответ составляет 100ms
Кодирование передаваемых данных.
Данные передаются байтами и словами (2 байта). Слова передаются старшим байтом
вперед, т.е. если передается слово 0x1234, то 0x12 в PDU идет раньше 0x34.
Далее по тексту в поле контрольная сумма CRC16, которая служит для обнаружения
ошибок при передаче битов данных. У контрольной суммы младшее слово приводится впереди,
т.е. настоящая контрольная сумма перевернута (напри-мер: 0xBDCB для PC будет 0xCBBD).
В случае некорректного запроса ответное сообщение повторяет сообщение запроса с
инвертированным старшим битом номера функции.
Адрес
Параметр
0
Адрес прибора в сети Modbus