software:devices:mmiq

DEVICE MMIQ

1. Introduzione

Il device MMIQ è necessario per creare un sistema d'interfaccia uomo - macchina (HMI) programmabile tramite l'ambiente di sviluppo Qpaint.
Il device fornisce una serie d'informazioni sul pannello d'interfaccia con una rapidità d'aggiornamento impostabile tramite il tempo di campionamento.

Nell'unità di configurazione, nella sezione BUS, deve essere dichiarato uno strumento il cui firmware contenga il device MMIQ.
Nella sezione INTDEVICE deve essere aggiunta la seguente definizione:

;---------------------------------
; Dichiarazione devices interni
;---------------------------------
INTDEVICE
<nome device>   MMIQ         TCamp

dove:

<nome device>Nome assegnato al device.
MMIQParola chiave che identifica il device.
TcampTempo campionamento device (1÷10 ms).

1.1.1.1 Esempio

;--------------------------------
; Dichiarazione devices interni
;--------------------------------
INTDEVICE
DEV   MMIQ        0001

I parametri key e keyf sono utilizzati per riconoscere quale tasto è stato premuto. I valori associati ad ogni tasto sono riportati nel capitolo di questo manuale “Comandi e Parametri”.
Ogni bit dei parametri key e keyf è associato ad un tasto, quindi se si vuole determinare la pressione contemporanea di più tasti è sufficiente controllare che tali parametri assumano un valore pari alla somma dei valori associati ai tasti.

I parametri leds e blinkleds sono utilizzabili per accedere (o far lampeggiare) e spegnere il led presenti sulla tastiera.
Normalmente esiste un LED per ogni tasto funzione.
Per accedere (o far lampeggiare) e spegnere il led è necessario assegnare al parametro il codice associato al tasto funzione.
Ogni bit dei parametri leds e blinkleds è associato ad un led.

Il nome del parametro, stato o comando è riportato alla sinistra della tabella.

R
Indica se il relativo parametro o stato è ritentivo (al momento dell’inizializzazione del device mantiene lo stato precedentemente definito), oppure lo stato che assume al momento dell’inizializzazione del device.
Se il device non necessita d'inizializzazione il campo “R” indica il valore che il parametro o stato assume all’accensione della scheda.
R = Ritentivo
0 = Al momento dell’inizializzazione del device il valore è forzato a zero.
1 = Al momento dell’inizializzazione del device il valore è forzato a uno.
- = Al momento dell’inizializzazione del device è presentato il valore significativo.

D
Indica la dimensione del parametro.
F = Flag
B = Byte
W = Word
L = Long
S = Single Float

1.3.1.1 Condizioni

Sono descritte tutte le condizioni necessarie affinché il parametro sia considerato corretto o perché il comando sia accettato.
In alcuni casi sono specificati dei valori limite per l’accettazione del parametro: se sono introdotti dei valori esterni ai limiti impostati, il dato è in ogni caso accettato; pertanto devono essere previsti opportuni controlli dell’applicativo tali da garantire il corretto funzionamento.
Per l’esecuzione di un comando, tutte le relative condizioni devono necessariamente essere soddisfatte; in caso contrario il comando non è inviato.

A
Indica il modo d'accesso.
R = Read (lettura).
W = Write (scrittura).
R-W= Read / Write.

NomeDRACondizioniDescrizione
keyL-R-Key
Rappresenta in ogni istante lo stato dei tasti. Ogni tasto è rappresentato da un bit.
Per l’assegnazione dei bit fare riferimento a quanto segue:
KEY_1 268435456
KEY_2 1048576
KEY_3 4096
KEY_4 536870912
KEY_5 2097152
KEY_6 8192
KEY_7 1073741824
KEY_8 4194304
KEY_9 16384
KEY_0 8388608
KEY_CLR -2147483648
KEY_ENTER 128
KEY_HELP 64
KEY_DECPT 32
KEY_SIGN 16
KEY_ESC 33554432
KEY_UP 131072
KEY_PGUP 512
KEY_LEFT 67108864
KEY_NEXT 262144
KEY_RIGHT 1024
KEY_INS 134217728
KEY_DOWN 524288
KEY_PGDN 2048
keyfL-R-Function Key
Rappresenta in ogni istante lo stato dei tasti funzione. Ogni tasto è rappresentato da un bit.
Per l’assegnazione dei bit fare riferimento a quanto segue:
KEY_F1 33554432
KEY_F2 67108864
KEY_F3 134217728
KEY_F4 268435456
KEY_F5 536870912
KEY_F6 131072
KEY_F7 262144
KEY_F8 524288
KEY_F9 1048576
KEY_F10 2097152
KEY_F11 1
KEY_F12 2
KEY_F13 4
NomeDRACondizioniDescrizione
ledsL0R-W-Leds status
Parametro utilizzato per accendere i LED dei tasti funzione.
Ogni bit del parametro è associato un LED.
Per il valore associato al parametro keyf.
blinkledsL0R-W-Blink Leds status
Parametro utilizzato per far lampeggiare i LED dei tasti funzione.
Ogni bit del parametro è associato un LED.
Per il valore associato al parametro keyf.
N.B. Perché un led possa lampeggiare è necessario associare il valore relativo a quel led sia al parametro leds che al parametro blinkleds.
NomeDRACondizioniDescrizione
languageBRR-W-Language
Parametro per impostare la lingua da visualizzare. I valori vanno da 0 al numero di lingue introdotto -1.
ReverseBRR-WNon gestito
nei display
non grafici
Reverse
Parametro per impostare la modalità reverse del display.
Range 0÷1
contrastWRR-W-Contrast
Parametro per impostare il contrasto del display. Range 1÷99.
Default=33
Per valori prossimi a 99 il display appare scuro, mentre per valori prossimi a 1 appare chiaro.
clrtimeWRR-W-Clear time
Parametro per impostare il tempo associato del tasto CLEAR.
Durante l'inserimento di un dato, se il tasto CLEAR viene premuto per più di quel tempo, il dato introdotto viene azzerato.
errorB0R-Error
Indica se vi sono errori nel device. In dettaglio:
0 = no error
1 = no application present
2 = checksum no match
3 = file format no match
4 = incorrect display size
5 = out of memory
6 = error readin the page
7 = error in erase operation
8 = internal error
9 = error in write memory
10 = error in read operation
11 = internal error
12 = image present but not possible
13 = font not supported
14 = internal error
memuseB0R-Memory used
Indica la percentuale di memoria utilizzata per memorizzare il file applicativo di QPAint.

Nessuna limitazione.

; Accensione di un LED alla pressione del tasto funzione
; (si accende solo il LED F1 e tutti gli altri si spengono).
 
IF   DEV:keyf EQ KEY_F1
     DEV:leds = KEY_F1
ELSE
     DEV:keyf EQ KEY_F1
ENDIF
 
; Accensione di due LED alla pressione di due tasti funzione
; (viene acceso/spento solo il LED relativo al tasto premuto).
 
IF   DEV:keyf EQ KEY_F1
     DEV:leds = DEV:leds ORB KEY_F1
ELSE
     DEV:leds = DEV:leds ANDB (-1-KEY_F1)
ENDIF
 
IF   DEV:keyf EQ KEY_F2
     DEV:leds = DEV:leds ORB KEY_F2
ELSE
     DEV:leds = DEV:leds ANDB (-1-KEY_F2)
ENDIF
  • Ultima modifica: 2020/07/13 15:14