ЖУРНАЛ СТА 3/2009

ОБ ЗОР / П РОМЫШЛ Е ННЫЕ С Е Т И смотрен в предыдущей статье, здесь он не обсуждается. В данной статье опи- саны канальный и физический уровни. К АНАЛЬНЫЙ УРОВЕНЬ В предыдущей статье были приведены сведения о структуре кадра сообщения, который включает в себя PDU – эле- ментарный пакет протокола Modbus для последовательной линии передачи дан- ных, тем не менее, дадим краткое опи- сание. На рис. 1 показано, что PDU со- стоит из четырёх элементов. В центре находится собственно Mod- bus PDU, содержащий два элемента – код функции и данные. В большинстве реализаций Modbus используется ограниченный набор кодов функций. При этом структура данных может варь- ироваться в зависимости от кода функ- ции. В случае последовательной линии передачи данных перед Modbus PDU на- ходится поле адреса, а после него – поле контрольной суммы. В поле адреса со- держится только адрес ведомого устрой- ства или адрес широковещательной пе- редачи. Адрес ведущего устройства не требуется и не указывается, поскольку речь идет о протоколе «ведущий – ведо- мый», в котором команды исходят от уникального ведущего устройства. Как говорилось в предыдущей статье, структура Modbus-сообщения для после- довательной линии передачи данных за- висит от того, какой режим использу- ется – ASCII или RTU. На рис. 2 пока- зана структура кадра для более распространённого режима RTU. Струк- тура отличается компактностью – всего один байт занимает адрес ведомого устройства или адрес широковещатель- ной передачи, один байт – код функции и два – контрольная сумма (CRC). Сле- дует отметить, что в сообщении отсут- ствует последовательность, обозначаю- щая конец кадра. В режиме RTU конец кадра отмечается паузой, равной вре- мени передачи 3,5–4,5 символов. Максимальное по длине сообщение занимает всего 256 байтов. В режиме RTU для передачи каждого байта не- обходимо 11 битов. Сам символ – это восемь битов, плюс стартовый и стопо- вый биты и один бит чётности. Если бит чётности не используется, то вместо него посылается ещё один стоповый бит. При использовании бита чётности осущест- вляется контроль на чётность либо на нечётность. Формат сообщения в режиме ASCII, показанный на рис. 3, предусматривает два байта для адреса ведомого устрой- ства и два байта для кода функции. В от- личие от RTU в режиме ASCII исполь- зуется 2-байтовая контрольная сумма LRC. Преимуществом формата ASCII является то, что сообщения в этом фор- мате могут быть прочитаны человеком. Следует отметить, что в данном случае имеется последовательность, обозна- чающая конец сообщения и представ- ленная управляющими символами CR (возврат каретки) и LF (перевод строки). При этом паузы в процессе передачи со- общения не имеют значения. Данные представляются в шестнадцатеричном формате в коде ASCII. Каждый символ ASCII требует всего 7 битов, но каждый байт данных представляется двумя сим- волами. При этом используются один стартовый и один стоповый бит. Если используется бит чётности, то осуществ- ляется контроль на чётность либо на не- чётность. Если бит чётности не исполь- зуется, то вместо него посылается ещё один стоповый бит. Это означает, что пе- редача каждого байта в режиме ASCII выливается в передачу 10 битов. Ф ИЗИЧЕСКИЙ УРОВЕНЬ Изначально протокол Modbus разра- батывался с ориентацией на соединение «точка–точка» между главным компью- тером и ПЛК через интерфейс RS-232C (EIA-232C). Этот вариант актуален и се- годня. Но спецификация протокола Modbus для передачи данных по после- довательной линии обеспечивает воз- можность многоточечного соединения по стандарту RS-485 (EIA-485) – схему, поддерживающую до 32 устройств, под- ключённых к общей шине. Такая кон- фигурация может быть реализована с применением либо двухпроводного, либо четырёхпроводного подключения. В любом из вариантов последователь- ной передачи данных возможен широ- кий диапазон скоростей – от 1,2 до 115 кбит/с, но все реализации должны, как минимум, обеспечивать работу на скоростях 9,6 и 19,2 кбит/с. По умолча- нию принимается значение скорости пе- редачи данных 19,2 кбит/с. Д ВУХПРОВОДНАЯ СЕТЬ На рис. 4 показана рекомендуемая схема двухпроводной сети с интерфей- сом RS-485 (EIA-485) с линейной поля- ризацией. В такой сети, естественно, имеется один узел, являющийся веду- щим устройством, и множество ведомых узлов, подключённых к общей двухпро- водной шине, провода которой обозна- чены как D0 и D1. 23 CTA 3/2009 www.cta.ru Поле адреса Код функции Данные Контрольная сумма CRC (или LRC) Modbus PDU для последовательной линии передачи данных Modbus PDU Рис. 1. Перед Modbus PDU находится поле адреса ведомого устройства, а после него – поле контрольной суммы Рис. 2. Структура кадра для режима RTU более компактная, чем для ASCII Адрес ведомого устройства Код функции Данные Контрольная сумма (CRC) 1 байт 1 байт От 0 до 252 байтов 2 байта Младший | Старший байт байт Рис. 3. Структура кадра для режима ASCII предусматривает передачу символов начала и конца сообщения Начало Адрес ведомого устройства Код функции Данные Контрольная сумма (LRC) Конец 1 символ 2 символа 2 символа От 0 до 2 × 252 символа 2 символа 2 символа (СR, LF) © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy