bg

Модуль Выполнение скриптов (Script execute) для программ-логгеров

Последняя версия: 5.0.1 build 1126. November 28, 2025.

Модуль фильтрации Script Execute расширяет наши логгеры данных скриптовым движком, который может обрабатывать, фильтровать и преобразовывать входящие пакеты данных перед их экспортом. Он поддерживает несколько языков программирования скриптов в одном модуле. Это позволяет реализовать пользовательскую бизнес логику без изменения основного приложения. Плагин работает на любой поддерживаемой системе и не зависит от сторонних приложений.

Этот плагин предназначен для технических специалистов, которым нужно выполнять пользовательские вычисления, изменять переменные парсера или реализовывать условную маршрутизацию на основе входящих данных. Вместо разработки отдельного внешнего приложения вы можете встроить необходимую логику прямо в цепочку обработки данных логгером. В результате вы получаете компактную и удобную в сопровождении конфигурацию, где этапы разбора данных, преобразования и экспорта определены в одном месте.

Скачать  | PDF руководство

Script Execute поддерживает PascalScript, C++Script, JScript и BasicScript. Вы можете выбрать предпочитаемый язык в вашей конфигурации. Движок предоставляет широкий набор возможностей, таких как переменные, константы, функции, процедуры, стандартные операторы и обработка исключений. Он также предлагает проверку совместимости типов, доступ к стандартным вспомогательным классам, а также возможность сохранять значения между запусками.

Практический пример: фильтрация пакетов и изменение переменных

Следующий сценарий показывает, как Script Execute может фильтровать входящие пакеты в Advanced Serial Data Logger и изменять переменные парсера. Предположим, что устройство отправляет периодические строки со статусом через последовательный порт в следующем формате:

2025-01-02 08:00:00;DEVICE01;TEMP=24.5;STATE=OK
2025-01-02 08:00:00;DEVICE01;TEMP=99.9;STATE=OVERHEAT
2025-01-02 08:00:00;DEVICE01;TEMP=32.1;STATE=OK

Парсер в логгере извлекает следующие переменные:

DATE_TIME_STAMP = "2025-01-02 08:00:00"
DEVICE_ID       = "DEVICE01"
TEMP_VALUE      = 24.5
STATE_VALUE     = "OK"

Теперь вы хотите реализовать правило, которое:

  • Отбрасывает пакеты, где значение "STATE_VALUE" не равно "OK".
  • Помечает значения выше 30 градусов, создавая новую переменную "HIGH_TEMP_FLAG".
  • Изменяет формат температуры, округляя до одного знака после запятой.

Вы можете выбрать "Script Execute" как фильтр после парсера. На PascalScript сценарий может выглядеть так:

var
 temp: double;
begin
  // Отбросить пакет, если состояние не OK
  if GetVariable('STATE_VALUE') <> 'OK' then
  begin
    DiscardDataPacket();
    exit;
  end;

  // Нормализовать формат температуры
  temp := GetVariable('TEMP_VALUE');
  SetVariable('TEMP_VALUE', FormatFloat('0.0', temp));
  // Добавить новую флаговую переменную
  if temp > 30.0 then
    SetVariable('HIGH_TEMP_FLAG', '1')
  else
    SetVariable('HIGH_TEMP_FLAG', '0');
end.

С этим скриптом вторая строка с STATE=OVERHEAT полностью исключается из дальнейшей цепочки обработки. Оставшиеся пакеты получают новую переменную "HIGH_TEMP_FLAG", которая может быть экспортирована в базу данных, файл или OPC тег. Это позволяет привести экспортируемые данные к нужному вам стандарту без изменения основной конфигурации логгера или сторонних средств.

2025-01-02 08:00:00;DEVICE01;TEMP=24.5;STATE=OK;HIGH_TEMP_FLAG=0
2025-01-02 08:00:00;DEVICE01;TEMP=32.1;STATE=OK;HIGH_TEMP_FLAG=1

Ключевые возможности

  • Поддержка нескольких языков скриптов в одной среде, включая PascalScript, C++Script, JScript и BasicScript.
  • Поддержка переменных, констант, функций, стандартных операторов, обработки исключений и проверки типов.
  • Прямой доступ к вспомогательным классам, для расширенных операций со строками и файлами.
  • Возможность изменять существующие переменные парсера, создавать новые переменные и управлять обработкой пакетов, включая их удаление.
  • Поддержка отправки строк, байтов или массивов байт в источники данных, таким как COM или TCP порты, в качестве ответов или команд.
  • Простая конфигурация с редактором сценариев, проверкой синтаксиса и возможностью загрузки и сохранения сценариев.

Итог

Script Execute добавляет мощный скриптовый движок тесно интегрированный с нашим логгерами. Он позволяет реализовывать сложные правила, вычисления и ответы без изменения ваших устройств или базовой конфигурации логгера. Применяя скрипты к вашим данным вы можете создавать решения по обработке данных, точно настроенные под ваши задачи.

Скачать  | PDF руководство

Как включить модуль

На рисунке ниже вы можете увидеть, как включить данных модуль в настройках программы на странице "Модули".

Выбор модуля Script Execute

Рис.1. Выбор модуля.

Как настроить модуль

На рисунке ниже показан пример настроек модуля. Вы можете ознакомиться с файлом справки по ссылке выше, для получения более подробной информации.

Настройка модуля

Рис.2. Настройка модуля.