Другие языки

Другие языки в AggreGate

Встроенные языки выражений и запросов подходят для решения большинства аналитических задач. Однако помимо них в 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) как внешних приложений.