GETPR, GETPI, GETPB – Bloky pro vzdálené získání parametru
Symboly blokůPotřebná licence: STANDARD
Popis funkce
Bloky GETPR, GETPI a GETPB slouží pro vzdálené získávání parametrů ostatních
bloků v modelu. Bloky mají identickou funkci, liší se pouze v typu parametru, který
získávají. Blok GETPR je pro reálné číslo, GETPI pro celé číslo a GETPB pro
Booleovskou hodnotu.
Bloky mohou pracovat ve dvou režimech, které se přepínají parametrem GETF. Pro GETF=off je hodnota výstupu y (nebo k, Y) nastavena na hodnotu vzdáleného parametru 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>. Rovněž je možné přistupovat k jednotlivým prvkům parametrů typu pole (např. parametr tout bloku ATMT). Toho se dosáhne pomocí hranatých závorek a čísla prvku, např. tedy .ATMT:touts[2], číslování je od 0, uvedený propojovací řetězec tedy odkazuje na třetí prvek pole.
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 daný blok GETPR (nebo GETPI, GETPB). V tomto případě text začíná znakem ’.’. Příklady hodnot relativních cest: ".GAIN:k", ".Motor1.Poloha:ycn".
- Relativní k tasku – začíná v základní úrovni tasku, do které je umístěn daný blok GETPR (nebo GETPI, GETPB). V tomto případě text začíná znakem ’%’. Příklady hodnot cest: "%GAIN:k", "%Motor1.Poloha:ycn".
- 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.lin1:u2", "&EfaDrv.mereni.DER1:n".
Poznámka 1: Od verze řídicího systému REXYGEN 2.7 došlo ke změně práce s absolutními a relativními cestami. Ve starších verzích měla absolutní cesta prefix ’́ a relativní cesta neměla prefix žádný. Ke změně bylo přistoupeno z důvodu sjednocení formátu cest s blokem SGSLP. Z důvodu maximální možné kompatibility se staršími verzemi je znak ’́ na začátku řetězců ignorován, je však doporučeno cesty aktualizovat.
Poznámka 2: Pokud se čte hodnota z jiné úlohy, je pro zajištění konzistence hodnoty nutné použít tzv. semafor a počkat na dokončení úlohy, ze které se hodnota čte. Po celou dobu čekání na dokončení je úloha s blokem GETPx pozastavena! Z praktického hlediska to znamená, že blok GETPx se musí umístit do úlohy, která trvá dlouho a číst hodnotu 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 SETPx v déletrvající úloze.
Poznámka 3: Pokud se použije více bloků GETPx pro čtení dat v jiném tasku, není zajištěno, že se všechny hodnoty přečtou v jedné periodě druhé úlohy. Je pouze zajištěno, že dříve provedený blok GETPx přečte hodnotu ze stejné nebo dřívější periody druhého tasku než později provedený blok SETPx. Pořadí spouštění je vidět v diagnostice programu REXYGEN Studio. Pokud je důležité přečíst všechny hodnoty ve stejné periodě, musí se přenášet pomocí bloků Inport a Outport nebo z hodnot vytvořit pole a číst je najednou blokem GETPA.
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 | Bool |
Výstupy
y | Hodnota parametru, výstup bloku GETPR | Double (F64) |
k | Hodnota parametru, výstup bloku GETPI | Long (I32) |
Y | Hodnota parametru, výstup bloku GETPB | Bool |
E | Příznak chyby | Bool |
|
|
|
Parametry
sc | Jméno vzdáleného parametru podle výše uvedených pravidel | String |
GETF | Zapnutí manuálního čtení vzdáleného parametru | Bool |
|
|
|
[Předchozí] [Na začátek] [Výše] [Další]
2023 © REX Controls s.r.o., www.rexygen.com