Промышленные сети. Протокол Modbus

Промышленные сети. Протокол Modbus
17 Сентября 2013

Самый распространенный протокол в мире – Modbus. Несмотря на достаточно большой возраст (начиная с 1979 года, Modbus стал де-факто стандартом) этот протокол передачи данных ни на йоту не устарел, а даже наоборот – значительно выросло количество разработок использующих Modbus протокол, и значительно улучшился уровень технической поддержки. На сегодняшний день всему миру успешно работают миллионы Modbus-устройств. К основным преимуществам протокола Modbus относятся: отсутствие необходимости установки специальных интерфейсных контроллеров, процессы установки и настройки программного обеспечения являются интуитивно понятными, простые и элегантные принципы функционирования. Указанные выше преимущества являются основными факторами снижающими затраты на процесс освоения стандарта Modbus всеми желающими, начиная от системного интегратора, и заканчивая разработчиком контроллерного оборудования. Благодаря абсолютной бесплатности текстов стандартов достигается высокий уровень открытости протокола.

В России конкуренцию протоколу Modbus может составить лишь протокол Profibus. В настоящее время высокую популярность протокола Modbus можно объяснить лишь его совместимостью с подавляющим большинством имеющегося оборудования. Кроме всего прочего, Modbus обладает высокой степенью достоверности передачи данных. Это связано с надежностью применяемого метода контроля ошибок. Еще одним преимуществом Modbus является унификация команд обмена за счет стандартизации адресов (номеров) регистров и применяемых функций чтения-записи.

Основной недостаток Modbus – сетевой обмен данными по принципу «ведущий/ведомый», что является серьезным препятствием на пути передачи данных ведомыми устройствами по мере их появления, именно поэтому требуется интенсивный опрос ведущим устройством ведомых.

В настоящий момент времени имеются две разновидности Modbus – это протоколы Modbus Plus (кольцевая передача маркера в многомастерном протоколе) и Modbus TCP (разработанный для работы в сетях Ethernet).

В протоколе Modbus имеются два режима передачи имеющихся данных – RTU («удаленное терминальное устройство») и ASCII. Из представленных режимов в протоколе Modbus требуется обязательное присутствие режима RTU, а наличие режима ASCII – опционно. Пользователю дается возможность выбора режима на свое усмотрение, но при этом должно обязательно выполняться одно условие – все модули, работающие в сети по протоколу Modbus, должны обладать одним и тем же режимом передачи данных.

Поскольку протокол Modbus ASCII в России используется достаточно редко, то рассматривать мы будем исключительно протокол Modbus RTU. В стандарте Modbus применяются следующие физические интерфейсы – RS-232, RS-422 и RS-485. Наибольшее распространение в промышленных сетях получил двухпроводной интерфейс RS-485, но чтобы создать соединение точка – точка прекрасно подойдут и интерфейсы RS-232 и RS-422.

Модель OSI стандарта Modbus предусматривает наличие трех уровней – физического, прикладного и канального. На физическом уровне новые разработки основанные на стандарте Modbus настойчиво рекомендуют использовать двухпроводную линию передачи интерфейса RS-485, но возможно применение и интерфейса RS-232 с четырехпроводной линией передачи.

Шина Modbus в обязательном порядке должна быть представлена одним магистральным кабелем, который может содержать отводы. Общий экран магистрального кабеля должен состоять из трех проводников. Первые два – это витая пара, а третий – соединение общих (земляных) выводов интерфейса RS-485 в промышленной сети. Заземление общего провода и экрана должно быть оборудовано в одном месте, желательно в непосредственной близости от ведущего устройства сети Modbus.

Подключение устройств к кабелю может осуществляться тремя различными способами:

·        Напрямую к магистральному кабелю;

·        При помощи пассивного разветвителя (тройника);

·        При помощи активного разветвителя (разветвитель содержит развязывающий повторитель интерфейса).

Каждый конец магистрального кабеля в сети Modbus должен содержать резистор (терминатор), чтобы согласовать линию передачи, подобно интерфейсу RS-485. Их номинальное значение может варьироваться в пределах 150 Ом, а напряжение – 0,5 Вт.

Необходимым условием работы Modbus-устройств в сети является поддержка скоростей обмена данными 9600 бит/с и 19200 бит/с, причем 19200 бит/с устанавливается по умолчанию. Также возможна работа со следующими скоростями: 1200, 2400, 4800….38400 бит/с, 65 кбит/с, 115 кбит/с и др.

К участку сети Modbus, на котором нет повторителей интерфейса, можно подключить до 32 устройств. Максимальное значение длины магистрального кабеля, при работе со скоростью передачи данных в 9600 бит/с и площадью сечения жил не менее 0,13 мм² (AWG26), не должно превышать одного километра. Длина отводов от магистрального кабеля должна быть не более 20 метров.

Протокол Modbus не содержит каких-либо жестких требований к типу разъема, но если приходится работать с разъемами mini-DIN, RJ45, D-Shell, то они должны быть непременно экранированны, а цоколевки должны отвечать требованиям стандарта.

Типовое значение магистрального кабеля – AWG 24 (0,2 мм² при диаметре провода 0,51 мм). При работе с кабелем категории 5 максимальное значение его длины не должно превышать 600 метров. Во время выбора кабеля необходимо учитывать его волновое сопротивление, его значение не должно быть ниже 100 Ом, особенно если скорость передачи имеющихся данных превышает 19200 бит/с.

Задача прикладного уровня протокола Modbus RTU – обеспечение коммуникации между устройствами «ведущий/ведомый». Поскольку прикладному уровню доступны к использованию протоколы Modbus TCP/IP (Ethernet TCP/IP) и Modbus Plus, то его можно считать независимым от физического и канального уровней.

Работа прикладного уровня Modbus основывается на запросах, которые при помощи кодов функций указывают ведомому устройству, что за операцию в данный момент времени оно должно выполнить.

Во время работы протокола прикладного уровня с широким разнообразием протоколов канального и транспортного уровней основной блок Modbus – сообщений остается неизменным, поскольку этот блок включает в себя различные данные и код функции (название блока Protocol Data Unit PDU – элемент данных протокола). Если во время работы к блоку PDU добавить дополнительные поля (как правило, такое происходит во время работы в разнообразных промышленных сетях), то его название сменится на Application Data UnitADU – элемент данных приложения.

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

Адреса Modbus-устройств в находящиеся в одной сети идут по порядку от 1 до 247, а адреса с 248 по 255 - зарезервированы. Сеть Modbus не должна содержать двух одинаковых адресов, а ведущее устройство всегда  остается без адреса.

У ведущего устройства имеется возможность использования как широковещательного режима - рассылки запросов всем ведомым устройствам одновременно, так и режима при котором, запрос может быть отправлен только одному устройству. Широковещательный режим использует адрес «0» (команда с таким адресом принимается к обработке сразу всеми устройствами).




Читайте также
Подразделы