Dovoluje řídit hlídací obvod několika způsoby. Jako běžný ovladač
systému Control Web, přes procedurální rozhraní DLL
nebo jako Active X komponenta. Jméno
knihovny ovladače je 'DLWDD.DLL'.
Vlastnosti ovladače
Obsahuje rozhraní pro zařazení do systému Control Web jako jeho nativní ovladač.
Obsahuje procedurální rozhraní — soubor funkcí — pro použití
z uživatelského programu (C++, Basic, Pascal, ...).
Obsahuje Active X komponentu
pro zabudování do uživatelského programu. Popis Active X rozhraní je umístěn do samostatného
dokumentu.
Seznam sekcí: - Vlastnosti ovladače
- Činnost ovladače
- Ovladač pro Control Web
- Procedurální rozhraní DLL
Činnost ovladače
Počítače DataLab PC jsou vybaveny
hlídacím obvodem (watchdog), pro zvýšení spolehlivosti činnosti
řídicího programu. Pomáhá ošetřit případy, kdy se řídicí program
dostane do nežádoucího stavu (kritická chyba, nekonečná smyčka)
vlivem chyby programátora nebo jiné neočekávané chyby.
Watchdog je nejprve nutné aktivovat. Poté obvod očekává
periodickou signalizaci od běžící aplikace. Jestliže
z nějakého důvodu signalizace selže, hlídací obvod restartuje
počítače. Perioda signalizace se dá měnit s krokem
0,1 s, maximální
perioda je více jak 6500 s. Aplikace
watchdog opět deaktivuje při svém ukončení.
Ovladač pro Control Web
Z aplikace systému Control Web je možno
řídit hlídací obvod buď zápisem na kanál nebo voláním procedury
ovladače.
Kanály ovladače
Ovladač má jediný kanál (č.1), pomocí kterého se nastavuje
spouštěcí interval hlídacího obvodu a současně se hlídací
obvod znovu aktivuje. Zapisovaná hodnota udává dobu, po jejímž
uplynutí bude počítač restartován, jestliže nedojde
k nové aktivaci hlídacího obvodu. Hodnota se zadává
v sekundách. Rozlišení je 0,1 s. Minimální délka intervalu je 0.1 s,
maximální délka intervalu je 6553.5 s. Zápis hodnoty 0 způsobí
vypnutí hlídacího obvodu.
Procedury ovladače
Aplikace může volat ovladači určité procedury, pomocí nichž
je možno řídit chování ovladače nebo získat důležité
informace. To se děje prostřednictvím systémové procedury:
system.DriverQueryProc( DriverName : string; Param1 : any; &Param2 : any )
Její parametry mají následující význam: Parametr | Význam |
---|
DriverName | symbolické jméno ovladače, definované v
aplikaci, | Param1 | slouží k zadání povelu (jména procedury
ovladače), | Param2 | je použit jako parametr procedury nebo návratová
hodnota procedury. |
DriverName a Param1 se zadávají
jako textové řetězce. Param2 je různého typu
podle významu procedury.
Přehled a význam jednotlivých procedur ovladače (parametr Param1)
- SetTimeout
-
Procedura funguje podobně jako kanál č. 1. Pro aktivaci hlídacího obvodu je
třeba periodicky volat tuto proceduru. Parametr Param2
obsahuje dobu v sekundách, po které bude počítač
restartován, když nedojde k opětovné aktivaci
hlídacího obvodu. Rozlišení je
0,1 s.
Zápis hodnoty 0 způsobí vypnutí hlídacího obvodu.
Mapovací soubor ovladače a datové typy
Mapovací soubor obsahuje definici typu kanálu ovladače a
jeho obsah by se neměl měnit:
begin
1 real output
end.
Procedurální rozhraní DLL
Procedurální rozhraní je možné použít z uživatelského
programu, vytvořeného v některém z jazyků C/C++, Basic,
Pascal a podobně. Vlastností jazyka musí být možnost načtení
dynamicky linkované knihovny (DLL) a volání jejích funkcí.
Ovladač watchdog je implementován v knihovně
'dlwdd.dll'. Tato knihovna vyváží následující symboly
(funkce) pro práci s hlídacím obvodem: Connect | Funkce pro připojené hlídacího obvodu. Jestliže
hlídací obvod není k dispozici, vrátí hodnotu False.
V opačném případě vrací hodnotu True. | Disconnect | Funkce odpojí hlídací obvod. Tato funkce nemá návratovou
hodnotu. | IsConnected | Funkce vrátí stav připojení k hlídacímu obvodu.
Hodnota True znamená, že hlídací obvod je
připojen. | SetTime | Funkce aktivuje hlídací obvod. Parametr udává dobu, po
jejímž uplynutí bude počítač restartován, jestliže nedojde
k nové aktivaci hlídacího obvodu. Hodnota se zadává
v sekundách. Rozlišení je 0,1 s. Zápis hodnoty 0 způsobí vypnutí hlídacího
obvodu. Funkce vrátí hodnotu True, jestliže se
podařila. |
Definice funkcí pro jazyk C/C++:
BOOL __stdcall Connect()
void __stdcall Disconnect()
BOOL __stdcall IsConnected()
BOOL __stdcall SetTime(float wt)
Příklad použití v jazyce Visual Basic:
Public Declare Function Connect Lib "dlwdd.dll" () As Long
Public Declare Sub Disconnect Lib "dlwdd.dll" ()
Public Declare Function IsConnected Lib "dlwdd.dll" () As Long
Public Declare Function SetTime Lib "dlwdd.dll" (ByVal Time As Single) As Long
|