energetic_time
Funkce:
Zajištění synchronizace času pro skupinu energetických přítstrojů s vnějšími
synchronizačními impulsy a synchronizace ostatních energetických přístrojů.
Na výstupech poskytuje hodnoty energetického času, data, čas v právě probíhající
čtvrthodiné a hodině a čtvrthodinový a hodinový synchronizační signál. Další
přístroje je vhodné napojit na tyto synchronizační signály, protože jsou nastavovány
i při nezachycení vnějšího synchronizačního signálu. Po spuštění se přístroj
inicializuje časem a datem z počítače. Při zachycení náběžné hrany vnějšího
synchronizačního signálu se nastaví na nejbližší čtvrthodinu.
Po změně času v systému Control Web se po zachycení
náběžné hrany vnějšího synchronizačního signálu se nastaví na nejbližší
čtvrthodinu nového času.
Syntax:
energetic_time energetic_time_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;
ext_sync_15m = boolean_expression;
time_out = cardinal;
output_section
sync_15m = output_name;
sync_1h = output_name;
hour = output_name;
minute = output_name;
second = output_name;
year = output_name;
month = output_name;
day = output_name;
day_in_week = output_name;
time_15m = output_name;
time_1h = output_name;
end_output_section;
height_of_frame = integer;
sync_list = name_list;
receivers = name_list;
end_energetic_time;
Specifické parametry přístroje:
- ext_sync_15m
obsahuje logický výraz, který odpovídá vnějšímu čtvrthodinovému synchronizačnímu
signálu. Přístroj reaguje na náběžnou hranu synchronizačního signálu.
- time_out
numerická hodnota, která udává v sekundách čas, o který může být překročena doba
trvání čtvrthodinového maxima. Pokud není zachycen vnějši synchronizační signál,
po uplynutí této doby přístroj jej vyšle sám.
- output_section a end_output_section
jsou klíčová slova uzavírající výstupní parametry přístroje.
- sync_15m
obsahuje jméno logické proměnné nebo kanálu, kam je zapisována hodnota
čtvrthodinového sychronizačního signáĺu. Slouží pro připojení ostatních
energetických přístrojů, ktreré pracují se čtvrthodinovým maximem
(supply_meter,
maximum_graph,
sections,
hour_table,
diagram).
- sync_1h
obsahuje jméno logické proměnné nebo kanálu, kam je zapisována hodnota hodinového
sychronizačního signáĺu. Slouží pro připojení ostatních energetických přístrojů,
které pracují s hodinovým maximem (supply_meter,
maximum_graph).
- hour
obsahuje jméno proměnné nebo kanálu, kam je zapisována hodina energetického času.
- minute
obsahuje jméno proměnné nebo kanálu, kam je zapisována minuta energetického času.
- second
obsahuje jméno proměnné nebo kanálu, kam je zapisována sekunda energetického času.
- year
obsahuje jméno proměnné nebo kanálu, kam je zapisován rok energetického data.
- month
obsahuje jméno proměnné nebo kanálu, kam je zapisován měsíc energetického data.
- day
obsahuje jméno proměnné nebo kanálu, kam je zapisován den energetického data.
- day_in_week
obsahuje jméno proměnné nebo kanálu, kam je zapisován den v týdnu energetického
data.
- time_15m
obsahuje jméno poměnné nebo kanálu, kam je zapisován čas v aktuální čtvrthodině.
Tento čas běží od nastavení čtvrthodinového synchronizačního signálu.
- time_1h
obsahuje jméno poměnné nebo kanálu, kam je zapisován čas v aktuální hodině. Tento
čas běží od nastavení hodinového synchronizačního signálu.
- 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.
- sync_list
seznam přístrojů, které jsou synchronizovány voláním nativních procedur. Při použití
energetických přístrojů záleží na přesném pořadí akcí jednotlivých přístrojů,
zvláště při inicializaci a při zachycení synchronizačního impulsu.
(Nejprve zachytí vnější synchronizační impuls přístroj energetic_time,
který nastaví synchronizační signály pro ostatní přístroje, nastaví čas ve
čtvrthodině a hodině. Potom musí být zavolány všechny přístroje
supply_meter, které nastaví odběry ve čtvrthodině
a hodině. Následuje zavolání přístroje diagram,
který nastaví hodnotu maxima a technického maxima. Poté musí být zavolány ostatní
energetické přístroje, které se již vzájemně neovlivňují.)
Při standardním zapojení zajišťuje tuto synchronizaci přístroj energetic_time
voláním nativních procedur Init() a Sync() ostatním
energetickým přístrojům. Volání těchto metod je uživateli skryto. Je pouze nutné
zapsat do seznamu přístrojů sync_list ostatní energetické přístroje
v přesném pořadí. Pro standardní zapojení je doporučeno následující pořadí:
- - všechny přístroje supply_meter použité
v aplikaci;
- - všechny přístroje diagram použité v aplikaci;
- - všechny přístroje hour_table použité
v aplikaci;
- - všechny přístroje sections použité
v aplikaci;
- - všechny přístroje maximum_graph použité
v aplikaci;
Zadáním tohoto seznamu je zajištěno, že bude po inicializaci přístroje
energetic_time bude všem energetickým přístrojům zavolána nativní procedura
Init(), která zajistí inicializaci přístrojů a při zachycení
vnějšího synchronizačního impulsu přístroj energetic_time a po nastavení
jeho výstupů bude zavolána všem energetickým přístrojům nativní procedura Sync().
Tím je zajištěna správná funkce všech energetických přístrojů.
Od verse 1.01 lze do tohoto seznamu zařadit také přístroj
program, který lze použít pro řešení
netypických problémů. Při inicializaci, kdy je energetickým přístrojům v tomto
seznamu volána nativní procedura Init(), je přístroji program
volána nativní procedura Run(). Tato metoda je volána také při
synchronizaci, kdy je energetickým přístrojům volána nativní procedura Sync().
Přístroj program může tato volání rozlišit voláním nativních procedur přístroje
energetic_time. Pokud je metoda Run() volána při inicializaci,
vrací nativní procedura IsInit( boolean ) příslušného přístroje
energetic_time hodnotu TRUE, ve všech ostatních případech tato metoda vrací
hodnotu FALSE. Pokud je metoda Run() volána při synchronizaci,
vrací nativní procedura IsSync( boolean ) příslušného přístroje
energetic_time hodnotu TRUE, ve všech ostatních případech tato metoda
vrací hodnotu FALSE.
- receivers
seznam přístrojů, které dostanou zprávu při změně hodnoty synchronizačního signálu.
Poznámky:
- Vzhled přístroje:
- Implicitně jsou nastaveny parametry:
- frame = 0;
Příklad:
Příklad nastavení parametrů přístroje energetic_time:
energetic_time EnergTime;
timer = 1;
owner = background;
position = 10, 10, 166, 78;
ext_sync_15m = ExtSync;
time_out = 60;
output_section
sync_15m = Sync;
sync_1h = Sync1h;
hour = Hour;
minute = Minute;
second = Sec;
year = Year;
month = Month;
day = Day;
day_in_week = DayInWeek;
time_15m = Time15m;
time_1h = Time1h;
end_output_section;
height_of_frame = 0;
sync_list = Sec1SupplyMeter, Sec2SupplyMeter, TechSupplyMeter, Diagram,
HourTableSec1, HourTableSec2, HourTableTech, Sections,MaxGraph;
end_energetic_time;
Nativní procedury přístroje
IsInit( BOOLEAN )
IsSync( BOOLEAN )
tyto procedury jsou zařazeny od verse 1.01 a slouží přístroji
program, který je zařazen do seznamu
sync_list k určení, jestli byl volán z tohoto seznamu. Bližší vysvětlení
použití těchto procedur naleznete v popisu parametru sync_list tohoto
přístroje (viz výše).
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.