Scientific journal
Название журнала на английском

1 1
1

ModBus – один из самых распространенных промышленных протоколов передачи данных. Это открытый коммуникационный протокол, основанный на модели клиент-сервер. Разработка протокола началась в далеком 1979 году фирмой Modicon. Чаще всего передача данных происходит через дифференциальную пару RS-485. Также применяется с использованием RS-422 и RS-232. Существуют три способа организации протокола: ModBus RTU – самый часто используемый вариант, где сообщения разделяются паузой или «молчанием» на линии длительностью не менее 3,5 символа; ModBus ACSII – обмен происходит с использованием только ASCII символов, начало и конец обозначаются специальными символами; ModBus TCP/IP – передача данных происходит на основе TCP/IP соединения. Все способы организации протокола включают в себя контрольную сумму сообщения.

mihail1.tif

Структура протокола Mobus

Протокол ModBus имеет структуру MASTER (главный) – SLAVE (подчиненный) (рисунок). Структура запроса строится следующим образом: АДРЕС – КОД ФУНКЦИИ – ДАННЫЕ – КОНТРОЛЬНАЯ СУММА. Запрос может инициировать только главное устройство. В адресном поле записывается адрес «подчиненного» устройства, которому предназначен запрос. При значении адреса равному нулю, запрос является широковещательным и распространяется на все SLAVE устройства (если такой запрос поддерживается функцией). В протоколе существуют несколько стандартных функции. Например, функция чтения регистра, имеет код 0x03, и именно такая функция не может поддерживать широковещательный запрос, потому что невозможно прочитать несколько устройств одновременно. В поле данных может быть прописан параметр функции (например, для функции чтения – количество байт и начальный адрес).

Доступ к элементам в каждой таблице осуществляется с помощью 16-битного адреса. Первой ячейке соответствует адрес 0. Таким образом, каждая таблица может содержать до 65536 элементов.

Данные протокола определяется таблицей входов и регистров. Модель данных протокола приведена в таблице.

Модель данных протокола ModBus

Таблица

Тип элемента

Тип доступа

Дискретные входы

Один бит

Только чтение

Регистры флагов

Один бит

Чтение и запись

Регистры ввода

16-битное слово

Только чтение

Регистры хранения

16-битное слово

Чтение и запись

 

Протокол Modbus простой в программной реализации. Применением регистров хранения (holding registers) позволяет решить широкий спектр задач. Одним из основных преимуществ является широкое распространение среди систем автоматизации и управления.

Простота в освоении протокола является также неотъемлемым плюсом в его использовании. Даже на начальном уровне изучения пользователь может внедрить его в готовую систему.

Однако существуют и недостатки. Основным и главным недостатком является отсутствие оповещения MASTER устройства в случае непредвиденного события. Если одно из SLAVE устройств, будь то приводной двигатель, управляемый частотным преобразователем, который подключен к сети ModBus или же иное устройство «откажет», контроллер не сможет тут же получить информацию об этом. Это обусловлено тем, что для постоянного контроля необходимо постоянно посылать запросы на каждое устройство о его состоянии и проверять их. Стандарт не регламентирует начальную инициализацию системы. Определение параметров подключения и инициализацию адресов необходимо осуществлять на этапе подключения устройств к сети.

После инициализации всех устройств в сети, настроив MASTER – устройство, аналогичным образом можно обратиться к каждому устройству по его адресу. Для каждого устройства есть карта регистров, описанная в документации, в которой указаны параметры. Таким образом, проложив сеть из двух проводов по линии RS-485 можно на расстоянии около 1 километра управлять различными устройствами.

Конечно, протокол не всегда в полной мере удовлетворяет потребностям современных устройств. Но, несмотря на 35 – летний стаж работы, он активно используется в самых новейших разработках систем автоматизации и управления.