Протокол 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