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:

Proprietà Metodi Eventi

Status

StatusDescription

DeviceId

DeviceDescription

SerialNumber

NotifyKeyPress

NotifyTamper

BackLight

KeyBeep

WatchdogTime

KeyTable

 

Connect

Disconnect

ErrDescription

GetDevicesList

ExplorerShow

DeviceDialogShow

DispMessage

ReadKeyboard

GetChar

GetLine

WriteConfiguration

ReadConfiguration

SaveConfiguration

Connected

Disconnected

KeyboardData

Tamper

 


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.

<<


Proprietà NotifyKeypress

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.

<<


Proprietà NotifyTamper

Abilita la notifica dell'evento Tamper (vedi).

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

<<


Metodo RadKeyboard

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

<<


Metodo GetChar

Preleva un carattere dal buffer di tastiera in precedenza letto con il metodo ReadKeyboard.

<<


Metodo GetLine

Preleva tutti i caratteri dal buffer di tastiera in precedenza letto con il metodo ReadKeyboard.

<<


Proprietà KeyTable

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

<<


Proprietà KeyBeep

Abilita un segnale acustico alla pressione di ogni  tasto sul terminale (default=true).

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

<<


Proprietà BackLight

Abilita la retroilluminazione del display LCD (default=true).

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

<<


Metodo DispMessage

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.

<<


Evento KeyboardData

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.

<<


Evento Tamper

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.

<<


Metodo WriteConfiguration

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.

<<


Metodo ReadConfiguration

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.

<<


Metodo SaveConfiguration

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.

<<


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à WatchDogTime

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)

<<