Modbus — это протокол последовательной связи, используемый для подключения оборудования промышленной автоматизации. Он был первоначально разработан компанией Modicon и появился в 1979 году. В настоящее время он стал одним из универсальных стандартов связи и широко используется в сценариях промышленной автоматизации.
Modbus использует режим «главный-подчиненный» и поддерживает несколько методов передачи, включая последовательный (RS-232/485) и Ethernet-версии (TCP/IP). Он в основном используется для мониторинга и управления оборудованием автоматизации, таким как датчики, двигатели и ПЛК. Он может осуществлять обмен данными и отправку команд управления между устройствами, чтобы различные устройства могли координировать свои действия друг с другом.
В протоколе Modbus определены четыре типа областей хранения: катушки, дискретные входы, входные регистры и регистры хранения. Различные типы областей хранения соответствуют различным операциям чтения и записи.
имя сегмента | тип данных | тип доступа | PLC адрес | Зарегистрировать адрес |
---|---|---|---|---|
Катушка | Кусочек | Читай и пиши | 000001-065536 | 0-65535 |
дискретный вход | Кусочек | только чтение | 100001-165536 | 0-65535 |
входной регистр | Характер | только чтение | 300001-365536 | 0-65535 |
регистр временного хранения | Характер | Читай и пиши | 400001-465536 | 0-65535 |
Четыре складских помещения имеют собственный диапазон адресов Читай и код операции пиши, Читай в соответствии со сценарием применения выберите соответствующую область хранения и операция пиши.
Если взять в качестве примера Modbus TCP, его структура сообщения — MBAP (заголовок сообщения) + PDU (структура кадра).
Заголовок сообщения | рамная конструкция | ||||
---|---|---|---|---|---|
идентификатор вещи | идентификатор протокола | длина | идентификатор объекта | Код функции | данные |
Modbus Протокол определяет различные функция реализует доступ к зоне хранения и пиши, распространены следующие Коды функции。
Код функции | Функция | Кусочек/Характердействовать | Количество операций |
---|---|---|---|
01 | Чтение состояния катушки | Кусочекдействовать | один или несколько |
02 | Чтение статуса дискретного входа | Кусочекдействовать | один или несколько |
03 | Чтение реестра временного хранения | Характердействовать | один или несколько |
04 | Чтение входного регистра | Характердействовать | один или несколько |
05 | Напишите одну катушку | Кусочекдействовать | одинокий |
06 | Запись в единый регистр временного хранения | Характердействовать | одинокий |
15 | Запись нескольких катушек | Кусочекдействовать | Несколько |
16 | Запись нескольких регистров временного хранения | Характердействовать | Несколько |
Предположим, что адрес подчиненной машины 01H, прочитать регистр временного храненияначинатьадресдля 006BH, читать 2 зарегистрируйтесь, инструкция такая:
С адреса машины | Код функции | начинатьадресвысокий Кусочек | начинатьадрес Низкий Кусочек | Количество регистров большое Кусочек | Количество регистров низкое Кусочек |
---|---|---|---|---|---|
01 | 03 | 00 | 6B | 00 | 02 |
Длина каждого регистра временного хранения равна 2 индивидуальный Характер Фестиваль。Низкийадрес Регистр переносится первым,Высокий адрес зарегистрируйтесь после переноса. Данные каждого регистра данных старшего раздела характера передаются первыми.,Передача после низкого раздела данных Характера. Ответ следующий:
С адреса машины | Код функции | Характер Фестиваль数 | 006BH Фестиваль Высокого Характера | 006BH низкий раздел Характер | 006CH Фестиваль высокого характера | 006CH Фестиваль низкого характера |
---|---|---|---|---|---|---|
01 | 03 | 04 | 00 | 00 | 00 | 00 |
С появлением Индустрии 4.0 растет спрос на интеллект, автоматизацию и данные в производстве. В этом контексте протокол Modbus также сталкивается с некоторыми проблемами.
Прежде всего, протокол Modbus имеет серьезные проблемы с безопасностью. Поскольку его метод связи относительно прост, он уязвим для таких проблем безопасности, как хакерские атаки и подделка данных.
Во-вторых, с точки зрения производительности в реальном времени и использования полосы пропускания протокол Modbus недостаточно хорош по сравнению с современными стандартами промышленной связи. Традиционные методы последовательной связи больше не могут соответствовать требованиям, особенно в случае крупномасштабных сетей устройств.
Кроме того, протокол Modbus по-прежнему имеет определенные ограничения в приложениях многоуровневой архитектуры и облачных платформ. Он может обмениваться данными только в режиме «точка-точка» и плохо поддерживает распределенные системы и платформы облачных вычислений.
MQTT имеет очевидные преимущества перед Modbus. Протокол MQTT — это упрощенный протокол передачи сообщений, основанный на модели публикации/подписки. Он основан на протоколе TCP/IP и был выпущен IBM в 1999 году. 29 октября 2014 года MQTT стал официально одобренным стандартом связи OASIS. Он широко используется в Интернете вещей, мобильном Интернете, интеллектуальном оборудовании, Интернете транспортных средств, умных городах, телемедицине, электроэнергетике, нефти и энергетике и других областях.
MQTT в основном имеет следующие преимущества:
Поэтому в сфере Интернета вещей MQTT больше подходит для обмена сообщениями в распределенных системах. Мост Modbus и MQTT можно комбинировать, дополняя друг друга и завершая модернизацию.
Источник данных Modbus отправляет данные MQTT Broker, который получает и пересылает их. Для реализации этого процесса необходимы два компонента: один из них — периферийное устройство преобразует протокол Modbus в MQTT и отправляет его брокеру MQTT, другой — брокер MQTT, который обрабатывает сообщения MQTT;
Neuron EMQ может конвертировать протокол Modbus в MQTT; EMQX может служить брокером MQTT для обработки массовых соединений.
Neuron — это современный промышленный сервер подключений IoT, который может подключаться к различным промышленным устройствам с использованием стандартных протоколов или протоколов, специфичных для устройства, реализуя взаимосвязь между промышленной платформой IoT и различными устройствами. Являясь легким программным обеспечением для шлюза промышленных протоколов, Neuron может работать на различных периферийных устройствах IoT с ограниченными ресурсами. Оно призвано решить проблему сложного унифицированного доступа к данным оборудования автоматизации, ориентированного на обработку данных, и обеспечить основу для интеллектуальной поддержки производства.
EMQX — это масштабируемый облачный распределенный сервер обмена сообщениями IoT MQTT. Являясь самым масштабируемым сервером сообщений MQTT в мире, EMQX обеспечивает эффективное и надежное соединение с массивными устройствами Интернета вещей. Он может перемещать и обрабатывать данные потока сообщений и событий в режиме реального времени с высокой производительностью, помогая пользователям быстро создавать критически важные для бизнеса платформы и приложения Интернета вещей.
Ниже показана архитектура Neuron, собирающая данные с периферии и преобразующая их в MQTT для загрузки в MQTT-брокер.
В этой главе рассказывается, как использовать Neuron для сбора данных с устройств Modbus, загрузки собранных данных в MQTT Broker (EMQX) и просмотра их с помощью MQTTX.
EMQX Предоставляет несколько методов установки, пользователи могут Установить Подробный метод «Установить» см. в разделе . В этом примере используется стандартизированный метод развертывания, чтобы можно было как можно быстрее приступить к его использованию. EMQX。
Выполните следующую команду, чтобы получить образ Docker:
docker pull emqx/emqx:5.1.0
Выполните следующую команду, чтобы запустить контейнер Docker
docker run -d --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.1.0
Доступ через браузер http://localhost:18083/ (localhost можно заменить на ваш реальный IP адрес)к访问 EMQX Dashboard Консоль управления для мониторинга и управления подключениями устройств и соответствующими индикаторами. Это руководство сохраняет docker Просто начните это.
Первоначальное имя пользователя: admin
,Начальный пароль:public
Установить PeakHMI Slave Simulators программное обеспечение,Установить Бао Кэсуществовать PeakHMI Официальный сайт Загрузите в.
Установитьназад,бегать Modbus TCP slave БЫВШИЙ. Должен гарантировать Neuron Запускайте в той же локальной сети, что и эмулятор.
Нажмите Windows->Register data Просмотр данных.
Выберите сайт номер 1.
выбирать Holding Registers。До сих пор,успехзапускатьэмулятор,Держатьэмулятор Открыть,Далее идет Нейрон.
Neuron Предоставляет несколько методов установки, пользователи могут Установить Подробный метод «Установить» см. в разделе . В этом примере используется стандартизированный метод развертывания, чтобы можно было как можно быстрее приступить к его использованию. Neuron。
Получите образ Docker:
$ docker pull emqx/neuron:latest
Запустите Docker-контейнер:
$ docker run -d --name neuron -p 7000:7000 --privileged=true --restart=always emqx/neuron:latest
Открыть Web Браузер, введите «Выполнить» Neuron Слоган адресаконец шлюза можно использовать для входа на страницу консоли управления. По умолчанию слоган «окончание». 7000。Доступ через браузер http://localhost:7000/
(localhost можно заменить на ваш реальный IP адрес)
Страница Открыть пост,Войдите в интерфейс входа,Пользователи могут войти в систему, используя исходное имя пользователя и пароль (Первоначальное имя пользователь:admin, начальный пароль: 0000).
существовать Конфигурация 菜单серединавыбирать Южное оборудование,Перейти в Южное оборудованиеинтерфейс,Нажмите Добавить устройство Добавьте новое устройство.
После добавления Южного оборудования вы автоматически войдете в интерфейс Конфигурации устройства, заполните параметры и отправите заявку.
Нажмите Любое пустое место на карте узла устройства.,Войдите в интерфейс управления списком групп.,Нажмите создавать ,неожиданно возникнуть создавать Группа диалоговое окно. Заполните параметры и отправьте:
Нажмите набор карточек в любом пустом месте,Войдите в интерфейс управления списком Кусочек,Нажмите создавать , войдите на страницу добавления точки Кусочек.
Заполните параметры Кусочек и отправьте:
выбиратьмонитор→данныемонитор,Входитьданныемониторинтерфейс,Посмотрите значение, прочитанное создателем Кусочек, как показано на рисунке ниже.
Обратите внимание: убедитесь, что симулятор Modbus запущен.
Группа данныхмониторк отображает числовые значения для одного Кусочка:
создавать Приложение на север, Neuron Установите соединение с северным приложением и загрузите собранные данные устройства в MQTT Broker(EMQX)。
существоватьКонфигурация菜单серединавыбиратьПриложение на север,Нажмите Добавить приложение , как показано на рисунке ниже.
Добавьте модуль подключения к облаку MQTT:
После добавления Приложения на север вы автоматически войдете в интерфейс Конфигурации приложения, заполните параметры и отправите заявку.
Настройте соединение MQTT:
Нажмите Толькосоздаватьиз MQTT Заполните любое пустое место на карточке узла и войдите в интерфейс группы подписки, нажмите Добавить подписку 。
Подпишитесь на группу данных южного устройства:
После завершения подписки, помимо собственного интерфейса мониторинга данных Neuron, пользователи могут использовать клиент MQTT — MQTTX для подключения к EMQX для просмотра отчетных данных.
запускать MQTTX назадсуществовать Главная страница Нажмите + New Connection,После заполнения параметров Конфигурации,Нажмите на соединение в правом верхнем углу.
emqx@localhost
,(localhost можно заменить на ваш реальный IP адрес);Остальные параметры не являются обязательными,Заканчиватьназад Нажмите на соединение в правом верхнем углу.успехсоединятьназад订阅主题。
/neuron/MQTT/group-1
。После успешной подписки вы увидите, что MQTTX продолжает получать данные, собранные и отправленные Neuron. Как показано ниже.
С расширением масштабов цифровизации нефтедобычи,Также увеличилось количество средств автоматизации.,Это приводит к сложности управления сбором данных.
Программное обеспечение шлюза промышленного протокола со стороны устройства через периферийное ПО Neuron Путем стыковки различных типов промышленного оборудования оборудование в нефтедобывающей среде может быть DTU、RTU и различные типы данных ПЛК для объединения коллекции. В то же время процесс отчетности о существовании оборудования реализует принцип сбора данных.、коллекциячастота、Частота отчетности、上报格式из统一规划,Удобен для бизнес-систем верхнего уровня.хранилищеиданные Потребление。
Комплексное решение, объединяющее Neuron с другими продуктами EMQ, такими как EMQX, eKuiper, EMQX-ECP и т. д., может принести нефтяной промышленности следующие преимущества:
统一изуниверсальный магазин Промышленный Интернет вещейвеб-платформы данныхсуществоватьпромышленность 4.0 контекст становится решающим.
Neuron могу поддержать Modbus、OPC-UA、IEC61850、IEC104 и другие полные промышленные протоколы для достижения эффективного доступа к различным типам данных разнородного промышленного оборудования. Легкий механизм обработки краевого потока eKuiper существующий край конец выполняет сбор, фильтрацию, завершение, расчет временного окна и т. д. для края. AI Службы вывода предоставляют высококачественные источники данных.
проходитьсуществоватьоблакоконецдостичь в режиме реального времениданныесоединять、двигаться、хранилище、иметь дело сианализировать,Это закладывает прочную основу для крупномасштабного анализа и приложений искусственного интеллекта.,Предоставьте предприятиям возможность быстро разрабатывать приложения верхнего уровня.
использовать Modbus Протокол обеспечивает связь и обмен данными между устройствами, а также MQTT Он обеспечивает эффективный, гибкий и безопасный механизм передачи сообщений. добавив Modbus RTU или TCP Преобразовать в MQTT информация,Легко отправьте свое устройство в облако конец,И существует дистанционный монитор монитора, когда это необходимо. Такой подход может помочь промышленным компаниям лучше управлять своим оборудованием и производственными процессами.,И повысить эффективность и качество производства.
Заявление об авторских правах: эта статья принадлежит EMQ. При перепечатке указывайте источник.
Исходная ссылка:https://www.emqx.com/zh/blog/bridging-modbus-data-to-mqtt-for-iiot