ПЛК / C++ / REVERSE ENGINEERING
PLExt и инструменты Polygon
Библиотека выражений для графической среды программирования ПЛК и инструменты разбора, проверки и изменения инженерных проектов.
Рабочая версия
Задача
Сделать вычисления и подготовку строк в FBD-проектах читаемыми, без громоздких цепочек преобразований и проводов. Получить возможность анализировать и воспроизводимо изменять проекты вне ограничений штатной среды.
Мой вклад
С нуля реализовал независимую библиотеку PLExt: общий компилятор и исполнитель выражений, адаптеры типов Polygon, несколько результатов и состояние между циклами ПЛК. Исследовал форматы проектов и библиотек PL2/LL2; разрабатываю инструменты их разбора, экспорта и проверки целостности.
Результат
Предсобранная библиотека для WINmingw и LinuxOwen3 опубликована на p03.ru. Инструменты применяются для диагностики и проверяемых изменений инженерных проектов. В работе с ПО вентиляции также исследовал фактическую логику прошивки в Ghidra; эта работа сдана.
Подробнее
В статье разобраны устройство ядра выражений, переменные между циклами, строковые операции и ограничения обмена строками через OPC.