СТА 4/2010

В документации на устройство и на разветвитель должны быть указаны наименования подключаемых цепей. На каждом конце магистрального кабеля должны быть установлены резисторы для согласования линии передачи, как это требуется для интерфейса RS"485. В отличие от RS"485 наличие терминальных резисторов в соответствии со стандартом Modbus является обязательным независи" мо от скорости обмена. Их номинал может быть равным 150 Ом при мощности 0,5 Вт. Терминальные резисторы, а также резисторы, устраняющие неопределённость состо" яния линии при высокоомном состоянии передатчиков, устанавливаются так же, как и в других сетях на основе фи" зического интерфейса RS"485. Стандарт требует, чтобы в руководствах по эксплуатации устройств Modbus было ска" зано, имеются ли указанные резисторы внутри устройства или их необходимо устанавливать при монтаже сети. Если требуются внешние резисторы, то они должны иметь но" минал в интервале от 450 до 650 Ом и быть установлены только в одном месте в пределах каждого сегмента сети (сегментами считаются части сети между повторителями интерфейса). Modbus"устройство обязательно должно поддерживать скорости обмена 9600 и 19 200 бит/с, из них 19 200 бит/с ус" танавливается по умолчанию. Допускаются также скорости 1200, 2400, 4800, ... 38 400 бит/с, 65 и 115 кбит/с, ... Скорость передачи должна выдерживаться в передатчике с погрешностью не хуже 1%, а приёмник должен прини" мать данные при отклонении скорости передачи до 2%. Сегмент сети, не содержащий повторителей интерфейса, должен допускать подключение до 32 устройств, однако их количество может быть увеличено, если это допустимо ис" ходя из нагрузочной способности передатчиков и входного сопротивления приёмников, которые должны быть приве" дены в документации на интерфейсы. Указание этих пара" метров в документации является обязательным требовани" ем стандарта. Максимальная длина магистрального кабеля при ско" рости передачи 9600 бит/с и сечении жил более 0,13 мм 2 (AWG 26) составляет 1 км. Отводы от магистрального кабе" ля не должны быть длиннее 20 м. При использовании мно" гопортового пассивного разветвителя с N отводами длина каждого отвода не должна превышать значения 40/ N м. Modbus не устанавливает конкретных типов разъёмов, но если используются разъёмы RJ"45, mini"DIN или D"shell, они должны быть экранированными, а цоколёвки должны соответствовать стандарту. Для минимизации ошибок при монтаже рекомендуется использовать провода следующих цветов: жёлтый – для положительного вывода RS"485 (на котором устанавлива" ется логическая 1, когда через интерфейс выводится логи" ческая 1), коричневый – для второго вывода интерфейса RS"485, серый – для общего провода. Типовым сечением кабеля является AWG 24 (0,2 мм 2 , диаметр провода 0,51 мм). При использовании кабеля ка" тегории 5 его длина не должна превышать 600 м. Волновое сопротивление кабеля желательно выбирать более 100 Ом, особенно для скорости обмена более 19 200 бит/с. К АНАЛЬНЫЙ УРОВЕНЬ Протокол Modbus предполагает, что только одно веду" щее устройство (контроллер) и до 247 ведомых (модулей ввода"вывода) могут быть объединены в промышленную сеть. Обмен данными всегда инициируется ведущим. Ве" домые устройства никогда не начинают передачу данных, пока не получат запрос от ведущего. Также ведомые уст" ройства не могут обмениваться данными друг с другом. Поэтому в любой момент времени в сети Modbus может происходить только один акт обмена. Адреса с 1 по 247 являются адресами Modbus"устройств в сети, а с 248 по 255 зарезервированы. Ведущее устройство не должно иметь адреса, и в сети не должно быть двух уст" ройств с одинаковыми адресами. Ведущее устройство может посылать запросы всем уст" ройствам одновременно (широковещательный режим) или только одному. Для широковещательного режима зарезер" вирован адрес 0 (при использовании в команде этого адре" са она принимается всеми устройствами сети). Описание кадра (фрейма) протокола Modbus В протоколе Modbus RTU сообщение начинает воспри" ниматься как новое после паузы (тишины) на шине дли" тельностью не менее 3,5 шестнадцатеричных символов (14 бит), то есть величина паузы в секундах зависит от ско" рости передачи. Формат кадра показан на рис. 1. Поле адреса всегда (да" же в ответах на команду, посланную ведущим) содержит только адрес ведомого устройства. Благодаря этому веду" щее устройство знает, от какого модуля пришёл ответ. Поле «Код функции» говорит модулюо том, какое действие нужно выполнить. Поле «Данные» может иметь произвольное количество байтов в диапазоне от 0 до 255. В нём может содержаться ин" формация о параметрах, используемых в запросах контрол" лера или ответах модуля. Поле «Контрольная сумма» содержит контрольную сум" му CRC длиной 2 байта. Структура данных в режиме RTU В режиме RTU данные передаются младшими разрядами вперёд (рис. 2). По умолчанию в режиме RTU бит паритета устанавлива" ют равным 1, если количество двоичных единиц в байте не" чётное, и равным 0, если оно чётное. Такой паритет назы" вают чётным (even parity), а метод контроля называют контролем чётности. При чётном количестве двоичных единиц в байте бит па" ритета может быть равен 1. В этом случае говорят, что па" ритет является нечётным (odd parity). 91 СТА 4/2010 www.cta.ru В ЗАПИСНУЮ КНИЖК У ИНЖЕ Н Е РА Адрес 1 байт ADU PDU Код функции 1 байт Данные 0…255 байт Контрольная сумма 2 байт Стартовый бит 1 MЗР 2 3 4 5 6 7 8 Бит паритета Стоп бит Рис. 1. Формат кадра протокола Modbus RTU: PDU (protocol data unit) – элемент данных протокола; ADU (application data unit) – элемент данных приложения Рис. 2. Последовательность битов в режиме RTU (МЗР – младший значащий разряд; при отсутствии бита паритета на его место записывается второй стоп$бит) © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy