# Modelový ovladač

Modelový ovladač slouží jako náhrada reálné soustavy při testování správné funkce řídícího programu, zvláště pak regulačních obvodů. Jméno souboru ovladače je 'model.dll'

## Kanály ovladače

Protože modelový ovladač slouží pro testování jak PID regulátorů, tak i pro testování dvoustavových regulátorů a krokových regulátorů, můžete na jeho vstupy připojit akční zásahy všech tří regulátorů. Schéma zapojení je následující:

1. PID regulátor:
2. dvoustavový regulátor:
3. krokový regulátor:

Z předchozích schémat vyplývá, že:

- kanál č.1 - slouží k připojení analogového výstupu PID regulátoru
- kanál č.2 - slouží pro připojení binárního výstupu dvoustavového regulátoru
- kanál č.3 - slouží pro připojení záporného binárního výstupu krokového regulátoru
- kanál č.4 - slouží pro připojení kladného binárního výstupu krokového regulátoru
- kanál č.5 - slouží pro výstup matematicky vypočítané hodnoty regulované veličiny

Na jeden modelový ovladač může být připojen pouze jeden regulátor; tzn. že akční zásah nemůže být přiveden na kanály č.1 a č.2 současně.

Regulovaná veličina je počítána podle následující rovnice:

      y(k) = + [b1 * u(k-1) - a1 * y(k-1)]
             + [b2 * u(k-2) - a2 * y(k-2)]
             + [b3 * u(k-3) - a3 * y(k-3)]
             + ...

kde
  y(k) - hodnota regulované veličiny
  y(k-1) - hodnota regulované veličiny 1 regulační krok stará
  y(k-2) - hodnota regulované veličiny 2 regulační kroky stará
  u(k-1) - hodnota akčního zásahu 1 regulační krok stará
  u(k-2) - hodnota akčního zásahu 2 regulační kroky stará
  ai, bi - koeficienty diferenční rovnice
  k - řád soustavy

Jak je zřejmé z rovnice výpočtu regulované veličiny, závisí její hodnota na velikosti akčního zásahu a na předchozích hodnotách regulované veličiny a akčního zásahu. Jednotlivé koeficienty ai, bi popisují vlastní regulovanou soustavu (např. jak rychle se projeví změna akčního zásahu na hodnotě regulované veličiny; popř. jak velkou má soustava setrvačnost apod.) a budou vysvětleny později.

Pro názornost si zobrazme modelovanou regulovanou soustavu následujícím schématem:

Velikost akčního zásahu je počítána pouze u PID regulátoru a je přímo jeho výstupem. Naopak dvoustavový a krokový regulátor dávají pouze pomocí svého logického výstupu signál, jaká úroveň akčního zásahu má do soustavy vstupovat. Velikost těchto úrovní si však musíte nadefinovat přímo v modelovém ovladači. Tento způsob je analogií skutečnosti, kdy např. dvoustavový regulátor dá pouze signál k sepnutí relé a pomocí tohoto relé je pak do regulované soustavy přivedena odpovídající hodnota akčního zásahu.

Dá-li dvoustavový regulátor signál k sepnutí relé, je do regulované soustavy přiveden akční zásah. Právě velikost tohoto akčního zásahu musíte v modelovém ovladači nadefinovat.

Jak tedy vyplývá z předchozího, pro kanál č.2, což je vstup dvoustavového regulátoru, musíte nadefinovat hodnoty akčního zásahu, které odpovídají logické 0 a logické 1 tohoto kanálu.

Pro kanály č.3 a č.4, což jsou odečítací a přičítací vstupy krokového regulátoru, musíte nadefinovat minimální a maximální hodnotu akčního zásahu a počet kroků mezi těmito hodnotami. Modelový ovladač si poté již sám určí velikost jednoho kroku, který je při aktivaci příslušného kanálu buď přičítán nebo odčítán od právě aktuální hodnoty akčního zásahu. Je-li hodnota akčního zásahu již na minimu a regulátor chce tuto hodnotu dále snižovat (kanál č.3 je aktivován), je tento požadavek pochopitelně ignorován. Totéž platí při dosažení maxima akčního zásahu a aktivaci kanálu č.4. Také toto je analogií skutečnosti, kdy např. krokový ventil nereaguje na řídící signály, je-li v jedné ze svých koncových poloh a má se pootočit za tyto krajní polohy.

## Mapovací soubor ovladače

Tak jako každý ovladač má i modelový ovladač svůj mapovací soubor. Standardní tvar mapovacího souboru 'model.dmf' je následující:

      begin
        1 real output
        2 boolean output
        3 boolean output
        4 boolean output
        5 real input
      end

## Parametrický soubor ovladače

Jako každý ovladač, má i modelový ovladač svůj parametrický soubor, jehož název musíte uvést při definici daného ovladače. Parametrický soubor má následující strukturu:

      begin
        param_type          LT_1
        param_k             5.0
        param_T1            0.2
        noise               0.0
        boolean_range_low   0.0
        boolean_range_high  2.0
        step_range_low      0.0
        step_range_high     2.0
        step_number         7.0
      end

Parametry začínající klíčovým slovem param_ popisují vlastnosti regulované soustavy a budou vysvětleny později.

Parametr noise - zašumění - slouží k tomu, abychom výstup regulované veličiny přiblížili skutečnosti, kdy hodnota regulované veličiny nemá přesně tvar matematické křivky, ale je zatížena určitými poruchami a nepřesnostmi měření. Zadáte-li proto hodnotu parametru noise různou od nuly, je k matematicky vypočítané hodnotě regulované veličiny připočítána náhodná porucha z intervalu <-noise, noise>.

Parametry boolean_range_low a boolean_range_high určují hodnotu akčního zásahu kanálu č.2 (vstup dvoustavového regulátoru) pro hodnotu jeho logické 0 a logické 1 (viz výše):

- boolean_range_low - hodnota akčního zásahu pro vypnuto (vstup č.2 má hodnotu logické 0)
- boolean_range_high - hodnota akčního zásahu pro zapnuto (vstup č.2 má hodnotu logické 1)

Obdobně jako parametry step_range_low, step_range_high a step_number slouží pro definování velikosti akčního zásahu u vstupu č.3 a č.4; tzn. u vstupu krokového regulátoru.

- step_range_low - minimální hodnota akčního zásahu
- step_range_high - maximální hodnota akčního zásahu
- step_number - počet kroků mezi minimem a maximem akčního zásahu

Zbývá tedy ještě popsat způsob definování vlastností regulované soustavy. Při popisu regulované soustavy vycházíme z toho, že každou reálnou soustavu můžeme popsat spojitým Laplaceovým přenosem. Z tohoto spojitého Laplaceova přenosu si pak modelový ovladač sám pomocí diskrétní Z-transformace určí koeficienty ai a bi, které pak v diferenční rovnici použije pro výpočet hodnoty regulované veličiny. V popisovém souboru proto stačí zadat pouze kód Laplaceova přenosu a jeho parametry. V současné době umožňuje modelový ovladač volbu z následujících základních Laplaceových transformací:

Laplaceův přenos:

LT_1 - 1. řád
  F(p) = k * 1 / (T1p + 1)
LT_p1 - 2. řád
  F(p) = k * 1 / p(T1p + 1)
LT_11 - 2. řád
  F(p) = k * 1 / (T1p + 1)
LT_12 - 2. řád
  F(p) = k * 1 / ((T1p + 1) * (T2p + 1))
LT_11K - 2. řád
  F(p) = k * 1 / (T1p + 2T1p + 1)
LT_111 - 3. řád
  F(p) = k * 1 / (T1p + 1)
LT_123 - 3. řád
  F(p) = k * 1 / ((T1p + 1)(T2p + 1)(T3p + 1))
LT_1234 - 4. řád
  F(p) = k * 1 / (T1p + 1)

Každý popis má několik parametrů:

1. k - jedná se o zesílení přenosu a obsahuje ho každý přenos. V parametrickém souboru má následující zápis

                 param_k    5.0

2. Ti - časové konstanty přenosu: každý přenos má minimálně jednu a maximálně 4 časové konstanty, jejichž počet je zřejmý z popisu jednotlivých přenosů. Zápis v parametrickém souboru je následující:

                 param_T1   0.2
                 param_T2   0.1
                 ...

   Počet časových konstant musí přesně odpovídat kódu Laplaceova přenosu a žádné dvě časové konstanty nemohou být shodné.

3. ksi - koeficient poměrného tlumení u kmitavých soustav. Může nabývat hodnotu z intervalu <0, 1>:

                 param_ksi  0.23

   Je-li poměrné tlumení rovno 0, soustava vykazuje netlumené kmity, naopak rovná-li se poměrné tlumení 1, soustava nekmitá.

Při běhu vytvořené aplikace je vlastní modelový ovladač minimalizován do tvaru ikony. Pokud vyvoláte kliknutím levého tlačítka myši okno modelového ovladače, můžete pomocí menu modifikovat jeho parametry.

Okno modelového ovladače