Материалы Международной студенческой научной конференции
Студенческий научный форум 2024

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ПРОТОКОЛА MODBUS

Михайлов А.В. 1 Ражаускас И.В. 1
1 Донской государственный технический университет
1. AVR Lab устройства на микроконтроллерах AVR (http://avrlab.com/node/34).
2. Технологии и протоколы передачи данных в промышленности: Industrial Ethernet (http://www.ci.ru/inform13_05/p_22.htm).
3. Кирсанов В.В. К вопросу о систематизации и конкретизации профилактической работы по повышению уровня промышленной безопасности предприятий нефтехимического комплекса // Вестник Казан. технол. унта. – 2013. – № 24 – С. 138-142.
4. Денисенко В.В. Компьютерное управление технологическим процессом, экспериментом, оборудованием / В.В. Денисенко. – М.: Горячая линия – Телеком, 2009. – С. 105-110.

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 – летний стаж работы, он активно используется в самых новейших разработках систем автоматизации и управления.


Библиографическая ссылка

Михайлов А.В., Ражаускас И.В. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ПРОТОКОЛА MODBUS // Материалы МСНК "Студенческий научный форум 2024". – 2020. – № 5. – С. 90-92;
URL: https://publish2020.scienceforum.ru/ru/article/view?id=308 (дата обращения: 28.03.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674