Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:jroboplc:modules:task [2015/11/15 13:40]
denis [task.conf.yml]
doc:jroboplc:modules:task [2021/07/27 12:55] (текущий)
denis [task]
Строка 3: Строка 3:
 Управляет организацией процесса выполнения модулей. Задача - это отдельный поток (thread), у которого есть список модулей,​ которые требуется выполнять с заданной периодичностью. ​ Управляет организацией процесса выполнения модулей. Задача - это отдельный поток (thread), у которого есть список модулей,​ которые требуется выполнять с заданной периодичностью. ​
  
-==== Класс модуля ==== 
-promauto.jroboplc.plugin.**task.TaskModule** 
- 
-==== task.conf.yml ==== 
 <code yaml> <code yaml>
 module.taskMain:​ module.taskMain:​
Строка 46: Строка 42:
 </​code>​ </​code>​
  
-==== Описание ==== 
  
-**module.<​name>​** - название модуля (см. [[[[doc:​jroboplc:​notes:​how_to_name_modules]]) +^  Параметр  ^  Умолчание ​ ^  Описание ​ ^ 
-   +|**delayStart**  ​|  ​ |задержка начала выполнения задачи при старте приложения, мс  | 
- +|**period** ​ ​|  ​ |период выполнения одного цикла, мс  | 
-**enable** - on/off - разрешение работы модуля +|**modules** ​ ​|  ​ |список имен модулей,​ команды синхронизации и задержки ​ |
- +
-**period** - период выполнения одного цикла, мс +
- +
-**modules** - список имен модулей,​ команды синхронизации и задержки.+
  
 При подаче команды start все модули плагина task инициализируются и создают отдельные потоки,​ в который с заданной периодичность вызываются модули в указанной последовательности. После подачи команды stop потоки уничтожаются. При подаче команды start все модули плагина task инициализируются и создают отдельные потоки,​ в который с заданной периодичность вызываются модули в указанной последовательности. После подачи команды stop потоки уничтожаются.
  
-==== Синхронизация ====+===== Синхронизация ​=====
 Модули задач (или потоки) могут работать как независимо друг от друга, так и синхронно. Для этого каждая задача имеет внутреннюю переменную,​ доступную для чтения и записи другими задачами. Команды работы с данной переменной помещаются в список ''​modules'':​ Модули задач (или потоки) могут работать как независимо друг от друга, так и синхронно. Для этого каждая задача имеет внутреннюю переменную,​ доступную для чтения и записи другими задачами. Команды работы с данной переменной помещаются в список ''​modules'':​
  
-**_set(value)** ​установить значение собственной переменной +|**_set(value)** ​ |установить значение собственной переменной ​ | 
- +|**_set(task,​ value)** ​ |установить значение переменной другой задачи ​ |
-**_set(task,​ value)** ​установить значение переменной другой задачи+
  
 Команды установки могут принимать только положительные значения (от 0 включительно и выше). Изначально переменные инициализируются в 0. Команды установки могут принимать только положительные значения (от 0 включительно и выше). Изначально переменные инициализируются в 0.
  
-**_wait(value)** ​ожидание заданного значения собственной переменной+|**_wait(value)** ​ |ожидание заданного значения собственной переменной ​ | 
 +|**_wait(task,​ value)** ​ |ожидание заданного значения переменной другой задачи ​ |
  
-**_wait(task,​ value)** - ожидание заданного ​значения переменной другой задачи+Ожидание чужой переменной длится не более заданного ​времени period, если собственный period больше 0. При превышении времени ожидания ​(тайм-ауте),​ в переменную записывается значение -1, ожидание прекращается,​ задача переходит к выполнению следующей позиции в списке modules. Если же period равен 0, ожидание длится неопределенно долго. ​
  
-Ожидание ​чужой переменной длится не более заданного ​времени period, если ​period > 0. При ​превышении времени ​ожидания ​(тайм-ауте), ​в переменную записывается значение -1, ожидание прекращается,​ задача переходит к выполнению ​следующей ​позиции в списке modules. Если же period равен 0, ожидание ​длится неопределенно долго+Ожидание ​собственной переменной ​всегда ​длится неопределенно ​долго. Если ​в процессе ожидания ​в собственной ​переменной появляется ​не желаемое ​значение, а -1, то ожидание прекращается, ​и задача продолжает свое выполнение. ​
  
-Ожидание ​собственной переменной ​всегда длится ​неопределенно долго. Если в процессе ожидания ​в собственной переменной появляется не желаемое ​значение, а -1, то ожидание прекращается, ​и задача продолжает свое выполнение+Значение ​-1 устанавливается ​и сбрасывается автоматически, исключая взаимоблокировки задач. Его нельзя использовать при конфигурировании с командами _set и _wait.
  
-Значение -1 устанавливается и сбрасывается автоматически,​ исключаю взаимоблокировки задач. Его нельзя использовать при конфигурировании с командами _set и _wait. 
  
 +===== Другие команды =====
 +|**_sleep(ms)** ​ |задержка выполнения задачи в мс  |
  
-==== Другие команды ​==== +===== Теги =====
-**_sleep(ms)** - задержка выполнения задачи в мс.+
  
 +|running ​     |состояние ​ |
 +|statebaton ​  ​|синхронизационный тег (используется только для отладки) ​ |
 +|timecounter ​ |кол-во отработанных циклов ​  |
 +|timecycle ​   |время рабты последнего цикла, мс  |
 +|timetotal ​   |общее время работы,​ мс  |
doc/jroboplc/modules/task.1447584001.txt.gz · Последние изменения: 2015/11/15 13:40 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0