Введение
В работе инженера по автоматизации нередко возникают задачи, выходящие за рамки типового промышленного программирования, и тех, которые были описаны в первой статье. Одной из таких является поиск и устранение неисправностей в сложных мехатронных системах, где не всегда очевидно, какой механизм или устройство работает некорректно.
Иногда причина проблемы кроется в некорректной логике ПЛК, написанной кем-то много лет назад, и проявившейся только сейчас. Сложность возрастает, если объект находится в постоянной эксплуатации, и проведение полноценной диагностики ограничено по времени или условиями.
Предыстория
К нам в компанию обратился клиент — представитель службы эксплуатации аэропорта уездного города N с запросом на устранение проблем в автоматическом режиме работы пассажирского посадочного моста.
Система управления позволяет заранее обучиться положениям моста для различных типов самолётов (учитывая высоту и расположение входной двери). Оператор выбирает тип самолёта, и мост должен автоматически занять нужное положение. Однако проблема в том, что мост либо не доезжает до заданной точки, либо переезжает её.
Проблему заметили недавно, поскольку ранее использовался преимущественно ручной режим и оператор при помощи джойстика выводил мост в нужное положение. Проведение тестов на реальном объекте возможно только в течение одного часа — мост активно используется в аэропорту.

Первичный анализ
После изучения доступной документации возникло предположение, что проблема связана с калибровкой инкрементальных энкодеров. Однако визит на объект и попытка калибровки не дали результата — вопросов оказалось больше, чем ответов.
Вызов сервисных специалистов производителя оказался невозможен.
Клиент предоставил запасные ПЛК и ЧМИ-панель для тестов, и работа переместилась в офис.
Сложности при моделировании
Логика ПЛК оказалась сложной: множество тригонометрических и иных выражений, разобраться в них мешало отсутствие необходимой документации и чертежей. Попытки симулировать работу системы через форсировку значений датчиков в анимационных таблицах показали, что параметры (углы, длины) взаимосвязаны, и изменение одного требует синхронного изменения других.
Кроме того, таймеры и защитные участки кода мешали пошаговому вводу значений — система ожидала строго определённые зависимости между параметрами и отклонения в них вызывали ошибки.
Решение: цифровой двойник
Так родилась идея создать цифровой двойник посадочного моста — виртуальную модель механической системы, позволяющую безопасно и гибко тестировать логику ПЛК в офисных условиях.
Цель: воспроизвести поведение системы без изменения оригинальной логики ПЛК, всё должно работать максимально приближённо к реальному объекту.
Реализация
Первоначально рассматривался вариант подключения второго ПЛК с зеркальными модулями ввода/вывода. Однако не оказалось достаточного количества необходимых модулей.
После изучения документации на ПЛК были найдены функции, позволяющие программно форсировать значения регистров модулей дискретных и аналоговых входов. Это позволило встроить дополнительную логику цифрового двойника внутрь основного ПЛК, не затрагивая оригинальный код.
Интерфейс взаимодействия между логикой цифрового двойника и оригинальной логикой реализован через регистры ввода/вывода, что обеспечило гибкость и масштабируемость.

Определившись с архитектурой системы моделирования, пришла очередь задач по механике, приводной технике, датчикам и т.д.






Выводы
Создание цифрового двойника позволило:
Безопасно тестировать и анализировать поведение системы без ограничений реального объекта
Выявить причины некорректной работы автоматического режима
Сэкономить время и ресурсы клиента
Выработать универсальное решение, применимое в различных областях науки и техники
Комментарии (6)

Vadimu
20.10.2025 20:26Как я понимаю, поскольку не описан итоговый результат и причины поведения, значит решить проблему так не удалось?!
Но зато есть цифровой двойник. ))

Shevman Автор
20.10.2025 20:26Удалось, рампа торможения в ЧРП кем-то была изменена, в ПЛК путь рассчитывался с учетом настроек параметра DEC в момент пусконаладки.

Vadimu
20.10.2025 20:26Обычно, подобные проблемы решаются двумя вопросами.
Когда в последний раз нормально работало?
Кто-что менял за последующий период?
А потом методичная проверка того, что поменялось. В 90% случаев проблема вскрывается.
Такие сложные варианты, как создание цифрового двойника, симуляция и прочее нужны, когда исходно ничего не работало правильно.

Shevman Автор
20.10.2025 20:26Согласен, обычно, да. Но когда бардак в организации, и люди меняются концы тяжело найти.
Indemsys
Но это же простая симуляция, а не двойник.
Двойником это стало если бы снимались данные с частотников и с энкодеров и при их разноглассии с моделью выдавались бы сигналы на корректировку модели.
Вот эта постоянно корректируемая модель и была бы двойником.
Shevman Автор
Спасибо за Ваш комментарий. Здесь система управления работает на реальном ПЛК. Это не симуляция логики, это реальная работа ПЛК, со всеми аппаратными тонкостями.