Это старая версия документа.
system
Добавляет возможность выполнения платформенно-зависимых операций.
Данный модуль требует включения в задачу.
plugin.system: enable: on module.sys: enable: on gpio: gpi.0: 2563/1 gpi.1: 2565/5 gpi.2: 2565/4 gpi.3: 2560/1 gpo.0: 2563/6 gpo.1: 2562/5 gpo.2: 2567/0 gpo.3: 2567/1 shutdown: tag: gpi.0 value: 1 delay_s: 300
gpio | - | карта портов ввода/вывода в формате: tagname: ioport/bit |
tagname - имя создаваемого тега | ||
ioport - номер аппаратного порта, см. описание gpio в мануале на оборудование | ||
bit - номер бита, от 0 до 7 | ||
shutdown | - | параметры отключения системы по событию |
shutdown
tag | - | отслеживаемый тег для определения наступления события |
value | 1 | необходимое значение тега для определения наступления события |
delay_s | 60 | задержка отключения после наступления события |
cmd.linux | shutdown -h now | системная команда отключения для linux |
cmd.windows | shutdown.exe -s -t 0 | системная команда отключения для windows |
copy
id | - | Имя действия (опционально) |
src | - | Имя тега-источника в формате ссылки |
dst | - | Имя тега-приемника в формате ссылки |
delay_s | 0 | Задержка копирования с секундах. Значение источника после изменения копируется в приемник только, если значение источника не вернулось в прежнее состояние в течение времени задержки |
delay_ms | 0 | Задержка копирования в миллисекундах |
calc
id | - | Имя действия (опционально) |
expr | - | Арифметическое выражение (см. calc выражения) |
result | - | Имя тег результата вычисления. Тип тега double . |
<arg1> | - | Имя тега-аргумента в формате ссылки. Количество аргументов может быть любым |
<argN> | ||
delay_s | 0 | Задержка копирования значения в тег результата. Изменившееся вычисленное значение копируется в тег результата только, если вычисленное значение не вернулось в прежнее состояние в течение времени задержки |
delay_ms | 0 | Та же задержка в миллисекундах |
java
java | ||
---|---|---|
id | - | Имя действия (обязательный параметр) |
class | - | Имя класса скрипта |
<arg1> | - | Аргументы для передачи значений в скрипт. Количество аргументов может быть любым |
<argN> |
Скрипт - это java класс, наследуемый от класса с интерфейсом ScriptJavaApi.java. Для написания скрипта требуется перекрыть методы load
и execute
. Файл исходного кода состоит только из методов и полей. Заголовок класса, пакета, импорт пакетов и прочее указывать не нужно (Пример скрипта java).
В целях ограничения области действия скрипта текст исходного кода не может содержать слово promauto
.
Файлы исходного кода скриптов помещаются в каталог java.src
. Один файл может содержать один класс. Файлы могут находится во вложенных подкаталогах, при этом имя подкаталога(ов) включается в имя класса через точку. Например, subdir1.subdir2.MyScript
.
После создания или изменения скрипта при загрузке системы происходит компиляция, и если успешно, то каталог java.bin
будет содержать байткод скрипта и хеш-файл. Если во время компиляции возникла ошибка, то в этом же каталоге можно будет найти сформированный полный исходный код класса, и используя сообщение об ошибке компилятора, проанализировать код и найти ошибку.
Ссылка на тег
Ссылки на тег могут быть записаны двумя способами:
modname:tagname
- имя любого модуля проекта и его тегtagname
- имя своего тега (данного модуля)