Семантическая карта PLC-сигналов и узлов станка
Технологический стек
- Python
- PLC
- Mitsubishi
- ClickHouse
- YAML
- HMI
- Electrical Schematics
- RAGFlow
Задача
Станок отдавал тысячи активных PLC- и регистровых сигналов, но у большинства не было понятных названий и прямой связи с физическими узлами. Исходная логика PLC была недоступна, поэтому семантику нужно было выводить из подтверждений, а не догадок.
Что я сделал
- Объединил каталоги коллектора, YAML-реестры, HMI-ссылки и электрические схемы в рабочий инвентарь сигналов.
- Связал регистры-кандидаты с историей ClickHouse и проверил наличие стабильных и осмысленных временных рядов.
- Провёл read-only smoke-тесты и полевую валидацию спорных связей, после чего зафиксировал подтверждённые соответствия в semantic registry.
Подход
Для каждого узла я сокращал широкий список адресов до набора опорных сигналов, сопоставлял переходы с реальными операциями и документировал уверенность и нерешённые вопросы. Техническая документация также индексировалась в RAGFlow для поиска.
Масштаб
Сводный каталог коллектора содержал около 7 271 активного сигнала из нескольких функциональных групп и узлов станка.
Результат
- Низкоуровневые адреса превращены в поддерживаемую карту компонентов и процессов.
- Создана семантическая основа для мониторинга, отбора признаков и следующих ML-исследований без заявлений о доступе к исходному коду PLC.