Správné časování přístrojů je v aplikacích systému Control Web klíčové pro plynulý běh aplikace i pro správnou
aktualizaci zobrazovaných hodnot. V rozsáhlejších aplikacích není vždy
možné neustále číst z technologie všechna data. Proto bývá aplikace
zpravidla navržená tak, aby nepřetržitě četla pouze hodnoty, které
jsou potřeba pro archivaci nebo kontrolu poruch. Ostatní hodnoty se
čtou podle toho, kterou část aplikace si uživatel prohlíží. K tomu se
zpravidla používá speciální časovací přístroj
selector.
Pokud takovou aplikaci rozšíříme o webové rozhraní, může v jeden
okamžik prohlížet aplikaci několik uživatelů. Každý uživatel si může
prohlížet jiný panel a ten, v některých případech, není v serverové
aplikaci zobrazený a hodnoty tedy nejsou aktualizované.
V předchozích verzí systému Control Web bylo
jediným řešením doprogramovat do přístroje httpd (web
server) aktivaci přístrojů na panelech, které požadují vzdálení
uživatelé z webových aplikací. Pokud v nové verzi systému
Control Web vygenerujeme aplikaci Průvodcem pro
vytvoření webového rozhraní aplikace, stačí pouze v druhém kroku
povolit aktivaci přístrojů podle požadavků z webové aplikace (viz obr)
a generátor při vytváření httpd přístroje doplní
potřebný kód a parametry.
Při každém obnovení některého panelu ve webové aplikaci aktivuje
procedura v přístroji httpd všechny přístroje na tomto
panelu. Pokud by stejný panel prohlíželo několik webových klientů,
vygenerovaná procedura zajistí, aby perioda aktivace nebyla menší než
nastavená při generování aplikace.
procedure RefreshPanel( idx : cardinal; period : real; p : instrument );
var
jd : real;
begin
jd := date.GetDateTimeJD();
if jd > PanelLastRefreshTime[idx] + period then
PanelLastRefreshTime[idx] = jd;
p->ActivateAllInstruments();
end;
end_procedure;
Generovaný kód využívá ukazatelů na přístroje, které byly
do systému Control Web doplněny ve verzi
8.
|