Это старая версия документа.
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- имя своего тега (данного модуля)