Протокол modbus

advertisement
Протокол
Modbus
Определение

Modbus
—
коммуникационный
протокол,
основанный на клиент-серверной архитектуре.
Разработан фирмой Modicon для использования в
контроллерах с программируемой логикой (PLC).
Стал стандартом де-факто в промышленности и
широко применяется для организации связи
промышленного
электронного
оборудования.
Использует для передачи данных последовательные
линии связи RS-485, RS-422, RS-232, а также сети
TCP/IP. В настоящее время поддерживается
некоммерческой организацией Modbus-IDA.
Схема обмена
сообщениями между
ведущим и ведомыми
устройствами.
Запрос (RTU/ASCII)
Ответ
...
Запрос
Код функции в запросе говорит
подчиненному устройству какое действие
необходимо провести.
Байты данных
содержат информацию
необходимую для
выполнения
запрошенной функции.
Ответ
Если подчиненный дает нормальный ответ,
код функции в ответе повторяет код
функции в запросе. В байтах данных
содержится затребованная информация.
Если имеет место ошибка, то код функции
модифицируется, и в байтах данных
передается причина ошибки.
Режим ASCII
При использовании ASCII - режима каждый
байт сообщения передается как два ASCII
символа. Главное преимущество этого
способа время между передачей символов
может быть до 1 сек. без возникновения
ошибок при передаче.
Режим RTU
При использовании RTU-режима каждый
байт сообщения содержит два 4-х битных
шестнадцатеричных числа. Каждое
сообщение передается непрерывным
потоком.
Структура сообщения
адрес
подчинённого номер функции
устройства
данные
CRC
8 бит
n x бит
16
8 бит
бит
Адрес подчинённого устройства
— первое однобайтное поле кадра. Оно
содержит адрес подчинённого устройства, к
которому адресован запрос. Подчинённые
устройства отвечают только на запросы,
поступившие только в их адрес. Ответ
также начинается с адреса
отвечающего
устройства. Адрес 0 используется для
широковещательной передачи.
Номер функции
— это следующее однобайтное поле кадра.
Оно говорит подчинённому устройству,
какие данные или выполнение какого
действия требует от него ведущее устройство;
Данные
—
поле
содержит
информацию,
необходимую подчиненному устройству для
выполнения заданной мастером функции
или
содержит
данные,
передаваемые
подчинённым устройством в ответ на запрос
ведущего. Длина и формат поля зависит от
номера функции;
CRC
— (контрольная сумма) заключительное
двухбайтное поле кадра. Контрольная сумма
завершает кадры запроса и ответа.
Методы контроля ошибок



Контроль паритета
Контрольная сумма LRC
Контрольная сумма CRC
Заключение

Протокол широко применяется для
организации связи промышленного
электронного оборудования: при
необходимости управления и обмена
данными с устройствами, такими как газо-,
электросчетчики, датчики давления,
температуры... Будучи разработан в 79 году,
до сих пор остается довольно. С тех пор был
расширен, добавлена поддержка протокола
поверх сетей Ethernet.
Литература




http://www.modbus.org/ - официальный сайт
разработчика протокола
http://ru.wikipedia.org/wiki/ModBus
http://www.simplymodbus.ca/FAQ.htm (англ)
file://./modbus_rus.pdf
Download