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:
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)
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.
Restituisce una stringa che contiene la descrizione del codice di errore ErrorCode
esempio:
msgbox oggetto.ErrDescription ErrorCode
Riempie una ComboBox con gli identificativi dei dispositivi installati sul sistema e supportati dal controllo.
Esempio:
oggetto.GetDevicesList ComboBox
Visualizza la shell del software OmniBus Explorer
Visualizza la finestra di dialogo di configurazione del dispositivo corrente, funziona solo dopo l'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()
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
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 |
Di tipo String, fornisce una descrizione dello stato attuale della connessione (vedi proprietà Status)
Identificativo del dispositivo, fa riferimento al nome che si è assegnato al dispositivo in fase di configurazione (vedi metodo Connect, documentazione OmniBus Explorer).
Descrizione del dispositivo, fa riferimento alla descrizione che si è assegnata al dispositivo in fase di configurazione (vedi documentazione OmniBus Explorer).
Proprietà di sola lettura, restituisce il numero di serie del dispositivo connesso. Se il dispositivo non è connesso restituisce 0.
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.
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.
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.
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.
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
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
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.
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
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.
Restituisce il numero di uscite disponibili (8 per le schede OB-RLY-XXX e 16 per le schede OB-DGT-XXX).
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).
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.