4.3 Přímé ovládání periférií

Charakteristika:
  • aplikace jednorázově čte hodnotu datového vstupu nebo zapisuje hodnotu datového výstupu
 
Doporučení: Aplikační program by měl v uvodu inicializovat všechny použité I/O periferie do potřebných režimů a nastavit vhodné počáteční hodnoty.


Nastavení hodnoty analogového výstupu

Lze provést funkcí Td_Set_AO. Funkce umožňuje jedním voláním nastavit i více analogových výstupů najednou (lze použít například při počáteční inicializaci zařízení).


Nastavení hodnot digitálních výstupů

Lze provést funkcí Td_Set_DO. Funkce umožňuje jedním voláním nastavit i více analogových výstupů najednou (lze použít například při počáteční inicializaci zařízení).
Upozornění: Pro vybraná zařízení je třeba nastavit směr digitálních portů v administračním programu nebo funkcí: Td_Set_Parameters.


Zjištění hodnot digitálních vstupů

Lze provést funkcí Td_Get_DI.
Upozornění: Pro vybraná zařízení je třeba nastavit směr digitálních portů v administračním programu nebo funkcí: Td_Set_Parameters.


Práce s čítači

Datovou komunikaci s čítači zajišťují funkce:

Td_Set_Counter_Parameters
Td_Save_Counter_Parameters

Td_Load_Counter
Td_Get_Counter

Td_Load_Counter_Status
Td_Get_Counter_Status

Td_Set_Counter
Td_Save_Counter

Všechny uvedené funkce jsou párové a jejich parametry kopírují skutečné možnosti čítače. Kombinace dvou funkcí umožňuje současné nastavení parametrů do zařízení, resp. současné zjištění dat a stavových informací.
DLL knihovna obsahuje interní vyrovnávací datové zásobníky. Sada funkcí "Save/Load" přenáší data mezi zásobníky a zařízením z důvodu synchronního nebo kvazisynchronního zpracování, sada funkcí "Set/Get" pak přenáší data mezi zásobníky a aplikací bez nároků na časování nebo synchronizaci operací.
Kromě funkcí pro datovou komunikaci jsou implementovány speciální funkce pro spouštění a zastavování čítačů:

Td_Save_StartStop_Counter
Td_Start_Counter
Td_Stop_Counter

Struktura "Start/Stop" funkcí je analogická datovým funkcím popsaným v předešlých odstavcích.
Podrobně viz obrázek uvedený dále.


Práce s obvodem pro zachycení hodnot čítačů externím signálem

Obvody čítačů některých zařízení obsahují sadu registrů pro zachycení aktuálních hodnot čítačů externím digitálním signálem.
Povolení činnosti tohoto obvodu
Je provedeno kombinací funkcí Td_Set_Counter_Parameters pro parametr 12 vybraná hodnota 1 a funkce Td_Save_Counter_Parameters pro uložení informace do měřicího zařízení.

Načtení hodnot
Hodnota z těchto registrů se zpracovává standardním způsobem pomocí funkce Td_Load_Counter s parametrem source nastaveným na hodnotu 1 a následně funkcí Td_Get_Counter s parametrem source nastaveným na hodnotu 1.

Informace o zachycení hodnoty čítačů
Podmínkou korektního zpracování hodnot čítačů zachycených externím signálem je vyhodnocení informace o zachycení nové hodnoty, resp. informace o příchodu události na externím signálu. Hodnotu tohoto příznaku je možné zjistit kombinací funkcí Td_Load_Counter_Status a Td_Get_Counter_Status pro parameter=4. Pro úplnost je třeba doplnit, že tento příznak se nuluje načtením dat funkcí Td_Load_Counter s parametrem source nastaveným na hodnotu 1.
Informace o příchodu události na externím signálu, resp. odpovídající příznak, lze využít rovněž pro generování přerušení. Podrobnosti lze nalézt v kapitole 4.7 Systém obsluhy přerušení.

Práce s komparátory

Obvody čítačů některých zařízení obsahují komparátory aktuální hodnoty čítače s přednastavenou předvolbou a návazné záchytné registry příznaků (zůstávají nastaveny až do vynulování z aplikace). Nastavení příznaků lze zpracovávat programově nebo je využít pro vyvolání přerušení.
Uložení hodnoty určené k porovnání
Provedeme kombinací funkcí Td_Set_Counter_Parameters pro parametr parameter = 1 a 2 a funkcí Td_Save_Counter_Parameters.

Aktivace komparátorů
Provedeme kombinací funkcí Td_Set_Counter_Parameters pro parametr parameter = 3 a 4 a funkcí Td_Save_Counter_Parameters.

Povolení generování přerušení
Podrobnosti lze nalézt v kapitole 4.7 Systém obsluhy přerušení.

Zpracování příznaků komparátorů
Příznaky jsou nastavovány ekvivalencí hodnoty čítače s předvolbou a jsou nulovány aplikací.
Pro zjištění hodnoty příznaku jsou určeny funkce Td_Load_Counter_Status a Td_Get_Counter_Status
s parametry parameter = 1 a 2.
Pro nulování příznaků jsou určeny funkce Td_Set_Counter_Parameters s parametry parameter = 5 a 6 a Td_Save_Counter_Parameters.