Протокол Modbus — Modbus RTU (Remote Terminal Unit) — был первоначально опубликован компанией Modicon (теперь Schneider Electric) systems в 1979 году в качестве протокола программирования для использования с ее ПЛК. Modbus — это открытый протокол, но слово «Modbus» является зарегистрированным товарным знаком Schneider Electric.
Modbus RTU — это простой протокол последовательной связи. Со временем возникла растущая потребность в стандарте, который допускал более сложные реализации с использованием популярных транспортных протоколов, таких как протокол управления передачей/Интернет-протокол (TCP/IP) и протокол пользовательских дейтаграмм (UDP). Разработанный в 1999 году вариант Modbus удовлетворил эту потребность.
Краткая история Modbus
Прежде чем мы углубимся в подробности использования Modbus, давайте взглянем на краткую историю этой платформы. На заре промышленной автоматизации фабрикам требовался подход для первых программируемых логических контроллеров (ПЛК) для связи друг с другом. Первый ПЛК был разработан в 1968 году компанией Modicon по заказу General Motors. После того, как в General Motors начали демонстрировать эффективность, устройство назвали Modicon 084, и началось серийное производство. Это привело к тому, что к концу 1970-х годов на рынок вышли несколько новых конкурентов, например, Allen-Bradley была одним из основных конкурентов, начавших создавать такие решения, и ПЛК были широко распространены на заводах. Однако информация по-прежнему не передавалась через ПЛК, и была гонка вооружений, чтобы выяснить, кто первым изобретет свои технологии, чтобы между устройствами могла осуществляться связь. Примерно в то же время Modicon создала Modbus, а Allen-Bradley выпустила Data Highway. Однако многие считали Modbus прародителем области протоколов промышленной связи. Когда дело доходит до подключения автоматизированных электронных устройств в промышленных условиях, это используется наиболее распространенный метод. Когда Modbus был выпущен Modicon, компания сделала это без сохранения своего стандартного протокола лицензирования. Это позволило любому разработчику включить Modbus в свои продукты, поскольку это универсальный стандарт, который могут поддерживать многие устройства. Кроме того, его очень легко и просто понять и настроить даже тем, у кого нет инженерного образования.
Что такое протокол Modbus?
Modbus — это протокол запроса-ответа, реализованный с использованием отношения ведущий-ведомый. В отношениях ведущий-ведомый обмен данными всегда происходит парами: одно устройство должно инициировать запрос, а затем ждать ответа, а инициирующее устройство (ведущее) отвечает за инициирование каждого взаимодействия. Как правило, ведущим является человеко-машинный интерфейс (HMI) или система диспетчерского управления и сбора данных (SCADA), а ведомым — датчик, программируемый логический контроллер (ПЛК) или программируемый контроллер автоматизации (PAC). Содержание этих запросов и ответов, а также сетевые уровни, через которые отправляются эти сообщения, определяются различными уровнями протокола.
В 2020 году организация Modbus заменила термины «ведущий» и «ведомый» на «сервер» и «клиент», ранее называвшиеся протоколом «ведущий-ведомый» .
Например, Modbus позволяет устройствам системы измерения температуры и влажности, подключенным к одной сети, передавать результаты на управляющий компьютер или ПЛК.
Modbus обменивается данными через несколько типов физических носителей, таких как:
– Серийный RS-232;
– Серийный RS-485;
– Серийный RS-422;
– Ethernet.
Примеры устройств Modbus включают оборудование HMI, интерфейсы и модули ввода/вывода, датчики, модемы, контроллеры устройств, ПЛК, сетевые шлюзы, сетевые хост-адаптеры, инверторы переменного/постоянного тока, удаленные терминалы, оборудование SCADA, программные драйверы устройств, устройства умного дома, маршрутизаторы. и т. д. Большинство реальных реализаций Modbus предназначены для устройств, которые передают небольшие объемы данных за раз в сценариях, где скорость не является критическим требованием, например, для мониторинга температуры.
Протоколы Modbus
Существует несколько вариантов Modbus; варианты, а не версии, поскольку они несовместимы в одном и том же сегменте сети и используются по-разному.
Modbus RTU
Modbus RTU является наиболее распространенным вариантом и используется для последовательных соединений.
Существует два типа последовательных соединений Modbus: Modbus RTU и Modbus ASCII. Для удобства Modbus RTU и Modbus ASCII обычно называются Modbus RTU и сгруппированы как варианты, в которых используются последовательные кабели.
С Modbus RTU данные передаются в двоичном виде. При использовании Modbus ASCII данные представляются в виде удобочитаемого ASCII. Двоичные сообщения короче, чем ASCII, и теоретически их быстрее передавать и получать, в то время как сообщения ASCII имеют то преимущество, что их легко контролировать администраторам.
Важным отличием для разработчиков является то, что сообщения Modbus RTU не имеют маркеров начала текста. Вместо этого принимающее устройство в транзакции прослушивает период «молчания», чтобы определить начало нового сообщения. Сообщения ASCII имеют маркеры начала текста.
Последовательные соединения, такие как Modbus RTU и Modbus ASCII, являются соединениями точка-точка (P2P). P2P обеспечивает канал связи между двумя портами, а транзакции инициируются только клиентским устройством. Не следует путать двухточечную связь с одноранговой связью, которая представляет собой соединение, которое позволяет обоим устройствам инициировать связь. Примером обычного однорангового соединения является использование USB-накопителя.
В отличие от Modbus TCP, Modbus RTU может иметь только одно клиентское устройство и до 247 серверных устройств, в зависимости от используемого стандарта физического сигнала, и для каждого устройства требуется отдельный порт.
Последовательные соединения, в которых используются последовательные кабели, настроить проще, чем соединения Ethernet, где необходимо установить сетевую карту и некоторое программное обеспечение, а также настроить IP-адреса.
Modbus TCP
Modbus TCP, иногда называемый Modbus Ethernet, представляет собой промышленный протокол Ethernet, использующий TCP/IP на транспортном уровне. Он используется для создания многоточечной сети, в которой одно клиентское устройство может обмениваться данными с несколькими серверными устройствами через физический уровень Ethernet. В Modbus TCP сообщение упаковывается в пакет TCP, который затем упаковывается в пакет IP, который использует электрическую сигнализацию Ethernet для передачи пакета. Основная функция TCP — обеспечить правильный прием пакетов данных, в то время как IP обеспечивает правильную адресацию и маршрутизацию сообщений.
Существует два типа соединений Modbus Ethernet. Варианты Modbus TCP и Modbus over TCP обычно называются Modbus TCP. Modbus TCP — это пакет Modbus TCP в оболочке TCP, а Modbus over TCP — это пакет Modbus RTU в оболочке TCP. Строго говоря, последний можно было бы назвать Modbus RTU over TCP, но он сгруппирован с Modbus TCP, поскольку использует Ethernet.
Соединение Ethernet быстрее, чем последовательное соединение, хотя скорость обычно не является критическим требованием для функционирования многих устройств Modbus, например, для передачи данных о температуре. Он также более надежен и позволяет передавать данные на большие расстояния.
В отличие от Modbus RTU, Modbus TCP позволяет нескольким устройствам использовать один сетевой порт, а сообщения включают 7-байтовый заголовок, который называется заголовком прикладного протокола Modbus (MBAP). Заголовок MBAP идентифицирует используемый блок данных приложения Modbus (ADU), который сам используется для идентификации используемого транспортного протокола. Modbus TCP позволяет одновременно подключать тысячи серверных устройств и поддерживает несколько клиентских устройств в сети.
Существуют и другие варианты исходного протокола Modbus, которые были разработаны для конкретных случаев использования. Pemex Modbus и Enron Modbus были разработаны для поддержки исторических и событийных данных о потоках в газовой и нефтяной промышленности. Enron Modbus изначально поддерживает 32-битные целые числа и переменные с плавающей запятой.
Безопасный Modbus
Протокол Modbus Security был опубликован в 2018 году для реализации некоторых функций безопасности без внесения каких-либо изменений в исходную спецификацию.
Безопасный Modbus использует безопасность транспортного уровня (TLS). Он обеспечивает авторизацию на основе сертификатов, в которой используется информация о ролях, передаваемая через расширения сертификатов. Авторизация зависит от продукта и вызывается обработчиком функционального кода Modbus. Он также обеспечивает аутентификацию на основе сертификатов.
Modbus Plus
Modbus Plus, высокоскоростной сетевой протокол с передачей токенов, является собственностью Schneider Electric и не является вариантом Modbus. В Modbus Plus основная структура сообщений является одноранговой, но Modbus Plus также может работать в одноранговых и многоточечных сетях. Modbus Plus требует специального сопроцессора и использует витую пару со скоростью 1 Мбит/с. Это запускается переходом, а не напряжением, как варианты Modbus.
Протоколы Modbus и Интернет вещей
Протоколы Modbus могут быть старше, чем большинство людей, читающих эту статью, но их простота и эффективность во многих секторах промышленности все еще меняется вместе с новыми достижениями и инновациями, такими как Интернет вещей. Программируемые логические контроллеры (ПЛК), промышленные системы управления (ICS), распределенные системы управления (DCS) и/или преобразователи частоты (VFD) часто встречаются на заводах по всему миру. По сути, Modbus, к настоящему времени настолько широко распространенный и внедренный в миллионы устройств, а не только в заводских цехах, но в миллионах продуктов от абсолютных энкодеров до термометров с нулевой точкой — уже делает то, что интернет вещей (IoT) и IIoT (промышленный интернет вещей) делают только сейчас. Разница между ними заключается в том, что IoT быстрее, эффективнее и точнее передает информацию, что приводит к большей производительности, большей рентабельности и большей прибыли.
Но это не означает, что Modbus отправится на свалку, когда IoT вступит во владение — во всяком случае, ненадолго. От его широкого внедрения во многих отраслях промышленности по всему миру нельзя так быстро или так легко отказаться.
В IoT и IIoT устройство IoT с поддержкой Modbus может быть подключено к устройству Modbus через шлюз IoT, который управляет другими устройствами Modbus. Это соединение обеспечивает безопасные одноранговые соединения через Интернет.
Modbus RTU идеален для локальной связи в удаленных районах, где нет интернета; где устройства имеют статические адреса и не переключают сети; и где необходимо подтверждение того, что окончание запроса сообщения или ответа является необходимым.
INTELVISION - системный интегратор и ИТ компания, специализирующаяся на SMART инженерных решениях.
Работаем на рынке цифровой трансформации с 2006 года.
#modbus #iot #iiot #m2m #tcp #scada #rs232 #Ethernet #intelvision