GETPA – Blok pro vzdálené získání vektorového parametru

Symbol blokuPotřebná licence: STANDARD
Qt SVG Document Exported by REXYGEN Studio GET arrRef E GETPA

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á 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

off ..

režim průběžného čtení parametru

on ...

režim jednorázového přečtení parametru

nmax

Maximální velikost pole   10 256

Long (I32)

etype

Typ prvků  8

Long (I32)

1 ....

Bool

2 ....

Byte (U8)

3 ....

Short (I16)

4 ....

Long (I32)

5 ....

Word (U16)

6 ....

DWord (U32)

7 ....

Float (F32)

8 ....

Double (F64)

10 ...

Large (I64)

Výstup

arrRef

Odkaz na pole (vektor nebo matice)

Reference

E

Příznak chyby

Bool

off ..

bez chyby

on ...

nastala chyba

2024 © REX Controls s.r.o., www.rexygen.com