software:devices:hmi

DEVICE HMI

1. Introduzione

Il device interno HMI è un tool residente nella CPU che permette di gestire la visualizzazione alfanumerica di un display a 7 segmenti presente sugli strumenti MicroQMove serie D9 e serie D2.
Consente di creare una semplice interfaccia in poco tempo e con poche righe QCL sia utilizzando una raccolta di funzionalità predefinite che il programmatore deve solo configurare, sia usando una serie di specializzazioni utili a risolvere quei casi in cui le funzionalità configurate non riescono a soddisfare le esigenze dell’applicazione.
Mette a disposizione del programmatore 8 visualizzazioni numeriche ricorsive con scrool tramite tasti di up/down. Ogni visualizzazione ha una lettera programmabile. Impostando zero nella lettera programmabile si ha una cifra in più.

Nel file di configurazione (.CNF), la sezione BUS deve essere dichiarata in modo tale che siano presenti le risorse hardware necessarie all’implementazione del device HMI.
Nella sezione INTDEVICE del file .CNF deve essere aggiunta la seguente definizione:

;---------------------------------
; Dichiarazione devices interni
;---------------------------------
INTDEVICE
..
<nome_device> HMI TCamp

dove:

<nome device>Nome assegnato al device.
HMIParola chiave che identifica il device gestione display.
TCampTempo di campionamento device (1÷250 ms).

1.1.1.1 Esempio

;---------------------------------
; Dichiarazione devices interni
;---------------------------------
INTDEVICE
hmDisplay    HMI   1

Il device HMI gestisce:

  • un’interfaccia composta da una riga di 7 cifre a sette segmenti;
  • una tastiera alfanumerica.

1.2.1.1 Assegnazione delle costanti ai tasti

TastoCodice costante
F16
-32
+4
CLEAR8
ENTER1

1.2.1.2 Assegnazione delle costanti ai leds

LedCodice Costante
L12
L24
L38
L416
F512
AL1

1.2.1.3 Schema di navigazione tra le funzioni

Il device HMI di default visualizza il livello SCREEN cioè la gestione delle visualizzazioni ricorsive.

Per passare alle altre funzioni occorre scorrere i vari livelli con il tasto F (che deve essere abilitato settando a 1 il bit 14 e il bit 15 del parametro “enable”).

Confermare il livello raggiunto con il tasto ENTER secondo il seguente schema di navigazione.

1.2.1.4 Livello SCREEN

Livello FUNZIONI
Livello MENU
Livello MANUALE
Ritorno al livello FUNZIONI

Per uscire dai vari livelli e tornare alle visualizzazioni ricorsive basta premere il tasto per circa 2 secondi.

1.2.1.5 Livello FUNZIONI


Livello PASSWORD

Impostazione programma in esecuzione

Impostazione step di esecuzione.

Impostazione long generica.

Impostazione PAR03.

Impostazione PAR04.

Livello DIAGNOSTICA.
Ritorno al livello PASSWRD

1.2.1.6 Livello MANUALE


Valore visualizzato passato in MANVALUE
Se in precedenza era settato low o high

1.2.1.7 Livello TARATURA


Per uscire dai vari livelli e tornare alle visualizzazioni ricorsive basta premere il tasto per circa 2 secondi.

1.2.1.8 Livello MENU

Vi sono fino a 8 visualizzazioni ricorsive che vengono cambiate mediante i tasti .
Il numero di visualizzazioni ricorsive è impostabile tramite il parametro scnum (ogni bit abilita una visualizzazione).
Tutte queste sono solo in visualizzazione, non sono introducibili da tastiera.

Il device permette di impostare il display più a sinistra con il parametro sclabel1…8. Impostando a 0 tale valore il display visualizza il valore contenuto nel parametro screen1…8 a 6 cifre più il segno; se sclabel1…8 assume valore diverso da 0 la rappresentazione sarà a 5 cifre più il segno o 6 cifre senza segno.

Per ognuna della variabili visualizzate è possibile impostare il numero di cifre decimali con il parametro scdecpt1…8.
Inoltre con il parametro scalpha è possibile cambiare una visualizzazione in caratteri alfanumerici.

I caratteri alfanumerici vengono impostati tramite i parametri scdis1…7.
Il parametro scactual fornisce il numero della visualizzazione attuale (ad ogni bit corrisponde una visualizzazione).

Nota Bene Quando, nel device si tenta di confermare un dato fuori dai limiti minino o massimo consentito dall‘introduzione, compare per un secondo la scritta “Error“, poi ritorna l‘introduzione con il vecchio valore.
Quando, il device visualizza un dato che eccede con il numero massimo di cifre visualizzabili, la visualizzazione mostra, per tutti i display interessati, un carattere. Il carattere sarà:
‘=’ se ho overflow di visualizzazione positiva e ‘=’ se ho overflow di visualizzazione negativa.

Il device possiede una completa gestione degli allarmi.
Da QCL è possibile forzare un allarme inserendo questo in un’apposita lista allarmi attivi interna al device. Si deve specificare quale allarme si vuole inserire nella lista con il parametro alvalue e la sua priorità con alprior, quindi inserirlo con il comando SETALARM.
La lista è composta di un massimo di 20 elementi.
Per gli allarmi la priorità è impostabile tra 0÷19. Il livello zero è riservato ai messaggi.
Quando interviene un allarme, la visualizzazione ricorsiva viene sovrascritta con il messaggio d'allarme tipo: e si accende il relativo led rosso .

Sarà possibile cambiare visualizzazione ma dopo un tempo di 7 secondi il display ritornerà a visualizzare l’allarme. Il led alarm rimarrà comunque sempre acceso.

Premendo il tasto per 3 sec. durante la visualizzazione del messaggio di allarme, l’operatore può cancellare l’allarme. Se vi sono piú allarmi attivi nello stesso istante sarà visualizzato il primo forzato a priorità più alta. In caso di stessa priorità verra visualizzato l‘ultimo intervenuto. La cancellazione in ogni caso è sempre relativa solo all’allarme visualizzato.

Il bit 0 del parametro alsetting permetterà di cancellare con il tasto tutti gli allarmi con una sola pressione invece che uno alla volta.
Il bit 1 del parametro alsetting permetterà di cancellare anche i messaggi.

La stessa gestione allarmi è utilizzata anche per la visualizzazione dei messaggi. Un messaggio si comporta come un allarme solo che il messaggio visualizzato è composto da:

Un messaggio non attiva il led ALARM, permane per 5 sec e poi scompare senza richiedere la pressione del tasto .
Un messaggio si imposta come un allarme ma deve avere sempre priorità zero.

Gli allarmi sono visualizzati solo nelle visualizzazioni ricorsive. Se interviene un allarme e sono in: F1, F2, MENÙ, MAN o altro la visualizzazione comparirà appena esco da questa funzione. Il led ALARM invece si accende subito.

La diagnostica I/O è accessibile dal menù descritto in precedenza.

1.2.4.1 Visualizzazione segnali in interrupt

Se il bit 0 del parametro enable è a 1 viene abilitata la possibilità di accedere allo stato manuale del device tramite l’apposita sequenza di tasti descritta in precedenza.
Se il bit 0 del parametro mansetting è a 1 viene visualizzata la scritta: dove l’operatore può specificare quale asse intende muovere.
Il numero che l’operatore scrive viene riportato nel parametro axisnum.
I parametri manvalue e mandecpt, permettono di specificare il valore da visualizzare in questo stato e il numero di cifre decimali con cui visualizzarlo rispettivamente.

Il display visualizza ora i parametri per abilitare la modalità di movimento in “lento” dell’asse:

o la modalità “veloce”.

Il passaggio e la conferma dei parametri inseriti viene effettuato con il tasto .

I movimenti in jog in avanti e all’indietro dell’asse sono svolti dai tasti .

1.2.5.1 Parametri di setup e generici

Il device HMI mette a disposizione del programmatore 12 variabili di SETUP (setup1…12) e 3 parametri generici (par03,par04,par07).

Inoltre il sistema è dotato di altri 2 parametri generici par01 e par02 che possono essere protetti da una password scelta dal programmatore e impostabile con il parametro pass01. Tale password non può assumere i valori riservati 100 e 123.
Le prime sono protette da password 100 mentre i secondi sono utilizzabili liberamente.

Se il bit 2 del parametro enable è a 1 viene abilitata la possibilità di entrare in modalità SETUP.
Dopo l’introduzione della password (100), il device richiede l’inserimento del primo parametro di setup contraddistinto dalla lettera A.

Con i tasti è possibile scorrere le dodici variabili di setup e con il tasto confermare l’inserimento di un valore.

Se il bit 3 del parametro enable è a 1 viene abilitata la possibilità di impostare i parametri protetti par01 e par02.
Con la pressione in sequenza descritta nell’apposito paragrafo, il device richiede l’inserimento del primo parametro.
Per introdurre i parametri par03…04 è necessario abilitarne la possibilità settando rispettivamente i bit 7 e 8 del parametro enable.

Se il bit 12 del parametro enable è a 1 viene abilitata la possibilità di impostare il parametro par07.
Il parametro par07 è un parametro generico con la caratteristica d'essere impostabile in qualsiasi modalità. Per questo parametro è possibile inoltre impostare il numero di caratteri con nchar07, il numero di cifre decimali con decpt07, il valore di offset con off07 e le seguenti configurazioni con i bit del parametro set07:
bit 0: abilita l’introduzione dati;
bit 1: abilita il completamento del dato con gli zeri preposti (solo se bit0 = 0);
bit 2: riservato;
bit 3: abilita la visualizzazione alfanumerica;
bit 4: riservato;
bit 5: abilita introduzione dato con aumenta/diminuisci esponenziale;
bit 6: disabilita l’introduzione segno.
Per avviare l’introduzione o la semplice visualizzazione del parametro par07 si utilizza il comando ENPAR07.

Se il bit 13 del parametro enable è a 1 il device mette a disposizione una struttura di introduzioni e visualizzazioni atte a costruire una sequenza di taratura.
La taratura è accessibile tramite la sequenza descritta in precedenza.
Se è abilitata la scelta della taratura con il bit 0 del parametro tarsetting a 1 compare la scritta:

e l’operatore sceglie la taratura da eseguire. Il valore introdotto è riportato nel parametro tartype.
Per ogni pagina di taratura il sistema mette a disposizione fino a 8 long (tarvalue1…8) abilitabili dal parametro tarnum gestito a bit (un bit per ogni tarvalue). Questi valori possono essere letti e modificati.

È possibile scorrere i parametri tarvalue tramite i tasti mentre è possibile visualizzare i parametri tarmon1 e tarmon2 con il tasto .

I due parametri tarmon1…2 permettono di associare due variabili solo in lettura da visualizzare durante la fase di taratura.
Il device fornisce infine il numero dell’introduzione taratura attuale, sia in lettura e in scrittura, nel parametro taractual secondo la seguente tabella:
0 = In introduzione parametro tartype
1 = In introduzione parametro tarvalue 1
2 = In introduzione parametro tarvalue 2
3 = In introduzione parametro tarvalue 3
4 = In introduzione parametro tarvalue 4
5 = In introduzione parametro tarvalue 5
6 = In introduzione parametro tarvalue 6
7 = In introduzione parametro tarvalue 7
8 = In introduzione parametro tarvalue 8
L’impostazione di taractual minore di 0 o maggiore di 8 non è consentita e viene imposto il valore di default 1.
E’ possibile determinare se viene visualizzato uno dei due parametri tarmon1 e tarmon2 tramite i bit 1 e 2 del parametro tarsetting.
Normalmente i parametri visualizzati nella taratura sono privi di etichetta per distinguerli uno dall’altro, ma è possibile impostarla tramite i parametri dis1…7 a seconda della visualizzazione attuale.

Se il bit 1 del parametro enable è a 1 è possibile accedere alla gestione della memoria per i programmi di lavoro. Tale memoria è localizzata in flash seriale. Il device gestisce tutte le operazioni per introdurre i valori.
La memoria programmi è completamente configurabile scegliendo il numero di elementi interni ad ogni passo (numelem da 1 a 6), e il numero di passi di ogni programma (numstep da 1 a 4096).
Automaticamente viene calcolato il numero di programmi (numprog) (vedi a pag. 32 parametro numprog)

Elements number (1÷numelem)
Steps number (1÷numstep)
Program number (automatically)

Con la pressione del tasto e la scelta del menù viene chiesta la selezione del numero programma.

Il valore introdotto dall’operatore è possibile leggerlo nel parametro proged.
Se il bit 0 del parametro prgsetting è a 0 viene richiesta l’introduzione del numero del passo da modificare.
Compare la visualizzazione:

Il valore introdotto dall’operatore è possibile leggerlo nel parametro steped.
Se il bit 0 del parametro prgsetting è a 1 si entra subito in introduzione del primo passo. Ad ogni conferma del dato introdotto si passa all’elemento successivo. Sull’ultimo elemento si passa al passo successivo. Con il tasto è possibile scorrere gli elementi di ogni passo.
Appena entrato in un nuovo passo per 2 secondi o fino alla pressione del tasto compare la visualizzazione:

e il parametro steped è aggiornato al nuovo valore di passo.

Quando arrivo in fondo all‘ultimo passo, ritorno al primo senza cambiare programma.
Il parametro elemactual permette di conoscere quale elemento del passo si sta inserendo. Il parametro elemtypef permette di specificare come inserire l’elemento f.
Se è 0 l’elemento f viene inserito come unico valore long, mentre se è compreso tra 1 e 31 vengono inseriti, uno a uno, il numero di bit specificato.
Gi elementi elema…f sono indicati con le lettere A…F.
Se il bit 1 del parametro prgsetting è a 1 viene abilitata l’introduzione del fine programma tramite il tasto F3.

L’introduzione del parametro di fine programma permette di specificare il numero del passo cui si vuole far concludere il programma. Il calcolo della memoria programmi disponibili si riduce a 4096-N programmi, quindi:
numprog = 4096 / ((numstep * numelem * 4) + 5)

Gli elementi di ogni passo (elema…f) e, eventualmente, il parametro elemend possono essere letti o scritti scegliendo il numero di programma progin e lo step stepin e dando alternativamente i comandi WRITESTEP e READSTEP.

1.2.7.1 Esempio:

; ;---------------------------------
    ;Comando richiamo del programma
 
    IF gwComDisplay EQ 10
      gbI = 1
      gwComDisplay = 20
    IF gwComDisplay EQ 20
      hmi:progin = swPrgEx
      hmi:stepin = gbI
      hmi:stepout = 0
      READSTEP hmi                      ;Comando lettura del device
      gwComDisplay = 30
    ENDIF
    IF gwComDisplay EQ 30
      IF hmi:stepin EQ hmi:stepout      ;Attesa lettura avvenuta
 
            aslArray1[gbI] = hmi:elema
            aslArray2[gbI] = hmi:elemb
            aslArray3[gbI] = hmi:elemc
 
            gbI = gbI + 1
            IF gbI LE NUM_STEP
                   gwComDisplay = 20
            ELSE
                   gwComDisplay = 0
            ENDIF
      ENDIF
    ENDIF
     ;---------------------------------

Nota bene
Quando, da Qview, si effettua un “Save data” vengono salvati tutti i parametri ritentivi dell‘applicativo in un file. Nel microQMove, se è presente il device HMI, si viene salvata anche la memoria programmi (16kbytes).

Il device HMI gestisce:

  • un’interfaccia composta da una riga di 7 cifre a sette segmenti;
  • una tastiera alfanumerica.

1.2.8.1 Assegnazione delle costanti ai tasti

TastoCodice Costante
F1256
F2512
F316384
F432768
F51048576
F62097152
UP8
DOWN4
MAN1024
MENU65536
.4194304
+/-16
12048
24096
38192
4131072
5262144
6524288
78388608
81
92
064
CLEAR32
ENTER12

1.2.8.2 Assegnazione delle costanti ai leds

LedCodice Costante
L11
L22
L34
L48
F165536
F2262144
F3524288
F416384
F532768
F633554432
MAN1024
MENU16
L/H409

Vi sono fino a 8 visualizzazioni ricorsive che vengono cambiate mediante i tasti .
Il numero di visualizzazioni ricorsive è impostabile tramite il parametro scnum (ogni bit abilita una visualizzazione).
Tutte queste sono solo in visualizzazione, non sono introducibili da tastiera.
Il device permette di impostare il display più a sinistra con il parametro sclabel1…8. Impostando a 0 tale valore il display visualizza il valore contenuto nel parametro screen1…8 a 6 cifre più il segno; se sclabel1…8 assume valore diverso da 0 la rappresentazione sarà a 5 cifre più il segno o 6 cifre senza segno.
Per ognuna delle variabili visualizzate è possibile impostare il numero di cifre decimali con il parametro scdecpt1…8.
Inoltre con il parametro scalpha è possibile cambiare una visualizzazione in caratteri alfanumerici.
I caratteri alfanumerici sono impostati tramite i parametri scdis1…7.
Il parametro scactual fornisce il numero della visualizzazione attuale (ad ogni bit corrisponde una visualizzazione).

Nota bene Quando, nel device si tenta di confermare un dato fuori dei limiti minino o massimo consentito dall‘introduzione, compare per un secondo la scritta “Error“, poi ritorna l‘introduzione con il vecchio valore.
Quando, il device visualizza un dato che eccede con il numero massimo di cifre visualizzabili, la visualizzazione mostra, per tutti i display interessati, un carattere. Il carattere sarà:
‘=’ se ho overflow di visualizzazione positiva e ‘=’ se ho overflow di visualizzazione negativa.

Il device possiede una completa gestione degli allarmi.
Da QCL è possibile forzare un allarme inserendo questo in un’apposita lista allarmi attivi interna al device. Si deve specificare quale allarme si vuole inserire nella lista con il parametro alvalue e la sua priorità con alprior, quindi inserirlo con il comando SETALARM.
La lista è composta da un massimo di 20 elementi.
Per gli allarmi la priorità è impostabile tra 0÷19. Il livello zero è riservato ai messaggi.
Quando interviene un allarme la visualizzazione ricorsiva viene sovrascritta con il messaggio di allarme tipo: e si accende il relativo led rosso .
Sarà possibile cambiare visualizzazione ma dopo un tempo di 7 sec., il display ritornerà a visualizzare l’allarme. Il led alarm rimarrà in ogni caso sempre acceso.
Premendo il tasto per 3 sec. durante la visualizzazione del messaggio di allarme, l’operatore può cancellare l’allarme. Se vi sono più allarmi attivi nello stesso istante sarà visualizzato il primo forzato a priorità più alta. In caso di stessa priorità sarà visualizzato l‘ultimo intervenuto. La cancellazione in ogni caso è sempre relativa solo all’allarme visualizzato.
Il bit 0 del parametro alsetting permetterà di cancellare con il tasto tutti gli allarmi con una sola pressione invece che uno alla volta.
Il bit 1 del parametro alsetting permetterà di cancellare anche i messaggi.
La stessa gestione allarmi viene utilizzata anche per la visualizzazione dei messaggi. Un messaggio si comporta come un allarme solo che il messaggio visualizzato è composto da:
Un messaggio non attiva il led ALARM, permane per 5 sec e poi scompare senza richiedere la pressione del tasto .
Un messaggio s'imposta come un allarme ma deve avere sempre priorità zero.
Gli allarmi sono visualizzati solo nelle visualizzazioni ricorsive. Se interviene un allarme e sono in: F1, F2, MENÙ, MAN o altro la visualizzazione comparirà appena esco da questa funzione. Il led ALARM invece si accende subito.

La diagnostica I/O è accessibile tramite la sequenza F1+6..
In questa modalità vi sono sempre quattro visualizzazioni selezionabili con i tasti .

1.2.11.1 Visualizzazione segnali in interrupt

1.2.11.2 Visualizzazione ingressi allo slot 03

1.2.11.3 Visualizzazione ingressi allo slot 04

1.2.11.4 Visualizzazione uscite allo slot 04

Nota Bene
Per la visualizzazione n°2 deve essere presente la scheda L3-I17 nello slot 03.
Per la visualizzazione n°3 deve essere presente la scheda L3-I17 nello slot 04.
Per la visualizzazione n°4 deve essere presente la scheda H3-RV0 nello slot 04.

Se il bit 0 del parametro enable è a 1 viene abilitata la possibilità di accedere allo stato manuale del device tramite il tasto . Alla pressione di questo tasto si accende il relativo led.
Se il bit 0 del parametro mansetting è a 1 viene visualizzata la scritta:

dove l’operatore può specificare quale asse intende muovere.
Il numero che l’operatore scrive è riportato nel parametro axisnum.
I parametri manvalue e mandecpt, permettono di specificare il valore da visualizzare in questo stato e il numero di cifre decimali con cui visualizzarlo rispettivamente.
Se il bit 1 del parametro mansetting viene impostato a 1 si accede allo stato manuale senza la pressione del tasto.

1.2.12.1 Parametri di setup e generici

Il device HMI mette a disposizione del programmatore 12 variabili di SETUP (setup1…12) e 5 parametri generici (par03…07). Inoltre il sistema è dotato di altri 2 parametri generici par01 e par02 che possono essere protetti da una password scelta dal programmatore e impostabile con il parametro pass01. Tale password non può assumere i valori riservati 100 e 123.
Le prime sono protette da password 100 mentre i secondi sono utilizzabili liberamente.
Se il bit 2 del parametro enable è a 1 viene abilitata la possibilità di entrare in modalità SETUP.
Con la pressione in sequenza dei tasti F1 + 0 + 100 il device richiede l’inserimento del primo parametro di setup contraddistinto dalla lettera A.
Con le frecce direzionali è possibile scorrere le dodici variabili di setup e con il tasto ENTER confermare l’inserimento di un valore.
Se il bit 3 del parametro enable è a 1 viene abilitata la possibilità di impostare i parametri protetti par01 e par02.
Con la pressione in sequenza dei tasti F1 + 0 + XXX, dove XXX è la password scelta dall’operatore, il device richiede l’inserimento del primo parametro.
Per introdurre i parametri par03…06 è necessario abilitarne la possibilità settando rispettivamente i bit 7, 8, 10, 11 del parametro enable.
Il parametro par03 è inserito con la combinazione F1 + 4.
Il parametro par04 è inserito con la combinazione F1 + 5.
Il parametro par05 è inserito con la combinazione F2 + 4.
Il parametro par06 è inserito con la combinazione F2 + 5.
Se il bit 12 del parametro enable è a 1 viene abilitata la possibilità di impostare il parametro par07.
Il parametro par07 è un parametro generico con la caratteristica di essere impostabile in qualsiasi modalità. Per questo parametro è possibile inoltre impostare il numero di caratteri con nchar07, il numero di cifre decimali con decpt07, il valore d'offset con off07 e le seguenti configurazioni con i bit del parametro set07:
bit 0: abilita l’introduzione dati;
bit 1: abilita il completamento del dato con gli zeri preposti (solo se bit 0 = 0);
bit 3: abilita la visualizzazione alfanumerica;
bit 4:disabilita l’attesa rilascio tasto.
Per avviare l’introduzione o la semplice visualizzazione del parametro par07 si utilizza il comando ENPAR07.

Se il bit 13 del parametro enable è a 1 il device mette a disposizione una struttura di introduzioni e visualizzazioni atte a costruire una sequenza di taratura. La taratura è accessibile tramite la sequenza F1 + 0 + 123.
Se è abilitata la scelta della taratura con il bit 0 del parametro tarsetting a 1 compare la scritta:

e l’operatore sceglie la taratura da eseguire. Il valore introdotto è riportato nel parametro tartype.
Per ogni pagina di taratura il sistema mette a disposizione fino a 8 long (tarvalue1…8) abilitabili dal parametro tarnum gestito a bit (un bit per ogni tarvalue). Questi valori possono essere letti e modificati. È possibile scorrere i parametri tarvalue tramite i tasti mentre è possibile visualizzare il parametro tarmon1 con F5 e il parametro tarmon2 con F6.

Inoltre è possibile associare due variabili da controllare durante la fase di taratura ai due parametri tarmon1…2 solo in lettura.
Il device fornisce infine il numero dell’introduzione taratura attuale, sia in lettura che in scrittura, nel parametro taractual secondo la seguente tabella:
0 = In introduzione parametro tartype
1 = In introduzione parametro tarvalue 1
2 = In introduzione parametro tarvalue 2
3 = In introduzione parametro tarvalue 3
4 = In introduzione parametro tarvalue 4
5 = In introduzione parametro tarvalue 5
6 = In introduzione parametro tarvalue 6
7 = In introduzione parametro tarvalue 7
8 = In introduzione parametro tarvalue 8
L’impostazione di taractual minore di 0 o maggiore di 8 non è consentita e viene imposto il valore di default 1.
E’ possibile determinare se viene visualizzato uno dei due parametri tarmon1 e tarmon2 tramite i bit 1 e 2 del parametro tarsetting.
Normalmente i parametri visualizzati nella taratura sono privi di etichetta per distinguerli uno dall’altro, ma è possibile impostarla tramite i parametri dis1…7 a seconda della visualizzazione attuale.

Se il bit 1 del parametro enable è a 1 è possibile accedere alla gestione della memoria per i programmi di lavoro. Tale memoria è localizzata in flash seriale. Il device gestisce tutte le operazioni per introdurre i valori.
La memoria programmi è completamente configurabile scegliendo il numero di elementi interni ad ogni passo (numelem da 1 a 6), e il numero di passi di ogni programma (numstep da 1 a 4096).
Automaticamente viene calcolato il numero di programmi (numprog) (vedi a pag. 32 parametro numprog)

Elements number (1÷numelem)
Steps number (1÷numstep)
Program number (automatically)

Con la pressione del tasto e la scelta del menù viene chiesta la selezione del numero programma.

Il valore introdotto dall’operatore è possibile leggerlo nel parametro proged.
Se il bit 0 del parametro prgsetting è a 0 viene richiesta l’introduzione del numero del passo da modificare.
Compare la visualizzazione:

Il valore introdotto dall’operatore è possibile leggerlo nel parametro steped.
Se il bit 0 del parametro prgsetting è a 1 si entra subito in introduzione del primo passo. Ad ogni conferma del dato introdotto si passa all’elemento successivo. Sull’ultimo elemento si passa al passo successivo.
Con il tasto è possibile scorrere gli elementi di ogni passo.
Appena entrato in un nuovo passo per 2 secondi o fino alla pressione del tasto ENTER compare la visualizzazione:

e il parametro steped è aggiornato al nuovo valore di passo.
Quando arrivo in fondo all‘ultimo passo, ritorno al primo senza cambiare programma.
Il parametro elemactual permette di conoscere quale elemento del passo si sta inserendo. Il paramet ro elemtypef permette di specificare come inserire l’elemento f.
Se è 0 l’elemento f viene inserito come unico valore long, mentre se è compreso tra 1 e 31 vengono inseriti, uno a uno, il numero di bit specificato. Gi elementi elema…f sono indicati con le lettere A…F.
Se il bit 1 del parametro prgsetting è a 1 viene abilitata l’introduzione del fine programma tramite il tasto F3.
L’introduzione del parametro di fine programma permette di specificare il numero del passo a cui si vuole far concludere il programma. Il calcolo della memoria programmi disponibili si riduce a 4096-N programmi, quindi:\\numprog = 4096 / ((numstep * numelem * 4) + 5)
Gli elementi di ogni passo (elema…f) e, eventualmente, il parametro elemend possono essere letti o scritti scegliendo il numero di programma progin e lo step stepin e dando alternativamente i comandi WRITESTEP e READSTEP.

1.2.14.1 Esempio:

;------------------------------------
    ;Comando richiamo del programma
 
    IF gwComDisplay EQ 10
      gbI = 1
      gwComDisplay = 20
    IF gwComDisplay EQ 20
      hmi:progin = swPrgEx
      hmi:stepin = gbI
      hmi:stepout = 0
      READSTEP hmi ;Comando lettura del device
      gwComDisplay = 30
    ENDIF
    IF gwComDisplay EQ 30
      IF hmi:stepin EQ hmi:stepout ;Attesa lettura avvenuta
 
        aslArray1[gbI] = hmi:elema
        aslArray2[gbI] = hmi:elemb
        aslArray3[gbI] = hmi:elemc
 
        gbI = gbI + 1
        IF gbI LE NUM_STEP
              gwComDisplay = 20
        ELSE
              gwComDisplay = 0
      ENDIF
    ENDIF
    ENDIF
;------------------------------------

Nota bene Quando, da Qview, si effettua un “Save data” vengono salvati tutti i parametri ritentivi dell‘applicativo in un file. Nel microQMove, se è presente il device HMI, si è stata salvata anche la memoria programmi (16kbytes).

100Introduzione 12 parametri di setup.
I valori sono riportati sui parametri setup01..12
123Taratura
XXXIntroduzione di 2 parametri generici par01 e oar02.
La password è impostabile con il parametro pass01.
Scelta numero di programma in esecuzione.
Scelta numero del passo in esecuzione.
Introduzione vuota, sarà possibile stampare una
stringa scrivendo sui parametri dis1..7
“ “
Introduzione di una long generica sul parametro par03.
Introduzione di una long generica sul parametro par04.
Diagnostica I/O.
Introduzione di una long generica sul parametro par05.
Introduzione di una long generica sul parametro par05.

Il seguente schema a blocchi riassume le operazioni che sono possibili eseguire direttamente dalla tastiera dello strumento. Tali operazioni, tuttavia, possono essere implementate anche tramite QCL.

N.B. Per uscire da ognuna di queste procedure e tornare alle visualizzazioni ricorsive è necessario usare il comando EXIT.

Valore
decimale da
introdurre
in:
scdis1…7
sclabel1…7
dis1…7
Carattere
7 segmenti
Valore
decimale da
introdurre
in:
scdis1…7
sclabel1…7
dis1…7
Carattere
7 segmenti
Valore
decimale da
introdurre
in:
scdis1…7
sclabel1…7
dis1…7
Carattere
7 segmenti
Valore
decimale da
introdurre
in:
scdis1…7
sclabel1…7
dis1…7
Carattere
7 segmenti
0142842
1152943
2163044
3173145
4183246
5193347
6203448
72135 49
8223650
9233751
10243852
11253953
12264054
13274155

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).
RW = Read / Write.

NomeCondizioniDescrizione
SETALARM-SETTING a new ALARM
Con questo comando allarme è possibile forzare un nuovo allarme. Se l'allarme è giá in lista con la medesima prioritá esso non verrá forzato. Se invece la prioritá è diversa essa verrá aggiornata.
CLRALARM-CLEAR ALARM
Come la pressione del tasto CLEAR per 3 sec. Azzera gli allarmi presenti.
READSTEP-ReadStep
Consente la lettura del passo selezionato in stepin.
WRITESTEP-WriteStep
Consente la scrittura del passo selezionato in stepin.
ENPAR07status = 0Enter on par07
Permette di forzare l'introduzione del parametro par07 oppure di visualizzarlo.
Nel caso dell'introduzione del parametro compare sempre la label “i”.
.
EXIT-Exit from procedure
Permette di uscire da qualsiasi procedura e tornare alle visualizzazioni ricorsive.
CMD01-Available command for future implementations
Comando disponibile per future implementazioni.
CMD02-Available command for future implementations
Comando disponibile per future implementazioni.
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 alla tabella presente nel capitolo dedicato.
ledsL0R/W-Leds status
Rappresenta in ogni istante lo stato dei leds tastiera.
Questa variabile può essere modificata anche da device quando vengono eseguite operazioni nella tastiera.
Per l'assegnazione dei bit fare riferimento alla tabella presente nel capitolo dedicato.
blinkledsL0R/W-Blink leds status
Rappresenta in ogni istante lo stato del blink nel led tastiera. Questa variabile può essere modificata anche da device quando vengono eseguite operazioni nella tastiera. La mappatura dei bit rispecchia quella del parametro leds.
Perchè un led lampeggi esso deve essere attivato dalla variabile leds. Il tempo di blink è fissato a 300 ms ON e 700 ms OFF.
dis1…7B-R/W-Display position 1…7
Rappresenta il contenuto attuale del display nella posizione 1…7.
Dis1 è il display più a destra e dis7 è quello più a sinistra.
blinkdisB0R/W-Blink display
E' una variabile a bit per abilitare il blink su un carattere. Ogni bit è un carattere. Il bit meno significativo è associato al display più a destra.
screen1…8L0R/W-Screen 1…8 value
E' il valore della visualizzazione ricorsiva nr. 1…8
sclabel1…8B0R/W-Label for screen 1…8
E' il valore della cifra più a sinistra della visualizzazione ricorsiva nr. 1…8.
Se si imposta a zero, tutto il display è utilizzato per il valore numerico stampando un valore a 6 cifre più il segno. Se il valore è diverso da zero la rappresentazione sarà a 5 cifre più il segno o 6 cifre senza segno.
scdecpt1…8B0R/W-Decimal point for screen 1…8
E' il valore del punto decimale per la visualizzazione nr. 1…8.
Range valido: 0 ÷ 3
scnumBRR/W-Number of screen
E' il numero di visualizzazioni abilitate.
E' gestita a bit. Bit 0 = screen1, bit 1 = screen2… ecc.
scactualB0R/W-Actual screen
La lettura fornisce il numero della visualizzazione attuale, in scrittura consente di impostare il numero della visualizzazione attuale.
0 = screen1, 1 = screen2… ecc.
Range valido: 0 ÷ 7
scalphaB0R/W-Screen in alpha mode
Abilita la visualizzazione in alpha mode. In questa modalità sul display compare quanto contenuto nei parametri scdis1…8.
Bit 0 = screen1, bit 1 = screen2… ecc.”
scdis1…7B0R/W-Screen display 1…7
Rappresenta il contenuto del display durante la visualizzazione ricorsiva in alpha mode.
alvalueB0R/W-Alarm value (1 ÷ 99)
E' il valore dell'allarme da inserire con il comando SETALARM.
alpriorB0R/W-Alarm priority (1 ÷ 99)
E' il valore della priorità dell'allarme da inserire con il comando SETALARM.
alsettingB0R/W-Alarm setting
Il bit zero, se attivo, permetterà di cancellare con il tasto CLEAR (o con il comando CLRALARM) tutti gli allarmi con una sola pressione invece che uno alla volta.
Il bit 1 serve per decidere come funziona il tasto CLEAR quando cancella tutti gli allarmi:
0: cancella solo gli allarmi e non i messaggi;
1: cancella tutto.
mansettingB0R/W-Setting manual
Il bit 0, se settato, abilita la selezione dell'asse in movimentazione.
Il bit 1, se settato, comanda l'ingresso in manuale senza la pressione del tasto MAN.
axisnumB0R/W-Axe number
Nel caso sia abilitata la selezione dell'asse indica l'asse da movimentare.
manvalueL0R/W-Manual value
E' il valore visualizzato durante la movimentazione.
mandecptB0R/W-Manual decimal point (0 ÷ 3)
E' il numero di cifre decimali durante la visualizzazione di manvalue.
taractualB0R/W-Actual tarature
Indica il numero dell'introduzione corrente.
tardecptB0R/W-Tarature decimal point. (0 ÷ 3)
E' il numero di cifre decimali durante la visualizzazione dei tarvalue.
E'possibile modificarlo a seconda del valore di taractual tramite QCL. Il range è compreso tra 0 e 3.
tarsettingB0R/W-Setting tarature
Il bit 0 abilita la selezione della taratura.
Il bit 1 indica che la taratura sta visualizzando il monitor 1.
Il bit 2 indica che la taratura sta visualizzando il monitor 2.
tartypeB0R/W-Tarature type
Indica la taratura scelta dall'operatore nella prima visualizzazione (se abilitata).
tarnumB0R/W-Tarature number
Indica il numero di introduzioni abilitate gestita a bit.
Bit 0 = tarvalue1, bit 1 = tarvalue2… ecc.
tarvalue1…8L0R/W-Tarature value 1…8
E' uno degi 8 valori visualizzati durante la taratura.
tarmon1…2L0R/W-Tarature monitor 1…2
Solo per serie D9
Queste due long contengono il valore visualizzato dalla procedura alla pressione rispettiva dei tasti F5 e F6. Al tasto F5 è associata la variabile “tarmon1”. Al tasto F6 è associata la variabile “tarmon2”. Il led associato al tasto F5 si accende quando si sta visualizzando tarmon1, idem per il led F6.
taractualB0R/W-Actual tarature
Indica il numero dell'introduzione corrente.
numelemBRR/W-Element number (1 ÷ 6)
Indica il numero di elementi all'interno di un passo.
numstepWRR/W-Step number (1 ÷ 4096)
Indica il numero di passi in ogni programma.
numprogW-R-Program number
Indica il numero di programmi disponibili. Il valore è ricavato dal numero di long in memoria programmi, dal parametro “numelem” e dal “numstep”.
Se viene abilitata l'introduzione del fine programma, impostando il bit 1 della variabile “prgsetting” a 1, il numero di programmi disponibili si calcola:
numprog = 4096 /(numstep * numelem + 1).
Se non viene abilitata l'introduzione del fine programma, impostando il bit 1 della variabile “prgsetting” a 0, il numero di programmi disponibili si calcola:
numprog = 4096 /(numstep * numelem).
progedW0R-Program edit
Programma in introduzione nella memoria programmi.
stepedW0R-Step edit
Passo in introduzione nella memoria programmi.
proginW0R/W-Program input
Indica il numero del programma da memorizzare con il comando WRITESTEP o leggere con il comando READSTEP.
stepinW0R/W-Step input
Indica il numero del passo da memorizzare con il comando WRITESTEP o leggere con il comando READSTEP.
stepoutW0R/W-Step output
Indica che il passo scritto è stato memorizzato, oppure che il passo in lettura è disponibile.
Per verificare che il comando inviato (WRITESTEP o READSTEP) è stato eseguito è necessario controllare che stepin si uguale a stepout.
elema…fL0R/W-Element A…F
Sono i valori del passo utilizzati con i comandi READSTEP e WRITESTEP.
elemtypefB0R/W-Type of element f
Se impostata a zero l'elemento f è una long (come gli altri elementi).
Se impostata diversa da zero indica il numero di flags che vengono introdotti sul parametro elemf.
Range valido: 0 ÷ 31
elemendB0R/W-Elements for end program
E' il valore del passo di fine programma, se abilitato, leggibile e scrivibile con i comandi READSTEP e WRITESTEP.
elemdecptB-R/W-Element decimal point (0 ÷ 3)
E' il numero di cifre decimali durante la visualizzazione degli elementi.
E' possibile modificarlo a seconda del valore di elemactual tramite QCL.
elemactualB0R-Actual element
Indica l'introduzione attiva:
0: fuori dal menù;
1: introduzione programma;
2: introduzione passo;
3: in introduzione elema
4: in introduzione elemb
5: in introduzione elemc
6: in introduzione elemd
7: in introduzione eleme
8: in introduzione elemf
Se il parametro elemtypef è > 0 e < 32; elemactual, nel parametro elemf va da 8 a 38.
39: in introduzione fine programma (tasto F3 solo D9). Questa introduzione è accessibile solo se il bit 1 del parametro ”“prgsetting”“ è uguale a 1.
prgsettingB0R/W-Setting program data-entry
Il bit 0 abilita la selezione del passo quando si entra nel menù programmi.
Altrimenti l'introduzione entra nel passo 1.
Il bit 1 abilita l'introduzione del fine programma. Quando questo bit è a 1, il numero di programmi disponibili diventa “numprog = 4096 / (numstep * numelem + 1)”. Se il bit 1 è a 0 il numero di programmi disponibili diventa “numprog = 4096 / (numstep * numelem)”.
setup01…12LRR/W-Setup 01…12
Valore dei parametri di setup.
par01…07LRR/W-Parameter 01…07
Valore dei parametri generici.
nchar07B0R/W-Char number for parameter 07
Indica il numero di caratteri per il parametro 07.
Range valido: 1 ÷ 7
off07B0R/W-Offset for parameter 07
Indica il valore di offset per il parametro 07.
Range valido: 0 ÷ 6
decpt07B0R/W-Decimal point for parameter 07
Indica il numero di cifre decimali per il parametro 07.
Range valido: 0 ÷ 3
set07B0R/W-Flags parameter 07
Bit 0: abilita l'introduzione dati;
bit 1: abilita il leading zero blank (solo se bit 0 = 0);
bit 2: riservato;
bit 3: abilita la visualizzazione in alpha mode;
bit 4: disabilita l'attesa rilascio tasto(solo D9).
Solo per D2 bit 5: abilita l'introduzione con up/down esponenziale;
bit 6: disabilta l'introduzione segno.
pass01WRR/W-Password for F + 0
Contiene il valore da introdurre in F1 + 0 + password per accedere ai parametri par01 - par02.
Non può assumere i valori riservati 123 e 100.
progexWRR-Program in execution
Indica il programma in esecuzione (scelto con F1+1).
Range valido: 1 ÷ numprog
stepexWRR-Step in execution
Indica il passo in esecuzione (scelto con F1+2).
Range valido: 1 ÷ numstep
statusB0R-Status
Indica lo stato della visualizzazione. E' una variabile gestita a bit.
Bit 0: se 1 significa che è premuto un tasto numerico nella tastiera e lostrumento si trova nelle visualizzazioni ricorsive;
bit 1: significa che sto visualizzando un allarme;
bit 2: significa che sto visualizzando un messaggio.
destatusW0R-Data-entry status
Indica lo stato dello strumento:
Per serie D2
00: in visualizzazioni ricorsive;
01: in visualizzazione allarmi;
02: in movimentazione manuale;
03: in introduzione programmi;
04: riservato;
05: in introduzione password;
06: in setup;
07: in introduzione parametri par01 e par02;
08: in taratura (password 123);
09: in scelta programma da porre in esecuzione;
10: in scelta passo da porre in esecuzione;
11:
12: in introduzione parametro par03;
13: in introduzione parametro par04;
14: in diagnostica I/O;
15: in scelta livello 1;
16: in scelta livello 2;
17: in introduzione parametro par07;
Per serie D9
00: in visualizzazioni ricorsive;
01: in visualizzazione allarmi;
02: in movimentazione manuale;
03: in introduzione programmi;
04: in scelta funzione F1;
05: in introduzione password;
06: in setup;
07: in introduzione parametri par01 e par02;
08: in taratura (password 123);
09: in scelta programma da porre in esecuzione;
10: in scelta passo da porre in esecuzione;
11: in introduzione vuota (F1 + 3);
12: in introduzione parametro par03;
13: in introduzione parametro par04;
14: in diagnostica I/O;
15: in scelta funzione F2;
16: in introduzione parametro par05;
17: in introduzione parametro par06;
18: in introduzione parametro par07;
19: riservato.
enableW0R/W-Enable
Abilita le seguenti funzionalità:
Per serie D2
bit 0: movimenti manuali;
bit 1: menù;
bit 2: setup;
bit 3: introduzione parametri par01 e par02;
bit 4: introduzione programma in esecuzione;
bit 5: introduzione passo in esecuzione;
bit 6:
bit 7: introduzione parametro par03;
bit 8: introduzione parametro par04;
bit 9: diagnostica;
bit 10: riservato;
bit 11: riservato;
bit 12: introdurre con par07;
bit 13: taratura;
bit 14: tasto F;
bit 15: abilitazione livello 1;
Per serie D9
bit 0: movimenti manuali;
bit 1: menù;
bit 2: setup;
bit 3: introduzione parametri par01 e par02;
bit 4: introduzione programma in esecuzione;
bit 5: introduzione passo in esecuzione;
bit 6: introduzione F1 + 3;
bit 7: introduzione parametro par03 (F1 + 4);
bit 8: introduzione parametro par04 (F1 + 5);
bit 9: diagnostica(F1 + 6);
bit 10: parametro par05 (F2 + 4);
bit 11: parametro par06 (F2 + 5);
bit 12: introdurre con par07;
bit 13: taratura;
bit 14: tasto F1;
bit 15: tasto F2.
modifiedW0R/W-Modified input
E' una variabile gestita a bit che indica se durante le introduzioni sono stati modificati alcuni dati.
Bit 0:
Bit 1: modificati dati in elema…f o elemend;
Bit 2: modificati dati in setup01…setup12;
Bit 3: modificati dati in par01 o par02;
Bit 4: modificati dati in progex;
Bit 5: modificati dati in stepex;
Bit 6:
Bit 7: modificati dati in par03;
Bit 8: modificati dati in par04;
Bit 9:
Bit 10: modificati dati in par05 (solo serie D9);
Bit 11: modificati dati in par06 (solo serie D9);
Bit 12: modificati dati in par07;
Bit 13:
Bit 14: modificati dati in taratura;
Bit 15:
par01L-R/W-Available variable for future implementation
Variabile disponibile per future implementazioni.
par02L-R/W-Available variable for future implementation
Variabile disponibile per future implementazioni.
NomeDRACondizioniDescrizione
st_alfullB0R-Buffer alarm full
Segnalazione di buffer allarmi pieno. Lo stato viene sempre aggiornato a seguito di un comando SETALARM oppure quando l'operatore preme il tasto CLEAR.
0 = buffer non pieno.
1 = buffer pieno.
st_alactiveB0R-Alarm active
Segnalazione di allarme attivo.
0 = non vi sono allarmi.
1 = almeno un allarme è attivo.
st_alsetB0R-Alarm setted
Impostato ad uno quando l'allarme viene settato e azzerato con il comando SETALARM.
st_alclearB0R-Alarm cleared
Impostato ad uno quando l'allarme viene cancellato e azzerato con il comando CLRALARM.
st_manfwB0R-Manual forward
Segnalazione di asse in manuale avanti (pressione del tasto 3 in manuale):
0 = asse fermo.
1 = asse in manuale avanti.
st_manbwB0R-Manual backward
Segnalazione di asse fin manuale indietro (pressione del tasto 1 in manuale):
0 = asse fermo.
1 = asse in manuale indietro.
st_slowB0R-Slow
Segnalazione della velocità di movimento dell'asse:
0 = è selezionata la velocità normale.
1 = è selezionata la velocità lenta.
All'accensione per default viene caricato il valore 1.
st_001F0R-Available status for future implementation
Stato disponibile per future implementazioni.
st_002F0R-Available status for future implementation
Stato disponibile per future implementazioni.

L'operazione di scrittura tramite il comando WRITESTEP deve essere eseguita tenendo conto che a causa del componente di memoria utilizzato (Flash Eprom seriale) tale operazione risulta onerosa dal punto di vista del tempo utilizzato.
Infatti il tempo utilizzato è variabile da 512 a 1024 volte il tempo di campionamento associato device HMI. Quindi questo tipo di memoria può essere utilizzato per contenere dei dati che possono essere variati dall'operatore con tempistiche relativamente lente. Sicuramente non è una memoria utilizzabile per contenere dati che devono essere scritti con una alta frequenza. In ogni caso l'operazione di scrittura viene eseguita con una modalità in background e non pregiudica le prestazioni della CPU nel gestire il resto dei device e dell'applicativo.
Per esempio se il tempo di campionamento associato al device è di 6 ms, il tempo per eseguire una scrittura nel device può andare da circa 3 a 6 secondi. Il parametro stepout diventa uguale a stepin dopo questo tempo.
Inoltre il tipo di memoria utilizzato garantisce un numero di scritture pari a 100000. Anche per questo si deve evitare di scrivere dei programmi che scrivino in modo continuo sulla memoria utilizzando il comando WRITESTEP.

; Project :
; Module Name : DISPLAY
; Author :
; Date :
; Time :
; Description : Gestore dei comandi verso il display
;---------------------------------------------
;Inizializzazione del device hmi
hmi:numelem = 6                                                       ;numero di elementi per passo
hmi:numstep = 5                                                       ;numero di passi
hmi:tarsetting = 1                                                    ;selezione delle taratura abilitata
hmi:alsetting = 1                                                     ;Cancellazione di tutti gli allarmi con CLEAR
hmi:enable = 1 + 2 + 4 + 16 + 512 + 4096 + 8192 + 16384               ;Varie abilitazioni
 
MAIN:
  WAIT gwComDisplay
 
  ;-----------------------------------
  ;Comando inserimento parametro 07
  IF gwComDisplay EQ INS_PAR_07
       hmi:nchar07 = 6                                                ;numero di caratteri per inserimento
       hmi:off07 = 0                                                  ;nessun offset sulla posizione
       hmi:decpt07 = 0                                                ;numero di cifre decimali
       hmi:set07 = 1                                                  ;abilita il dataentry
       ENPAR07 hmi
       gwComDisplay = INS_PAR_07 + 1
  ENDIF
  IF gwComDisplay EQ (INS_PAR_07 + 1)
       IF hmi:destatus EQ 18                                          ;Attesa comando ENPAR07 eseguito
            gwComDisplay = INS_PAR_07 + 2
       ENDIF
  ENDIF
  IF gwComDisplay EQ (INS_PAR_07 + 2)
       IF NOT(hmi:destatus EQ 18)                                     ;Attesa uscita dall'inserimento del par07
            gwComDisplay = 0                                          ;Parametro 07 inserito
       ENDIF
  ENDIF
  ;-----------------------------------
  ;Comando visualizzazione messaggio con parametro 07
  IF gwComDisplay EQ VIS_PAR_07
       hmi:nchar07 = 7                                                ;numero di caratteri per inserimento
       hmi:off07 = 0                                                  ;nessun offset sulla posizione
       hmi:set07 = 8                                                  ;Visualizzazione alfanumerica + read only
       ENPAR07 hmi
       gwComDisplay = VIS_PAR_07 + 1
  ENDIF
  IF gwComDisplay EQ (VIS_PAR_07 + 1)
       IF hmi:destatus EQ 18                                          ;Attesa comando ENPAR07 eseguito
          hmi:dis7 = 10                                               ;A
          hmi:dis6 = 26                                               ;U
          hmi:dis5 = 25                                               ;t
          hmi:dis4 = 21                                               ;o
          hmi:dis3 = 35                                               ;(space)
          hmi:dis2 = 35                                               ;(space)
          hmi:dis1 = 35                                               ;(space)
          gwComDisplay = VIS_PAR_07 + 2
          tmVisMsg = 100
       ENDIF
  ENDIF
  IF gwComDisplay EQ (VIS_PAR_07 + 2)
       IF tmVisMsg
          tmVisMsg = 1500
          gwComDisplay = VIS_PAR_07 + 3
       ENDIF
  ENDIF
  IF gwComDisplay EQ (VIS_PAR_07 + 3)
       IF tmVisMsg OR (hmi:key EQ KEY_ENT)                            ;Tempo scaduto o pressione di ENTER
          gwComDisplay = 0
          EXIT hmi                                                    ;uscita dalla visualizzazione par07
       ENDIF
  ENDIF
  ;-----------------------------------
  ;Comando richiamo del programma
  IF gwComDisplay EQ RIC_PRG
          gbI = 1
          gwComDisplay = RIC_PRG + 1
  ENDIF
  IF gwComDisplay EQ (RIC_PRG + 1)
          hmi:progin = swPrgEx
          hmi:stepin = gbI
          hmi:stepout = 0
          READSTEP hmi                                                ;Comando lettura del device
          gwComDisplay = RIC_PRG + 2
  ENDIF
  IF gwComDisplay EQ (RIC_PRG + 2)
     IF hmi:stepin EQ hmi:stepout                                     ;Attesa lettura avvenuta
          aslLungh[gbI] = hmi:elema
          aslRipet[gbI] = hmi:elemb
          asbVel[gbI] = hmi:elemc
          gbI = gbI + 1
            IF gbI LE NUM_STEP
               gwComDisplay = RIC_PRG + 1
            ELSE
               gwComDisplay = 0
            ENDIF
     ENDIF
  ENDIF
  ;-----------------------------------
  ;Comando impostazione visualizzazioni ricorsive per automatico
  IF gwComDisplay EQ VIS_AUTO
             ;Impostazioni HMI
             hmi:enable = hmi:enable ANDB (-1-8192)                   ;Disabilita taratura
             hmi:enable = hmi:enable ANDB (-1-16)                     ;Disabilita scelta programma
             hmi:enable = hmi:enable ANDB (-1-4)                      ;Disabilita setup
             hmi:enable = hmi:enable ANDB (-1-2)                      ;Disabilita programmazione
             hmi:enable = hmi:enable ANDB (-1-1)                      ;Disabilita manuale
             hmi:leds = hmi:leds ORB LED_1                            ;Accensione led automatico
             hmi:blinkleds = hmi:blinkleds ANDB (-1-LED_1)            ;Spegnimento lampeggio led
             hmi:scnum = 127                                          ;un bit per ogni visualizzazione abilitata
             hmi:sclabel1 = CH_Q                                      ;Quota asse
             hmi:scdecpt1 = 1
             hmi:sclabel2 = CH_L                                      ;Passo in esecuzione (linea)
             hmi:scdecpt2 = 0
             hmi:sclabel3 = CH_P                                      ;Programma in esecuzione
             hmi:scdecpt3 = 0
             hmi:sclabel4 = CH_S                                      ;Numero di pezzi programmati
             hmi:scdecpt4 = 0
             hmi:sclabel5 = CH_D                                      ;Numero di pezzi fatti (Done)
             hmi:scdecpt5 = 0
             hmi:sclabel6 = CH_R                                      ;Numero di pezzi rimanenti (Remain)
             hmi:scdecpt6 = 0
             hmi:sclabel7 = CH_C                                      ;numero di ripetizioni del passo in corso
             hmi:scdecpt7 = 0
                  ;Messaggio: "Auto"
             gwComDisplay = VIS_PAR_07
  ENDIF
  ;-----------------------------------
  ;Comando impostazione visualizzazioni ricorsive per automatico
  IF gwComDisplay EQ VIS_SEMIAUTO
             ;Impostazioni HMI
             hmi:enable = hmi:enable ANDB (-1-8192)                   ;Disabilita taratura
             hmi:enable = hmi:enable ANDB (-1-16)                     ;Disabilita scelta programma
             hmi:enable = hmi:enable ANDB (-1-4)                      ;Disabilita setup
             hmi:enable = hmi:enable ANDB (-1-2)                      ;Disabilita programmazione
             hmi:enable = hmi:enable ANDB (-1-1)                      ;Disabilita manuale
             hmi:leds = hmi:leds ORB LED_1                            ;Accensione led automatico
             hmi:blinkleds = hmi:blinkleds ORB LED_1                  ;Lampeggio led automatico
             hmi:scnum = 127                                          ;un bit per ogni visualizzazione abilitata
             hmi:sclabel1 = CH_Q                                      ;Quota asse
             hmi:scdecpt1 = 1
             hmi:sclabel2 = CH_L                                      ;Passo in esecuzione (linea)
             hmi:scdecpt2 = 0
             hmi:sclabel3 = CH_P                                      ;Programma in esecuzione
             hmi:scdecpt3 = 0
             hmi:sclabel4 = CH_S                                      ;Numero di pezzi programmati
             hmi:scdecpt4 = 0
             hmi:sclabel5 = CH_D                                      ;Numero di pezzi fatti (Done)
             hmi:scdecpt5 = 0
             hmi:sclabel6 = CH_R                                      ;Numero di pezzi rimanenti (Remain)
             hmi:scdecpt6 = 0
             hmi:sclabel7 = CH_C                                      ;numero di ripetizioni del passo in corso
             hmi:scdecpt7 = 0
  ENDIF
  ;-----------------------------------
  ;Comando impostazione visualizzazioni per manuale
  IF gwComDisplay EQ VIS_MAN
             ;Impostazioni HMI
             hmi:leds = hmi:leds ANDB (-1 - LED_1)                    ;Spegnimento led automatico
             hmi:manvalue = anAvanz1:posit                            ;Valore visualizzato
             hmi:mandecpt = 1                                         ;Cifre decimali
             hmi:mansetting = 0                                       ;nessuna selezione asse (unico)
             gwComDisplay = 0
  ENDIF
  ;-----------------------------------
  ;Comando impostazione programmi di lavoro
  IF gwComDisplay EQ VIS_PROG
             ;Impostazioni HMI
             hmi:elemtypef = 2                                        ;numero di bit dell'elemf
             hmi:prgsetting = 1                                       ;abilita la selezione del passo
             gwComDisplay = 0
  ENDIF
  ;-----------------------------------
  ;Comando impostazione visualizzazioni ricorsive di standby
  IF gwComDisplay EQ VIS_STANDBY
             ;Impostazioni HMI
             hmi:enable = hmi:enable ORB 8192                         ;Abilita taratura
             hmi:enable = hmi:enable ORB 16                           ;Abilita scelta programma
             hmi:enable = hmi:enable ORB 4                            ;Abilita setup
             hmi:enable = hmi:enable ORB 2                            ;Abilita introduzione programmi
             hmi:enable = hmi:enable ORB 1                            ;Abilita manuale
             hmi:leds = hmi:leds ANDB (-1-LED_1-LED_2-LED_3-LED_4)    ;Tutti i LED spenti
             hmi:leds = hmi:leds ANDB (-1-LED_F3)
             hmi:scnum = 127                                          ;un bit per ogni visualizzazione abilitata
             hmi:sclabel1 = CH_Q                                      ;Quota asse
             hmi:scdecpt1 = 1
             hmi:sclabel2 = CH_L                                      ;Passo in esecuzione (linea)
             hmi:scdecpt2 = 0
             hmi:sclabel3 = CH_P                                      ;Programma in esecuzione
             hmi:scdecpt3 = 0
             hmi:sclabel4 = CH_S                                      ;Numero di pezzi programmati
             hmi:scdecpt4 = 0
             hmi:sclabel5 = CH_D                                      ;Numero di pezzi fatti (Done)
             hmi:scdecpt5 = 0
             hmi:sclabel6 = CH_R                                      ;Numero di pezzi rimanenti (Remain)
             hmi:scdecpt6 = 0
             hmi:sclabel7 = CH_C                                      ;numero di ripetizioni del passo in corso
             hmi:scdecpt7 = 0
             EXIT hmi                                                 ;Uscita da qualsiasi stato hmi
             gwComDisplay = 0
  ENDIF
  ;-----------------------------------
  ;-----------------------------------
  ;Comando impostazione visualizzazioni per setup
  IF gwComDisplay EQ VIS_SETUP
             ;Impostazioni HMI
             hmi:leds = hmi:leds ORB LED_2
             hmi:setup01 = anAvanz1:measure
             hmi:setup02 = anAvanz1:pulse
             hmi:setup03 = anAvanz1:tacc
             hmi:setup04 = anAvanz1:tdec
             hmi:setup05 = aswModiPunz[1]
             hmi:setup06 = aswModiPunz[2]
             hmi:setup07 = aswModiPunz[3]
             hmi:setup08 = aswModiPunz[4]
             hmi:setup09 = swOutToll
             hmi:setup10 = swVelMinMan
             hmi:setup11 = swVelMaxMan
             hmi:setup12 = slRitSvolg
             gwComDisplay = 0
  ENDIF
  ;-----------------------------------
  JUMP MAIN
END
  • Ultima modifica: 2020/07/13 15:13