Modbus

Материал из Machinepedia
Перейти к: навигация, поиск
Modbus logo.png

Modbus — коммуникационный протокол, основанный на архитектуре «клиент-сервер». Широко применяется в промышленности для организации связи между электронными устройствами. Может использоваться для передачи данных через последовательные линии связи RS-485, RS-422, RS-232, а также сети TCP/IP (Modbus TCP).

Не следует путать MODBUS и MODBUS Plus. MODBUS Plus — проприетарный протокол принадлежащий Schneider Electric. Физический уровень уникальный, похож на Ethernet 10BASE-T, полудуплекс по одной витой паре, скорость 1Мбит/с. Транспортный протокол — HDLC, поверх которого специфицировано расширение для передачи MODBUS PDU.

Содержание

История

Modbus был разработан компанией Modicon (в настоящее время принадлежит Schneider Electric) для использования в её контроллерах с программируемой логикой. Впервые спецификация протокола была опубликована в 1979 году.[1] Это был открытый стандарт, описывающий формат сообщений и способы их передачи в сети, состоящей из различных электронных устройств.

Первоначально контроллеры MODICON использовали последовательный интерфейс RS-232.[1] Позднее стал применяться интерфейс RS-485, так как он обеспечивает более высокую надёжность, позволяет использовать более длинные линии связи и подключать к одной линии несколько устройств.

Многие производители электронного оборудования поддержали стандарт, на рынке появились сотни использующих его изделий.

Введение

Взаимодействие устройств с роутером

Контроллеры на шине Modbus взаимодействуют, используя клиент-серверную модель, основанную на транзакциях, состоящих из запроса и ответа.

Обычно в сети есть только один клиент, так называемое, «главное» (англ. master) устройство, и несколько серверов — «подчиненных» (slaves) устройств. Главное устройство инициирует транзакции (передаёт запросы). Главный может адресоваться индивидуально к подчиненному или инициировать передачу широковещательного сообщения для всех подчиненных устройств. Подчиненное устройство отвечает на запрос, адресованный именно ему. При получении широковещательного запроса ответ не формируется.

Спецификация Modbus описывает структуру запросов и ответов. Их основа — элементарный пакет протокола, так называемый PDU (Protocol Data Unit). Структура PDU не зависит от типа линии связи и включает в себя код функции и поле данных. Код функции кодируется однобайтовым полем и может принимать значения в диапазоне 1…127. Диапазон значений 128…255 зарезервирован для кодов ошибок. Поле данных может быть переменной длины. Размер пакета PDU ограничен 253 байтами.

Состав стандарта

Стандарты MODBUS состоят из 3 частей:

  • Документ Modbus Application Protocol содержит спецификацию прикладного уровня сетевой модели OSI:
    • Элементарный пакет протокола, так называемый PDU (Protocol Data Unit), он един для всех физических уровней. PDU упаковывается в индивидуальный для каждого транспорта application data unit (ADU).
    • Коды функций и состав PDU для каждого кода.
  • Документ Modbus over serial line содержит спецификацию канального и физического уровней сетевой модели OSI для физических уровней RS485 и RS232. В принципе может использоваться любой физический уровень основанный на асинхронном приемопередатчике.
  • Документ MODBUS Messaging on TCP/IP Implementation Guide содержит спецификацию ADU для транспорта через TCP/IP стек.

Достоинства стандарта

Основные достоинства стандарта - открытость и массовость. Огромное количество датчиков и исполнительных устройств выпущено промышленностью. Практически все промышленные системы контроля и управления имеют программные драйвера для работы с MODBUS сетями.

Недостатки стандарта

Стандарт в своей основе был разработан в 1979 году компанией Modicon (в данное время владелец Schneider Electric), с учетом потребностей и вычислительных возможностей того времени, и многие актуальные для современных промышленных сетей вопросы не были учтены.

  • Стандарт специфицирует метод передачи только двух типов данных. Отсутствие четкого указания в стандарте привело к тому, что с другими типами данных сторонние производители MODBUS-решений поступали по своему усмотрению. Разброд де-факто в этом вопросе не позволил впоследствии сделать уточнения в официальном документе: это вызвало бы всплеск недовольства производителей и возможную войну форматов.
  • Стандарт не позволяет никакой оперативной сигнализации от конечного устройства к мастеру в случае необходимости (прерывания). Нужно ждать своей очереди в опросе. Это существенно ограничивает применимость MODBUS-решений в системах управления реального времени.
  • Стандарт не позволяет конечным устройствам обмениваться фиксированными данными друг с другом без участия мастера. Это существенно ограничивает применимость MODBUS-решений в системах регулирования реального времени.
  • Стандарт не предлагает никаких решений по начальной инициализации системы. Назначение сетевых адресов и прописывание в системе параметров каждого конкретного устройства выполняются вручную.

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

Личные инструменты
Пространства имён

Варианты
Действия
Присоединиться сейчас к бесплатной торговой площадке №1 для промышленников в России machinebook
Навигация
Навигация
Рекламодателям
Инструменты
Яндекс.Метрика