Протокол Modbus

Введение в протокол Modbus

Modbus — коммуникационный протокол, основанный на клиент- серверной архитектуре. Разработан фирмой Modicon для использования в контроллерах с программируемой логикой (PLC). Стал стандартом де- факто в промышленности и широко применяется для организации связи промышленного электронного оборудования. Использует для передачи данных последовательные линии связи RS-485, RS-422, RS-232 и другие, а также сети TCP/IP.

Устройства разных производителей, поддерживающие протокол Modbus, легко интеграцию в единую сеть автоматизации. На рынке представлен практически весь спектр необходимого оборудования от простых модулей ввода-вывода до частотных преобразователей. Все универсальные SCADA/HMI системы поддерживают данный протокол.

При использовании последовательных линий связи в одной сети может быть только одно ведущее устройство(master), которое может опрашивать другие подчиненные устройства(slave). Ни одно подчиненное устройство не может самостоятельно запросить или передать данные другому устройству. Ведущее устройство(master) может запросить данные с каждого подчиненного устройства по очереди или инициировать одновременную передачу сообщения на все подчиненные устройства. В одной сети может быть до 247 подчиненных устройств(slave).

В сети TCP/IP может практически неограниченное количество ведущих устройств(master) и подчиненных устройств(slave). При этом любое устройство может быть одновременно и ведущим, и подчиненным. В сети могут также существовать специальные шлюзы (gateway), которые предоставляют данные устройствам в сети TCP/IP доступ к устройствам объединенным последовательной линией связи или ведущему устройству с последовательным интерфейсом доступ к сети TCP/IP.

Режимы протокола Modbus

Протокол Modbus предусматривает для передачи данных по последовательным линиям связи два режима передачи: RTU и ASCII.

Режим ASCII предназначен для медленных линий связи, где каждый байт пакета передается как два ASCII символа. Новый пакет начинается со специального служебного символа. При этом между передачей символов одного пакета пауза может быть нескольких секунд(в зависимости от настроек) без возникновения ошибок при передаче.

Использование режима RTU позволяет приблизительно 2 раза увеличить количество передаваемых данных по последовательной линии связи. Данные пакета передаются по сети в двоичном виде без изменений. В режиме RTU перед передачей пакета в линии Рекомендации по проектированию и наладке. 5 выдерживается небольшой интервал тишины. Пакет передается непрерывным потоком данных. Таким образом на скорости 19200 бит/с возможно передать за 1 секунду до 1400 байт данных(при повторяющемся запросе 126 переменных) или опросить до 40 раз одно или несколько устройств(при запросе одной переменной). RTU.

Инфраструктура сети RS-485 протокола Modbus

В общем случае, при объединении устройств Modbus по линии связи RS-485, каждое устройство последовательно соединяют с другими устройствами одним кабелем. В кабеле должны быть как минимум одна витая пара, по которой проходят дифференциальные сигналы D0, D1 и проводник COM (сокращение от Common, земля приемников RS-485 всех устройств). Земля приемников RS-485 должна быть соединена с защитной землей только у ведущего контроллера (master). На каждом конце линии связи устанавливаются терминаторы LT, которые представляют из себя сопротивления номиналом 120 Ом.

При отсутствии передачи данных в сети, которая состоит из большого количества устройств, подключенных к одному каналу связи, драйверы RS-485 входят в третье состояние (tristate, то есть отключенное состояние). В этом случае оба проводника в линии передачи могут работать в холостую с небольшой нагрузкой, в результате приемники, могут регистрировать ложные данные. Для решения данной проблемы используют защитное смещение. Устанавливают резистор задания начального высокого уровня (pull-up) на линию А и низкого уровня (pull-down) на линию B. В сети Modbus защитное смещение устанавливается только рядом с ведущим устройством. При наличии схемы защитного смещения максимальное количество устройств в сети равно 32. При отсутствии — не более 28.

Выбор кабеля

Возможно применение 2-х типов кабелей: специализированных экранированных кабелей промышленного применения для сетей RS-485 (Например, Belden 3106A, Teldor 9392L02101) и многопарную экранированную медную витую пару категории 5 или выше (например, Belden 1633E, Nikolan NKL 9200C, Alcatel Nexans N100.461).

В настоящий момент выпускается большое количество специализированных кабелей для интерфейса RS-485. Обычно они имеют сечение проводника 0.7-0.8 мм. Для объединения устройств достаточно, чтобы выбранный кабель имел одну витую пару и еще один проводник. Однако вполне допустимо использование многопарного кабеля.

Для связи по сети RS-485 вполне достаточно обычной экранированной витой пары 5-й категории. Кабели витой пары категории 6-й и 7-й имеют большее сечение и их применение может быть оправдано только при использовании сетей с большим количеством устройств и/или длинной более 300м.

Витая пара обозначенная как STP — экранирована оплеткой, обозначенная как FTP(например Belden 1633E) — экранирована фольгой. Экранированные кабели Nexans имеют обозначение F2TP, что обозначает экранирование двойной фольгой. Одинаково применимы все типа экрана. Кабели SFTP, SSTP имеют двойной экран — общая оплетка и экраны каждой пары. Кабели витой пары с двойным экраном оправдано применять только для прокладки трасс вне помещений или при наличии выских помех на линию. Экранированные кабели витой пары практически доступны только в 4-х парном варианте, что обусловлено применением их в современных структурированных сетях (СКС). В одном кабеле может быть только одна линия связи. Сигналы и проводник земли приемников RS-485 должны соответствовать цветам витой пары в соответствии с таблицей.

Сигнал Цвет витой пары
A D+ D0 Белый с синей полосой
B D- D1 Синий
GND COM COMMON Коричневый

Таблица. Соответствие сигналов RS-485 цветам витой пары 5-й категории.