PLExt — библиотека блоков для Polygon
Текстовая программа внутри функционального блока заменяет локальную цепочку вычислений, преобразований и соединений на FBD-схеме.

Задача
В FBD даже короткое вычисление может занять несколько блоков преобразования, сравнения и арифметики вместе со связями между ними. PLExt позволяет записать такой фрагмент текстовым выражением внутри одного блока.
Семейство Expression*
Для bool, int32, uint32, float и строк используются отдельные блоки — это связано с ограничениями интерфейсов Polygon. Все пять вариантов работают на общем компиляторе и исполнителе выражений. Формула разбирается при изменении, затем готовая программа выполняется в цикле контроллера. Один экземпляр может иметь несколько входов и выходов.
Выражения и состояние
Язык поддерживает арифметику, сравнения, битовые операции, математические функции, преобразования типов и ленивые логические операторы. Временные переменные vN позволяют разбить вычисление на шаги, а wN сохраняют состояние между циклами для счётчиков, накопителей и небольшой последовательностной логики.
Строки и OPC
ExpressionStr работает с UTF-8, срезами, поиском, изменением регистра, транслитерацией и форматированием. Строковые выходы используют тип st::STRING. Протокол ready/updated помогает клиенту определить момент завершения публикации набора строк, но не заменяет блокировку общей памяти.
Архив
Опубликован единый предсобранный архив библиотеки для платформ WINmingw и LinuxOwen3. Скачать его и проверить SHA-256 можно на этой странице или в журнале P03.
PLExt в Polygon
Скачать PLExt
Единый предсобранный архив для платформ WINmingw и LinuxOwen3. Контрольная сумма приведена для проверки файла.
PLExt для Polygon
Единый предсобранный архив для платформ WINmingw и LinuxOwen3.
Скачать ZIP ↓e2ab30b24eec64e663c45d5435462078b59494366cc0e9a74adf4972d856dddd