Scheda usb
L’Hardware
5 ingressi digitali (0=massa, 1=aperto)
(tasto di test disponibile sulla scheda);
- 2 ingressi analogici
- 8 uscite digitali open collector (valori massimi: 50V/100mA, LED di
indicazione sulla scheda);
- 2 uscite analogiche (da 0 a 5V, impedenza di uscita 1,5K) o onda PWM
(da 0% a 100% uscite di open collector; livelli massimi: 100mA/40V,
indicatori a LED presenti sulla scheda);
- tempo di conversione medio: 20ms per comando;
- alimentazione richiesta dalla porta USB: circa 70mA:
- include DLL software per diagnostica e comunicazione- test separati degli
ingressi/uscite;
- funzione di "clear all" e "set all";
- funzione di conteggio sugli ingressi 1 e 2 con possibilità di impostare il
periodo dell'antirimba
Jumper per
settare l’indirizzo
!!!
Scheda usb
Il software
Attenzione
Driver
k8055.dll
• Per evitare problemi è necessario che
il file dll k8055.dll deve trovarsi nella
cartella del file cpp !!!
Impostazioni dev_c++
• Procedure generali
OpenDevice (CardAddress): Apre il collegamento al
dispositivo;
CloseDevice: Chiude il collegamento al dispositivo.
Procedure convertitore analogico/digitale
ReadAnalogChannel (Channel no): Legge lo stato
di un canale di ingresso analogico;
ReadAllAnalog (Data1, Data2): Legge lo stato di
entrambi i canali di ingresso analogici.
• Procedure conversione digitale/analogica
OutputAnalogChannel (Channel,Data): Imposta il
canale di uscita analogico in funzione dei dati;
OutputAllAnalog (Data1,Data2): Imposta entrambi i
canali di uscita analogici in funzione dei dati;
ClearAnalogChannel (Channel): Imposta il canale di
uscita analogico al minimo;
ClearAllAnalog: Imposta i canali di uscita analogici al
minimo;
SetAnalogChannel (Channel): Imposta il canale di
uscita analogico al massimo;
SetAllAnalog: Imposta i canali di uscita analogici al
massimo.
• Procedure uscita digitale
WriteAllDigital (Data): Imposta le uscite digitali in
funzione dei dati;
ClearDigitalChannel (Channel): Azzera il canale
di uscita;
ClearAllDigital: Azzera tutti i canali di uscita;
SetDigitalChannel (Channel): Imposta il canale
digitale;
SetAllDigital: Imposta tutti i canali digitali.
Procedure e funzioni ingresso digitale
ReadDigitalChanneln (Channel): Legge lo stato
del canale di ingresso;
ReadAllDigital (Buffer): Legge lo stato di tutti i
canali di ingresso.
• Procedure e funzioni counter
ResetCounter (CounterNr): Resetta il
contatore di impulsi a 16 bit numero 1 o
numero 2;
ReadCounter (CounterNr): Legge il
contenuto del contatore di impulsi numero
1 o numero 2;
SetCounterDebounceTime (CounterNr,
Debounce Time): Imposta il tempo di
antirimbalzo del contatore di impulsi.
File Prova0_0
File header con la
definizioni “nascoste delle
funzioni della scheda”
h vale 0 la dll non è
presente e gestisco l’errore
Se trovo la dll che gestisce la k8055,
apro la connessione con la scheda di
indirizzo 3
Controllo se
l’ indirizzo è 3
if (foundDLL)
{ ClearAllDigital();
Azzero tutte le uscite: se sono
attive si spengono
do{
if (ReadAllDigital()==1)
{SetDigitalChannel(1) ; }
else
{ClearDigitalChannel(1); }
}
while( 1==1);
CloseDevice();
FreeLibrary(hDLL);
}
}
Se premo il pulsante 1
attivo l’uscita 1, altrimenti
la spengo3
Esercizio 1
• Modificare il programma in modo che:
– il pulsante 2 attivi l’uscita 2;
– il pulsante 3 attivi l’uscita 3;
– ………………………………
– il pulsante 5 attivi l’uscita 5;
Esercizio 2
• Modificare il programma in modo che:
– il pulsante 1 attivi l’uscita 1;
– il pulsante 2 disattivi l’uscita 1;
– il pulsante 3 attivi l’uscita 2;
– il pulsante 4 disattivi l’uscita 2;
– il pulsante 5 disattivi tutte le uscite;
Scarica

Scheda usb