logo
АИУС

1. Протокол передачи данных modbus50

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

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

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

Рис. 1.1. Устройства Modbus в последовательной линии связи.

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

Рис. 1.2. Сеть Modbus TCP/IP

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

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

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

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

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

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

Рис. 1.3. Инфраструктура сети RS-485

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

Рис. 1.4. Схема защитного смещения RS-485

Выбор кабеля

Возможно применение специализированных экранированных кабелей промышленного применения для сетей RS.

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

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

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

Таблица 1.1

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

Сигнал

Цвет витой пары

A

D+

D0

Белый с синей полосой

B

D-

D1

Синий

GND

COM

COMMON

Коричневый

Протокол MODBUS можно назвать наиболее распространенным в мире. Для работы со своими изделиями его используют десятки фирм. Хотя ограничения этого протокола достаточно очевидны, он привлекает простотой реализации и независимостью от типа интерфейса.