PRGM – Programátor
Symbol blokuPotřebná licence: STANDARD
Popis funkce
Blok PRGM je určen pro generování časových funkcí
(programů) složených z n lineárních částí definovaných
rozměrnými
vektory času a
požadovaných hodnot
(generovaná křivka je spojitá po částech lineární, viz. obrázek). Nejčastěji je používán
pro generování požadované hodnoty regulátoru. Generování programu je spuštěno vstupem
; přechod zpět
na vrací
stav programátoru do základního stavu. Vstup DEF nastaví sp na hodnotu spv a po vymizení
hodnoty se
pokračuje přejetím po rampě na nejbližší následující uzel, čas přitom není narušen.
Vstup
zmrazí výstupní hodnotu sp a všechny výstupní časy (tsc, tt, rt), po vymizení
hodnoty
se pokračuje z okamžiku zmrznutí dále podle programu. Je-li při přechodu
HLD onoff nastaven
vstup ,
nepokračuje se od okamžiku zmrazení, ale najede se do uzlového bodu s
indexem ind po rampě za čas trt. Index uzlového bodu ind musí být
rovný nebo větší než aktuálně prováděný sektor (v okamžiku
HLD onoff).
Je-li ,
potom se program generuje opakovaně.
Vstupy
RUN | Povolení generování časové funkce programu | bool |
DEF | Inicializace sp na hodnotu spv | bool |
spv | Inicializační hodnota | double |
HLD | Zmrazení výstupu a výstupních časů | bool |
CON | Pokračování od uzlového bodu ind | bool |
ind | Index uzlového bodu pro pokračování | long |
trt | Čas pro dosažení požadovaného uzlu ind | double |
RPT | Příznak opakování generování časové funkce | bool |
Výstupy
sp | Požadovaná hodnota (hodnota časové funkce v daném čase) | double |
isc | Aktuální sektor funkce | long |
tsc | Čas od začátku sektoru | double |
tt | Čas od startu generování časové funkce | double |
rt | Čas do konce programu | double |
CNF | Příznak sledování nakonfigurované křivky | bool |
E | Chyba, časy uzlů nejsou seřazeny vzestupně | bool |
Parametry
n | Počet sektorů 1 10000000 2 | long |
tmunits | Jednotky pro zadávání časů 1 | long |
|
|
|
tm | -rozměrný vektor vzestupně uspořádaných časů [0 1 2] | double |
y | -rozměrný vektor hodnot časové funkce [0 1 0] | double |
[Předchozí] [Na začátek] [Výše] [Další]