Другие языки
Встроенные языки выражений и запросов подходят для решения большинства аналитических задач. Однако помимо них в AggreGate доступны и другие проблемно-ориентированные языки, представленные в виде отдельных модулей.
Большая часть языков, таких как Java или Python, предполагают текстовое написание кода и его отладку в специализированных редакторах с подсветкой синтаксиса. Другая их часть - визуальная, и позволяет реализовывать необходимую логику простым перетаскиванием компонентов.
Языки управления процессами
Семейство языков программирования МЭК 61131-3 поддерживается в ряде решений на базе AggreGate с помощью плагина Process Control. Исполнительные модули этих языков также называются Soft-PLC, поскольку они точно имитируют функциональность программируемых логических контроллеров (ПЛК). Основные цели стандарта МЭК 61131-3 – повышение скорости и качества разработки программ ПЛК.
Данный стандарт определяет четыре языка программирования:
- FBD – Диаграммы функциональных блоков
- SFC – Последовательные функциональные диаграммы
- LD – Релейно-контактные схемы или релейные диаграммы
- ST – Структурированный текст
Языки SFC, FBD и LD являются графическими, а вот ST – язык текстовый. Инженер или разработчик АСУ может выбрать любой из них, как исходя из собственных предпочтений, так и в зависимости от задачи. Так, язык FBD будет логично использовать, если требуется организовать последовательность обработки и передачи сигналов. Если же необходимо описать последовательность срабатываний реле и ключей, то нагляднее всего будет язык LD, а для реализации сложного разветвленного алгоритма отлично подойдёт язык ST.
Несколько в стороне стоит язык SFC, который также называют языком программирования, хотя это скорее вспомогательное средство для структурирования программ. В любом случае, если требуется выполнить операции в определенной последовательности, которая задается моментами времени (или событиями), то язык последовательных функциональных схем подходит лучше остальных.
Главной целью добавления поддержки языков управления процессами в AggreGate было предоставление пользователям удобного инструмента для реализации приложений, работающих во встраиваемых средах, таких как IoT-шлюзы, ПЛК под управлением Linux, одноплатные компьютеры/контроллеры.
Таким образом, платформа AggreGate стала ещё более привлекательной для миллионов инженеров, которые уже имеют опыт в программировании классических аппаратных ПЛК через популярные среды.
Кроме того, вся система управления становится вертикально интегрированной и максимально прозрачной. Платформа AggreGate позволяет и запрограммировать контроллер, и создать верхний уровень управления АСУ ТП через SCADA.
Язык Expect
Собственная реализация языка Expect в AggreGate предоставляет возможность управления устройствами через командную строку (CLI). Скрипты Expect отправляют на устройство специальные сообщения и ожидают получения одного из предопределённых вариантов ответа. Подобным образом могут быть реализованы скрипты для мониторинга, управления, конфигурирования и обновления устройств.
Скрипты
Сервер AggreGate позволяет выполнять скрипты - говоря простым языком, небольшие программы, написанные на разнообразных языках программирования, таких как Java, Python и R. Также существует возможность запуска скриптов, написанных на других языках (например, PHP или Javascript) как внешних приложений.