# sections

### Funkce:

Pokud hrozí překročení sjednaného odběru elektrické energie, odpojuje jednotlivé sekce podle zvolených priorit a tím zabezpečuje dodržení sjednaného odběru. Zobrazuje čas a odběr v probíhajícím maximu, předpoklad odběru za dobu trvání celého maxima a stav jednotlivých sekcí.

### Syntax:

       sections sections_name;
         timer = timer_name;
         owner = owner_name;
         position = integer, integer, integer, integer;
         win_disable = win_disable_list;
         win_title = string;
         access = integer;
         tab_select = integer;
         section_item
           name = name_section;
           priority = expression;
           kW = expression;
           state = boolean_expression;
           output = output_name;
         end_section_item;
         section_item
           name = name_section;
           priority = expression;
           kW = expression;
           state = boolean_expression;
           output = output_name;
         end_section_item;
         input_section
           sync = boolean_expression;
           time = expression;
           maximum_kW = expression;
           kWh = expression;
         end_input_section;
         par_file_name = file_name;
         duration = cardinal;
         history = cardinal;
         frame = integer;
       end_sections;

### Specifické parametry přístroje:

- section_item a end_section_item
  jsou klíčová slova, která uzavírají bloky parametrů jednotlivých sekcí přístroje sections. Počet opakování položky section_item není omezen.
- name
  obsahuje jméno sekce.
- priority
  obsahuje vstupní výraz určující prioritu sekce. Nejnižší priorita je 0, tato sekce bude odpojena jako první, nejvyšší priorita je 255, tato sekce nebude odpojena. Sekce se stejnou prioritou budou odpojovány v pořadí, ve kterém jsou uvedeny v seznamu sekcí. Výrazy určující prioritu sekcí jsou vyhodnoceny vždy při zachycení náběžné hrany synchronizačního impulsu přivedeného na vstup sync a po dobu trvání maxima zůstávají neměnné.
- kW
  obsahuje vstupní výraz určující výkon příslušné sekce. Hodnota výkonu je využívána pro rozhodnutí o odpojení sekce. (Pokud výkon sekce není měřen, lze použít výkon vypočtený z odběru přístrojem supply_meter, pokud ani ten není k dispozici, je nutné uvést konstantu.)
- state
  obsahuje logický vstupní výraz určující stav sekce (připojena, odpojena).
- output
  obsahuje jméno logické proměnné nebo kanálu, které slouží k připojení nebo odpojení sekce.
- input_section a end_input_section
  jsou klíčová slova uzavírající vstupní parametry přístroje.
- sync
  obsahuje logický výraz, který odpovídá čtvrthodinovému, resp. hodinovému synchronizačnímu impulsu. Přístroj reaguje na náběžnou hranu signálu. (Tento údaj poskytuje přístroj energetic_time na výstupu sync_15m, resp. sync_1h)
- time
  obsahuje numerický výraz, který udává čas v setinách sekundy od začátku sledovaného maxima. (Tento údaj poskytuje přístroj energetic_time na výstupu time_15m pro čtvrthodinu, resp. time_1h pro hodinu).
- maximum_kW
  obsahuje numerický výraz, který udává hodnotu maximálního průměrného výkonu (čtvrthodinového maxima). Výraz se vyhodnocuje při zachycení náběžné hrany signálu vyhodnocovaného výrazem sync, a po dobu trvání maxima zůstává stejný. (Tento údaj poskytuje přístroj diagram na výstupu maximum).
- kWh
  obsahuje numerický výraz, který udává odběr v probíhající čtvrthodině, resp. hodině. V okamžiku příchodu sychronizačního impulsu musí výraz obsahovat hodnotu celkového odběru v právě uplynulé čtvrthodině, resp. hodině. (Tento údaj poskytuje přístroj supply_meter na výstupu kWh_15m, resp. kWh_1h).
- par_file_name
  obsahuje jméno parametrického souboru. Parametrický soubor má následujćí strukturu:

              Sections
              ;        %    Priority     OffLast
                      60,         63,      FALSE,
                      70,        127,      FALSE,
                      80,        191,      FALSE,
                      90,        254,       TRUE,
              Off,    99,

  Na prvním řádku je slovo Sections, které je využíváno pro kontrolu typu souboru. Řádky začínající středníkem jsou poznámky, které lze použít pro lepší přehlednost souboru.
  Další řádky tvoří trojice údajů oddělených čárkami. První údaj udává procenta maximálního odběru, při jejichž dosažení bude proveden výběr sekcí, které budou odpojeny. Druhý údaj určuje maximální prioritu odpojovaných sekcí. To znamená, že v tomto okamžiku budou odpojeny sekce, které mají prioritu menší nebo rovnu této maximální prioritě. Prioritu lze uvádět v intervalu 0 až 254 (priorita 255 znamená, že tato sekce nebude odpojována). Třetí údaj je logická hodnota, která určuje, jestli při tomto výběru bude odpojeno tolik sekcí, aby se předpověď odběru dostala pod hranici maximálního odběru (hodnota parametru TRUE), nebo naopak sekce, jejíž odpojení by předpověd odběru dostalo pod hranici maximálního odběru již odpojena nebude (hodnota parametru FALSE). Těchto řádků může být libovolný počet a jejich definování umožňuje uživateli ovlivňovat průběh odpojování sekcí. Výběr odpojovaných sekcí je prováděn pouze při dosažení odběru (definován procenty maximálního odběru) specifikovaného v parametrickém souboru. To umožňuje uživateli určit četnost odpojování sekcí podle aktuálních podmínek (například doby odezvy mezi návrhem na odpojení sekce a poklesem odběru).
  Poslední řádek obsahuje slovo Off, a hodnotu v odběru v procentech maximálního odběru, při které budou odpojeny všechny sekce, které lze odpojit. Tuto hodnotu je nutné přizpůsobit zbytkovému výkonu, který nelze odpojit a době odezvy odpojovaných sekcí.
- duration
  numerická hodnota udávající dobu trvání maxima v sekundách. Musí odpovídat zvolenému synchronizačnímu impulsu. Počátek nového maxima je vždy odstartován náběžnou hranou synchronizačního impulsu.
- history
  počet hodnot, ze kterých bude počítán předpoklad odběru za celou dobu trvání maxima.
- frame
  určuje v kladných hodnotách hloubku a v záporných výšku okraje. Pokud frame není zadán, zobrazí se přístroj bez okraje.

### Poznámky:

- Vzhled přístroje:
- Odkazy na parametry jiných přístrojů uvedené v závorkách platí pro standardní zapojení energetických přístrojů. Při jiném zapojení je nutné dbát na zajištění správných hodnot parametrů a správnou synchronizaci energetických přístrojů.
- Implicitně jsou nastaveny parametry:
    duration = 900;
    history = 4;
    frame = 0;

### Příklad:

Příklad nastavení parametrů přístroje sections:

      sections Sections;
        timer = 1;
        owner = background;
        position = 10, 10, 270, 246;
        section_item
          name = 'Sec 1';
          priority = PriorSec1;
          kW = kW1;
          state = Sec1St;
          output = Sec1Out;
        end_section_item;
        section_item
          name = 'Sec 2';
          priority = PriorSec2;
          kW = kW2;
          state = Sec2St;
          output = Sec2Out;
        end_section_item;
        input_section
          sync = Sync;
          time = Time15m;
          maximum_kW = Maximum;
          kWh = kWh15m;
        end_input_section;
      end_sections;

### Nativní procedury přístroje

    Init()

Pro zajištění inicializace přístroje v přesně určeném pořadí mezi ostatními energetickými přístroji. Před inicializací přístroje musí být nastavena potřebná vstupní data přístroje (přístroje, které tato data nastavují, musí být inicializovány dříve). Ve standardním zapojení je volána pro všechny energetické přístroje přístrojem energetic_time podle pořadí uvedeného v seznamu sync_list. Pořadí přístrojů v seznamu sync_list je blíže vysvětleno v popisu přístroje energetic_time.

    Sync()

Pro zajištění reakce přístroje na synchronizační impuls v přesně určeném pořadí mezi ostatními energetickými přístroji. Před zavoláním nativní procedury `Sync()` musí být nastaven synchronizační impuls (Metoda `Sync()` synchronizační impuls nenastavuje! ). Před reakcí přístroje na synchronizační impuls musí být nastavena potřebná vstupní data přístroje (přístroje, které tato data nastavují, musí být zavolány dříve). Ve standardním zapojení je volána pro všechny energetické přístroje, podle pořadí uvedeného v seznamu sync_list, přístrojem energetic_time, který také předtím nastaví příslušný synchronizační impuls. Pořadí přístrojů v seznamu sync_list je blíže vysvětleno v popisu přístroje energetic_time.

### Událostní procedury přístroje

Přístroj může volat standardní událostní procedury:

    OnActivate()
    OnShow()
    OnHide()
    OnNewPosition( RectX, RectY, RectW, RectD : integer )
    OnWindowMinimize()
    OnWindowMaximize()
    OnWindowRestore( WasMinimized, WasMaximized : boolean )
    OnWindowClose()

Podrobnější informace k těmto procedurám lze nalézt v kapitole Programování a procedury.