Для чего нужен modbus

Для чего нужен modbus

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

История

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

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

Введение

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

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

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

Modbus PDU

номер функцииданные
1 байтN Категории кодов функций

В действующей в настоящее время спецификации протокола определяются три категории кодов функций:

Стандартные команды Их описание должно быть опубликовано и утверждено Modbus-IDA. Эта категория включает в себя как уже определенные, так и свободные в настоящее время коды. Пользовательские команды Два диапазона кодов (от 65 до 72 и от 100 до 110), для которых пользователь может реализовать произвольную функцию. При этом не гарантируется, что какое-то другое устройство не будет использовать тот же самый код для выполнения другой функции. Зарезервированные В эту категорию входят коды функций, не являющиеся стандартными, но уже используемые в устройствах, производимых различными компаниями. Это коды 9, 10, 13, 14, 41, 42, 90, 91, 125, 126 и 127.

Модель данных

Одно из типичных применений протокола — чтение и запись данных в регистры контроллеров. Спецификация протокола определяет четыре таблицы данных:

ТаблицаТип элементаТип доступа
Дискретные входы (Discrete Inputs)один биттолько чтение
Регистры флагов (Coils)один битчтение и запись
Регистры ввода (Input Registers)16-битное словотолько чтение
Регистры хранения (Holding Registers)16-битное словочтение и запись

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

Следует отметить, что со способом адресации данных связана определённая путаница. Modbus был первоначально разработан для контроллеров Modicon. В этих контроллерах для каждой из таблиц использовалась специальная нумерация. Например, первому регистру ввода соответствовал номер ячейки 30001, а первому регистру хранения — 40001. Таким образом, регистру хранения с адресом 107 в команде Modbus соответствовал регистр № 40108 контроллера. Хотя такое соответствие адресов больше не является частью стандарта, некоторые программные пакеты могут автоматически «корректировать» вводимые пользователем адреса, например, вычитая 40001 из адреса регистра хранения.

Стандартные функции протокола Modbus

Чтение данных

Для чтения значений из перечисленных выше таблиц данных используются функции с кодами 1—4 (шестнадцатеричные значения 0x01—0x04):

Запрос состоит из адреса первого элемента таблицы, значение которого требуется прочитать, и количества считываемых элементов. Адрес и количество данных задаются 16-битными числами, старший байт каждого из них передается первым.

В ответе передаются запрошенные данные. Количество байт данных зависит от количества запрошенных элементов. Перед данными передается один байт, значение которого равно количеству байт данных.

Значения регистров хранения и регистров ввода передаются начиная с указанного адреса, по два байта на регистр, старший байт каждого регистра передаётся первым:

байт 1байт 2байт 3байт 4.байт N-1байт N
RA,1RA,0RA+1,1RA+1,0.RA+Q-1,1RA+Q-1,0

Значения флагов и дискретных входов передаются в упакованном виде: по одному биту на флаг. Единица означает включённое состояние, ноль — выключенное. Значения запрошенных флагов заполняют сначала первый байт, начиная с младшего бита, затем следующие байты, также от младшего бита к старшим. Младший бит первого байта данных содержит значение флага, указанного в поле «адрес». Если запрошено количество флагов, не кратное восьми, то значения лишних битов заполняются нулями:

байт 1.байт N
FA+7FA+6FA+5FA+4FA+3FA+2FA+1FA.0.0FA+Q-1FA+Q-2.

Запись одного значения

Команда состоит из адреса элемента (2 байта) и устанавливаемого значения (2 байта).

Для регистра хранения значение является просто 16-битным словом.

Для флагов значение 0xFF00 означает включённое состояние, 0x0000 — выключенное, другие значения недопустимы.

Если команда выполнена успешно, ведомое устройство возвращает копию запроса.

Запись нескольких значений

Команда состоит из адреса элемента, количества изменяемых элементов, количества передаваемых байт устанавливаемых значений и самих устанавливаемых значений. Данные упаковываются так же, как в командах чтения данных.

Ответ состоит из начального адреса и количества изменённых элементов.

Ниже приведён пример команды ведущего устройства и ответа ведомого (для Modbus RTU).

Источник

Как общаются машины: протокол Modbus

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbus

Благодаря универсальности и открытости, стандарт позволяет интегрировать оборудование разных производителей. Modbus используется для сбора показания с датчиков, управления реле и контроллерами, мониторинга, и т.д.

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

История Modbus

Modbus был представлен в 1979 году компанией Modicon (ныне Schneider Electric). Это был открытый стандарт, работающий по интерфейсу RS-232. Позже появилась реализации протокола для интерфейсов RS-485 и Modbus TCP. Протокол быстро набрал популярность, и многие производители стали внедрять его в своих устройствах.

Позже права на протокол были переданы некоммерческой организации Modbus Organization, которая до сегодняшнего дня владеет стандартом.

В описании стандарта Modbus используются терминология, унаследованная от языков релейной логики. Так, например, некоторые регистры называются катушками (англ. coil).

Физический уровень

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbus

Логический уровень

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbus
Различия протоколов Modbus

Modbus ASCII

Данные кодируются символами из таблицы ASCII и передаются в шестнадцатеричном формате. Начало каждого пакета обозначается символом двоеточия, а конец — символами возврата каретки и переноса строки. Это позволяет использовать протокол на линиях с большими задержками и оборудовании с менее точными таймерами.

Modbus RTU

В протоколе Modbus RTU данные кодируются в двоичный формат, и разделителем пакетов служит временной интервал. Этот протокол критичен к задержкам и не может работать, например, на модемных линиях. При этом, накладные расходы на передачу данных меньше, чем в Modbus ASCII, так как длина сообщений меньше.

Modbus TCP

Структура пакетов схожа с Modbus RTU, данные также кодируются в двоичный формат, и упаковываются в обычный TCP-пакет, для передачи по IP-сетям. Проверка целостности, используемая в Modbus RTU, не применяется, так как TCP уже имеет собственный механизм контроля целостности.

Формат пакета

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbus
Форматы пакета разных реализаций Modbus

Все устройства Modbus взаимодействуют, следуя модели master-slave. Запросы может инициировать только master-устройство, slave-устройства могут только отвечать на запросы, и не могут самостоятельно начинать передачу данных. В зависимости от реализации протокола, заголовки пакета различаются. Вот основные составляющие пакета, которые важно знать:

ADU (Application Data Unit) — пакет Modbus целиком, со всеми заголовками, PDU, контрольной суммой, адресом и маркерами. Отличается, в зависимости от реализации протокола.

PDU (protocol data unit) — основная часть пакета, одинаковая для всех реализаций протокола. Содержит сам payload.

Адрес устройства — адрес получателя, то есть slave-устройства. В одном сегменте Modbus-сети могут находится до 247 устройств. Только slave-устройства имеют различающиеся адреса, master-устройство не имеет адреса. Адрес «0» используется для широковещательных запросов от master, при этом, slave-устройства не могут отвечать на эти широковещательные пакеты.

Контрольная сумма — алгоритмы проверки целостности пакетов. В Мodbus RTU и ASCII используется 2 байта контрольной суммы. В Modbus RTU применяется алгоритм CRC16, в Modbus ASCII — более простой и менее надежный LRC8. В Modbus TCP контрольная сумма не добавляется в ADU, так как целостность проверяется на уровне TCP.

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

Регистры и функции Modbus

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

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbus

Примеры работы

Для примера работы с протоколом Modbus TCP воспользуемся максимально простой консольной утилитой modbus-cli, написанной на языке Ruby. Она позволяет легко читать и писать данные в регистры Modbus.

Попробуем прочесть состояние счетчиков переданных пакетов на промышленном коммутаторе Advantech EKI-5524SSI. Для начала необходимо определить адреса регистров, хранящие нужную информацию, для этого заглянем в документацию устройства. Описание регистров находятся в разделе «Modbus Mapping Table»:

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbus
Описание значений регистров в документации коммутаторов EKI

Видно, что значение переданных пакетов для одного порта хранится в четырех регистрах, и для первого порта это регистры с 38193 по 38197. Также дано описание формата хранения данных, из которого следует, что целое число переданных пакетов хранится шестнадцатеричном формате, и значение 11223344 пакетов будет записано как 0xAB4130, справа налево.

read — команда чтения. Программа сама понимает, какую конкретно команду чтения использовать в зависимости от адреса регистра, в нашем случае будет использована команда «04», для чтения 16-битных регистров.

192.168.0.17 — IP-адрес устройства.

38193 — начальный адрес регистра.

4 — смещение относительно начального адреса. Мы читаем четыре регистра для порта 1, как следует из даташита.

Получаем ответ, содержащий значения четырех регистров. Видим, что число пакетов невелико: 0x3459, то есть 13401, — коммутатор был включен недавно.

Недостатки протокола Modbus

Справедливости ради, стоит упомянуть и о недостатках протокола. Так как он разрабатывался более 40 лет назад, когда производительность процессоров была существенно ниже и протоколы разрабатывались без учета защиты данных, он имеет рад минусов:

Оборудование с поддержкой Modbus

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

ADAM-6000 и WISE-4000 — модули удаленного ввода-вывода

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbusМодули серии ADAM-6000 и WISE-4000 позволяют удаленно управлять цифровыми и аналоговыми входами/выходами по протоколу Modbus TCP. Используются для управления периферийными устройствами и сбора данных в режиме slave. Могут работать в паре с программируемым логическим контроллером, или подключаться напрямую к SCADA-серверу.⠀⠀⠀ ⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

EKI-1200 — Modbus-шлюзы для преобразования интерфейсов

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbus
Для преобразования протоколов Modbus RTU/ASCII в Modbus TCP, используются Modbus шлюзы. Устройства серии EKI-1200 имеют на борту до четырех последовательных интерфейсов RS-232/422/485, и два Ethernet-порта. Они позволяют объединить в одну сеть устройства с разными протоколами. Например, подключить slave устройство, поддерживающее только Modbus RTU, по интерфейсу RS-485 к сегменту сети Modbus TCP.

APAX-5000, ADAM-3600, WISE-5000 — контроллеры автоматизации

Контроллеры поддерживают функции Modbus RTU в качестве slave/master и клиента/сервера Modbus TCP.

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbus

Примеры применения

Система мониторинга теплиц

Решение Advantech для мониторинга интегрирует устройства TPC-1070H, ADAM-6024, ADAM-6050, ADAM-6060 и программное обеспечение WebAccess в машинном шкафу рядом с сельскохозяйственными угодьями. Соединяясь с различными чувствительными устройствами, модули ADAM-6000 могут в режиме реального времени получать данные об окружающей среде и контролировать переключение оборудования, чтобы гарантировать, что теплица находится в оптимальной среде для роста растений. Благодаря особой функции Advantech — графической логике условий (GCL), пользователи могут определять свои собственные правила логики управления и загружать эти правила в модули ввода / вывода Ethernet ADAM-6000, а затем модули автоматически выполняют логические правила, как автономные модули. контроллер. Еще одна особенность — Peer-to-Peer (P2P) использует наиболее открытую и гибкую сеть Ethernet, чтобы не только упростить процесс внедрения без контроллера, но и сэкономить затраты на аппаратное оборудование.

Все полученные данные затем передаются через Ethernet на компьютер с сенсорной панелью TPC-1070H. Благодаря системе охлаждения без вентилятора и передней панели, соответствующей стандарту IP65, TPC-1070H представляет собой прочную и компактную конструкцию, подходящую для изменяемой операционной среды, а его мощные вычислительные возможности способны обрабатывать большие объемы данных. Для управления устройствами Advantech WebAccess позволяет инженерам или менеджерам просматривать, контролировать и настраивать систему мониторинга через интрасеть или Интернет с помощью обычного веб-браузера с любого устройства, включая планшеты и смартфоны.

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbus

Мониторинг системы нагрева воды солнечной энергией

Инжиниринговая компания должна была иметь возможность контролировать количество солнечной энергии, температуры и расход воды в системе нагрева воды на солнечной энергии для бассейна олимпийских размеров, обеспечиваемого их недавно разработанной солнечной панелью. Они также должны были иметь возможность непосредственно отслеживать эти значения и их аварийные сигналы на ЖК-панелях и сохранять эти значения для дальнейшего использования.

Модули Adam от Advantech предоставили заказчику решение, в котором использовались модули сбора данных, подключенные через RS485, и двухпроводная шина для передачи данных со всех датчиков. Эта системная архитектура имеет два основных преимущества: во-первых, она позволяет в любое время добавлять в систему большее количество датчиков модулей сбора данных, и, во-вторых, очень легко добавлять дополнительные метки в программное обеспечение для мониторинга и записи этих значений на ПК.

Источник

Что такое протокол Modbus и где он используется

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbus

В 1979 году компания Modicon представила протокол, который мог бы помочь собирать данные с оборудования. Новая разработка пришлась по нраву производителям промышленных машин. Поэтому вскоре на свет появились две реализации протокола — ModBus TCP и ModBus RS-485, подходящих для популярных интерфейсов.

Где используется протокол

При грамотном подходе найти применение протоколу можно в любой сфере: на промышленном и аграрном производстве, в системах умный дом и прочих.

Компания AdvanTech объединила несколько устройств и одно программное обеспечение WebAccess, а затем разместила компоненты в теплицах сельскохозяйственного угодья.

Все данные, благодаря protocol Modbus, передаются на ПК. Прочная и компактная комбинация датчиков отлично переносит влажность в теплицах. А инженеры настраивают работу через экран планшета или смартфона.

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbus

Еще один вариант, как работает протокол — во время контроля за нагревом воды солнечными лучами. Модули сбора данных подключились в бассейне, с помощью протокола информация с нескольких датчиков объединялась и передавалась на компьютер. Вся система подключалась через стандартный интерфейс RS-485. При такой схеме инженеры добавляют или убирают дополнительные сканеры, а в саму программу — дополнительные метки.

Стандартные функции протокола Modbus

Используются регистры от 1 до 123.

Типы данных ModBu

Существует несколько видов данных, которые способны передавать устройства в рамках команды от Master. Для чтения используются функции под кодовыми обозначениями 1–4. Чтобы разобраться, как происходит запрос и получение ответа, необходима эта таблица с типами информации:

разрешены чтение, запись

разрешены чтение, запись

Ведущее устройство отправляет запрос, состоящий из адреса (строка левой колонки), количества элементов. Оба значения задаются числами — до 16 бит. В ответ устройство получает такое же числовое количество данных.

Если необходимы данные, которые можно читать и записывать, то используются функции 5 и 6. Команда состоит из адреса и значения. Есть возможность одновременно записать несколько элементов, команда строится по тому же принципу, но к адресу и значениям добавляется количество изменяемых характеристик.

Структура обмена данными по ModBus

В узле Modbus обязательно присутствуют четыре устройства. Сетевой обмен данными состоит из запросов одного из них и ответов на эти запросы.

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbus

Так как протокол ModBus бывает двух видов, структура обмена данными может отличаться в системах RTU и TCP. В разновидности RTU подробнее задается функция.

Модель данных Modbus

Несмотря на то что один из регистров доступен для чтения и для записи, в большинстве устройств они считаются единым целым.

Два варианта протокола

Сегодня существуют два варианта протокола, которые используются с одинаковой частотой. Протокол ModBus RTU считается более простым и компактным. В основе — только двоичная связь. Передача данных невозможна без циклической контрольной суммы избыточности: с ее помощью мастер определяет, есть ли проблемы и каков их характер.

Некоторые мастера предпочитают использовать более редкую, но подробную версию — ASCII. Вариант протокола используют на тех устройствах и оборудовании, которые не поддерживают более распространенный ModBus RS 484. Из-за этого ASCII является менее безопасным протоколом. В основе — сложное шестнадцатеричное кодирование данных.

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbus

Многие программисты объединяют RTU и ASCII в одну группу, ведь они отличаются лишь типом кодирования и уровнем распространенности. Поэтому в качестве второго варианта протокола принято называть TCP.

Описание протокола Modbus RTU

Классический, слегка архаичный RTU используется для стандартных интерфейсов — RS-232, Modbus RS-485. Особенность системы заключается в строгой иерархичности: на каждом шлейфе по протоколу один аппарат назначается главным (Master), все остальные — ведомыми (Slaves). Количество ведомых может доходить до 32, но оптимально подключать в одну связку максимум 20.

Какие бывают команды Modbus RTU?

Команды от Мастера можно разделить на три группы — чтение данных, запись одного дискретного выхода и запись нескольких дискретных выходов.

Контроль ошибок в протоколе Modbus RTU

Чтобы их обнаружить, предусмотрены специальные алгоритмы действий. Для обнаружения искажений используется фрейм слов. В RTU каждое отдельное сообщение начинается и заканчивается интервалом тишины — временем, которое сопоставимо с передачей 3,5 символов на текущей скорости. Фрейм передается непрерывно и отслеживает, соответствует ли длительность интервалов положенному значению. Если он короче или длиннее, фрейм игнорируется устройством.

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbus

При отсутствии ответа отправляется отчет об ошибке.

Описание протокола Modbus TCP

Эту разновидность протокола считают нестандартным Modbus. Он работает поверх TCP/IP стека, поэтому и появляется главное отличие протокола от RTU.

В отличие от RTU, TCP устроено по иному принципу — «клиент-сервер». Чтобы обменяться данными, образуется связь между клиентом и сервером. Client-ом становится Мастер, остальные Ведомые превращаются в сервер. Меняется порядок передачи данных: теперь не Мастер задает команду, а пользователь открывает сеанс связи. Поэтому широкоформатного общения (от одного источника ко всем устройствам) в этом типе протокола нет.

Из-за более сложной системы время передачи данных увеличивается. Зато таким способом синхронизируют даже далеко расположенные устройства — по Wi-Fi.

Типы команд Modbus TCP

Процесс соединения двух устройств отличается, но команды, которые задает Клиент Серверу, не отличаются от стандартных. Можно прочесть, записать один регистр или несколько. Как и RTU, TCP обозначает каждую команду кодом: 01-06, 15-16.

Программы для работы с протоколом Modbus

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbus

Не такие популярные, но все же используемые бесплатные приложения и библиотеки для работы — FreeSCADA, PortMon, PeakHMI, QModMaster.

Требования к ПО для работы с Modbus-устройствами в режиме мастера

Кроме того, приложение должно быть лицензированным. Разработчик должен сопровождать софт и вовремя предоставлять обновление программы.

Наладка систем автоматизации, использующих Modbus устройства

Может потребоваться дополнительная аппаратура, инструмент Modbus Roll для одновременного опроса нескольких устройств или иные модули Modbus.

Реже возникают сложности с подключением в сеть, работающую по отличному от ModBus RTU протоколу. Для наладки требуется OPC сервер и Modbus Roll.

Modbus Map

Протокол обязательно снабжается ModBus Map — документацией, в которой подробно описаны допустимые регистры, адреса, команды, значения и способы доступа.

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

Связь и устройства

В общей связке работают несколько устройств. Чтобы одно из них давало команды остальным, каждому аппарату присваивается уникальный номер, адрес. Обычно только Master может отправлять команды Slaves, однако в Ethernet любое устройство имеет возможность задать команду.

Сегодня есть много модемов и шлюзов, которые разработаны специально под ModBus. Самые современные работают на базе проводной или беспроводной связи, сообщаются даже с помощью небольших сообщений типа SMS и используют пакетную радиосвязь GPRS.

Оборудование с поддержкой Modbus

Промышленное оборудование выпускается уже с поддержкой популярного протокола. Можно подобрать устройства для решения рабочих задач: сбора информации, передачи, управления или автоматизации.

Для чего нужен modbus. Смотреть фото Для чего нужен modbus. Смотреть картинку Для чего нужен modbus. Картинка про Для чего нужен modbus. Фото Для чего нужен modbus

Модули удаленного ввода или вывода необходимы для дистанционного управления периферией. Помогут во время сбора информации в режиме Master/Slave. Устройство подключается как к контроллеру, так и напрямую к серверу.

Шлюзы используются для преобразования интерфейсов, объединения в одну сеть устройств с разными протоколами и разъемами. Каждый шлюз имеет до 4-х интерфейсов: 232, 422, 485, Ethernet.

Контроллеры автоматизации помогут переключиться из режима Slaves-Master в режим Server-Client.

Преимущества протокола Modbus

Как и каждый протокол, Modbus (и RTU, и TCP) имеет ряд преимуществ и недостатков. Операторы выбирают этот протокол благодаря следующим достоинствам:

Легкость в реализации. Требуется пара дней для развертывания. Для сравнения — иным протоколам нужны месяцы.

Открытый исходный код. Есть возможность включить протокол в промышленное оборудование любых поставщиков.

Отсутствие необходимости в дополнительных микросхемах. Конкуренты-аналоги Profibus и CAN требуют для своей реализации заказные микросхемы, что замедляет начало работы.

Легкая диагностика и настройка.

Поддержка большинством промышленных устройств и оборудования.

Надежная, достоверная передача данных.

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

Недостатки протокола Modbus

Главный недостаток системы — подключение только одного устройства на позицию «ведущего» (в ModBus обозначается как Master).

Все «ведомые» устройства передают данные только по команде Master. Если необходимость в передаче данных возникает у ведомого устройства, то потребуется время: нужно дождаться, пока ведущий даст команду в порядке очередности.

Из-за типа — Master and Slaves — протокол не сообщает информацию об исключениях. В то же время Ведущий должен получать информацию от Ведомых. Это нагружает систему, увеличивает время передачи данных с дочерних устройств к главному. А значит, ModBus становится неудобен в тех каналах, где скорость передачи низкая.

Так как передача информации происходит непрерывно, это ограничивает типы устройств: то оборудование, что буферизует данные, уже не может быть использовано.

Второй недостаток связан с «возрастом» протокола.

Так как он изобретен в 1979 году, численность типов данных ограничена тем количеством, которое было доступно 40 лет назад. Большие двоичные объекты просто не поддерживаются.

Из-за неудобств от использования протокола отказываются компании, которым важно сохранить конфиденциальность данных. Протокол не защищает от сторонних команд, не санкционированных оператором. И не защищает полосу пропускания от перехвата.

Еще один недостаток, уже не столь существенный — протокол пока несовершенен, поэтому в процессе обмена данными возникают логические ошибки.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *