User manual
Popis
Stav IO portů je udržován v proměnné „IOdata“. Každý bit této proměnné koresponduje se stavem
IO kanálu. V případě, že jsou výstupy IO čipu konfigurovány, není nezbytné okamžité načtení 255
v proměnné „IOdata“, vzhledem k tomu, že stav vstupních kanálů pak nemusí korespondovat se
skutečným stavem. Tento proces je nutné ponechat proběhnout tak, aby nedocházelo ke konfliktům.
Proměnné „IOdata“ jsou ukládány pouze v buffer paměti. Při probíhajících změnách výstupních hodnot
neměňte tento stav. K tomu však dochází pouze, pokud jsou hodnoty odesílány do IO čipu. Proměnné
„IO“ příslušného IO-čipu jsou rovněž upravovány.
Example
BEGIN
ConfigIOchipAsOutput(0);
ConfigIOchannelAsInput(1); {channel 1 configured as input}
ConfigIOchannelAsInput(2); {channel 2 configured as input}
ConfigIOchannelAsInput(3); {channel 3 configured as input}
ConfigIOchannelAsInput(4); {channel 4 configured as input}
SetIOdataArray(0); // Set channels 1 to 8 from IOdata array
// The status of the inputs stays unchanged
END;
IOoutput
Syntaxe
PROCEDURE IOoutput(Chip_no: Longint; Data: Longint);
Parametry
Chip_no: Hodnota mezi 0 a 7 korespondující s nastavením adresy IO čipu, ve kterém mají být
data upravována.
Data: Hodnota mezi 0 a 255 odesílaná do IO portu (8 kanálů).
Výsledek
IOdata: Proměnná „IOdata“ vybraného čipu jsou aktualizována novými daty a tím zůstává stav
vstupních kanálů beze změn. Výstupy vybraného IO čipu jsou aktualizovány.
Popis
Kanály zvoleného IO čipu, které byly konfigurovány jako výstupy, jsou aktualizovány stavem
korespondujících bitů v parametru data. Úroveň high (1) představuje nastavený výstup a nízká úroveň
low (0) znamená, že výstup je vynulován. Stav na vstupech zůstává beze změny.
Příklad
BEGIN
ConfigIOchipAsOutput(1);
IOoutput(1,128);
// Output channels 9..15 are off, Output channel 16 is on
END;
UpdateIOchip
Syntaxe
PROCEDURE UpdateIOchip(Chip_no: Longint);
Parametr
Chip_no: Hodnota mezi 0 a 7, která koresponduje s nastavením adresy IO čipu,
v němž mají být výstupy upraveny.
Výsledek
Všechny výstupy vybraného IO čipu jsou upraveny v závislosti na stavu korespondujících bitů
v proměnné „IOdata“.
Popis
Všechny kanály zvoleného IO čipu, které byly konfigurovány jako výstupy, jsou upraveny podle stavu
korespondujících bitů v proměnné „IOdata“. Vysoká úroveň high (1) představuje nastavený výstup,
nízká úroveň low (0) znamená, že výstup byl vynulován. Stav vstupů zůstává beze změny.
Příklad
BEGIN
ConfigIOchipAsOutput(1);
UpdateIOdataArray(1,64); // channels 9...14 & 16 off, 15 on
UpdateIOchip(1);
// Output channels 9..14 & 16 are off, Output channel 15 is on
END;
UpdateAllIO
Syntaxe
PROCEDURE UpdateAllIO;
Výsledek
Všechny výstupy jsou upraveny podle stavu korespondujících bitů v proměnné „IOdata“.
Popis
Všechny kanály IO čipů, které byly konfigurovány jako výstupy, jsou upraveny vzhledem ke stavu
korespondujících bitů v proměnné „IOdata“. Vysoká úroveň high (1) představuje nastavený výstup,
nízká úroveň low (0) znamená, že výstup je vynulován. Stav vstupů zůstává beze změny.
Příklad
BEGIN
ConfigAllIOasOutput;
UpdateIOdataArray(0,1); // channel 1 on
UpdateIOdataArray(1,128); // channel 16 on
UpdateAllIO;
// Output channel 1 & 16 are on, Output channels 2..15 are off
END;
ClearIOchannel
Syntaxe
PROCEDURE ClearIOchannel(Channel_no: Longint);
Parametr
Channel_no: Hodnota mezi 1 a 64, která koresponduje IO kanálu, jež má být vynulována.
Výsledek
IOdata: Pakliže je zvolený kanál výstupní, potom správný bit v proměnné „IOdata“ odpovídajícího
čipu je nastaven na nízkou úroveň low (0).
Popis
Pakliže byl vybraný kanál konfigurován jako výstup, dojde k jeho vynulování. Stav vstupů zůstává
beze změn. Proměnné „IOdata“ a „IO“ jsou přizpůsobeny vzhledem k tomuto novému stavu.
Příklad
BEGIN
ConfigIOchannelAsOutput(9);
ClearIOchannel(9); // Output channel 9 is off
END;