OB-GPD Modulo 24 I/O digitali, 4 ingressi analogici Protocollo di comunicazione V1.1 rev.2 1-09-2003 WWW.QFPENG.COM |
OB-GPD è un modulo di input/output distribuito che può essere utilizzato per monitorare segnali digitali provenienti da sensori, interruttori, optoisolatori, per controllare led, relè, motori, per effettuare misure di tensione, temperatura ecc.
Il dispositivo è dotato di 3 porte di I/O generiche da 8-bit ognuna (PortA, PortB, PortC). Ogni bit è configurabile singolarmente come ingresso o come uscita digitale.
I bit 0-3 di PortA possono essere configurati come input analogici (10-bit ADC).
Il dispositivo comunica con il PC, attraverso un'interfaccia seriale RS232 o attraverso un cavo a quattro conduttori (RS485 + alimentazione). Le impostazioni per la comunicazione seriale sono: 9600 bps, nessuna parità, 8 bit dati, 1 stop bit.
La comunicazione è di tipo half-duplex, se la comunicazione è di tipo RS232, durante la trasmissione dal PC al dispositivo, l'interfaccia restituisce l'eco dei caratteri inviati.
Il dispositivo accetta comandi costituiti da una stringa di byte avente il seguente formato:
START | NBYTE | FADDRL | FADDRH | CMD | DATA 1 ... DATA N | CECKSUM |
Il significato dei byte è il seguente:
START | 1 Byte | Inizio pacchetto sempre 0x00 |
NBYTE | 1 Byte | Numero di byte da FADDR a DATA N compreso |
FADDRL | 1 Byte | Indirizzo fisico del dispositivo byte meno significativo (LSB) |
FADDRH | 1 Byte | Indirizzo fisico del dispositivo byte più significativo (MSB) |
CMD | 1 Byte | Comando da inviare al dispositivo |
DATA | N Byte | N byte di dati per il dispositivo, la lunghezza di questo campo dipende dal comando. |
CECKSUM | 1 Byte | Somma modulo 256 dei byte da NBYTE a DATAN compreso |
Il dispositivo risponde entro massimo 10ms con una stringa di dati nel seguente formato:
START | NBYTE | FADDRL | FADDRH | ACK | DATA 1 ... DATA N | CECKSUM |
Il significato dei byte è il seguente:
START | 1 Byte | Inizio pacchetto sempre 0x00 |
NBYTE | 1 Byte | Numero di byte da FADDR a DATA N compreso |
FADDRL | 1 Byte | Indirizzo fisico del dispositivo byte meno significativo (LSB) |
FADDRH | 1 Byte | Indirizzo fisico del dispositivo byte più significativo (MSB) |
ACK | 1 Byte | Risposta al comando ricevuto: 254 = Comando accettato, 253 = Comando rifiutato |
DATA | N Byte | N byte di dati di risposta al comando, la lunghezza di questo campo dipende dal comando. |
CECKSUM | 1 Byte | Somma modulo 256 dei byte da NBYTE a DATAN compreso |
NOTA: L'indirizzo fisico del dispositivo è riportato nell'etichetta applicata sul microcontrollore della scheda di I/O ed è in formato esadecimale.
READ
Legge lo stato degli I/O digitali
START | NBYTE | FADDRL | FADDRH | 0x05 | CECKSUM |
Risposta del dispositivo:
START | NBYTE | FADDRL | FADDRH | ACK | PortA, PortB, PortC | CECKSUM |
PortA, PortB, PortC rappresentano lo stato attuale degli I/O.
Ad ogni bit di PortA,PortB,PortC è associato un Pin di I/O sul connettore JP4 della scheda OB-GPD-XXX (Vedi data-sheet). I bit di PortA,PortB,PortC, rappresentano lo stato dei corrispondenti PIN di I/O sulla scheda.
WRITE
Modifica lo stato degli IO digitali
START | NBYTE | FADDRL | FADDRH | 0x06 | OutA, OutB, OutC | CECKSUM |
OutA, OutB, OutC rappresentano lo stato desiderato per le uscite. Solo gli ingressi configurati come uscite subiranno variazioni di stato.
Risposta del dispositivo:
START | NBYTE | FADDRL | FADDRH | ACK | PORTA, PORTB, PORTC | CECKSUM |
PortA, PortB, PortC rappresentano lo stato attuale degli I/O.
Ad ogni bit di PortA, PortB, PortC è associato un Pin di I/O sul connettore JP4 della scheda OB-GPD-XXX (Vedi data-sheet). I bit di PortA, PortB, PortC, rappresentano lo stato dei corrispondenti PIN di I/O sulla scheda.
READ CONFIG
Legge i dati di configurazione del dispositivo
START | NBYTE | FADDRL | FADDRH | 0x04 | CECKSUM |
Risposta del dispositivo:
START | NBYTE | FADDRL | FADDRH | ACK | Config, PortA ,PortB, PortC, DirA, DirB, DirC, WDTIMER, STATO | CECKSUM |
Config Bit 0 Riservato
Config Bit 1 Abilitazione funzione di watchdog (1= abilitata, 0=disabilitata)
La funzione di watchdog del dispositivo consente di portare le uscite in uno stato di sicurezza predefinito qualora dovesse cadere la comunicazione tra il dispositivo ed il PC. In particolare, quando il la funzione di watchdog è abilitata, la scheda si aspetta ad intervalli regolari un comando di read o write. Se questi comandi non arrivano ad intervalli minori di WDTIMER, le uscite assumono l'ultimo valore salvato nella memoria non volatile del dispositivo. Per maggiori informazioni si rimanda al data sheet del controllo ocx (dpd-ctl.htm)
Config Bit.2 Abilitazione ingressi analogici (1= A0-A3 ingressi analogici, 0= A0-A3 I/O digitali)
Quando è impostato su 1, gli ingressi analogici A0-A3 sono abilitati. I corrispondenti bit di DirA devono essere impostati come ingressi. Quando A0-A3 sono impostati come ingressi analogici, i corrispondenti bit di PortA sono letti come '0'.
Config Bit.3 Abilitazione tensione di riferimento esterna (1= Vref esterna, 0=Vref interna)
Normalmente la tensione di riferimento del convertitore analogico/digitale è 5V. Tuttavia, per particolari esigenze, è possibile fornire tale tensione dall'esterno. Se Config Bit. 3 = 1, sull'ingresso A3 deve essere applicata la tensione di riferimento del convertitore analogico digitale. Gli ingressi A0-A3 devono essere impostati come ingressi analogici (Config. Bit. 2 = 1).
PortA, PortB, PortC Stato degli di I/O
Ad ogni bit di PortA,PortB,PortC è associato un Pin di I/O sul connettore JP4 della scheda OB-GPD-XXX (Vedi data-sheet). I bit di PortA, PortB, PortC, rappresentano lo stato dei corrispondenti PIN di I/O sulla scheda.
DirA, DirB, DirC Configurazione degli I/O
Ad ogni bit di DirA,DirB,DirC è associato un Pin di I/O sul connettore JP4 della scheda OB-GPD-XXX (Vedi data-sheet). Se il bit è 0, il pin è configurato come uscita, se il bit è 1 il pin è configurato come ingresso.
WDTIMER Vedi Config Bit 1
STATO Riservato
WRITE CONFIG
Scrive i dati di configurazione del dispositivo
START | NBYTE | FADDRL | FADDRH | 0x03 | Config, PortA ,PortB, PortC, DirA, DirB, DirC, WDTIMER | CECKSUM |
Risposta del dispositivo:
START | NBYTE | FADDRL | FADDRH | ACK | CECKSUM |
Config Bit 0 Riservato
Config Bit 1 Abilitazione funzione di watchdog (1= abilitata, 0=disabilitata)
La funzione di watchdog del dispositivo consente di portare le uscite in uno stato di sicurezza predefinito qualora dovesse cadere la comunicazione tra il dispositivo ed il PC. In particolare, quando il la funzione di watchdog è abilitata, la scheda si aspetta ad intervalli regolari un comando di read o write. Se questi comandi non arrivano ad intervalli minori di WDTIMER, le uscite assumono l'ultimo valore salvato nella memoria non volatile del dispositivo. Per maggiori informazioni si rimanda al data sheet del controllo ocx (dpd-ctl.htm)
Config Bit.2 Abilitazione ingressi analogici (1= A0-A3 ingressi analogici, 0= A0-A3 I/O digitali)
Quando è impostato su 1, gli ingressi analogici A0-A3 sono abilitati. I corrispondenti bit di DirA devono essere impostati come ingressi. Quando A0-A3 sono impostati come ingressi analogici, i corrispondenti bit di PortA sono letti come '0'.
Config Bit.3 Abilitazione tensione di riferimento esterna (1= Vref esterna, 0=Vref interna)
Normalmente la tensione di riferimento del convertitore analogico/digitale è 5V. Tuttavia, per particolari esigenze, è possibile fornire tale tensione dall'esterno. Se Config Bit. 3 = 1, sull'ingresso A3 deve essere applicata la tensione di riferimento del convertitore analogico digitale. Gli ingressi A0-A3 devono essere impostati come ingressi analogici (Config. Bit. 2 = 1).
PortA, PortB, PortC Stato degli di I/O
Ad ogni bit di PortA,PortB,PortC è associato un Pin di I/O sul connettore JP4 della scheda OB-GPD-XXX (Vedi data-sheet). I bit di PortA, PortB, PortC, rappresentano lo stato dei corrispondenti PIN di I/O sulla scheda.
DirA, DirB, DirC Configurazione degli I/O
Ad ogni bit di DirA,DirB,DirC è associato un Pin di I/O sul connettore JP4 della scheda OB-GPD-XXX (Vedi data-sheet). Se il bit è 0, il pin è configurato come uscita, se il bit è 1 il pin è configurato come ingresso.
WDTIMER Vedi Config Bit 1
STATO Riservato
READ ANALOG
Legge gli ingressi analogici del dispositivo
START | NBYTE | FADDRL | FADDRH | 0x08 | CECKSUM |
Risposta del dispositivo:
START | NBYTE | FADDRL | FADDRH | ACK | Analog0L, Analog1L, Analog2L, Analog3L;AnalogH | CECKSUM |
Analog0-Analog3, rappresentano il valore letto dal convertitore analogico/digitale sui pin A0/AN0-A3/AN3.
Il valore è un numero intero compreso tra 0 e 1023. Per ottenere il valore di tensione corrispondente occorre usare la seguente formula: V=Analog0/1023*Vref.
Per ottenere tali valori considerare il significato dei byte di risposta:
Analog0L-Analog3L Bit meno significativi di Analog0 ... Analog3
AnalogH Bit 0-1 Bit più significativi di Analog0
AnalogH Bit 2-3 Bit più significativi di Analog1
AnalogH Bit 4-5 Bit più significativi di Analog2
AnalogH Bit 6-7 Bit più significativi di Analog3
READ ALL
Legge i canali digitali e analogici
START | NBYTE | FADDRL | FADDRH | 0x09 | CECKSUM |
Risposta del dispositivo:
START | NBYTE | FADDRL | FADDRH | ACK | Analog0L, Analog1L, Analog2L, Analog3L;AnalogH,PORTA, PORTB, PORTC | CECKSUM |
Analog0-Analog3, rappresentano il valore letto dal convertitore analogico/digitale sui pin A0/AN0-A3/AN3.
Il valore è un numero intero compreso tra 0 e 1023. Per ottenere il valore di tensione corrispondente occorre usare la seguente formula: V=Analog0/1023*Vref.
Per ottenere tali valori considerare il significato dei byte di risposta:
Analog0L-Analog3L Bit meno significativi di Analog0 ... Analog3
AnalogH Bit 0-1 Bit più significativi di Analog0
AnalogH Bit 2-3 Bit più significativi di Analog1
AnalogH Bit 4-5 Bit più significativi di Analog2
AnalogH Bit 6-7 Bit più significativi di Analog3
PortA, PortB, PortC rappresentano lo stato attuale degli I/O.
Ad ogni bit di PortA,PortB,PortC è associato un Pin di I/O sul connettore JP4 della scheda OB-GPD-XXX (Vedi data-sheet). I bit di PortA,PortB,PortC, rappresentano lo stato dei corrispondenti PIN di I/O sulla scheda.