Velleman VM110N User guide [cs]

Číslo karty
Číslo čipu
Číslo kanálu
IO-čip č.
: 1 IO-kanály
: 9…16
DA-kanály
: 1
DAC-čip č.: 1
DAC-kanály: 9…16
Proměnné
Typ Vstupní
Popis
8-bit AD konverze
8-bit DA konverze
minimum
6-bit konverze D
-A
Experimentální USB rozhraní VM110N (modul)
Obj. č. 19 11 37
Vážený zákazníku,
a k jeho obsluze. Jestliže výrobek předáte jiným osobám, dbejte na to, abyste jim odevzdali i tento návod k obsluze.
Ponechejte si tento návod, abyste si jej mohli znovu kdykoliv přečíst! Tato experimentální karta je rozhraní s 16. digitálními IN/OUT kanály. Obsahuje navíc 8 analogových
výstupů s 6-bitovým rozlišením a 4 analogové vstupy s 8-bitovým rozlišením. V případě potřeby většího množství digitálních výstupů, je možné využít analogové výstupy s omezením pro minimální a maximální výstupní napětí. Proto je velmi jednoduché sledovat stav otočného regulátoru a průběhy různého napětí. Vezměte však na vědomí, že tyto zvláštní vstupní a výstupní kanály nejsou vzájemně opticky odděleny. Počet vstupů a výstupů je možné dále rozšířit po připojení dalších karet (maximálně
4). Každou kartu představuje její vlastní identifikace prostřednictvím dvoupólového přepínače DIP-SW1 (více v tabulce číslování kanálů). Kartu připojte do počítače prostřednictvím tiskového portu (bez potřeby instalace zvláštního tiskového portu). Celkem 3 trasy z tohoto portu jsou: „Select“ (pin 13), „Autofeed“ (pin 14) a „Select in“ (pin 17). Komunikace mezi počítačem a kartou probíhá prostřednictvím sériového linku. Pomocí jednoho pinu (Select in) je generován hodinový signál, druhým linkem (Autofeed) datový výstup a třetím (Select) vstup dat. Veškerá komunikace je založena na Dynamic Link Library (DDL) K8D.DLL. V návodu naleznete veškeré DLL funkce a procesy, které jsou dostupné v programové aplikaci. Použití DLL umožňuje tvorbu vlastních aplikací (v systému Windows 9x, NT nebo XP) v jazycích Visual C++, Delphi, Visual Basic nebo jiné 32-bitové Windows aplikaci podporující DLL. Navíc je při tom automaticky zajišťován komunikační protokol. V návodu jsou popsány veškeré procesy, funkce a proměnné použité „K8D.DLL“. Uvedený příklad programování můžete využít pro vlastní zdokonalení a získání zkušeností s konstrukcí aplikačních programů. Příklady jsou napsané v jazyce Delphi. V závěru návodu naleznete všechny potřebné údaje a operace pro jazyky Delphi a Visual Basic.
Tabulka pro nastavení „SW1“
0 (OFF-OFF) IO-čip č.: 0 IO-kanály: 1…8
DAC-čip č.: 0 DAC-kanály: 1…8 AC-čip č.: 0 AD-kanály: 1…4
1 (OFF-ON) IO-čip č.: 2 IO-kanály: 17…24
2 (ON-OFF) IO-čip č.: 4 IO-kanály: 33…40
3 (ON-ON) IO-čip č.: 6 IO-kanály: 49…56
Přehled „K8D.DLL“ proměnných
DA Pole (1..4) celého čísla 0 Obsahuje data (hodnota mezi 0 a 255) čtvrtého, DAC Pole (1..32) celého čísla 0 Obsahuje data (hodnota mezi 0 – 63) 32. IOconfig Pole (0..7) celého čísla $OFF Každý bit obsahuje stav příslušného kanálu 8.
Konstanta Hodnota Popis
MaxIOcard 3 Nejvyšší možná adresa karty rozhraní MaxIOchip 7 Nejvyšší možné Input/Output číslo čipu MaxIOCchannel 64 Nejvyšší možný Input/Output kanál MaxDACchannel 32 Nejvyšší možný kanál 6-bitového DA převodníku MaxADchannel 16 Nejvyšší možný AD kanál MaxDAchannel 4 Nejvyšší možný DA 8-bitový analogový kanál
Přehled „K8D.DLL“ postupů a funkcí
ReadADchannel(Channelno)
OutputDAchannel(Channelno,Data)
ClearDAchannel(Channelno)
ClearAllDA
SetDAchannel(Channelno)
SetAllDA
OutputDACchannel(Channelno,Data)
IO-čip č.: 3 IO-kanály: 25…32 AD-čip č.: 1 AD-kanály: 5…8
DA-kanály: 2
IO-čip č.: 5 IO-kanály: 41…48 DAC-čip č.: 2 AD-kanály: 9…12
DA-kanály: 3
IO-čip č.: 7 IO-kanály: 57…64 DAC-čip č.: 3 DAC-kanály: 25…32 AD-čip č.: 3 AD-kanály: 13…16
DA-kanály: 4
hodnota
8-bitového digitálně – analogového konvertoru 6-bitového digitálně-analog. převodového kanálu IO portů. Bit high (1) = kanále je zapnutý, bit low
(0) = kanál je vypnutý
Čtení stavu analogového vstupního kanálu Nastavení analogového výstupního kanálu podle
příslušných dat Nastavení analogového výstupního kanálu na minimum Nastavení všech výstupních analogových kanálů na
Nastavení analogového výstupního kanálu na maximum Nastavení všech výstupních analogových kanálů na maximum
Nastavení výstupního analogového kanálu podle konkrétních dat
ClearDACchannel(Channelno)
IO konfigurace
Nastavení IO dat a IO
proměnných
(skuteč
stav IO
-
kanálů se nemění)
Výstupní
procesy
proměnné „IOdata“
Vynulování
všech výstupních kanálů
Nastavení všech výstupních kanálů
Vstupní procesy a funkce
Čtení stavu vstupních kanálů IO
-
čipu
Hlavní procesy
ClearDACchip(Chipno)
ClearAllDAC
SetDACchannel(Channelno)
SetDACchip(Chipno)
SetAllDAC
ConfigAllIOasInput ConfigIOchipAsInput(Chipno) ConfigIOchannelAsInput(Channelno) ConfigAllIOasOutput ConfigIOchipAsOutput(Chipno) ConfigIOchannelAsOutput(Channel)
UpdateIOdataArray(Chipno,Data)
ClearIOchArray(Channelno) ClearIOdataArray(Chipno) SetIOchArray(Channelno) SetIOdataArray(Chipno)
IOoutput(Chipno,Data)
UpdateIOchip(Chipno)
UpdateAllIO
ClearIOchannel(Channelno) ClearIOchip(Chipno) ClearAllIO SetIOchannel(Channelno) SetIOchip(Chipno) SetAllIO
ReadIOchannel(Channelno) ReadIOchip(Chipno) ReadIOconficArray(Buffer)
ReadIOdataArray(Buffer) ReadDACarray(Buffer) ReadDAarray(Buffer)
SelectI2CprinterPort(Printer_no) Start_K8000 Stop_K8000
Nastavení výstupního analogového kanálu na minimum Nastavení 8. výstupních analogových kanálů DAC čipu na minimum Nastavení všech výstupních analogových kanálu na minimum Nastavení výstupního analogového kanálu na maximum Nastavení 8. výstupních analogových kanálů DAC čipu na maximum Nastavení všech výstupních analogových kanálů na maximum
Konfigurace všech IO-kanálů jako vstupních Konfigurace všech IO-kanálů IO-čipu jako vstupních Konfigurace IO-kanálu jako vstupního Konfigurace všech IO-kanálů jako výstupních Konfigurace všech IO-kanálů IO-čipu jako výstupních Konfigurace IO-kanálu jako výstupního
Nastavení výstupního stavu podle konkrétních dat (vstupy se nemění) Vynulování výstupního stavu vybraných kanálů (low) Vynulování výstupního stavu kanálů IO-čipu (low) Nastavení výstupního stavu vybraného kanálu (high) Nastavení výstupního stavu kanálů IO-čipu (high)
Nastavení výstupů IO-čipu podle konkrétních dat (vstupy se nijak nemění) Nastavení výstupů IO-čipu podle stavu proměnné „IOdata“ Nastavení všech výstupů v závislosti na stavu v
Vynulování výstupního kanálu Vynulování výstupních kanálů IO-čipu
Nastavení výstupního kanálu Nastavení výstupních kanálů IO-čipu
Čtení stavu vstupního kanálu Načtení dat konfigurace IO z DLL do aplikačního
programu Načtení dat IO stavu z DLL do aplikačního programu Načtení dat DAC z DLL do aplikačního programu Načtení dat DA z DLL do aplikačního programu
Výběr komunikačního portu Otevření linku k K8000 zařízení Uzavření linku do K8000 zařízení
Start_K8000
Syntaxe
PROCEDURE Start_K8000;
Popis
Spuštění inicializačních procesů karty K8000. Načtení ovladačů potřebných pro komunikaci přes LPT port. Tento proces musí být spuštěn na začátku aplikačního programu.
Příklad
BEGIN
Start_K8000;
END;
Sop_K8000
Syntaxe
PROCEDURE Stop_K8000;
Popis
Deaktivace komunikačního procesu K8000 a ovladačů pro komunikaci LPT portu. Jedná se o poslední proces před ukončením programu.
Příklad
BEGIN
Stop_K8000;
END;
Selectl2CprinterPort
Syntaxe
PROCEDURE SelectI2CprinterPort(Printer_no: Longint);
Parametr
Printer_no: Hodnota mezi 0 a 2 poskytována tiskovým portem, ke kterému je karta rozhraní připojena.
0: adresa tiskového portu je 0BC (hex) 1: adresa tiskového portu je 378 (hex), zpravidla adresa LPT1 2: adresa tiskového portu je 278 (hex), zpravidla adresa LPT2
Výsledek
Komunikace mezi PC a K8000 proběhne prostřednictvím nastavené adresy LPT portu.
Popis
Tiskový port musí být specifikován na začátku programu. V opačném případě nebude správně probíhat vzájemná komunikace. Výchozí výběr je LPT1 s možností změny v nastavení.
Příklad
BEGIN
SelectI2CprinterPort(1); // LPT1 address on mainboard is set to 378
END;
ReadADchannel
Syntaxe
FUNCTION ReadADchannel(Channel_no: Longint):Longint;
Parametr
Channel_no: Hodnota mezi 1 a 16 korespondující s AD kanálem, jehož stav má být přečten.
Výsledek
AD: Korespondující „AD“ data jsou přečtena v závislosti na stavu AD vstupu.
Popis
Vstupní napětí vybraného 8-bitového analogovo-digitálního konverzního kanálu je převedeno na hodnotu mezi 0 a 255 a zaneseno do příslušné „AD“ proměnné.
Příklad
var data: longint; BEGIN
data := ReadADchannel(1);
// AD channel 1 is read to variable 'data' END;
ReadADchannel
Syntaxe
FUNCTION ReadADchannel(Channel_no: Longint):Longint;
Parametr
Channel_no: Hodnota mezi 1 a 16 korespondující s AD kanálem, jehož stav má být přečten.
Výsledek
AD: Přečtena jsou korespondující „AD“ data v závislosti na stavu AD výstupu.
Popis
Vstupní napětí zvoleného 8-bitového analog.-digitálního konvertoru jsou převedena na hodnotu mezi 0 a 255 a zanesena do příslušné „AD“ proměnné.
Příklad
var data: longint; BEGIN
data := ReadADchannel(1); // AD channel 1 is read to variable 'data'
END;
OutputDAchannel
Syntaxe
PROCEDURE OutputDAchannel(Channel_no: Longint; Data: Longint);
Parametr
Channel_no: Hodnota mezi 1 a 4 korespondující s 8-bitovým číslem DA kanálu, jehož data mají být upravena. Data: Hodnota mezi 0 a 255, která má být odeslána do 8-bitového DA konvertoru.
Výsledek
DA: Proměnná data „DA“ vybraného kanálu jsou nastavena v závislosti na datech, která mají být odeslána.
Popis
8-bitový DA konverzní trasa je změněna podle nových dat. Data tak představují specifickou hodnotu napětí. Hodnota 0 představuje minimální výstupní napětí (0 V) a hodnota 255 maximální výstupní napětí (Vmax) nastavené pro kartu rozhraní. Hodnotu „Data“, která se nachází mezi těmito dvěma hodnotami, je možné formulovat: Data x Vmax/255.
Příklad
BEGIN
OutputDAchannel(1,127); // DA channel 1 is at 1/2 Vmax
END;
ClearDAchannel
Syntaxe
PROCEDURE ClearDAchannel(Channel_no: Longint);
Parametr
Channel_no: Hodnota mezi 1 a 4 korespondující s 8-bitovým DA kanálem, ve kterém mají být data vynulována.
Výsledek
DA: Proměnná data „DA“ zvoleného DA kanálu jsou nastavena na minimum (0). Vybrané DA kanály jsou nastaveny na minimální výstupní napětí (0 V).
Popis
Zvolený 8-bitový DA konverzní kanál je nastaven na minimální výstupní napětí (0 V).
Příklad
BEGIN
ClearDAchannel(1); // DA channel 1 is at Vmin
END;
ClearAllDA
Syntaxe
PROCEDURE ClearAllDA;
Výsledek
Všechny DA kanály jsou nastavené na minimální výstupní napětí (0 V).
Popis
Všechny DA kanály 8-bitového DA konvertoru jsou nastaveny na minimální výstupní napětí (0 V).
Příklad
BEGIN
ClearAllDA; // All DA channels 1...4 are at Vmin
END;
SetDAchannel
Syntaxe
PROCEDURE SetDAchannel(Channel_no: TDAchannel);
Parametr
Channel_no: Hodnota mezi 1 a 4, která koresponduje s 8-bitovým DA kanálem, ve kterém mají být data nastavena na maximum.
Výsledek
Vybraný DA kanál je nastaven na maximální výstupní napětí.
Popis
Zvolený 8-bitový DA konverzní kanál je nastaven na maximální výstupní napětí.
Příklad
PROGRAM Set_DA_channel; USES I2C, WinCrt; BEGIN
SetDAchannel(1); Writeln('Set DA channel 1 at Vmax');
END;
SetAllDA
Syntaxe
PROCEDURE SetAllDA;
Výsledek
Všechny DA kanály jsou nastaveny na maximální výstupní napětí.
Popis
Všechny DA kanály 8-bitového DA konvertoru jsou nastaveny na maximální výstupní napětí.
Příklad
BEGIN
SetAllDA; // All DA channels 1...4 are at Vmax
END;
OutpuDACchannel
Syntaxe
PROCEDURE OutputDACchannel(Channel_no: Longint; Data: Longint);
Parameters
Channel_no: Hodnota mezi 1 a 32 korespondující s 6-bitovým DAC kanálem ve kterém mají být data upravena. Data: Hodnota mezi 0 a 63 k odeslání do 6-bitového DA konvertoru.
Výsledek
Aktualizace dat DAC kanálu. Popis
6-bitový DA konverzní kanál je změněn v závislosti na nových datech. Data představují konkrétní napětí. Hodnota 0 představuje pro kartu minimální výstupní napětí (Vmin) a 63 maximální výstupní napětí (Vmax). Hodnotu „Data“ mezi těmito dvěma hodnotami je možné formulovat jako: Vmin + Data x (Vmax – Vmin)/63
Příklad
BEGIN
OutputDACchannel(1,21); // DAC channel 1 is at Vmin + 1/3(Vmax-Vmin)
END;
ClearDACchanel
Syntaxe
PROCEDURE ClearDACchannel(Channel_no: Longint);
Parametr
Channel_no: Hodnota mezi 1 a 32 korespondující s 6-bitovým DAC kanálem ve kterém mají být data vynulována.
Výsledek
Zvolený DAC kanál je nastavený na minimální výstupní napětí (Vmin).
Popis
Vybraný 6-bitový DA konverzní kanál je nastavený na minimální výstupní napětí (Vmin).
Example
BEGIN
ClearDACchannel(2); // DAC channel 2 is at Vmin
END;
ClearDACchip
Syntaxe
PROCEDURE ClearDACchip(Chip_no: Longint);
Parametr
Chip_no: Hodnota mezi 0 a 3 korespondující s adresou 6-bitového DAC čipu, ve kterém má být všech 8 kanálů nastaveno na minimální výstupní napětí.
Výsledek
Celkem 8 DAC kanálů určeného DAC čipu bude nastaveno na minimální výstupní napětí. Popis
Celkem 8 DAC kanálů vybraného 6-bitového DAC čipu je nastaveno na minimum (Vmin).
Příklad
BEGIN
ClearDACchip(0); // DAC channels 1...8 are at Vmin
END;
ClearAllDAC
Syntaxe
PROCEDURE ClearAllDAC;
Výsledek
Všechny DAC kanály jsou nastaveny na minimální výstupní napětí.
Popis
Všechny DAC kanály 6-bitových DA konvertorů jsou nastaveny na minimální výstupní napětí (Vmin).
Příklad
BEGIN
ClearAllDAC; // All DAC channels 1...32 are at Vmin
END;
Loading...
+ 8 hidden pages