DGTCTL Control V1.00

 

Reference manual

V1.0 22-09-2000  WWW.QFPENG.COM


Il controllo gestisce tutte le funzionalità delle schede di acquisizione dati e controllo QFP Engineering OmniBus del tipo OB-DGT - OB-RLY (Schede di input / output digitali e a relè).

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.

Per leggere gli ingressi digitali si usa il metodo UpdateInputs, i valori letti sono disponibili nella proprietà InPort(n).

Per controllare le uscite si usa la proprietà OutPort(n) congiuntamente al  metodo  UpdateOutputs.

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

Proprietà Metodi Eventi

Status

StatusDescription

InPort(n)

OutPort(n)

NotifyChanges(n)

DeviceId

DeviceDescription

SerialNumber

WatchDogTime

AutoSaveOutput

OutCount

Connect

Disconnect

ErrDescription

GetDevicesList

ExplorerShow

DeviceDialogShow

UpdateInputs

UpdateOutputs

UpdateConfiguration

SaveConfiguration

Factory

Connected

Disconnected

InputChanged

 


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). 

<<


Proprietà SerialNumber

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

<<


Metodo UpdateInputs

Legge i valori degli ingressi e aggiorna la proprietà InPort(n).

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 UpdateOutputs

Aggiorna le uscite della scheda con i valori contenuti nella proprietà OutPort(n).

Dopo questo comando, nelle proprietà OutPort(n) e InPort(n), sono disponibili i valori aggiornati delle uscite e degli ingressi.

Sintassi:

result = oggetto.UpdateOutputs

Restituisce 0 se l'operazione 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 NotifyChanges(n), AutoSaveOutputs, WatchDogTime. 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

Salva nella memoria permanente del dispositivo lo stato attuale delle uscite e i parametri di configurazione impostati con NotifyChanges(n), AutoSaveOutputs e WatchDogTime.

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à InPort(n)

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

il valore letto può essere:

Valore Costante stato dell'ingresso

0

dgtOff

basso

1

dgtOn

alto

2

dgtNoOperation

non disponibile

* n va da 1 a 8

<<


Proprietà OutPort(n)

In scrittura, rappresenta il valore che si vuole far assumere all'uscita n* quando si richiama il metodo UpdateOutputs. In lettura rappresenta lo stato corrente dell'uscita n*.

il valore può essere:

Valore Costante stato dell'uscita a relè (scheda OB-RLY-XX) stato dell'uscita open collector (scheda OB-DGT-XX)

0

dgtOff

aperto interdetto

1

dgtOn

chiuso saturo

2

dgtNoOperation

invariato invariato
3 dgtToggle l'inverso di quello corrente l'inverso di quello corrente

* n va da 1 ad OutCount

Esempio:

oggetto.OutPort(1)=1                 'ingresso 1  ON

oggetto.UpdateOutputs              'Aggiorna le uscite

msgbox "Lo stato dell'uscita 1 è " & oggetto.OutPort(1)    ' Visualizza lo stato corrente dell'uscita 1

<<


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.

<<


Metodo NotifyChanges(n)

Abilita la generazione dell'evento InputChanged quando si verifica una variazione di stato sull'ingresso n. L'impostazione ha effetto quando si richiama il metodo UpdateConfiguration o SaveConfiguration.

I possibili valori sono:

Valore Costante Notifica variazione

1

dgtNever

mai

2

dgtOnRaise

sul fronte di salita (variazione 0->1)
3 dgtOnfall  sul fronte di discesa (variazione 1->0)
4 dgtOnRaiseAndFall ad ogni cambiamento

0

dgtActual

non modificare l'impostazione attuale

Esempio:

oggetto.NotifyChanges(1)=4                 'Notifica cambiamenti dell'ingresso 1

oggetto.NotifyChanges(2)=2                 'Notifica variazione da 0 a 1 dell'ingresso 2

oggetto.UpdateConfiguration                'Aggiorna i parametri di configurazione della scheda

'da questo momento in poi, variazioni dello stato dell'ingresso 1 o variazioni 0->1 dell''ingresso 2

'provocheranno l'evento InputChanged

<<


Evento InputChanged

Questo evento è generato quando viene rilavata una variazione di stato su un ingresso per il quale è stata abilitata la notifica delle variazioni (vedi proprietà NotifyChanges(n) ). 

Nella proprietà InPort(n) è disponibile lo stato aggiornato degli ingressi.

<<


Proprietà OutCount

Restituisce il numero di uscite disponibili (8 per le schede OB-RLY-XXX e 16 per le schede OB-DGT-XXX). 

<<


Proprietà AutoSaveOutput

Se impostata su true, ogni variazione delle uscite viene salvata nella memoria non volatile del dispositivo. Poiché al reset* della scheda, le uscite assumono il valore dell'ultimo salvataggio, abilitando questa opzione, è possibile conservare lo stato delle uscite anche in seguito ad una mancanza della  tensione di alimentazione.

L'impostazione ha effetto solo dopo il comando UpdateConfiguration o SaveConfiguration.

Esempio:

oggetto.AutoSaveOutput=true              ' imposta il salvataggio automatico delle uscite

oggetto.UpdateConfiguration                'Aggiorna i parametri di configurazione della scheda

'da questo momento in poi, variazioni delle uscite saranno memorizzate nella memoria non volatile del dispositivo

* il reset della scheda può avvenire o per mancanza della tensione di alimentazione o allo scadere del tempo di WatchDog (Vedi WatchDogTime).

<<


Proprietà WatchDogTime

Imposta il tempo del watchdog timer in millisecondi. Se il tempo è 0 il watchdog è disabilitato. 

La funzione di watchdog 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 watchdog è attivo, la scheda si aspetta ad intervalli regolari il comando UpdateInputs o UpdateOutputs. Se questi comandi non arrivano ad intervalli di tempo minori di WatchDogTime, le uscite assumono l'ultimo valore salvato nella memoria non volatile del dispositivo. Questo valore può essere quello salvato con SaveConfiguration o l'ultimo stato delle uscite se è impostata l'opzione AutoSaveOutputs*.

L'impostazione ha effetto solo dopo il comando UpdateConfiguration o SaveConfiguration.

Esempio:

oggetto.WatchDogTime=10000              '  10 secondi

oggetto.UpdateConfiguration                  'Aggiorna i parametri di configurazione della scheda

'da questo momento in poi, almeno ogni dieci secondi bisogna richiamare UpdateInputs o UpdateOutputs

* tipicamente o si usa AutoSaveOutput o si usa la funzione di watchdog.

<<