GETPA – Blok pro vzdálené získání vektorového parametru
Symbol blokuPotřebná licence: STANDARD
Popis funkce
Blok GETPA slouží ke vzdálenému získávání vektorových parametrů ostatních bloků
v modelu. Může pracovat ve dvou režimech, které se přepínají parametrem GETF. Pro
GETF=off je na
výstup arrRef vyveden vzdálený vektorový parametr při startu a dále pak
při každé změně sledovaného vzdáleného parametru. Jestliže parametr
GETF
je on, pak bloky pracují v režimu jednorázového čtení vzdáleného
parametru, který se přečte vždy, když nastane náběžná hrana
(off→on) na
vstupu GET.
Jméno vzdáleného parametru určuje textový parametr sc (string connection), který se zadává ve tvaru <cesta_k_bloku:jmeno_parametru>. Cesta k bloku, jehož parametr má být získán, může obsahovat tečkami oddělené hierarchické úrovně, na jejichž konci je název bloku a může být:
- Relativní – začíná v úrovni, do které je umístěn blok GETPA. V tomto případě text začíná znakem ’.’. Příklady hodnot relativních cest: ".CNDR:yp", ".Lights.ATMT:touts".
- Relativní k tasku – začíná v základní úrovni tasku, do které je umístěn daný blok GETPA. V tomto případě text začíná znakem ’%’. Příklady hodnot cest: "%CNDR:yp", "%Lights.ATMT:touts".
- Absolutní – úplná posloupnost hierarchických úrovní až k požadovanému bloku. V případě, že má být čten parametr z bloku umístěného v úloze ovladače (pro konfiguraci viz. blok IOTASK), je v první úrovni hierarchie uveden znak ’&’ následovaný názvem ovladače. Příklady hodnot absolutních cest: "uloha1.vstupy.ATMT:touts", "&EfaDrv.mereni.CNDR:yp".
Poznámka 1: Pokud se čte hodnota pole z jiné úlohy, je pro zajištění konzistence hodnot nutné použít tzv. semafor a počkat na dokončení úlohy, ze které se hodnota pole čte. Po celou dobu čekání na dokončení je úloha s blokem GETPA pozastavena! Z praktického hlediska to znamená, že blok GETPA se musí umístit do úlohy, která trvá dlouho a číst hodnotu pole z úlohy, která trvá krátce. Pokud je to opačně, dochází k čekání rychlé úlohy na pomalejší úlohu a rychlejší úloha se tím zpozdí. V této situaci je vhodné použít blok SETPA v déletrvající úloze.
Poznámka 2: Pokud je parametr GETF = off a navíc zdrojové pole (určené parametrem sc) je ze stejného tasku jako blok GETPA, na výstup se dává přímý odkaz na původní pole. To šetří paměť i procesorový čas. V tomto případě jsou parametry nmax, etype ignorovány.
Poznámka 3: Pokud se použije více bloků GETPA pro čtení polí v jiném tasku, není zajištěno, že se všechny pole přečtou v jedné periodě druhé úlohy. Je pouze zajištěno, že dříve provedený blok GETPA přečte pole ze stejné nebo dřívější periody druhého tasku než později provedený blok GETPA. Pořadí spouštění je vidět v diagnostice programu REXYGEN Studio.
Poznámka 4: Vzdálené pole (parametr na který blok odkazuje) musí být primární pole (např. CNA:acn, RTOV:xVec, MX_MAT:ay). Není podpořeno použít jako vzdálené pole odkaz (např. CNA:vec, RTOV:yVec, SUBSYSTEM:Outport).
Pořadí a názvy jednotlivých hierarchických úrovní jsou zobrazeny ve stromové struktuře konfigurace v diagnostice programu REXYGEN Studio.
Vstup
GET | Vstup pro jednorázové přečtení parametru. Pokud je GETF = on data se čtou jen při náběžné hraně na tomto vstupu. | Bool |
Výstupy
arrRef | Odkaz na pole (vektor nebo matice) | Reference |
E | Příznak chyby | Bool |
Parametry
sc | Jméno vzdáleného parametru | String |
GETF | Načtení parametru pouze po vyžádání | Bool |
|
|
|
nmax | Maximální velikost vektoru (pole) ↓10 ⊙256 | Long (I32) |
etype | Type položek pole. Jde o typ v přechodném (stavovém) poli, kam se originální data kopírují. Je provedena konverze, pokud původní data mají jiný typ. ⊙8 | Long (I32) |
|
|
|
[Na začátek] [Výše] [Další]
2023 © REX Controls s.r.o., www.rexygen.com