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á znakem ’.’, tedy v úrovni, do které je umístěn blok GETPA. Příklady cest: ".CNDR:yp", ".Lights.ATMT:touts".
- Začíná znaky ’..’, tedy v úrovni nad blokem GETPA. Příklady: "..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".
Pořadí a názvy jednotlivých hierarchických úrovní jsou zobrazeny ve stromové struktuře konfigurace v diagnostice programu REXYGEN Studio.
Varování: 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 1: 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 2: 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 3: Čtený parametr musí být primárním polem (např. CNA:acn, RTOV:xVec, MX_MAT:ay). Odkaz na pole (jako CNA:vec, RTOV:yVec, SUBSYSTEM:Outport) není podporován.
Poznámka 4: Pro čtení hodnoty vzdáleně lze použít také blok INCONN.
Tento blok propaguje kvalitu signálu. Více informací je uvedeno v sekci 1.4.
Vstup
GET | Vstup pro jednorázové přečtení parametru | Bool |
Parametr
sc | Jméno vzdáleného parametru | String |
GETF | Načtení parametru pouze po vyžádání | Bool |
|
|
|
nmax | Maximální velikost pole 10 256 | Long (I32) |
etype | Typ prvků 8 | Long (I32) |
|
|
|
Výstup
arrRef | Odkaz na pole (vektor nebo matice) | Reference |
E | Příznak chyby | Bool |
|
|
|
[Na začátek] [Výše] [Další]
2024 © REX Controls s.r.o., www.rexygen.com