QTASK – Rychlá úloha řídicího systému REX

Symbol blokuPotřebná licence: STANDARD
PIC

Popis funkce
Blok QTASK slouží pro zařazení tzv. rychlé úlohy (quick task) s vysokou prioritou do exekutivy řídicího systému REX. Použití této úlohy je opodstatněné v případech, kdy je nutná co nejrychlejší zpracování vstupních signálů, např. pro číslicovou filtraci vstupních signálů zatížených šumem, nebo pro rychlou odezvu na stisk tlačítek připojených přes logické vstupy. Úloha se zařadí do exekutivy reálného času propojením vstupu prev s výstupem QTask bloku EXEC. Rychlá úloha se inicializuje před inicializací výpočetní úrovně Level0 (viz blok TASK).

Zkonfigurovaná úloha QTASK běží s logickou prioritou č. 2 a může být v systému REX nejvýše jedna. Algoritmus této úlohy se konfiguruje stejným způsobem jako algoritmus standardní úlohy TASK v samostatném souboru s příponou .mdl.

Úloha běží s periodou danou součinem parametru factor tohoto bloku a parametru tick exekutivy EXEC. Pro hodnotu factor=1 bude úloha spouštěna s nejkratší periodou tick a také zatížení systému bude největší. Pozor, v každé periodě se musí úloha QTASK stihnout za dobu kratší než tick, v opačném případě dojde k fatální chybě běhu exekutivy reálného času a vykonávání všech úloh se ukončí! Proto by úloha QTASK by měla být používána uvážlivě! Naštěstí lze dobu její exekuce zjistit v programu RexView.

Vstup

prev

Vstup, sloužící pro k připojení k výstupu QTask bloku EXEC

long

Parametry

factor

Násobek času tick bloku EXEC určující periodu úlohy (factortick)  1

long

stack

Velikost zásobníku (v bytech)  10240

long

filename

Jméno souboru s příponou .mdl obsahující algoritmus úlohy; není-li jméno zadáno, je jméno souboru určeno jménem tohoto bloku (v hlavním souboru projektu) doplněném příponou .mdl

string