HTTP <AntexGate> Modbus конвертор Linux

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

В мире промышленной автоматизации интерфейсы HMI устарели, выглядят пугающе и бытует мнение, что чем дороже программно-аппаратный комплекс, тем лучше он будет работать. Молодёжь, которая умеет рисовать красивые WEB-морды в этот бизнес не суется, всех пугает так называемые Machine to machine протоколы и интерфейсы, индустрия обросла опытными мужиками, которые понимают как выглядит два байта данных в одном регистре Modbus.

Итак статья для тех, кто столкнулся с задачей преобразовать Modbus RTU TCP в протокол HTTP, который уже можно вытянуть на любую красочную web морду либо другой сервис.

Представим что вы пришли на производство, в котором уже стоят промышленные приборы - датчики температуры, станки, принимающие\передающие данные по протоколу Modbus RTU TCP, а Вам нужно закинуть некоторые данные в систему мониторинга. Действительно подавляющее большинство систем мониторинга не смогут опросить устройства по Modbus без специального программно-аппаратного шлюза.

Предлагаем бесплатное программное обеспечение Node-Red и контроллер AntexGate и получаем мощный программно-аппаратный комплекс для преобразования различных протоколов. В предыдущей статье мы уже рассмотрели конвертацию ModbusTCP2ModbusRTU.

Первое, что необходимо – это установить программный продукт Node-Red, это делается одним скриптом:

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

Сделать Node-Red после установки сервисом:

sudo systemctl enable nodered.service

Перезагружаем железяку:

sudo reboot

Теперь попадаем в среду нашего программного конвертора Node-Red через web браузер по ссылке ip шлюза:1880

В настройках справа устанавливаем плагин node-red-contrib-modbus.

Установка node-red-contrib-modbus
Установка node-red-contrib-modbus
Установка node-red-contrib-modbus
Установка node-red-contrib-modbus

После того, как плагин установлен приступаем к настройке, делается это так же просто из web интерфейса. Нажимаем кнопку меню, импорт, примеры, Modbus-HTTP, импорт.

Импортируем пример Modbus-HTTP
Импортируем пример Modbus-HTTP
Импортируем пример Modbus-HTTP
Импортируем пример Modbus-HTTP

Итак, настройка почти закончилась, нам остается настроить наши модули опроса и записи на нужные параметры Modbus соединения.

Настройка Modbus RTU
Настройка Modbus RTU
Настройка Modbus RTU узел чтения 4 регистров, начина с 512
Настройка Modbus RTU узел чтения 4 регистров, начина с 512

Итак мы настраиваем все 4 узла. В моем случае это опрос Modbus RTU устройства с параметрами аппаратного порта /dev/ttyRS485-1 115200 - 8 - 1 - N. Еще 2 узла отвечают за автоматическое чтение из предустановленных регистров, поэтому я сразу настроил чтение массива 4х регистров начиная с 512, функцией Holding Register. Кстати не забудьте собственно подключить конечное устройство к RS485 шине.

Теперь в блоке комментариев вы можете встретить API HTTP для взаимодействия, ниже с ними познакомимся.

## Read

### Flex Read

http://ip:1880/modbus/flex/read?value=0&unitid=1&fc=3&address=0&quantity=1

http://ip:1880/modbus/flex/read?value=0&unitid=1&fc=4&address=0&quantity=1

http://ip:1880/modbus/flex/read?value=0&unitid=1&fc=3&address=0&quantity=5

http://ip:1880/modbus/flex/read?value=0&unitid=1&fc=4&address=0&quantity=5

### Read

http://ip:1880/modbus/read

## Write

### Test HTTP without Modbus

http://ip:1880/modbus/flex/write/test?value=[1,2,3,4,5]&unitid=1&fc=16&address=0&quantity=5


### Flex Write

http://ip:1880/modbus/flex/write?value=10&unitid=1&fc=6&address=0&quantity=1

http://ip:1880/modbus/flex/write?value=[1,2,3,4,5]&unitid=1&fc=16&address=0&quantity=5

### Write

http://ip:1880/modbus/write

Мне были интересны пару запросов, которые прекрасно сработали.

Сначала тестируем функцию записи - пишем значение 123 в Modbus RTU устройство с адресом 16 функцией 6 в регистр 512 ну и длина записи 1 значение. Можно писать и сразу массивы например [1,2,3,4,5] тогда и длина записи соответственно 5.

HTTP запрос записи
HTTP запрос записи

Теперь проверим, записалось ли наше значение в нужное адресное пространство и прочитаем состояние 5-ти регистров начиная с 512 функцией 3.

HTTP запрос чтения
HTTP запрос чтения

Как видим значение записалось. Теперь мы можем внедрить наши данные в любое web приложение.

Контроллер AntexGate в связке с Node-Red или другим софтом вляется отличным универсальным решением для обработки, пересылки и хранения данных. Прошу прощения за рекламу, однако выше представленный проект Вы можете реализовать на любом железе и любой ОС.

Присоединяйтесь к нашему сообществу в Telegram там инструкция к контроллеру.

Железо можно получить на тесты, пишите на почту: info@antexcloud.ru (на три месяца для ЮР лиц и ИП)

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Как вы работаете с Modbus RTU TCP на верхнем уровне?
0% Через OPC сервер0
0% СКАДА напрямую поддерживает0
0% Через конвертор протоколов0
0% С помощью Node-Red0
0% С помощью другого Open Source софта0
0% Панель HMI поддерживает0
0% С этим протоколом только динозавры работают0
Никто еще не голосовал. Воздержавшихся нет.
Источник: https://habr.com/ru/articles/825946/


Интересные статьи

Интересные статьи

Текстовая версия видео по протоколу HTTP из обновленного курса по компьютерным сетям для начинающих.Рассматриваем основы работы HTTP, применяем HTTP на практике в терминале, используем Wireshark для а...
Возможно, вы ловили себя на мысли, что было бы неплохо провести для коллег-новичков в Linux небольшой курс с практическими задачками. Такой курс, чтобы после его прохождения, они могли использовать ОС...
Наверное каждый разработчик и QA-инженер, в рабочем процессе сталкивался с необходимостью подмены отправляемых/принимаемых данных. Когда эта задача касается данных, гуляющих между клиентом и сервером,...
В этой статье я опишу один из подходов для создания json api сервиса с валидацией данных. Сервис будет реализован на aiohttp. Это современный, постоянно развивающийся фреймворк на языке ...
Давно уже на Хабре не было новостей про неттопы от SolidRun, которые выпускаются под брендом CuBox. На этот раз компания выпустила нового малютку, который получил название CuBox-M. Он о...