Детерминированный разбор
PLCopen XML → канонический пакет schema 3.0 с SHA-256, диагностикой и проверкой ссылочной целостности. Повторный разбор даёт идентичный пакет.
Инженерный copilot для АСУ ТП · проект asutpv1_bigllm
MENSOR AI превращает экспорт PLCopen XML из Astra.IDE и CODESYS-совместимых сред в проверяемую модель проекта: канонический пакет schema 3.0, карту вызовов и обращений к переменным, читаемый псевдо-ST и поиск по коду вместе с эксплуатационной документацией.
Ответ формируется только по найденным фрагментам и приходит со ссылками на источники. Один и тот же XML разбирается побайтово одинаково — результат можно сравнить между сборками и передать заказчику.
PLCopen XMLFBD/LD → псевдо-STГраф вызовов и обращений PDF · DOCX · XLSX · схемы Э3OPC UA телеметрияИзолированный контур
Открыть демо-стенд Стенд-имитатор процесса Запросить доступ
Демонстрационные стенды отдают интерфейс после входа (Authelia) — доступ выдаётся по запросу.
PLCopen XML → канонический пакет schema 3.0 с SHA-256, диагностикой и проверкой ссылочной целостности. Повторный разбор даёт идентичный пакет.
Тела FBD и LD рендерятся в ST-подобный псевдо-ST: цепочки блокировок и блоки можно читать глазами, а не по схеме на экране.
Связи call, read, write между POU
и переменными: кто вызывает модуль, где тег читается и где записывается.
Один запрос — по PLC-проекту и по документации: PDF, DOCX, XLSX, CSV, TXT/MD, изображения с OCR.
Детерминированный каталог аппаратов и связей из EPLAN-навигатора; каждая цитата несёт номер листа печатной схемы.
Ответ собирается из найденных фрагментов и несёт ссылки на них — проверить утверждение можно, не веря модели на слово.
Read-only сбор сигналов, архив записей в SQLite, сопоставление живых значений с графом проекта. Записи в контроллер нет по построению.
Проект понижается в исполнимую IR-модель и прогоняется на виртуальном времени: покрытие считается по цели, а не заявляется.
PLCopen XML ──► каноническая модель ──┬──► псевдо-ST
├──► граф проекта
Документация ─────────────────────────┴──► поисковый индекс ──► ответ + источники
│
локальный API / UI
| Компонент | Роль | Артефакт |
|---|---|---|
plcopen_parser | PLCopen XML → каноническая модель | canonical-model/, schema 3.0 |
pseudo_st | FBD/LD → ST-подобный текст | артефакт псевдо-ST |
project_graph | Индекс вызовов и обращений | project_graph.json |
search_index | Индексация кода и документации | локальный индекс Qdrant |
schematic_index | Каталог печатной схемы Э3 и поиск по нему | data/schematic/ |
plc_answer | Поиск → ответ с цитатами | ответ и список источников |
telemetry_ingestion | Read-only сбор OPC UA телеметрии | WAL и нормализованные значения |
plc_ir + plc_runtime | Исполнимая модель и её прогон на виртуальном времени | IR по телам программы |
api + ui | HTTP API и web-консоль оператора | локальный интерфейс |
orchestration | Версионированная сборка и активация | data/out/builds/<id>/ |
XML, документация, эмбеддинги и модели не выходят за пределы контура заказчика: локальный API слушает только loopback, CORS и аутентификации в приложении нет — вход в контур закрывает reverse-proxy, а не станция. Инференс идёт на локальные модели, внешний OpenAI-совместимый API — осознанный выбор эксплуатанта (ADR 0005), а не режим по умолчанию.
Product-архив — самодостаточная поставка без Docker и root: интерпретатор Python, OCR и модели внутри, установка одной командой.
Docker-бандл — офлайн-установка со стеком Docker Engine + Compose v2, порты сервисов доступны только на loopback.
Стенд-имитатор может быть развёрнут рядом: сценарии аварий проигрываются по OPC UA, станция их наблюдает.
Станция MENSOR AI: web-консоль, поиск с цитатами, схема Э3, живая телеметрия, сравнение статусов сборки.
Открыть стенд →Стенд-имитатор процесса: публикует сигналы подъёмной машины по OPC UA
(opc.tcp://…:4840) и проигрывает сценарии аварий.
Оба стенда закрыты входом Authelia поверх Caddy: неаутентифицированный
запрос перенаправляется на страницу входа auth.asutpai.ru.
Демонстрация на вашем проекте, пилот на одном узле вашей документации, вопросы по архитектуре и поставке в изолированный контур.