# diagram

### Funkce:

Nastavení hodnoty maxima a technického maxima podle odběrového diagramu a nastaveného regulačního stupně.

### Syntax:

      diagram diagram_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
          sync = boolean_expression;
          reg_rate = expression;
          hour = expression;
          minute = expression;
          day = expression;
          month = expression;
          day_in_week = expression;
        end_input_section;
        output_section
          maximun_kW = output_name;
          t_maximun_kW = output_name;
        end_output_section;
        look = look_list;
        frame = integer;
      end_diagram;

### Specifické parametry přístroje:

- 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)
- reg_rate
  obsahuje výraz, který odpovídá regulačnímu stupni. Hodnota výrazu 0 odpovídá regulačnímu stupni 6 atd. Pokud není výraz uveden, lze regulační stupeň nastavovat přímo na přístroji.
- hour
  obsahuje výraz, který určuje hodinu energetického času. (Tento údaj poskytuje přístroj energetic_time na výstupu hour)
- minute
  obsahuje výraz, který určuje minutu energetického času. (Tento údaj poskytuje přístroj energetic_time na výstupu minute)
- day
  obsahuje výraz, který určuje den energetického data. (Tento údaj poskytuje přístroj energetic_time na výstupu day)
- month
  obsahuje výraz, který určuje měsíc energetického data. (Tento údaj poskytuje přístroj energetic_time na výstupu month)
- day_in_week
  obsahuje výraz, který určuje den v týdnu energetického data. (Tento údaj poskytuje přístroj energetic_time na výstupu day_in_week)
- output_section a end_output_section
  jsou klíčová slova uzavírající výstupní parametry přístroje.
- maximun_kW
  jméno proměnné nebo kanálu, kam je zapisováma hodnota maximálního průměrného výkonu v kW.
- t_maximun_kW
  jméno proměnné nebo kanálu, kam je zapisováma hodnota technického maxima v kW.
- look
  obsahuje seznam zobrazovaných částí přístroje. Seznam je tvořen následujícími klíčovými slovy oddělenými čárkami:
    power - zobrazení maxima
    rate - zobrazení regulačního stupně
- 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:
    look = power, rate;
    frame = 0;

### Příklad:

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

      diagram Diagram;
        timer = 1;
        owner = background;
        position = 10, 10, 233, 280;
        input_section
          sync = Sync;
          hour = Hour;
          minute = Minute;
          day = Day;
          month = Month;
          day_in_week = DayInWeek;
        end_input_section;
        output_section
          maximum_kW = Maximum;
          t_maximum_kW = TMaximum;
        end_output_section;
        look = power, rate;
      end_diagram;

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