SGSLP – Nastavování, čtení, ukládání a načítání parametrů
Symbol blokuPotřebná licence: ADVANCED
Popis funkce
Blok SGSLP (z anglického Set, Get, Save and Load Parameters) je speciálním blokem pro
správu připojených parametrů jiných bloků v konfiguraci řídicího systému
REXYGEN. Blok pracuje i v systému Matlab-Simulink, jeho dosah je však omezen jen na
bloky téhož souboru .mdl, v němž je vložen.
Blok může pracovat až se šestnácti sadami parametrů, které jsou číslovány od 0 do 15 a volí se vstupem ips, aktuální počet sad je určen parametrem nps. Je-li vstup ips nepřipojen, pracuje blok se sadou . V každé sadě může být zkonfigurováno až 16 různých parametrů daných řetězcovými parametry sc0 až sc15, takže jeden blok SGSLP může pracovat s maximálně 256 parametry v řídicím systému REXYGEN. Je-li řetězec sc prázdný (nezadaný), není žádný parametr specifikován, jinak parametry sc mohou používat dvě syntaxe:
- <blok>:<param> – specifikují jeden blok se jménem blok s parametrem param. V tomto případě je použit tentýž blok a parametr pro všech nps sad parametrů.
- <blok>:<param><sep>…<blok>:<param> – v tomto případě je pro každou sadu parametrů ips uvažován obecně různý parametr, první dvojice <blok>:<param> odpovídá . Oddělovačem <sep> může být buď čárka nebo středník. Specifikovaných dvojic <blok>:<param> by mělo být právě nps. V případě, že jich je méně, a má se provést některá z operací (viz níže) se sadou, pro niž specifikace bloku a parametru chybí, požadovaná operace se neprovede.
Doporučuje se nepoužívat obě syntaxe v jednom SGSLP bloku, všech 16 řetězců sc by mělo mít stejný formát. První syntaxe se například používá při výrobě nps typů výrobků, kdy je třeba měnit mnoho parametrů pro každý typ výroby. Druhá syntaxe se obvykle používá pro ukládání uživatelsky definovaných parametrů na disk (viz operace SAVE níže). V tomto případě je žádoucí zajistit automatizované přepínání vstupu ips (např. pomocí bloku ATMT z knihovny LOGIC).
Pokud všechny bloky, jejichž parametry mají být nastavovány daným blokem SGSLP, leží v hierarchii bloků v nějakém subsystému nebo níže, lze výhodně použít řetězcový parametr broot, v němž se uvede jméno tohoto subsystému. Toto jméno se připojuje před každou specifikaci <blok> v parametrech sc. V případě, že je , je výsledek stejný, jako by parametr obsahoval cestu k subsystému, do nějž je daný blok SGSLP vložen (parametr se zadává bez uvozovek, ty jsou použity pouze v tomto textu pro zvýraznění jednotlivého znaku). Je-li hodnota parametru broot prázdná, musí každý výskyt <blok> v parametrech sc specifikovat úplnou cestu k bloku, v níž jsou jednotlivé hierarchické úrovně odděleny tečkami. Například tedy volba a zajišťuje propojení na blok CNR a jeho parametr ycn, který se nachází ve stejném subsystému jako blok SGSLP. Případně můžeme ponechat parametr broot prázdný a umístit znak ’.’ na začátek řetězce sc0. Bližší informace o cestách v systému REXYGEN jsou uvedeny u bloků GETPR a SETPR.
Blok SGSLP může při náběžné hraně (offon) na některém ze stejnojmenných vstupů provádět následující operace:
- SET – nastavit parametry dané množiny ips na hodnoty přivedené na vstupy u. V případě, že je parametr úspěšně nastaven, je na stejnou hodnotu nastaven i výstup y.
- GET – získat parametry dané množiny ips. V případě, že je parametr úspěšně získán, je jeho hodnota nastavena na výstup y.
- SAVE – uložit parametry dané množiny ips do souboru (tzv. stavový soubor) na cílovém zařízení. Parametry a formát souboru jsou popsány níže.
- LOAD – načíst parametry dané množiny ips ze souboru na cílovém zařízení. Kromě načtení parametrů při náběžné hraně vstupu LOAD se parametry sady ips0 načtou při inicializaci bloku v případě, že je hodnota parametru ips0 v rozsahu od 0 do . Parametry a formát souboru jsou popsány níže.
Operace LOAD a SAVE pracují se souborem na cílovém zařízení, jehož jméno je uvedeno v parametru fname. Práce s parametrem fname se řídí následujícími pravidly:
- Pokud jméno souboru neobsahuje příponu, přidává se automaticky přípona .rxs (ReX Status file).
- Při ukládání bude vytvářen záložní soubor se stejným jménem, avšak s příponou modifikovanou přidáním znaku ’~’ ihned za znak ’.’, např. pokud jméno souboru neobsahuje příponu, je přípona záložního souboru .~rxs.
- Cesta je relativní a je vztažena k adresáři s datovými soubory runtime jádra systému REXYGEN na cílovém zařízení. Data se typicky ukládají na pevný disk nebo flash disk nebo jiné médium, které po vypnutí a opětovném zapnutí zachovává soubory.
Data jsou příkazem SAVE ukládána do textového souboru, ze kterého jsou příkazem LOAD načítána zpět do bloku SGSLP. Pro každý parametr sc, , kde je maximální číslo, pro něž je parametr sc neprázdný řetězec, obsahuje soubor dva řádky ve tvaru:
- "<blok>:<param>", …, "<blok>:<param>"
- <hodnota>, …, <hodnota>
Jednotlivé položky "<blok>:<param>" jsou mezi sebou odděleny čárkami a jejich počet odpovídá parametru nps, obdobně to platí i o položkách <hodnota> obsahujících hodnotu parametru, jehož jméno je uvedeno ve stejné pozici v předchozím řádku. Poznamenejme, že pro má první z těchto dvou řádků vždy právě uvedený tvar (dvojice "<blok>:<param>" se opakuje nps-krát) a to i v případě, že parametr sc obsahuje jedinou dvojici <blok>:<param> (viz 1. syntaxe výše). Tato skutečnost umožňuje přecházet mezi oběma syntaxemi parametrů sc, aniž by musel být soubor upravován.
Při ukládání malého počtu hodnot můžete rovněž využít blok SILO.
Tento blok nepropaguje kvalitu signálu. Více informací je uvedeno v sekci 1.4.
Vstup
u0..u15 | Analogový vstupní signál | Double (F64) |
ips | Číslo sady parametrů (číslováno od 0) | Long (I32) |
SET | Přečtení vstupů a nastavení parametrů | Bool |
GET | Přečtení parametrů a nastavení výstupů | Bool |
SAVE | Uložení parametrů do souboru | Bool |
LOAD | Načtení parametrů ze souboru | Bool |
Parametr
nps | Počet sad parametrů 1 16 1 | Long (I32) |
ips0 | Číslo sady parametrů pro inicializaci bloku -1 15 | Long (I32) |
iprec | Počet platných číslic pro hodnoty typu double 2 15 12 | Long (I32) |
icolw | Šířka sloupce v souboru 0 22 | Long (I32) |
fname | Jméno souboru pro ukládání/načítání parametrů status | String |
broot | Kořenový prvek v hierarchii . | String |
sc0..sc15 | Seznam přiřazených parametrů | String |
Výstup
y0..y15 | Analogový výstupní signál | Double (F64) |
E | Příznak chyby | Bool |
|
|
|
iE | Chybový nebo varovný výstup | Long (I32) |
|
|
|
[Předchozí] [Na začátek] [Výše] [Další]
2024 © REX Controls s.r.o., www.rexygen.com