Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
doc:jroboplc:modules:system [2016/03/22 08:54]
denis создано
doc:jroboplc:modules:system [2020/12/21 18:37] (текущий)
denis
Строка 3: Строка 3:
 Добавляет возможность выполнения платформенно-зависимых операций. Добавляет возможность выполнения платформенно-зависимых операций.
  
-Данный модуль требует включения в задачу.+**GPIO использовать с осторожностью!** ​Данный модуль использует нативные библиотеки,​ код которых может угрожать стабильности всей системы. 
 + 
 +При работе с ''​shutdown''​ данный модуль требует включения в задачу.
  
  
Строка 28: Строка 30:
       value: ​  1       value: ​  1
       delay_s: 300       delay_s: 300
 +      ​
 +    syscommands:​
 +      - cmdline: "​sensors"​
 +        tags:
 +          - name: temp1
 +            regex: "​temp1:​\\s*([-+]+\\d+)"​
 +          - name: temp.core0
 +            regex: "Core 0:​\\s*([-+]+\\d+\\.\\d)"​
 +            type: double
 +          - name: temp.core2
 +            regex: "Core 2:​\\s*([-+]+\\d+\\.\\d)"​
 +            type: double
 +
 +      - cmdline: "uname -a"
 +        tags:
 +          - name: uname
 +            type: string
 +
 +      - cmdline: "ping -c 1 yahoo.com"​
 +        tags:
 +          - name: ping
 +            type: double
 +            regex: time=(.*) ms
 +
 +      ​
 </​code>​ </​code>​
 +^Параметр ​ ^По умолчанию ​ ^Описание ​ ^
 |**gpio** ​ |  -  |карта портов ввода/​вывода в формате:​ ''​tagname:​ ioport/​bit'' ​ | |**gpio** ​ |  -  |карта портов ввода/​вывода в формате:​ ''​tagname:​ ioport/​bit'' ​ |
 |:::​|:::​|**tagname** - имя создаваемого тега ​ | |:::​|:::​|**tagname** - имя создаваемого тега ​ |
Строка 35: Строка 62:
 |:::​|:::​|**bit** - номер бита, от 0 до 7  | |:::​|:::​|**bit** - номер бита, от 0 до 7  |
 |**shutdown** ​ |  -  |параметры отключения системы по событию ​  | |**shutdown** ​ |  -  |параметры отключения системы по событию ​  |
- +|**syscommands** ​ |  -  |список команд операционной системы ​  | 
-===== shutdown ​=====+^  ​shutdown ​ ^^^
 |**tag** ​ |  -  |отслеживаемый тег для определения наступления события ​ | |**tag** ​ |  -  |отслеживаемый тег для определения наступления события ​ |
 |**value** ​ |  ''​1'' ​ |необходимое значение тега для определения наступления события ​ | |**value** ​ |  ''​1'' ​ |необходимое значение тега для определения наступления события ​ |
-|**delay_s** ​ |  ''​60'' ​ |задержка отключения после наступления события ​ | +|**delay_s** ​ |  ''​60'' ​ |задержка отключения после наступления события ​в циклах задачи (не секунды) ​ | 
-|**cmd.linux** ​ |  ''​shutdown -h now''  ​|системная команда отключения для linux  | +|**cmd.linux** ​ |<​code>​shutdown -h now</​code>​|системная команда отключения для linux  | 
-|**cmd.windows** ​ |  ''​shutdown.exe -s -t 0''  ​|системная команда отключения для windows ​ | +|**cmd.windows** ​ |<​code>​shutdown.exe -s -t 0</​code>​|системная команда отключения для windows ​ | 
- + syscommands ​ ^^^ 
- +|**cmdline**  |  -  |текст комадны  
-===== copy ===== +|**tags**  |  -  |список тегов ​для получения результата выполнения команды  | 
-|**id** ​  -  |Имя действия (опционально) ​ | + syscommands.tags ​ ^^^ 
-|**src**  |  -  |Имя ​тега-источника в формате [[#​ссылка_на_тег|ссылки]] ​  +|**name**  |  -  |Имя тега  | 
-|**dst**  |  -  |Имя тега-приемника в формате [[#ссылка_на_тег|ссылки]] ​  | +|**type**  |  ​''​int'' ​ ​|Тип тега''​int, double, boolean, string'' ​ | 
-|**delay_s** ​ |  ''​0'' ​ |Задержка копирования с секундах. Значение источника ​после изменения ​копируется в приемник только, если значение источника не вернулось ​в прежнее состояние в течение времени задержки ​ | +|**regex**  |  ​''​(.*)'' ​ |Регулярное выражение для извлечения значения тега из вывода командыВ выражение обязательно должна быть одна группу, значение ​которой и присваивается тегу  | 
-|**delay_ms** ​  ''​0'' ​ |Задержка копирования в миллисекундах ​ | +===== Теги ​===== 
- +|**shutdown.enable**  |Разрешение отключения системы. Тег предназначен ​для записи из вне. По умолчанию - off 
-===== calc ===== +|**shutdown.cnt**  |Обратный счетчик до отключения системы | 
-|**id**  |  -  |Имя ​действия (опционально) ​ | +|**shutdown.state** ​ |Индикатор состояния отключения:  | 
-|**expr** ​ |  -  |Арифметическое выражение (см. [[doc:​jroboplc:​modules:​tagscript:​calcfunctions]]) ​ | +|:::|''​0'' ​ожидание события ​ | 
-|**result**  |  ​ |Имя тег результата вычисления. ​Тип тега ''​double''​ | +|:::|''​1'' ​- идет ​задержка отключения  | 
-|**<​arg1>​**  |  ​ |Имя тега-аргумента ​в формате [[#​ссылка_на_тег|ссылки]]. Количество аргументов может быть любым ​ | +|:::​|''​2''​ - отключение отменено до наступления нового события ​ | 
-|**<​argN>​** ​ |:::|:::| +|:::|''​3''​ - выполняется отключение  |
-|**delay_s** ​ |  ''​0'' ​ |Задержка копирования значения ​в тег ​результата. Изменившееся ​вычисленное значение ​копируется в тег результата только, если вычисленное ​значение ​не вернулось в прежнее ​состояние ​в течение времени задержки ​ | +
-|**delay_ms** ​ |  ''​0'' ​ |Та же задержка в миллисекундах ​ | +
- +
- +
- +
-===== java ===== +
-^java^^^ +
-|**id**  |  ​- ​ |Имя действия (обязательный параметр) ​ | +
-|**class** ​ |  -  |Имя класса скрипта  | +
-|**<​arg1>​** ​ |  -  |Аргументы для ​передачи значений в скрипт. Количество аргументов может быть ​любым  ​+
-|**<​argN>​**  |:::|:::| +
- +
-Скрипт - это java класс, ​наследуемый от класса с интерфейсом [[doc:​jroboplc:​modules:​tagscript:​scriptjavaapi]]. Для написания скрипта требуется перекрыть методы ''​load'' ​и ''​execute''​. Файл исходного ​кода состоит только из методов и полей. Заголовок класса,​ пакета,​ импорт пакетов и прочее указывать не нужно ([[doc:​jroboplc:​modules:​tagscript:​javaexample]]). +
- +
-В целях ограничения ​области действия скрипта текст исходного кода не может содержать слово ''​promauto''​. +
- +
-Файлы исходного кода скриптов помещаются в каталог ''​java.src''​. Один файл может ​содержать один класс. Файлы могут находится во вложенных подкаталогах,​ при этом имя подкаталога(ов) включается в имя класса через точку. Например, ​''​subdir1.subdir2.MyScript''​+
- +
-После создания или изменения ​скрипта при загрузке системы происходит компиляция, и если успешно,​ то каталог ​''​java.bin'' ​будет ​содержать байткод скрипта и хеш-файл. Если во время компиляции возникла ошибка, то в этом же каталоге можно будет найти сформированный полный исходный код класса, и используя сообщение об ошибке компилятора, проанализировать код и найти ​ошибку. +
- +
- +
-===== Ссылка на тег ===== +
-Ссылки на тег могут ​быть записаны двумя способами +
-  - ''​modname:​tagname''​ - имя любого модуля проекта и его тег +
-  - ''​tagname''​ - имя своего тега (данного модуля) +
- +
- +
- +
  
doc/jroboplc/modules/system.1458626076.txt.gz · Последние изменения: 2016/03/22 08:54 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0