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
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
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
(offon) 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