Введение
Промышленные контроллеры (PLC) — основа современного производства. Но их интеграция с AI-системами часто требует написания сложного кода, настройки шлюзов и долгих согласований. ASI Biont решает эту проблему: AI-агент подключается к любому PLC по Modbus TCP через обычный чат. Вы просто описываете, что нужно сделать, а AI сам пишет код, подключается и начинает сбор данных или управление оборудованием.
Modbus TCP: стандарт промышленной автоматизации
Modbus TCP — открытый протокол на основе TCP/IP, поддерживаемый большинством современных PLC (Siemens, Allen-Bradley, Schneider Electric, Omron и др.). Он позволяет читать и записывать регистры, катушки и дискретные входы. ASI Biont использует библиотеку pymodbus (встроена в sandbox) для работы с этим протоколом.
| Параметр | Описание |
|---|---|
| Транспорт | TCP (порт 502 по умолчанию) |
| Типы данных | Holding Registers (16 бит), Coils (биты), Input Registers, Discrete Inputs |
| Скорость | Мгновенные запросы, до нескольких тысяч операций в секунду |
Как ASI Biont подключается к PLC
AI-агент использует industrial_command tool с протоколом modbus_tcp. Команды отправляются из чата, AI автоматически генерирует вызовы с нужными параметрами:
- read_registers — чтение holding registers
- write_register — запись в один регистр
- read_coils — чтение катушек
- write_coil — запись катушки
- read_input_registers — чтение входных регистров
Всё, что нужно от пользователя — IP-адрес PLC и адреса регистров. AI сам устанавливает соединение и выполняет команды.
Сценарий: мониторинг температуры и управление реле
Рассмотрим реальный кейс: на производстве PLC Siemens S7-1200 подключён к датчику температуры (регистр 100) и реле охлаждения (катушка 0). Задача:
1. Ежесекундно читать температуру
2. Если превышает 80°C — включить реле (катушку 0 в 1)
3. Отправлять уведомление в Telegram
Пошаговый пример в чате
Пользователь пишет AI:
«Подключись к PLC по Modbus TCP: IP 192.168.1.100, порт 502. Читай holding register 100 (температура) каждую секунду. Если значение больше 800 (сдвиг на 0.1 градуса), включи катушку 0. При превышении отправь мне в Telegram сообщение. Мой Telegram chat_id: 123456789, токен бота: bot123:abc».
AI генерирует и выполняет команды. Пример того, как это выглядит внутри (пользователь этого не видит):
industrial_command(
protocol='modbus_tcp',
command='read_registers',
params={
'host': '192.168.1.100',
'port': 502,
'address': 100,
'count': 1
}
)
При возврате значения AI проверяет условие и, если нужно, вызывает:
industrial_command(
protocol='modbus_tcp',
command='write_coil',
params={
'host': '192.168.1.100',
'address': 0,
'value': True
}
)
И после этого AI пишет Python-скрипт для отправки Telegram-уведомления (через execute_python), используя библиотеку requests:
import requests
chat_id = 123456789
message = 'Температура превысила 80°C! Реле охлаждения включено.'
url = f'https://api.telegram.org/bot123:abc/sendMessage'
requests.post(url, json={'chat_id': chat_id, 'text': message})
Важно: для периодического опроса AI использует schedule или asyncio внутри sandbox, но с учётом таймаута 30 секунд. Для длительного мониторинга лучше развернуть bridge.py на локальном ПК, но в данном примере всё работает в облаке.
Что можно автоматизировать
- Аварийные остановки: если давление превышает норму — отключить питание через катушку.
- Журналирование: каждые 5 минут записывать показания в базу данных PostgreSQL.
- Прогнозирование: AI анализирует историю и предупреждает о возможном отказе.
- Интеграция с MQTT: публиковать данные в брокер для других систем.
Заключение
Интеграция PLC с AI через Modbus TCP в ASI Biont — это минуты вместо дней. Вам не нужно писать код: просто опишите задачу в чате, и AI сам подключится, настроит логику и начнёт управление. Попробуйте прямо сейчас на asibiont.com — подключите свой PLC и убедитесь, как это просто.
Комментарии