Модуль p.7 · Урок 4
Урок 4: Industrial Copilot и PLC-codegen — Siemens, Rockwell, ABB, LLM4PLC
Содержание
Чему вы научитесь
- Различать industrial copilot, PLC-codegen и agentic engineering workflow
- Понимать, что именно делают Siemens Industrial Copilot, Rockwell FactoryTalk Design Studio, ABB RobotStudio AI Assistant и academic-пайплайны LLM4PLC
- Видеть безопасную архитектуру для генерации Structured Text и ladder logic в российском контуре
- Понимать, почему для PLC критичны RAG, модельная проверка и ручной review инженером
- Строить realistic roadmap: ассистент по библиотеке и шаблонам сейчас, автопилот PLC — нет
LLM в промышленной автоматизации — это не «напиши мне станок». Правильная постановка намного уже: помочь инженеру быстрее найти шаблон функции, объяснить блок, собрать черновик Structured Text, сопоставить код с корпоративным стандартом и проверить, не нарушает ли логика базовые инварианты. Всё, что выходит за эту рамку, быстро попадает в зону риска для КИИ, безопасности и просто производственного здравого смысла.
Кто уже делает industrial copilot
| Решение | Что умеет | Как использовать | Ограничение |
|---|---|---|---|
| Siemens Industrial Copilot | Генерация кода и инженерных артефактов для SIMATIC/TIA Portal, работа с natural language interface (Siemens PDF) | Как ускоритель для инженера Siemens-экосистемы: черновики блоков, объяснение кода, поиск по engineering context | В РФ недоступен как штатный enterprise-слой; для КИИ — отдельный legal barrier, см. p.3/02 |
| Rockwell FactoryTalk Design Studio + NVIDIA | Помощь в инженерном проектировании и AI-функции в design workflow (Rockwell) | Полезно там, где уже есть единый cloud-native design workflow Rockwell | Сильная зависимость от vendor stack и облачного контура |
| ABB RobotStudio AI Assistant | Помощь в программировании и настройке роботизированных ячеек (Automation.com) | Хорош для роботов и cell programming, а не для общей PLC-логики завода | Ограниченная применимость вне ABB-мира |
| Schneider + Microsoft | Copilot для открытой автоматизации и industrial workflows (Schneider Electric) | Интересен как reference по IEC 61499 и open automation | Для российского завода сейчас это скорее архитектурная идея, чем закупка |
| LLM4PLC / Agents4PLC / LLM-CodeGen-RAG | Research-grade pipeline: текст → ST → компиляция → model checking → review (LLM4PLC, Agents4PLC, LLM-CodeGen-RAG) | Лучший источник для собственной безопасной архитектуры on-prem | Это не коробочный продукт, а инженерный конструктор |
Что реально доказала академика
Самый полезный здесь источник — LLM4PLC от UC Irvine и Siemens Technology. Авторы построили пайплайн LLM → Structured Text → MATIEC → NuXmv model checker и показали, что fine-tuning через PEFT/LoRA повышал pass-rate с 47% до 72%, а экспертная оценка качества кода росла с 2,25/10 до 7,75/10 (paper; code).
Это важный результат по двум причинам.
- LLM действительно умеет ускорять создание PLC-кода.
- Без формальной проверки и компиляционного контура этот код нельзя считать безопасным.
То есть сама модель — только первая половина решения. Вторая половина — это guardrails.
flowchart LR
A[Запрос инженера] --> B[RAG по внутренней PLC-библиотеке и стандартам]
B --> C[LLM генерирует Structured Text или ladder-псевдокод]
C --> D[Компиляция и синтаксическая проверка]
D --> E[Model checking и правила безопасности]
E --> F[Симулятор и тестовый стенд]
F --> G[Ручной review инженером]
G --> H[Релиз в контролируемый контур]Что должен делать PLC-copilot на практике
| Хороший use case | Почему это безопасно | Плохой use case | Почему это опасно |
|---|---|---|---|
| Найти похожий блок ST по корпоративной библиотеке | Это ускоряет инженера, но не меняет физический процесс напрямую | Прямо генерировать и деплоить логику на production PLC | Ошибка сразу уходит в реальный объект |
| Объяснить существующий код и зависимости функций | Снижает время онбординга и расследований | Самостоятельно менять interlock или safety logic | Слишком высокий consequence of failure |
| Сгенерировать черновик ST по шаблону | Экономит рутину при обязательной проверке | Писать closed-loop control без модели процесса и review | Высокий риск некорректной динамики |
| Сопоставить код с корпоративным стандартом | Хороший quality gate | Коммитить изменения в production-проект без стенда | Нарушение change control |
Какой RAG-корпус нужен PLC-copilot
| Слой знаний | Что положить внутрь |
|---|---|
| Корпоративные PLC-библиотеки | approved function blocks, reusable templates, naming rules |
| Стандарты безопасности | interlock policy, запрещённые паттерны, требования к ручному режиму и аварийному останову |
| Документация по оборудованию | описание узлов, I/O map, связи с приводами, HMI, robot cell integration |
| История прошлых проектов | что уже работало на похожих линиях, какие ошибки встречались, как их исправляли |
| Тестовые сценарии | типовые unit-like checks, model checking rules, кейсы для симулятора |
Без такого корпуса copilot знает общий синтаксис Structured Text, но не знает ваш завод. А PLC-задачи как раз ломаются на заводской специфике: своих interlock, своих именах, своих ограничениях по пуску и аварийному режиму.
Как собирать безопасный copilot в российском контуре
Практический вариант для завода выглядит так.
- On-prem LLM:
Qwen 3,DeepSeek R1илиT-Pro 2.0в локальном контуре по схеме из p.9/02. - RAG по внутренней PLC-библиотеке, шаблонам ST, naming conventions, описаниям оборудования и правилам interlock.
- Отдельный слой rule checks: синтаксис, линтер, запреты на использование опасных паттернов, регламент review.
- Симулятор или тестовый стенд до любого реального релиза.
- Обязательный человек в цикле.
То есть лучший российский PLC-copilot в 2026 году — это не чат к публичному API, а локальный engineering assistant с жёстко ограниченным action space.
Где агентный режим уже имеет смысл
Agentic workflow полезен не тогда, когда агент «сам всё делает», а когда он автоматизирует цепочку инженерной рутины.
Примеры адекватного action space:
- открыть правильную библиотеку функций;
- найти все места, где используется конкретный tag;
- собрать черновик ST по approved template;
- прогнать unit-like checks и симулятор;
- сформировать diff и чек-лист для инженера.
Именно такая логика подробно продолжается в p.9/07, где разобраны LangGraph, CrewAI и другие агентные фреймворки.
Как запускать PLC-copilot без самообмана
Начните не с codegen, а с поиска и объяснения. Первый релиз копилота должен помогать находить функции, стандарты и прошлые проекты, а не писать новую логику.
Соберите RAG-корпус. PLC-библиотека, стандарты именования, принципы interlock, примеры типовых блоков, аварийные сценарии и требования по безопасности.
Добавьте structured output. Генерация должна возвращать ST-блок, комментарии, список допущений и чек-лист проверки, а не свободный текст.
Встройте формальные проверки. Компиляция, lint, model checking и тестовый стенд обязательны, иначе вы делаете красивую demo, а не инженерный инструмент.
Запретите прямой deploy. Даже если технически это возможно, организационно это плохая идея.