Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
software:devices:hmi [2019/08/29 17:01] – modifica esterna 127.0.0.1 | software:devices:hmi [2020/07/13 15:13] (versione attuale) – qem103 | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
+ | ====== DEVICE HMI ====== | ||
+ | |||
+ | |||
+ | ====== - 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, | ||
+ | casi in cui le funzionalità configurate non riescono a soddisfare le esigenze dellapplicazione.\\ | ||
+ | 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ù. | ||
+ | |||
+ | |||
+ | ===== - Installazione ===== | ||
+ | |||
+ | ==== - Dichiarazione device nel file di configurazione (.CNF) ==== | ||
+ | |||
+ | Nel file di configurazione (.CNF), la sezione BUS deve essere dichiarata in modo tale che siano presenti le risorse hardware | ||
+ | necessarie allimplementazione del device HMI.\\ | ||
+ | Nella sezione INTDEVICE del file .CNF deve essere aggiunta la seguente definizione: | ||
+ | <code QCL> | ||
+ | ; | ||
+ | ; Dichiarazione devices interni | ||
+ | ; | ||
+ | INTDEVICE | ||
+ | .. | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | dove: | ||
+ | |<nome device> | ||
+ | |HMI|Parola chiave che identifica il device gestione display.| | ||
+ | |TCamp|Tempo di campionamento device (1÷250 ms).| | ||
+ | |||
+ | === - Esempio === | ||
+ | <code QCL> | ||
+ | ; | ||
+ | ; Dichiarazione devices interni | ||
+ | ; | ||
+ | INTDEVICE | ||
+ | hmDisplay | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== - Funzionamento ===== | ||
+ | |||
+ | ==== - Serie D2 ==== | ||
+ | |||
+ | Il device HMI gestisce: | ||
+ | * uninterfaccia composta da una riga di 7 cifre a sette segmenti; | ||
+ | * una tastiera alfanumerica. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | === - Assegnazione delle costanti ai tasti === | ||
+ | ^Tasto^Codice costante^ | ||
+ | |F|16| | ||
+ | |-|32| | ||
+ | |+|4| | ||
+ | |CLEAR|8| | ||
+ | |ENTER|1| | ||
+ | |||
+ | === - Assegnazione delle costanti ai leds === | ||
+ | ^Led^Codice Costante^ | ||
+ | |L1|2| | ||
+ | |L2|4| | ||
+ | |L3|8| | ||
+ | |L4|16| | ||
+ | |F|512| | ||
+ | |AL|1| | ||
+ | |||
+ | === - 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 " | ||
+ | |||
+ | Confermare il livello raggiunto con il tasto ENTER secondo il seguente schema di navigazione.{{: | ||
+ | |||
+ | === - Livello SCREEN === | ||
+ | |{{: | ||
+ | | ... |{{: | ||
+ | |{{: | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | | Ritorno al livello FUNZIONI | ||
+ | |||
+ | Per uscire dai vari livelli e tornare alle visualizzazioni ricorsive basta premere il tasto {{: | ||
+ | |||
+ | === - Livello FUNZIONI === | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |Ritorno al livello PASSWRD|::: | ||
+ | |||
+ | === - Livello MANUALE === | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | | Valore visualizzato passato in **__MANVALUE__** | ||
+ | |{{ : | ||
+ | | Se in precedenza era settato low o high | | ||
+ | |||
+ | === - Livello TARATURA === | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |{{ : | ||
+ | |||
+ | Per uscire dai vari livelli e tornare alle visualizzazioni ricorsive basta premere il tasto {{: | ||
+ | |||
+ | === - Livello MENU === | ||
+ | |{{: | ||
+ | |||
+ | ==== - Visualizzazioni ricorsive ==== | ||
+ | |||
+ | 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, | ||
+ | |||
+ | 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 dallintroduzione, | ||
+ | per un secondo la scritta Error, poi ritorna lintroduzione con il vecchio valore.\\ | ||
+ | Quando, il device visualizza un dato che eccede con il numero massimo di cifre visualizzabili, | ||
+ | per tutti i display interessati, | ||
+ | < | ||
+ | |||
+ | ==== - Gestione degli allarmi ==== | ||
+ | |||
+ | Il device possiede una completa gestione degli allarmi.\\ | ||
+ | Da QCL è possibile forzare un allarme inserendo questo in unapposita 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**__, | ||
+ | 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' | ||
+ | |||
+ | Sarà possibile cambiare visualizzazione ma dopo un tempo di 7 secondi il display ritornerà a visualizzare lallarme. Il led **alarm** rimarrà comunque sempre acceso. | ||
+ | |||
+ | Premendo il tasto {{: | ||
+ | lallarme. 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 lultimo intervenuto. La cancellazione in ogni caso è sempre relativa solo allallarme visualizzato. | ||
+ | |||
+ | Il bit 0 del parametro __**alsetting**__ permetterà di cancellare con il tasto {{: | ||
+ | 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 {{: | ||
+ | |||
+ | 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. | ||
+ | |||
+ | ==== - Diagnostica I/O ==== | ||
+ | |||
+ | La diagnostica I/O è accessibile dal menù {{: | ||
+ | |||
+ | === - Visualizzazione segnali in interrupt === | ||
+ | {{: | ||
+ | |||
+ | ==== - Gestione dello stato in manuale ==== | ||
+ | |||
+ | Se il bit 0 del parametro __**enable**__ è a 1 viene abilitata la possibilità di accedere allo stato manuale del device tramite lapposita sequenza di tasti descritta in precedenza.\\ | ||
+ | Se il bit 0 del parametro __**mansetting**__ è a 1 viene visualizzata la scritta: | ||
+ | {{: | ||
+ | dove loperatore può specificare quale asse intende muovere.\\ | ||
+ | Il numero che loperatore scrive viene riportato nel parametro __**axisnum**__.\\ | ||
+ | I parametri __**manvalue**__ e __**mandecpt**__, | ||
+ | |||
+ | Il display visualizza ora i parametri per abilitare la modalità di movimento in lento dellasse: | ||
+ | |||
+ | o la modalità veloce.\\ {{: | ||
+ | |||
+ | Il passaggio e la conferma dei parametri inseriti viene effettuato con il tasto {{: | ||
+ | |||
+ | I movimenti in jog in avanti e allindietro dellasse sono svolti dai tasti {{: | ||
+ | |||
+ | === - Parametri di setup e generici === | ||
+ | Il device HMI mette a disposizione del programmatore 12 variabili di SETUP (__**setup1...12**__) e 3 parametri generici (__**par03, | ||
+ | |||
+ | 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 lintroduzione della password (100), il device richiede linserimento del primo parametro di setup contraddistinto dalla lettera A. | ||
+ | |||
+ | Con i tasti {{: | ||
+ | |||
+ | 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 nellapposito paragrafo, il device richiede linserimento 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' | ||
+ | bit 0: abilita lintroduzione 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/ | ||
+ | bit 6: disabilita lintroduzione segno.\\ | ||
+ | Per avviare lintroduzione o la semplice visualizzazione del parametro **__par07__** si utilizza il comando **__ENPAR07__**. | ||
+ | |||
+ | ==== - Gestione dello stato in taratura ==== | ||
+ | |||
+ | 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 loperatore 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 {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 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 dellintroduzione 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\\ | ||
+ | Limpostazione 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 dallaltro, | ||
+ | |||
+ | ==== - Gestione memoria programmi ==== | ||
+ | |||
+ | 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) | ||
+ | |{{ : | ||
+ | |::: | ||
+ | |||
+ | Con la pressione del tasto {{: | ||
+ | {{: | ||
+ | |||
+ | Il valore introdotto dalloperatore è possibile leggerlo nel parametro **__proged__**.\\ | ||
+ | Se il bit 0 del parametro **__prgsetting__** è a 0 viene richiesta lintroduzione del numero del passo da modificare.\\ | ||
+ | Compare la visualizzazione: | ||
+ | {{: | ||
+ | |||
+ | Il valore introdotto dalloperatore è 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 allelemento successivo. Sullultimo elemento si passa al passo successivo. | ||
+ | Con il tasto {{: | ||
+ | Appena entrato in un nuovo passo per 2 secondi o fino alla pressione del tasto {{: | ||
+ | {{: | ||
+ | e il parametro **__steped__** è aggiornato al nuovo valore di passo. | ||
+ | |||
+ | Quando arrivo in fondo allultimo 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 lelemento f.\\ | ||
+ | Se è 0 lelemento 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 lintroduzione del fine programma tramite il tasto F3. | ||
+ | |||
+ | Lintroduzione 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, | ||
+ | |||
+ | === - Esempio: === | ||
+ | <code QCL> | ||
+ | ; ; | ||
+ | ;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: | ||
+ | |||
+ | aslArray1[gbI] = hmi:elema | ||
+ | aslArray2[gbI] = hmi:elemb | ||
+ | aslArray3[gbI] = hmi:elemc | ||
+ | | ||
+ | gbI = gbI + 1 | ||
+ | IF gbI LE NUM_STEP | ||
+ | | ||
+ | ELSE | ||
+ | | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | **Nota bene**\\ | ||
+ | Quando, da Qview, si effettua un Save data vengono salvati tutti i parametri ritentivi dellapplicativo in un file. Nel microQMove, se è presente il device HMI, si viene salvata anche la memoria programmi (16kbytes). | ||
+ | |||
+ | ==== - Serie D9 ==== | ||
+ | |||
+ | Il device HMI gestisce:\\ | ||
+ | * uninterfaccia composta da una riga di 7 cifre a sette segmenti; | ||
+ | * una tastiera alfanumerica. | ||
+ | {{: | ||
+ | |||
+ | === - Assegnazione delle costanti ai tasti === | ||
+ | ^Tasto^Codice Costante^ | ||
+ | |F1|256| | ||
+ | |F2|512| | ||
+ | |F3|16384| | ||
+ | |F4|32768| | ||
+ | |F5|1048576| | ||
+ | |F6|2097152| | ||
+ | |UP|8| | ||
+ | |DOWN|4| | ||
+ | |MAN|1024| | ||
+ | |MENU|65536| | ||
+ | |.|4194304| | ||
+ | |+/-|16| | ||
+ | |1|2048| | ||
+ | |2|4096| | ||
+ | |3|8192| | ||
+ | |4|131072| | ||
+ | |5|262144| | ||
+ | |6|524288| | ||
+ | |7|8388608| | ||
+ | |8|1| | ||
+ | |9|2| | ||
+ | |0|64| | ||
+ | |CLEAR|32| | ||
+ | |ENTER|12| | ||
+ | |||
+ | === - Assegnazione delle costanti ai leds === | ||
+ | ^Led^Codice Costante^ | ||
+ | |L1|1| | ||
+ | |L2|2| | ||
+ | |L3|4| | ||
+ | |L4|8| | ||
+ | |F1|65536| | ||
+ | |F2|262144| | ||
+ | |F3|524288| | ||
+ | |F4|16384| | ||
+ | |F5|32768| | ||
+ | |F6|33554432| | ||
+ | |MAN|1024| | ||
+ | |MENU|16| | ||
+ | |L/H|409| | ||
+ | |||
+ | ==== - Visualizzazioni ricorsive ==== | ||
+ | |||
+ | 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, | ||
+ | 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 dallintroduzione, | ||
+ | Quando, il device visualizza un dato che eccede con il numero massimo di cifre visualizzabili, | ||
+ | < | ||
+ | |||
+ | ==== - Gestione degli allarmi ==== | ||
+ | |||
+ | Il device possiede una completa gestione degli allarmi.\\ | ||
+ | Da QCL è possibile forzare un allarme inserendo questo in unapposita 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__**, | ||
+ | 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: | ||
+ | Sarà possibile cambiare visualizzazione ma dopo un tempo di 7 sec., il display ritornerà a visualizzare lallarme. Il led **alarm** rimarrà in ogni caso sempre acceso.\\ | ||
+ | Premendo il tasto {{: | ||
+ | Il bit 0 del parametro **__alsetting__** permetterà di cancellare con il tasto {{: | ||
+ | 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' | ||
+ | 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. | ||
+ | |||
+ | ==== - Diagnostica I/O ==== | ||
+ | |||
+ | La diagnostica I/O è accessibile tramite la sequenza F1+6..\\ | ||
+ | In questa modalità vi sono sempre quattro visualizzazioni selezionabili con i tasti {{: | ||
+ | |||
+ | === - Visualizzazione segnali in interrupt === | ||
+ | {{: | ||
+ | |||
+ | === - Visualizzazione ingressi allo slot 03 === | ||
+ | {{: | ||
+ | |||
+ | === - Visualizzazione ingressi allo slot 04 === | ||
+ | {{: | ||
+ | |||
+ | === - 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. | ||
+ | |||
+ | ==== - Gestione dello stato in manuale ==== | ||
+ | |||
+ | 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 loperatore può specificare quale asse intende muovere.\\ | ||
+ | Il numero che loperatore scrive è riportato nel parametro **__axisnum__**.\\ | ||
+ | I parametri **__manvalue__** e **__mandecpt__**, | ||
+ | Se il bit 1 del parametro **__mansetting__** viene impostato a 1 si accede allo stato manuale senza la pressione del tasto. | ||
+ | |||
+ | === - Parametri di setup e generici === | ||
+ | Il device HMI mette a disposizione del programmatore 12 variabili di SETUP (**__setup1...1__**2) 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 linserimento 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 linserimento 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 dalloperatore, | ||
+ | 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__**, | ||
+ | bit 0: abilita lintroduzione 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: | ||
+ | Per avviare lintroduzione o la semplice visualizzazione del parametro **__par07__** si utilizza il comando **__ENPAR07__**. | ||
+ | |||
+ | ==== - Gestione dello stato di taratura ==== | ||
+ | |||
+ | 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 loperatore 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 {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 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 dellintroduzione 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\\ | ||
+ | Limpostazione 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 dallaltro, | ||
+ | |||
+ | ==== - Gestione memoria programmi ==== | ||
+ | |||
+ | 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) | ||
+ | |{{ : | ||
+ | |::: | ||
+ | Con la pressione del tasto e la scelta del menù {{: | ||
+ | {{: | ||
+ | Il valore introdotto dalloperatore è possibile leggerlo nel parametro **__proged__**.\\ | ||
+ | Se il bit 0 del parametro **__prgsetting__** è a 0 viene richiesta lintroduzione del numero del passo da modificare.\\ | ||
+ | Compare la visualizzazione: | ||
+ | {{: | ||
+ | Il valore introdotto dalloperatore è 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 allelemento successivo. Sullultimo elemento si passa al passo successivo.\\ | ||
+ | Con il tasto {{: | ||
+ | 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 allultimo 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 lelemento f.\\ | ||
+ | Se è 0 lelemento 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 lintroduzione del fine programma tramite il tasto F3.\\ | ||
+ | Lintroduzione 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: | ||
+ | Gli elementi di ogni passo (**__elema...f__**) e, eventualmente, | ||
+ | |||
+ | === - Esempio: === | ||
+ | <code QCL> | ||
+ | ; | ||
+ | ;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 dellapplicativo in un file. Nel microQMove, se è presente il device HMI, si è stata salvata anche la memoria programmi (16kbytes). | ||
+ | |||
+ | ==== - Gestione delle funzioni F ==== | ||
+ | |||
+ | |{{: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |{{: | ||
+ | |::: | ||
+ | |||
+ | 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.__ | ||
+ | |||
+ | ==== - Mappa dei caratteri ==== | ||
+ | |||
+ | ^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^ | ||
+ | |0|{{: | ||
+ | |1|{{: | ||
+ | |2|{{: | ||
+ | |3|{{: | ||
+ | |4|{{: | ||
+ | |5|{{: | ||
+ | |6|{{: | ||
+ | |7|{{: | ||
+ | |8|{{: | ||
+ | |9|{{: | ||
+ | |10|{{: | ||
+ | |11|{{: | ||
+ | |12|{{: | ||
+ | |13|{{: | ||
+ | |||
+ | |||
+ | ===== - Comandi e parametri ===== | ||
+ | |||
+ | |||
+ | ==== - Simbologia adottata ==== | ||
+ | |||
+ | Il **nome** del parametro, stato o comando è riportato alla sinistra della tabella. | ||
+ | |||
+ | **R**\\ | ||
+ | Indica se il relativo parametro o stato è ritentivo (al momento dellinizializzazione del device mantiene lo stato precedentemente | ||
+ | definito), oppure lo stato che assume al momento dellinizializzazione del device.\\ | ||
+ | Se il device non necessita d' | ||
+ | della scheda.\\ | ||
+ | R = Ritentivo\\ | ||
+ | 0 = Al momento dellinizializzazione del device il valore è forzato a zero.\\ | ||
+ | 1 = Al momento dellinizializzazione del device il valore è forzato a uno.\\ | ||
+ | - = Al momento dellinizializzazione del device è presentato il valore significativo. | ||
+ | |||
+ | **D**\\ | ||
+ | Indica la **dimensione del parametro**.\\ | ||
+ | F = Flag\\ | ||
+ | B = Byte\\ | ||
+ | W = Word\\ | ||
+ | L = Long\\ | ||
+ | S = Single Float | ||
+ | |||
+ | === - 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 laccettazione del parametro: se sono introdotti dei valori esterni ai limiti | ||
+ | impostati, il dato è in ogni caso accettato; pertanto devono essere previsti opportuni controlli dellapplicativo tali da garantire | ||
+ | il corretto funzionamento.\\ | ||
+ | Per lesecuzione di un comando, tutte le relative condizioni devono necessariamente essere soddisfatte; | ||
+ | il comando non è inviato.\\ | ||
+ | |||
+ | **A**\\ | ||
+ | Indica il **modo d' | ||
+ | R = Read (lettura).\\ | ||
+ | W = Write (scrittura).\\ | ||
+ | RW = Read / Write. | ||
+ | |||
+ | ==== - Comandi ==== | ||
+ | |||
+ | ^Nome^Condizioni^Descrizione^ | ||
+ | |SETALARM|-|**SETTING a new ALARM**\\ Con questo comando allarme è possibile forzare un nuovo allarme. Se l' | ||
+ | |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.| | ||
+ | |ENPAR07|status = 0|**Enter on par07**\\ Permette di forzare l' | ||
+ | |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.| | ||
+ | |||
+ | ==== - Parametri ==== | ||
+ | |||
+ | ^Nome^D^R^A^Condizioni^Descrizione^ | ||
+ | |key|L|-|R|-|**Key**\\ Rappresenta in ogni istante lo stato dei tasti. Ogni tasto è rappresentato da un bit.\\ Per l' | ||
+ | |leds|L|0|R/ | ||
+ | |blinkleds|L|0|R/ | ||
+ | |dis1...7|B|-|R/ | ||
+ | |blinkdis|B|0|R/ | ||
+ | |screen1...8|L|0|R/ | ||
+ | |sclabel1...8|B|0|R/ | ||
+ | |scdecpt1...8|B|0|R/ | ||
+ | |scnum|B|R|R/ | ||
+ | |scactual|B|0|R/ | ||
+ | |scalpha|B|0|R/ | ||
+ | |scdis1...7|B|0|R/ | ||
+ | |alvalue|B|0|R/ | ||
+ | |alprior|B|0|R/ | ||
+ | |alsetting|B|0|R/ | ||
+ | |mansetting|B|0|R/ | ||
+ | |axisnum|B|0|R/ | ||
+ | |manvalue|L|0|R/ | ||
+ | |mandecpt|B|0|R/ | ||
+ | |taractual|B|0|R/ | ||
+ | |tardecpt|B|0|R/ | ||
+ | |tarsetting|B|0|R/ | ||
+ | |tartype|B|0|R/ | ||
+ | |tarnum|B|0|R/ | ||
+ | |tarvalue1...8|L|0|R/ | ||
+ | |tarmon1...2|L|0|R/ | ||
+ | |taractual|B|0|R/ | ||
+ | |numelem|B|R|R/ | ||
+ | |numstep|W|R|R/ | ||
+ | |numprog|W|-|R|-|**Program number**\\ Indica il numero di programmi disponibili. Il valore è ricavato dal numero di long in memoria programmi, dal parametro " | ||
+ | |proged|W|0|R|-|**Program edit**\\ Programma in introduzione nella memoria programmi.| | ||
+ | |steped|W|0|R|-|**Step edit**\\ Passo in introduzione nella memoria programmi.| | ||
+ | |progin|W|0|R/ | ||
+ | |stepin|W|0|R/ | ||
+ | |stepout|W|0|R/ | ||
+ | |elema...f|L|0|R/ | ||
+ | |elemtypef|B|0|R/ | ||
+ | |elemend|B|0|R/ | ||
+ | |elemdecpt|B|-|R/ | ||
+ | |elemactual|B|0|R|-|**Actual element**\\ Indica l' | ||
+ | |prgsetting|B|0|R/ | ||
+ | |setup01...12|L|R|R/ | ||
+ | |par01...07|L|R|R/ | ||
+ | |nchar07|B|0|R/ | ||
+ | |off07|B|0|R/ | ||
+ | |decpt07|B|0|R/ | ||
+ | |set07|B|0|R/ | ||
+ | |pass01|W|R|R/ | ||
+ | |progex|W|R|R|-|**Program in execution**\\ Indica il programma in esecuzione (scelto con F1+1).\\ Range valido: 1 ÷ numprog| | ||
+ | |stepex|W|R|R|-|**Step in execution**\\ Indica il passo in esecuzione (scelto con F1+2).\\ Range valido: 1 ÷ numstep| | ||
+ | |status|B|0|R|-|**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; | ||
+ | |destatus|W|0|R|-|**Data-entry status**\\ Indica lo stato dello strumento: | ||
+ | |enable|W|0|R/ | ||
+ | |modified|W|0|R/ | ||
+ | |par01|L|-|R/ | ||
+ | |par02|L|-|R/ | ||
+ | |||
+ | ==== - Stati ==== | ||
+ | |||
+ | ^Nome^D^R^A^Condizioni^Descrizione^ | ||
+ | |st_alfull|B|0|R|-|**Buffer alarm full**\\ Segnalazione di buffer allarmi pieno. Lo stato viene sempre aggiornato a seguito di un comando SETALARM oppure quando l' | ||
+ | |st_alactive|B|0|R|-|**Alarm active**\\ Segnalazione di allarme attivo.\\ **0** = non vi sono allarmi.\\ **1** = almeno un allarme è attivo.| | ||
+ | |st_alset|B|0|R|-|**Alarm setted**\\ Impostato ad uno quando l' | ||
+ | |st_alclear|B|0|R|-|**Alarm cleared**\\ Impostato ad uno quando l' | ||
+ | |st_manfw|B|0|R|-|**Manual forward**\\ Segnalazione di asse in manuale avanti (pressione del tasto 3 in manuale):\\ **0** = asse fermo.\\ **1** = asse in manuale avanti.| | ||
+ | |st_manbw|B|0|R|-|**Manual backward**\\ Segnalazione di asse fin manuale indietro (pressione del tasto 1 in manuale):\\ **0** = asse fermo.\\ **1** = asse in manuale indietro.| | ||
+ | |st_slow|B|0|R|-|**Slow**\\ Segnalazione della velocità di movimento dell' | ||
+ | |st_001|F|0|R|-|**Available status for future implementation**\\ Stato disponibile per future implementazioni.| | ||
+ | |st_002|F|0|R|-|**Available status for future implementation**\\ Stato disponibile per future implementazioni.| | ||
+ | |||
+ | |||
+ | ===== - Limitazioni ===== | ||
+ | |||
+ | L' | ||
+ | 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' | ||
+ | lente. Sicuramente non è una memoria utilizzabile per contenere dati che devono essere scritti con una alta | ||
+ | frequenza. In ogni caso l' | ||
+ | della CPU nel gestire il resto dei device e dell' | ||
+ | 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. | ||
+ | |||
+ | |||
+ | ===== - Esempio applicativo ===== | ||
+ | |||
+ | <code QCL> | ||
+ | ; Project : | ||
+ | ; Module Name : DISPLAY | ||
+ | ; Author : | ||
+ | ; Date : | ||
+ | ; Time : | ||
+ | ; Description : Gestore dei comandi verso il display | ||
+ | ; | ||
+ | ; | ||
+ | hmi:numelem = 6 ; | ||
+ | hmi:numstep = 5 ; | ||
+ | hmi: | ||
+ | hmi: | ||
+ | hmi:enable = 1 + 2 + 4 + 16 + 512 + 4096 + 8192 + 16384 ; | ||
+ | |||
+ | MAIN: | ||
+ | WAIT gwComDisplay | ||
+ | | ||
+ | ; | ||
+ | ;Comando inserimento parametro 07 | ||
+ | IF gwComDisplay EQ INS_PAR_07 | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ENDIF | ||
+ | IF gwComDisplay EQ (INS_PAR_07 + 1) | ||
+ | IF hmi: | ||
+ | gwComDisplay = INS_PAR_07 + 2 | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | IF gwComDisplay EQ (INS_PAR_07 + 2) | ||
+ | IF NOT(hmi: | ||
+ | gwComDisplay = 0 ;Parametro 07 inserito | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | ; | ||
+ | ;Comando visualizzazione messaggio con parametro 07 | ||
+ | IF gwComDisplay EQ VIS_PAR_07 | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ENDIF | ||
+ | IF gwComDisplay EQ (VIS_PAR_07 + 1) | ||
+ | IF hmi: | ||
+ | hmi:dis7 = 10 ;A | ||
+ | hmi:dis6 = 26 ;U | ||
+ | hmi:dis5 = 25 ;t | ||
+ | hmi:dis4 = 21 ;o | ||
+ | hmi:dis3 = 35 ; | ||
+ | hmi:dis2 = 35 ; | ||
+ | hmi:dis1 = 35 ; | ||
+ | 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) | ||
+ | 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: | ||
+ | aslLungh[gbI] = hmi:elema | ||
+ | aslRipet[gbI] = hmi:elemb | ||
+ | asbVel[gbI] = hmi:elemc | ||
+ | gbI = gbI + 1 | ||
+ | IF gbI LE NUM_STEP | ||
+ | | ||
+ | ELSE | ||
+ | | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | ENDIF | ||
+ | ; | ||
+ | ;Comando impostazione visualizzazioni ricorsive per automatico | ||
+ | IF gwComDisplay EQ VIS_AUTO | ||
+ | ; | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ;Messaggio: " | ||
+ | | ||
+ | ENDIF | ||
+ | ; | ||
+ | ;Comando impostazione visualizzazioni ricorsive per automatico | ||
+ | IF gwComDisplay EQ VIS_SEMIAUTO | ||
+ | ; | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ENDIF | ||
+ | ; | ||
+ | ;Comando impostazione visualizzazioni per manuale | ||
+ | IF gwComDisplay EQ VIS_MAN | ||
+ | ; | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ENDIF | ||
+ | ; | ||
+ | ;Comando impostazione programmi di lavoro | ||
+ | IF gwComDisplay EQ VIS_PROG | ||
+ | ; | ||
+ | | ||
+ | | ||
+ | | ||
+ | ENDIF | ||
+ | ; | ||
+ | ;Comando impostazione visualizzazioni ricorsive di standby | ||
+ | IF gwComDisplay EQ VIS_STANDBY | ||
+ | ; | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | EXIT hmi ; | ||
+ | | ||
+ | ENDIF | ||
+ | ; | ||
+ | ; | ||
+ | ;Comando impostazione visualizzazioni per setup | ||
+ | IF gwComDisplay EQ VIS_SETUP | ||
+ | ; | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ENDIF | ||
+ | ; | ||
+ | JUMP MAIN | ||
+ | END | ||
+ | </ | ||
+ | |||