# hour_table

### Funkce:

Zobrazuje činný a jalový odběr v jednotlivých čtvrthodinách a hodinový odběr. Hodnoty lze každou hodinu archivovat pomocí přístroje archiver.

### Syntax:

      hour_table hour_table_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;
        input_section
          kWh = expression;
          kVArh = expression;
          sync_15m = boolean_expression;
          hour = expression;
          minute = expression;
          second = expression;
        end_input_section;
        output_section
          kWh_1 = output_name;
          kWh_2 = output_name;
          kWh_3 = output_name;
          kWh_4 = output_name;
          kWh_hour = output_name;
          kVArh_1 = output_name;
          kVArh_2 = output_name;
          kVArh_3 = output_name;
          kVArh_4 = output_name;
          kVArh_hour = output_name;
        end_output_section;
        frame = integer;
        hour_receivers = name_list;
      end_hour_table;

### Specifické parametry přístroje:

- input_section a end_input_section
  jsou klíčová slova uzavírající vstupní parametry přístroje.
- kWh
  obsahuje numerický výraz, který udává činný odběr v probíhající čtvrthodině. V okamžiku příchodu synchronizačního impulsu musí výraz obsahovat hodnotu celkového odběru v právě uplynulé čtvrthodině. (Tento údaj poskytuje přístroj supply_meter na výstupu kWh_15m.)
- kVArh
  obsahuje numerický výraz, který udává jalový odběr v probíhající čtvrthodině. V okamžiku příchodu synchronizačního impulsu musí výraz obsahovat hodnotu celkového odběru v právě uplynulé čtvrthodině. Pokud není tento výraz uveden, změní se vzhled tabulky tak, že bude zobrazovat pouze údaje týkající se činného odběru. (Tento údaj poskytuje přístroj supply_meter na výstupu kVAh_15m.)
- sync_15m
  obsahuje logický výraz, který odpovídá čtvrthodinové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.)
- hour
  obsahuje numerický výraz, který udává hodinu energetického času (0-23). (Tento údaj poskytuje přístroj energetic_time na výstupu hour.)
- minute
  obsahuje numerický výraz, který udává minutu energetického času (0-59). (Tento údaj poskytuje přístroj energetic_time na výstupu minute.)
- second
  obsahuje numerický výraz, který udává sekundu energetického času (0-23). (Tento údaj poskytuje přístroj energetic_time na výstupu second.)
- output_section a end_output_section
  jsou klíčová slova uzavírající výstupní parametry přístroje.
- kWh_1
  obsahuje jméno proměnné nebo kanálu, kam se bude zapisovat hodnota činného odběru v první čtvrthodině.
- kWh_2
  obsahuje jméno proměnné nebo kanálu, kam se bude zapisovat hodnota činného odběru ve druhé čtvrthodině.
- kWh_3
  obsahuje jméno proměnné nebo kanálu, kam se bude zapisovat hodnota činného odběru ve třetí čtvrthodině.
- kWh_4
  obsahuje jméno proměnné nebo kanálu, kam se bude zapisovat hodnota činného odběru ve čtvrté čtvrthodině.
- kWh_hour
  obsahuje jméno proměnné nebo kanálu, kam se bude zapisovat hodnota činného hodinového odběru.
- kVArh_1
  obsahuje jméno proměnné nebo kanálu, kam se bude zapisovat hodnota jalového odběru v první čtvrthodině.
- kVArh_2
  obsahuje jméno proměnné nebo kanálu, kam se bude zapisovat hodnota jalového odběru ve druhé čtvrthodině.
- kVArh_3
  obsahuje jméno proměnné nebo kanálu, kam se bude zapisovat hodnota jalového odběru ve třetí čtvrthodině.
- kVArh_4
  obsahuje jméno proměnné nebo kanálu, kam se bude zapisovat hodnota jalového odběru ve čtvrté čtvrthodině.
- kVArh_hour
  obsahuje jméno proměnné nebo kanálu, kam se bude zapisovat hodnota jalového hodinového odběru.
- 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.
- hour_receivers
  seznam přístrojů, které dostanou zprávu po naplnění tabulky, to je na začátku nové hodiny. (Lze použít pro archivování hodnot pomocí nečasovaného přistroje archiver.)

### 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:
    frame = 0;

### Příklad:

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

      hour_table HourTable;
        timer = 1;
        owner = background;
        position = 10, 10, 293, 161;
        input_section
          kWh = kWh15m;
          kVArh = kVAh15m;
          sync_15m = Sync;
          hour = Hour;
          minute = Minute;
          second = Sec;
        end_input_section;
        output_section
          kWh_1 = kWh1;
          kWh_2 = kWh2;
          kWh_3 = kWk3;
          kWh_4 = kWh4;
          kWh_hour = kWh;
        end_output_section;
        hour_receivers = Archiver;
      end_hour_table;

### 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.