DAQCTL Control V1.00

 

Reference manual

V1.01 11-10-2000  WWW.QFPENG.COM


Il controllo gestisce tutte le funzionalità delle schede di acquisizione dati QFP Engineering OmniBus del tipo OB-DAQ (Scheda 8 ingressi analogici 16bit A/D).

Il dispositivo OB-DAQ è dotato di 8 ingressi analogici differenziali e può effettuare misure di tensione sia unipolari che bipolari in un range che varia da +/- 20mV a +/-2,5V. Per ogni canale è possibile impostare il tipo di misura da effettuare con la proprietà Channel(n).Range e il metodo UpdateConfiguration

Per leggere gli ingressi analogici si usa il metodo UpdateInputs, i valori letti sono disponibili in Channel(n).Value espressi in Volt. 

Le misure di corrente (0-20mA) e di temperatura possono essere ricavate a partire da Channel(n).Value, Channel(n).Rref, Channel(n).RrefUp mediante semplici formule di conversione.

La calibrazione del dispositivo è effettuata in fabbrica con strumenti tarati periodicamente da centri SIT, ma può essere variata utilizzando le proprietà Vref, Channel(n).Rref, Channel(n). RrefUp e salvata nella memoria non volatile del dispositivo con il metodo SaveCalibration.

La comunicazione con il dispositivo è attivata dal metodo Connect ed è terminata dal metodo Disconnect, la segnalazione dell'avvenuta connessione o disconnessione è notificata rispettivamente dagli eventi Connected e Disconnected. Le proprietà Status e StatusDescription rappresentano lo stato corrente della connessione.

Il metodo GetDevicesList fornisce una lista dei dispositivi installati nel sistema. Il metodo ExplorerShow avvia il software di configurazione OmniBus Explorer, mentre DeviceDialogShow permette di variare la configurazione del dispositivo ed effettuare la diagnostica.

Di seguito è riportato l'elenco completo delle proprietà dei metodi ed degli eventi del controllo:

Proprietà Metodi Eventi

Status

StatusDescription

DeviceId

DeviceDescription

Vref

SerialNumber

Channel(n).Value

Channel(n).Range

Channel(n).Rref

Channel(n).RrefUp

Channel(n).Sample

Channel(n).Filter

Channel(n).Enabled

Channel(n).Buffered

Connect

Disconnect

ErrDescription

GetDevicesList

ExplorerShow

DeviceDialogShow

UpdateInputs

UpdateConfiguration

SaveConfiguration

SaveCalibration

Factory

Connected

Disconnected

 

 


Metodo Connect

Richiede la connessione ad un dispositivo. Se la connessione riesce, viene generato l'evento Connected, altrimenti viene generato l'evento Disconnected.

Sintassi:

oggetto.Connect  DeviceId, (Optional) Account, (Optional) Password

Argomento Tipo Descrizione
DeviceId String Identificativo del dispositivo*, fa riferimento al nome che si è assegnato al dispositivo in fase di configurazione (vedi documentazione OmniBus Explorer).
Account String Opzionale, Nome account, da specificare in caso di dispositivi protetti (vedi documentazione OmniBus Explorer)
Password String Opzionale, Password di accesso per dispositivi protetti  (vedi documentazione OmniBus Explorer).

Restituisce 0 se la richiesta viene accettata, altrimenti restituisce un codice di errore che può essere decodificato con il metodo ErrDescription, in questo caso non sarà generato nè l'evento Connected nè l'evento Disconnected.

Esempio:

result = oggetto.Connect "DAQ01"

if result<>0 then msgbox oggetto.ErrDescription(result), vbExclamation

Richiede la connessione al dispositivo "DAQ01", se la richiesta non viene accettata una msgbox  descrive il motivo del rifiuto.

* In alternativa all'identificativo del dispositivo può essere usata una notazione del tipo ".\\indirizzo_server\nome_dispositivo_sul_server" (per maggiori informazioni si veda  Utilizzo dei controlli su pagine web)

<<


Metodo Disconnect

Richiede la terminazione della connessione.

Nessun Argomento, restituisce 0 se la richiesta viene accettata, altrimenti restituisce un codice di errore che può essere decodificato con il metodo ErrDescription.

<<


Metodo ErrDescription

Restituisce una stringa che contiene la descrizione del codice di errore ErrorCode

esempio: 

msgbox oggetto.ErrDescription ErrorCode

<<


Metodo GetDevicesList

Riempie una ComboBox con gli identificativi dei dispositivi installati sul sistema e supportati dal controllo.

Esempio:

oggetto.GetDevicesList ComboBox

<<


Metodo ExplorerShow

Visualizza la shell del software OmniBus Explorer

<<


Metodo DeviceDialogShow

Visualizza la finestra di dialogo di configurazione del dispositivo corrente, funziona solo dopo l'evento connected.

<<


Evento Connected

Viene generato al completamento dell'operazione di connessione richiesta con il metodo Connect. Dopo questo evento è possibile utilizzare tutte le funzionalità del dispositivo.

Sintassi:

oggetto_Connected()

<<


Evento Disconnected

Segnala all'applicazione che la comunicazione tra il dispositivo ed il controllo è terminata. Dopo questo evento non è più possibile comunicare con il dispositivo.

Sintassi:

oggetto_Disconnected (ErrorCode)

L'evento può essere causato sia da una richiesta di disconnessione (Disconnect) sia da cause esterne (es. perdita di comunicazione con un server remoto), in quest'ultimo caso ErrorCode (long) è un codice di errore che è possibile decodificare con il metodo ErrDescription

<<


Proprietà Status

Rappresenta lo stato attuale della connessione, i valori possibili sono:

Valore Significato
0 Dispositivo connesso
1 Dispositivo disconnesso
2 Dispositivo in attesa di connessione
3 Dispositivo in fase di disconnessione

<<


Proprietà StatusDescription

Di tipo String, fornisce una descrizione dello stato attuale della connessione (vedi proprietà Status)

<<


Proprietà DeviceId

Identificativo del dispositivo, fa riferimento al nome che si è assegnato al dispositivo in fase di configurazione (vedi metodo Connect, documentazione OmniBus Explorer). 

<<


Proprietà DeviceDescription

Descrizione del dispositivo, fa riferimento alla descrizione che si è assegnata al dispositivo in fase di configurazione (vedi documentazione OmniBus Explorer). 

<<


Metodo UpdateInputs

Legge i valori degli ingressi abilitati e aggiorna la proprietà Channel(n).Value.

Sintassi:

result = oggetto.UpdateInputs

Restituisce 0 se la lettura ha avuto successo, altrimenti restituisce un codice di errore che può essere decodificato con il metodo ErrDescription.

<<


Metodo UpdateConfiguration

Invia al dispositivo i  parametri di configurazione impostati con Channel(n).Range, Channel(n).Filter, Channel(n).Buffered. Le impostazioni resteranno attive fino allo spegnimento del dispositivo, per rendere le impostazioni durature usare il comando SaveConfiguration.

Sintassi:

result = oggetto.UpdateConfiguration

Restituisce 0 se l'aggiornamento ha avuto successo, altrimenti restituisce un codice di errore che può essere decodificato con il metodo ErrDescription.

<<


Metodo SaveConfiguration

Memorizza nella memoria permanente del dispositivo i parametri di configurazione impostati con Channel(n).Range, Channel(n).Filter, Channel(n).Buffered.

Se successivamente si vogliono ripristinare le impostazioni di fabbrica usare il metodo Factory.

Sintassi:

result = oggetto.SaveConfiguration

Restituisce 0 se l'aggiornamento ha avuto successo, altrimenti restituisce un codice di errore che può essere decodificato con il metodo ErrDescription.

<<


Proprietà Channel(n).Value

Rappresenta il valore dell'ultima misura effettuata con il metodo UpdateInputs sull'ingresso n.

Il valore è espresso in volt, le misure di corrente e di temperatura possono essere ricavate a partire da Channel(n).Value, Channel(n).Rref, Channel(n).RrefUp mediante semplici formule di conversione.

Nel caso in cui il valore misurato sia fuori dal renge impostato sarà restituito il valore +/-9.9999 (vedi Channel(n).Range) .

NOTA: Value è ricavato dalla lettura del convertitore analogico / digitale a 16bit, per maggiori informazioni si rimanda alla proprietà Channel(n).Sample

<<


Proprietà Channel(n).Range

Imposta il range di misura per il canale n, le impostazioni hanno effetto solo dopo il comando UpdateConfiguration.

I valori ammessi sono:

Valore Costante Range Risoluzione

1

obRangeBipolar2V5   

-2.5V..+2.5V 76uV

2

obRangeBipolar1V25   

-1.25V..+1.25V 38uV

3

obRangeBipolar75mV   

-75mV .. +75mV 2.4uV

4

obRangeBipolar20mV   

- 20mV .. +20mV 0.6uV

5

obRangeUnipolar2V5   

0 ..+2.5V 38uV

6

obRangeUnipolar1V25   

0 ..+1.25V 19uV

7

obRangeUnipolar75mV   

0 .. +75mV 1.2uV

8

obRangeUnipolar20mV   

0 .. +20mV 0.3uV

 

Esempio:

oggetto.Channel(1).Range=1

oggetto Channel(2).Range=8

result = oggetto.UpdateConfiguration

Imposta il canale 1 per misure tra -2.5 e  2.5V ed il canale 2  per misure nel range 0-20mV.

NOTA: La scelta di uno dei range provoca l'impostazione automatica delle proprietà Channel(n).InputGain e Channel(n).Bipolar che, pertanto non dovranno essere impostate singolarmente.

<<


Proprietà Channel(n).Enabled

Se impostato su False disabilita il canale n. 

Il metodo UpdateInputs provoca l'invio dal dispositivo all'applicazione dei dati relativi a tutti i canali abilitati, per diminuire il numero dei byte trasmessi è possibile disabilitare i canali inutilizzati, questo aumenta la velocità di trasmissione e contribuisce a diminuire il traffico sul bus dati. 

Per i canali disabilitati non sarà aggiornata la proprietà Value quando viene richiamato il metodo UpdateInputs.

<<


Proprietà Channel(n).Sample

E' un numero intero (a 16 bit) che rappresenta il valore letto dal convertitore A/D.

NOTA: Nella maggior parte dei casi non sarà necessario utilizzare la proprietà Sample in quanto, la conversione da unità del convertitore ad unità fisiche viene eseguita automaticamente ed è disponibile nella proprietà Channel(n).Value

Per completezza, sono riportate le formule utilizzate per ottenere la grandezza fisica a partire dalle unità del convertitore a/d.

Misure di tensione:

per segnali bipolari

V =  Sample * Vref / 32767 /InputGain

Per segnali unipolari

V = Sample * Vref / 65535 / InputGain

(vedi proprietà Vref e Channel(n).InputGain)

<<


Proprietà Channel(n).InputGain

Il convertitore analogico / digitale è dotato di uno stadio di preamplificazione programmabile

Questa proprietà permette di impostare il livello di amplificazione da applicare al segnale prima della conversione.

I valori ammessi sono: 

Valore Costante Guadagno

1

obGain1

2

obGain2

2

3

obGain32

32

4

obGain128

128

L'impostazione ha effetto solo dopo il comando UpdateConfiguration.

NOTA: Normalmente questa proprietà è impostata automaticamente quando si seleziona il range di misura con Channel(n).Range. Questo parametro viene utilizzato insieme a Sample e a Vref per ottenere Value.

<<


Proprietà Channel(n).Filter

Il convertitore analogico / digitale è dotato di un filtro numerico passa - basso programmabile.

Questa proprietà permette di impostare i parametri del filtro.

I valori ammessi sono: 

Valore Costante

0

obFilterUndef

1

obFilter50Hz 

2

obFilter60Hz

3

obFilter250Hz

4

obFilter500Hz

L'impostazione ha effetto solo dopo il comando UpdateConfiguration.

La risposta in frequenza del filtro è del tipo (Sin(x)/x)^3, il valore della proprietà rappresenta la frequenza in Hz del primo notch del filtro (primo punto in cui la risposta in frequenza si azzera). L'impostazione di questa proprietà, oltre che a determinare la frequenza di taglio del filtro, influisce sulla velocità di acquisizione del singolo canale e sul rumore in ingresso al convertitore a/d. 

First notch frequency -3dB frequency Acquisition time for single channel* Peak to Peak Noise (% of FSR)
50Hz 13.1Hz 180ms 0.0015%
60Hz 15.7Hz 150ms 0.003%
250Hz 65.5Hz 36ms 0.012%
500Hz 131Hz 18ms 0.19%

* gli 8 canali vengono acquisiti in sequenza, uno dopo l'altro, pertanto,  il periodo di aggiornamento del singolo canale è dato dalla somma dei tempi di acquisizione di ognuno degli  8  canali.

<<


Proprietà Channel(n).Buffered

Il convertitore analogico / digitale è dotato di un buffer di ingresso ad elevata impedenza. Questa proprietà consente di abilitare o disabilitare tale buffer.

Il valore di default è False, l'impostazione ha effetto solo dopo il comando UpdateConfiguration.

Quando il buffer è disabilitato, la tensione di modo comune che può essere applicata ad un ingresso deve essere compresa tra 0V e + 5V, mentre quando il buffer è abilitato il range ammesso è +50mV ... +3.5V, in questo caso, l'impedenza di ingresso è elevatissima (DC Input current <1nA).

<<


Proprietà Vref

E' la tensione di riferimento per il convertitore analogico / digitale. Tutte le misure di tensione sono riferite a tale parametro (vedi Channel(n).Sample, SaveCalibration).

Il valore nominale è 2.5V, Il valore effettivo è misurato in fabbrica con strumenti tarati periodicamente da centri SIT ed è memorizzato nella memoria non volatile del dispositivo.

La ricalibrazione del dispositivo può essere effettuata con il metodo SaveCalibration.

<<


Proprietà Channel(n).Rref

Le misure di corrente sono ricavate da misure di tensione ai capi delle resistenze di riferimento Rref.

Il valore nominale di Rref è 100 ohm, Il valore effettivo è misurato in fabbrica con strumenti tarati periodicamente da centri SIT ed è memorizzato nella memoria non volatile del dispositivo.

La ricalibrazione del dispositivo può essere effettuata con il metodo SaveCalibration.

<<


Proprietà Channel(n).RrefUp

Alcune misure, ad esempio quelle di temperatura mediante resistori al platino (PT100) dipendono dal valore della resistenza di riferimento RrefUp

Il valore nominale di RrefUp è 4700 ohm, Il valore effettivo è misurato in fabbrica con strumenti tarati periodicamente da centri SIT ed è memorizzato nella memoria non volatile del dispositivo.

La ricalibrazione del dispositivo può essere effettuata con il metodo SaveCalibration.

<<


Proprietà Channel(n).Bipolar

Se true seleziona la modalità di funzionamento bipolare.

NOTA: Normalmente questa proprietà è impostata automaticamente quando si seleziona il range di misura con Channel(n).Range. Questo parametro viene utilizzato insieme a Sample e a Vref per ottenere Value.

<<


Metodo SaveCalibration

Salva i dati di calibrazione precedentemente variati con le proprietà  Vref, Channel(n).Rref, Channel(n).RrefUp, nella memoria non volatile del dispositivo.

<<

 


Metodo Factory

Ripristina le impostazioni di fabbrica per i parametri di configurazione, per maggiori informazioni vedi metodo SaveConfiguration.

Sintassi:

result = oggetto.Factory

Restituisce 0 se l'aggiornamento ha avuto successo, altrimenti restituisce un codice di errore che può essere decodificato con il metodo ErrDescription.

<<


Proprietà SerialNumber

Proprietà di sola lettura, restituisce il numero di serie del dispositivo connesso. Se il dispositivo non è connesso restituisce 0.

<<