TrmCtl Control V1.00
Reference manual V1.01 30-07-2002 WWW.QFPENG.COM |
Il controllo gestisce tutte le funzionalità dei terminali di raccolta dati QFP Engineering OmniBus del tipo OB-TRM-XXX (Terminale raccolta dati con display LCD 16X2, tastiera 12 tasti).
Per leggere i dati digitati sulla tastiera si utilizza il metodo ReadKeyboard, successivamente si usano i metodi GetChar e GetLine per leggere rispettivamente un carattere o l'intero buffer di tastiera.
E' possibile attivare la notifica automatica dei tasti premuti con NotifyKeyPress, in questo caso verrà generato l'evento KeyboardData alla pressione del pulsante impostato.
Con il metodo DispMessage è possibile inviare al terminale delle stringhe da visualizzare sul display.
KeyTable consente di associare ad ogni pulsante della tastiera un carattere ascii. Di default i caratteri associati ai tasti sono ABCDEFGHIJKL.
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 e 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.
Abilita l'evento KeyboardData quando si preme un particolare tasto sulla scheda OB-TRM.
NotifyKeypress=0 disabilita la notifica, NotifyKeypress=n con n compreso tra 1 e 12 abilita la notifica in caso di pressione del tasto numero n. NotifyKeypress=k con k>12 abilita l'evento alla pressione di qualsiasi tasto.
L'impostazione ha effetto solo dopo il comando SaveConfiguration.
Abilita la notifica dell'evento Tamper (vedi).
L'impostazione ha effetto solo dopo il comando WriteConfiguration o SaveConfiguration.
Legge il buffer di tastiera del terminale, restituisce 0 se la richiesta va a buon fine, altrimenti restituisce un codice di errore che può essere decodificato con il metodo ErrDescription.
Dopo aver chiamato questo metodo, i dati letti dalla tastiera possono essere recuperati con i metodi GetChar() e GetLine().
Preleva un carattere dal buffer di tastiera in precedenza letto con il metodo ReadKeyboard.
Preleva tutti i caratteri dal buffer di tastiera in precedenza letto con il metodo ReadKeyboard.
KeyTable consente di associare ad ogni pulsante della tastiera un carattere ascii. Di default i caratteri associati ai tasti sono ABCDEFGHIJKL.
L'impostazione ha effetto solo dopo il comando SaveConfiguration.
Esempio:
oggetto.KeyTable="12345678#0*" 'imposta una tastiera di tipo telefonico
oggetto.SaveConfiguration 'salva le impostazioni nella memoria non volatile del dispositivo
Abilita un segnale acustico alla pressione di ogni tasto sul terminale (default=true).
L'impostazione ha effetto solo dopo il comando WriteConfiguration o SaveConfiguration.
Abilita la retroilluminazione del display LCD (default=true).
L'impostazione ha effetto solo dopo il comando WriteConfiguration o SaveConfiguration.
Invia al terminale dei caratteri da visualizzare sul display, restituisce 0 se la richiesta va a buon fine, altrimenti restituisce un codice di errore che può essere decodificato con il metodo ErrDescription.
Alcuni codici ascii speciali consentono di posizionare il cursore, di cancellare il display e di emettere un beep dal buzzer della tastiera.
I caratteri speciali sono:
CH_CLR = &H80
CH_HOME2 = &H81
CH_HOME = &H82
CH_CURON = &H83
CH_CUROFF = &H84
CH_BEEP = &H85
es.
Trm1.DispMessage(Chr$(CH_CLR) & "prova su riga1" & Chr$(CH_HOME2) & "prova su riga 2" & Chr$(CH_BEEP))
Cancella il display, invia sulla riga 1 la scritta "prova su riga1", sulla riga 2 "prova su riga 2" ed emette un beep.
Se è stata abilitata la notifica dei tasti con NotifyKeypress, viene generato questo evento quando si preme un particolare tasto sulla tastiera ovvero un qualsiasi tasto se NotifyKeypress=255. All'interno dell'evento il buffer di tastiera è già stato letto, pertanto è possibile prelevare i caratteri digitati con i metodi GetChar e GetLine.
Se è stata abilitata la notifica con NotifyTamper, viene generato questo evento quando viene rilasciato il tasto tamper. Tipicamente ciò avviene quando è in atto un tentativo di manomissione della tastiera.
Invia al dispositivo i parametri di configurazione impostati con NotifyTamper, BackLight, KeyBeep. Le impostazioni resteranno attive fino allo spegnimento del dispositivo, per rendere le impostazioni durature usare il comando SaveConfiguration.
Sintassi:
result = oggetto.WriteConfiguration
Restituisce 0 se l'aggiornamento ha avuto successo, altrimenti restituisce un codice di errore che può essere decodificato con il metodo ErrDescription.
Legge i parametri di configurazione. Dopo il comando, i valori aggiornati sono disponibili nelle proprietà NotifyKeyPress, NotifyTamper, BackLight, KeyBeep, WatchdogTime, KeyTable.
Sintassi:
result = oggetto.ReadConfiguration
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 NotifyKeyPress, NotifyTamper, BackLight, KeyBeep, WatchdogTime, KeyTable.
Le impostazioni resteranno attive anche dopo lo spegnimento del dispositivo.
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.
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.
Imposta il tempo del watchdog timer in millisecondi. Se il tempo è 0 il watchdog è disabilitato.
La funzione di watchdog consente di visualizzare un messaggio 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 DispMessage o ReadKeyboard. Se questi comandi non arrivano ad intervalli di tempo minori di WatchDogTime, sul display viene visualizzato un messaggio predefinito.
L'impostazione ha effetto solo dopo il comando SaveConfiguration.
Esempio:
oggetto.WatchDogTime=10000 ' 10 secondi
oggetto.SaveConfiguration 'Aggiorna i parametri di configurazione della scheda
'da questo momento in poi, almeno ogni dieci secondi bisogna richiamare DispMessage o ReadKeyboard
(Implementato su firmware >=1.01)