Программная реализация протокола Modbus - Студенческий научный форум

XII Международная студенческая научная конференция Студенческий научный форум - 2020

Программная реализация протокола Modbus

Михайлов А.В. 1, Ражаускас И.В. 1
1Донской государственный техничекий униерситет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

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

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

Рисунок 1. Структура протокола Mobus

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

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

Таблица 1 – Модель данных протокола ModBus

Таблица

Тип элемента

Тип доступа

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

Один бит

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

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

Один бит

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

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

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

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

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

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

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

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

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

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

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

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

Литература

AVR Lab устройства на микроконтроллерах AVR (http://avrlab.com/node/34)

Технологии и протоколы передачи данных в промышленности: Industrial Ethernet (http://www.ci.ru/inform13_05/p_22.htm)

Кирсанов В.В. К вопросу о систематизации и конкретизации профилактической работы по повышению уровня промышленной безопасности предприятий нефтехимического комплекса // Вестник Казан. технол. унта. –2013.–№24 –С.138-142.

Денисенко В.В. Компьютерное управление технологическим процессом, экспериментом, оборудованием /В.В. Денисенко. – М.: Горячая линия – Телеком, 2009. – с.105-110

Просмотров работы: 36