Правила, использующие Lua-скрипты
Развернуть все | Свернуть все
Функция в Lua-скрипте правила, описанная на языке Lua, вызывается при изменении значения какого-либо тега, используемого в функции. Впервые функция вызывается при получении всех значений тегов, используемых в функции.
Вы можете изменять функции в Lua-скриптах при выполнении следующих действий:
- Создание правила контроля процесса с Lua-скриптом
Чтобы создать Lua-скрипт правила, выполните следующие действия:
- Выберите закладку Контроль процесса.
- Если список правил контроля процесса содержит группы, выберите группу, в которую нужно поместить новое правило. Вы можете выбрать саму группу или одно из существующих правил этой группы.
- Нажмите на кнопку Добавить Lua-скрипт.
В нижней части закладки отобразится область редактирования Lua-скрипта.
- В области редактирования Lua-скрипта над полем ввода скрипта выберите вариант Скрипт правила.
- Выполните следующие действия:
- Введите имя и описание правила.
- Введите код скрипта на языке Lua.
В поле ввода скрипта отображается шаблон функции на языке Lua с краткими комментариями. Чтобы открыть окно с подробными комментариями для создания скрипта, нажмите на кнопку вызова справки над полем ввода скрипта.
- Выберите или настройте тип регистрируемого события.
- Нажмите на кнопку OK.
Новый Lua-скрипт отобразится в списке.
- Чтобы изменения вступили в силу, примените политику безопасности.
- Создание или изменение глобального Lua-скрипта
Чтобы изменить глобальный Lua-скрипт, выполните следующие действия:
- Выберите закладку Контроль процесса.
- Откройте область редактирования Lua-скрипта. Для этого вы можете использовать один из следующих способов:
- Если список правил контроля процесса не содержит правил, содержащих Lua-скрипты, создайте новое правило с Lua-скриптом. Для этого выполните следующие действия:
- Если список правил контроля процесса содержит группы, выберите группу, в которой будет создано правило, содержащее Lua-скрипт. Вы можете выбрать саму группу или одно из существующих правил этой группы.
- Нажмите на кнопку Добавить Lua-скрипт.
- Если список правил контроля процесса содержит хотя бы одно правило с Lua-скриптом, выполните следующие действия:
- Выберите любое правило, содержащее Lua-скрипт.
- Нажмите на кнопку Изменить.
- В области редактирования Lua-скрипта над полем ввода скрипта выберите вариант Глобальный скрипт.
- В поле ввода скрипта введите код скрипта на языке Lua.
Чтобы открыть окно с комментариями для создания глобального скрипта, нажмите на кнопку вызова справки над полем ввода скрипта.
- Нажмите на кнопку OK.
- Чтобы изменения вступили в силу, примените политику безопасности.
Заданные глобальные переменные и функции глобального Lua-скрипта вы можете использовать при создании или изменении правил, содержащих Lua-скрипты.
- Изменение Lua-скрипта в правиле контроля процесса
Чтобы изменить Lua-скрипт правила, выполните следующие действия:
- Выберите закладку Контроль процесса.
- В списке правил контроля процесса выделите правило с Lua-скриптом, который вы хотите изменить.
- Нажмите на кнопку Изменить.
В нижней части закладки отобразится область редактирования Lua-скрипта.
- В области редактирования Lua-скрипта над полем ввода скрипта выберите вариант Скрипт правила.
- Выполните следующие действия:
- Введите имя и описание правила.
- Введите код скрипта на языке Lua.
Чтобы открыть окно с подробными комментариями для создания скрипта, нажмите на кнопку вызова справки над полем ввода скрипта.
- Выберите или настройте тип регистрируемого события.
- Нажмите на кнопку OK.
- Чтобы изменения вступили в силу, примените политику безопасности.
Сервер программы начнет регистрировать события в соответствии с изменениями в правиле.
Для описания тегов в коде функции используется выражение вида:
X = tag'имя_тега'[.R/.W/.RW]
,
где используются следующие значения модификатора: .R
– тег перехвачен при чтении из устройства, .W
– тег перехвачен при записи в устройство, .RW
– любое последнее значение тега. Указывать модификатор не обязательно. Если модификатор не указан, то используется любое последнее значение тега.
При создании правила с помощью Lua-скрипта вы можете использовать дополнительные переменные с произвольными именем и значением.
Для добавления переменой используется функция:
_AddEventParam('имя_параметра', значение_параметра)
Добавленную переменную вы можете использовать в параметрах пользовательских типов событий. Добавленная переменная может быть использована в виде $extra.<имя_параметра>.
Вы можете использовать функции для добавления записи в журнал работы процесса, в котором выполняется Lua-скрипт (обычно это процесс, имя которого начинается со слова Filter
). В журнал вносится запись, заданная аргументом функции (переменной или константой):
_WriteCriticalLog(аргумент_функции)
создает в журнале запись с уровнем Критический._WriteErrorLog(аргумент_функции)
создает в журнале запись с уровнем Ошибка._WriteWarningLog(аргумент_функции)
создает в журнале запись с уровнем Предупреждение._WriteInfoLog(аргумент_функции)
создает в журнале запись с уровнем Информационный._WriteDebugLog(аргумент_функции)
создает в журнале запись с уровнем Отладочный.print(аргумент_функции1, аргумент_функции2,…)
создает в журнале запись с уровнем Отладочный, которая может содержать несколько аргументов функции. Переменные или константы, заданные аргументами функции, разделяются в записи журнала символом табуляции.
Записи в журнале не создаются, если уровень записи ниже уровня ведения журнала, установленного для процесса в окне Параметры Сервера и сенсоров.
В начало