Промышленное оборудование на базе Modbus RTU (RS-485) — это основа современной автоматизации: датчики температуры, давления, уровня, исполнительные механизмы, ПЛК (программируемые логические контроллеры) и частотные преобразователи. Они есть на каждом заводе, но их мониторинг и управление часто требуют написания скриптов, настройки SCADA-систем и ручного вмешательства. AI-агент ASI Biont меняет правила игры: теперь вы можете управлять любым Modbus RTU-устройством через обычный чат, без написания кода вручную.
В этой статье мы разберём, как подключить Modbus RTU (RS-485) к ASI Biont с помощью Hardware Bridge, настроить чтение регистров датчика температуры и автоматизировать отправку аварийных уведомлений в Telegram. Вы получите готовые примеры кода, схему подключения и поймёте, почему такая интеграция экономит часы работы инженера.
Почему именно Modbus RTU и RS-485?
Modbus RTU — один из старейших и самых надёжных промышленных протоколов, работающий поверх физической шины RS-485. Он поддерживается тысячами устройств: от дешёвых датчиков до сложных контроллеров Siemens, Schneider Electric и ОВЕН. RS-485 обеспечивает передачу данных на расстояние до 1200 метров и устойчивость к помехам — идеально для заводского цеха. Подключение Modbus RTU к AI-агенту даёт возможность:
- Мониторить температуру, давление, уровень жидкости, энергопотребление в реальном времени.
- Управлять задвижками, насосами, конвейерами, реле через запись в регистры.
- Автоматизировать реакции: например, отключить насос при перегреве или отправить отчёт в Telegram при превышении лимита.
Как ASI Biont подключается к Modbus RTU (RS-485)?
ASI Biont не имеет прямого доступа к вашим COM-портам — он работает в облаке. Для связи с локальным оборудованием используется Hardware Bridge — Python-скрипт bridge.py, который вы запускаете на своём ПК (Windows, Linux или macOS). Bridge соединяется с ASI Biont через защищённый WebSocket-канал и служит шлюзом для COM-портов.
Схема подключения:
- Физическое подключение: Преобразователь USB-to-RS-485 (например, FTDI или CH340) подключается к USB-порту ПК. Клеммы A и B преобразователя соединяются с шиной RS-485 устройства. Питание датчика/контроллера — от внешнего источника 24 В (если требуется).
- Установка bridge.py: Скачайте
bridge.pyиз дашборда ASI Biont (раздел Devices → Create API Key → Скачать bridge). Установите зависимости:pip install pyserial requests websockets. - Запуск bridge: Выполните команду с указанием токена API и порта:
bash python bridge.py --token=ВАШ_ТОКЕН --ports=COM3 --baud 9600 --rate=10--token— обязательный параметр для аутентификации.--ports— имя COM-порта (на Linux —/dev/ttyUSB0).--baud— скорость обмена (9600, 115200 и т.д.).--rate— ограничение частоты запросов (не более 10 команд в секунду).
- Общение в чате: После запуска bridge вы просто пишете в чате с AI-агентом: «Подключись к Modbus RTU устройству на COM3, скорость 9600, slave ID 1. Прочитай регистр температуры 40001». AI сам сформирует команду
industrial_commandс протоколомserial://и hex-данными.
Команда industrial_command — это основной инструмент AI для работы с bridge. Она отправляет запрос на bridge, который выполняет атомарную операцию serial_write_and_read(data=hex_string): записывает данные в COM-порт и сразу читает ответ. Формат данных — hex-строка (например, "010300000001840A" для запроса Modbus RTU).
Реальный сценарий: мониторинг температуры и аварийная остановка насоса
Представьте: на заводе есть насосная станция с датчиком температуры PT100, подключённым через Modbus RTU к ПЛК ОВЕН ПЛК-150. Когда температура превышает 80 °C, насос должен автоматически отключиться, а оператору — прийти уведомление в Telegram. Раньше для этого нужно было писать скрипт на Python, настраивать SCADA, отлаживать часами. С ASI Biont это делается за 2 минуты.
Шаг 1: Описываем задачу в чате
Вы пишете AI:
«Подключись к Modbus RTU устройству на COM3 через bridge. Slave ID 1. Скорость 9600, 8 бит, 1 стоп-бит, без чётности. Регистр температуры — 40001 (0x0000), формат float (2 регистра). Если температура > 80 °C, запиши в регистр 40021 (0x0014) значение 1 (включить реле отключения насоса). Отправь уведомление в Telegram на мой ID @my_telegram_id.»
Шаг 2: AI генерирует и выполняет код
AI сам пишет Python-скрипт с использованием pymodbus и requests, который выполняется в sandbox-окружении ASI Biont. Но поскольку у sandbox нет доступа к COM-порту, AI использует industrial_command для отправки запросов через bridge.
Пример команды для чтения регистра температуры:
industrial_command(
protocol='serial://',
command='serial_write_and_read',
data='010300000001840A', # Modbus RTU: slave 1, функция 03 (read holding registers), адрес 0x0000, 1 регистр, CRC
port='COM3',
baud=9600,
slave_id=1
)
Пример команды для записи в регистр отключения насоса:
industrial_command(
protocol='serial://',
command='serial_write_and_read',
data='010600140001D9C2', # Modbus RTU: slave 1, функция 06 (write single register), адрес 0x0014, значение 0x0001, CRC
port='COM3',
baud=9600,
slave_id=1
)
Пример Python-кода для отправки уведомления в Telegram (выполняется в sandbox):
import requests
def send_telegram_alert(message):
token = "YOUR_BOT_TOKEN"
chat_id = "@my_telegram_id"
url = f"https://api.telegram.org/bot{token}/sendMessage"
data = {"chat_id": chat_id, "text": message}
requests.post(url, data=data)
send_telegram_alert("Авария: температура насоса превысила 80 °C! Насос отключён.")
Шаг 3: AI выполняет сценарий циклически
AI не просто выполняет команду один раз — он может организовать периодический мониторинг, используя industrial_command в цикле с задержкой. Например, раз в 10 секунд читать регистр температуры, проверять условие и при необходимости записывать команду отключения.
Важно: в sandbox нельзя использовать while True с таймаутом более 30 секунд. Для долгоживущих задач AI использует industrial_command с параметром repeat или внешние сервисы (например, cron на Raspberry Pi через SSH).
Результат
- Температура насоса читается каждые 10 секунд.
- Если значение превышает 80 °C, AI записывает в регистр 40021 значение 1 — реле отключает насос.
- Оператор мгновенно получает Telegram-уведомление с деталями аварии.
- Всё это работает без единой строки кода, написанной вручную — AI сгенерировал и выполнил интеграцию за секунды.
Другие сценарии интеграции Modbus RTU с ASI Biont
| Сценарий | Устройство | Команда AI | Результат |
|---|---|---|---|
| Мониторинг температуры в серверной | Датчик DS18B20 через Modbus RTU | «Читай регистр 40001 каждые 30 секунд, строй график» | AI собирает данные в Excel, отправляет отчёт раз в час |
| Управление задвижкой | ПЛК ОВЕН ПЛК-150 | «Закрой задвижку, если давление > 10 бар» | AI записывает 0 в регистр управления при превышении давления |
| Автоматизация освещения цеха | Релейный блок Modbus | «Включи свет с 8:00 до 18:00» | AI каждое утро пишет 1 в регистр, вечером — 0 |
| Сбор данных с энергомониторинга | Счётчик Меркурий 230 | «Логируй напряжение каждые 5 минут, найди аномалии» | AI анализирует тренды и предупреждает о скачках напряжения |
Как подключить любое устройство без bridge?
Если у вас нет возможности запустить bridge на ПК (например, устройство доступно по сети), ASI Biont подключается напрямую через execute_python — AI пишет Python-скрипт, который выполняется в облачном sandbox и использует библиотеки pymodbus (Modbus TCP), paramiko (SSH), paho-mqtt (MQTT), aiohttp (HTTP API) или opcua-asyncio (OPC UA). Например, для Modbus TCP:
from pymodbus.client import ModbusTcpClient
client = ModbusTcpClient('192.168.1.100', port=502)
client.connect()
# Чтение регистра 40001
result = client.read_holding_registers(0, 1, unit=1)
print(f"Температура: {result.registers[0]}")
client.close()
Вы просто описываете в чате IP-адрес и порт, AI вставляет их в код и выполняет. Никаких панелей управления — только диалог.
Почему это выгодно?
- Скорость: интеграция, которая раньше занимала час, теперь занимает 2 минуты.
- Без навыков программирования: AI пишет код за вас. Вы только описываете задачу.
- Гибкость: Modbus RTU — не единственный протокол. ASI Biont поддерживает Modbus TCP, Siemens S7, BACnet, EtherNet/IP, MQTT, OPC UA, CAN bus, CoAP, gRPC и любые HTTP API. Одно устройство — один чат.
- Масштабируемость: можно подключить сотни датчиков и контроллеров, управлять ими через единый интерфейс.
Заключение
Modbus RTU (RS-485) — это надёжная основа промышленной автоматизации, а ASI Biont превращает его в интеллектуальную систему, управляемую через чат. Вы экономите время, снижаете риск ошибок и получаете возможность автоматизировать задачи, которые раньше требовали дорогих SCADA-систем. Начните с малого: подключите один датчик температуры, настройте оповещение — и вы увидите, как AI-агент упрощает вашу работу.
Готовы попробовать? Зайдите на asibiont.com, скачайте bridge.py из дашборда и напишите в чат: «Подключи мой Modbus RTU датчик». AI сделает всё остальное.
Комментарии