Home

q-paint 2.1

image

Contents

1. C Compilatore File SYM QPai n t TERMINALE 1MMIQ Progetto QPaint gt O A Con i termini oggetto ed oggetto grafico ci si riferisce alla stessa cosa Con il termine font si intende font terminale e o font utente Con il termine font terminale o font interno si intende il font memorizzato nella ROM del terminale Con il termine font utente si intende il font creato dall utente e memorizzato nei file QTF e FNT Con il termine font file si intendono i file QTF e FNT in cui sono memorizzate le immagini dei font terminale ed utente Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 4 di 136 nane Installazione QEM L installazione come per tutti i recenti prodotti QEM stata affidata al programma InstallShield 5 0 Essa si occupa di creare una directory in cui depositare i files del programma creare una cartella in cui porre le varie icone di collegamento preparare le operazioni per la disinstallazione del pacchetto e associare il programma QPaint21 EXE ai file con estensione QTP Informazioni pi dettagliate inerenti linstallazione sono fornite nel file README TXT presente nel primo floppy disk del pacchetto A fine installazione avremo per default in C Programmi la directory QPaint21 cos formata C Programmi QPaint21 qpaint21 exe readme txt uninst isu C Programmi QPaint21 Help C Programmi QPaint21 Examples tutorial qtp C Progr
2. Tutto qui Vediamo come creare un font personalizzato innanzitutto par tiamo da un file bitmap Utilizziamo la copia di uno di quelli che si trovano nella directory Fonts di QPaint10 e scegliamo QEM System Large Font bmp che visualizza dei caratteri di dimensione 24 x 27 pixel Se volessimo utilizzare un altro bitmap con dimensione dei carat teri diversa e magari di nostra ideazione possiamo farlo a patto di suddividere il bitmap in 14 righe e 16 colonne perch questo il formato richiesto dalla funzione di men Graphics New Font From presente in QPaint Ogni elemento di questa suddivisione rappresenta un caratte re Inoltre dobbiamo ricordarci che il bitmap deve essere monocromatico bianco e nero Ad esempio se volessimo costruire un font con caratteri di dimensione 12 x 15 pixel dovremmo creare un bitmap di larghezza 12 16 n colonne 192 e di altezza 15 x 14 n righe 210 Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 125 di 136 QEM yam Il bitmap rappresentante i Large Font che utilizzeremo per creare i caratteri visti sopra RE Eaa appare cos WHN O 0 O N Fe Fe UDA cr a A u P C 0 CMa C DETINRO CO _ GIA SXI XIOS uo CI gt DZEU QI N I X 12 5 lt AB JKLM AR ZIN I _ ogni carattere di ab JIklmno son par zi e Il AS lt UETHS altezza del wild O O H spt Yy bitmap lt 1CrfafY18 UOa x _ O7 ot23 uT a1954AKG AAAAAARGEEEEITILII DNO OO0O00O6OxAUUUU
3. Spazio FOR gbStep 1 gbStep LE 10 1 abFlx1 gbStep 32 abFlx2 gbStep 32 abFlx3 gbStep 32 abTuboV l glSecondi 8 0 NEXT abFlx1 4 36 valvola alla fine della tubazione ipompal abFlx2 1 36 valvola alla fine della tubazione pompa2 abTuboV 1 2 valvola nalla parte bassa tubo verticale ENDIF Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 133 di 136 an Backup e Restore In questo esempio vediamo come realizzare una semplice pagina in cui poter eseguire le operazioni di Backup e Restore dei dati ritentivi di QMove L unica cosa da ricordare che l operazione di Restore pu essere fatta solo dopo aver effettuato l operazione di backup e fino a che non si effettua un nuovo download dell applicativo dopo di che il Restore provoca un errore Questo viene segnalato dal terminale con il lampeggio del led status e con l in formazione Restore error nella Info Page alla voce Comunic status L impossibilita di poter fare il Restore dopo un download deriva dal fatto che potremmo aver scaricato un applicativo diverso da quello cui si riferiscono i dati salvati con il Backup che quindi potreb bero non avere pi senso con la nuova situazione Detto questo costruiamo una semplice pagina con alcuni oggetti VALUE che servono per verificare la correttezza delle operazioni Backup amp Restore n F T C Fi F 3 1 DI EEEEEEEEEE 3 oggetti VALUE hanno tutti la propriet Enable Mod
4. iniziale di logo tmLogo Timer per tempo pagina di presentazione E viene anche definita una variabile TIMER tmLogo che ci servir per impostare il timeout di cambio pagina Nel codice task avremo le seguenti istruzioni WAIT gfTerminale Verifica la presenza del terminale tmLogo 5000 imposta la temporizzazione della pagina MAIN IF tmLogo AND NOT gfRun verifica il timeout gfQMove 1 serve per il cambio pagina in QPaint gfRun 1 evita di rientrare in questa parte dopo il tempo tmLogo ENDIF IF gfRun EQ 1 una volta scaduto il timeout tmLogo 5000 serve per tenere tmLogo a zero e poter effettivamente vedere il cambio di gfQMove ENDIE IF gfRun EQ 1 Condizione per stabilisce se il terminale Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 119 di 136 QEM G pane sha terminato la presentazione Codice task sincronizzato con il terminale ENDIF WAIT 1 JUMP MAIN END Durante la fase di inizializzazione l applicativo QCL attende che il terminale sia nella pagina di presentazione verificando il valore di sfTerminale Vedremo che il valore di questa variabi le viene impostato a 1 da un evento OnAlways sulla pagina iniziale quindi si imposta la variabile TIMER tmLogo con valore di 5000 5 sec che quello che abbiamo scelto prima di passare alla pagina successiva Nel programma principale poi avviene il controllo sia sullo scadere del timeout sia sullo stato dell applicativo in modo da non r
5. Attraverso questa variabile possibile visualizzare il giorno del datario del terminale Nome SDEOBJ Dimensione Word Lettura Scrittura Lettura Scrittura Attraverso questa variabile possibile visualizzare o assegnare numero dell oggetto dina mico in data entry nel terminale Nome SDIRECTDE Dimensione FLAG Lettura Scrittura Lettura Scrittura Attraverso questa variabile possibile decidere se quando si entra in data entry attraver so un tasto numerico esso debba essere considerato semplicemente come accesso al data entry funzionamento tasto INS oppure se deve fare l accesso al data entry e scrive re il tasto premuto nel campo come se venisse premuto il tasto INS e poi il tasto nume rico 1 Entrata in data entry e riconoscimento tasto numerico 0 Solo entrata nel data entry Nome SHLDE Dimensione Flag Lettura Scrittura Lettura Scrittura Attraverso questa variabile possibile decidere se quando si entra in data entry le cifre sono nere su sfondo bianco oppure le cifre sono bianche su sfondo nero highlight mode 1 Data entry in highlight mode 0 Data entry normale Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 84 di 136 nane Nome SHOUR Dimensione Word Lettura Scrittura Lettura Attraverso questa variabile possibile visualizzare lora del datario del terminale Nome SKEY Dimensione Long Lettura Scrittura Lettura Attraverso questa variabile possibile visualizzare il codice del t
6. Fonts del QPaint Quando si trasporta un progetto che utilizza font utente in un altro PC necessa rio copiare nella directory Fonts di tale PC i file QTF ed FNT dei font utilizzati dal proget to Una volta copiato il progetto e i file QTF e FNT dei font utente richiesti necessario uscire da Windows e riavviare il computer per rendere attive le nuove impostazioni La rimozione di un font utente una operazione che deve essere fatta solo in caso di reale necessita Le operazioni da eseguire sono le seguenti Chiudere tutte le applicazioni avviate Con il Gestore risorse eliminare i file QTF e FNT del font da rimuovere Uscire da Windows A Ww N gt a Riavviare il computer Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 66 di 136 nane Le variabili di riferimento Tramite le variabili di riferimento QPaint permette all utente di accedere ai vari gruppi di variabili disponibili nella CPU del QMove e nel terminale Una variabile di riferimento com posta da tre campi introduzione il campo Base il campo First Index ed il campo Second Index Il campo Base ha lo scopo di definire il nome stesso della variabile a cui si vuole accedere Il campo First Index ha lo scopo di definire il primo indice mentre Second Index definisce il secondo Avremo quindi che Data Types First Index Second Index variabile CPU QMove SYSTEM variabile CPU QMove array CPU QMove indice elemento array GLOBAL array CPU QMove in
7. QEM yam Codice messaggio 10030 Tipo messaggio INFORMATION Descrizione Currently at least 256 system color are necessary to perform this program Azione Program will be terminate Si entra in questo stato quanto QPaint durante la procedura di avvio rileva che la confi gurazione video di Windows impostata a meno di 256 colori di sistema Codice messaggio 10031 Tipo messaggio ERROR Descrizione Project file lt name gt not found Azione Si entra in questo stato quando QPaint durante la procedura di avvio rileva che il nome del file di progetto impostato nella linea di comando non corrisponde ad un file realmente esistente Codice messaggio 10032 Tipo messaggio WARNING Descrizione Invalid empty name Azione Introduce a valid name Si entra in questo stato quando QPaint rileva che il nome della variabile interna appena introdotto vuoto Codice messaggio 10033 Tipo messaggio WARNING Descrizione Label lt name gt already used by another internal variable Azione Introduce a new name Si entra in questo stato quando QPaint rileva che il nome della variabile interna appena introdotto gia presente nella lista dei nomi variabili interne Codice messaggio 10034 Tipo messaggio QUESTION Descrizione Save changes to lt name gt Azione Si entra in questo stato quando QPaint rileva che si sta chiudendoun progetto nuovo e modificato e richiede all utente se desidera salvare le modifiche apportate C
8. Figura 50 finestra di dialogo Add Bitmap File gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 49 di 136 QEM panel Le funzionalit espletate dalla finestra di dialogo sono quelle standard normalmente fornite dallo stesso sistema operativo Windows A conferma dell operazione con il tasto Apri Image Manager analizzera le caratteristiche del file bitmap BMP selezionato Nel caso in cui venga rilevata una bitmap non monocromatica comparir un box di messaggio con la scritta The BMP can be only monochrome Premendo il tasto OK l intera procedura di aggiunta immagine verra abortita Nel caso in cui venga rilevata una bitmap di dimensioni non compa tibili con il display in uso comparira un box di messaggio con la scritta Invalid BMP size Premendo il tasto OK l intera procedura di aggiunta immagine verra abortita Una volta verificato che le caratteristiche dell immagine selezionata sono corrette essa verr aggiunta in fondo alla lista immagini di progetto e le verr assegnato un nome di default Nella dialog Add Bitmap File non possibile selezionare pi di un immagine da aggiungere alla volta Questo comunque non un problema poich sufficiente ripetere l operazione con il pulsan te Add quante volte si desidera Image Hanager x Generals TEA e res Picturez m Picture 3 Delete N i Rename di n nr mmm mmm mpm m m m m e e a width
9. G rane Q PAINT 2 1 Ambiente di sviluppo Q Paint 2 1V 1 0 QEM yam Ambiente di sviluppo Qpaint 2 1 v 1 0 Versione 1 0 Dicembre 2002 QEM e QMOVE sono marchi registrati Il presente manuale pubblicato dalla QEM srl senza alcun tipo di garanzia e si riserva di apportare modifiche ad errori tipografici imprecisioni nei contenuti e miglioramenti anche ai prodotti cui il presente manuale fa riferimento Le eventuali modifiche saranno comunque inserite nelle edizioni successive di questo manuale Nessuna parte di questo manuale pu essere riprodotta indipendentemente dal formato e dal mezzo senza autorizzazione scritta della QEM srl fatta riserva di tutti i diritti QEM srl S S 11 Km 339 Localit Signolo 36054 Montebello Vic Vicenza Italy Tel 0444 440061 r a Fax 0444 440229 e mail info gem it www qem it Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 2 di 136 pane Sommario INEFOOUZIONE ireren in a E rioni dani 4 INSUAlLAZIONE ssi ira ri rina ei aa 5 AVVIO GEL PPFOSrCAMMA scaccsstisorndrstosoradisca i nE e adopt 6 Caratteristiche del programma cc ecc eerriri ceri rice ri nice nici 7 Descrizione del prosramma rcsscsrisioneresa ina ta senior ear 8 Dare el men assicurati iii 8 Barra di gestione della DABINa ssaa aid sei a 54 Barra di impostazione della password di pagina 200ccrecer erre e rece ricic ezine 55 Barra delle funzioni di PFOBSEL
10. Hc oper4Z10he Ssegquitis premere Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 115 di 136 QEM yam Pagina di presentazione Con questo esempio vediamo come realizzare una pagina iniziale di presentazione temporizzata ad es con un logo in modo che l avvio del programma su terminale e quello su QMove si sincronizzino Cio che vogliamo ottenere che la partenza dei due programmi sia contempo ranea indipendentemente dall ordine di accensione di terminale o QMove Vediamo intanto la nostra pagina con il logo essa potrebbe essere dae e e e I n n n i i n n un n Sa n ul n ELLI E By n Snnn aa n s u n ein n n n EE m alla n el a n Pai E Ar a nn a T E ii S i i HEM srl Vogliamo che all accensione appaia questa pagina che resti visualizzata per 5 secondi e poi passi alla pagina successiva dove inizia il normale funzionamento del nostro applicativo ter minale nel nostro esempio vi sara solo una pagina che non fa niente appare solo un testo ma la cosa assolutamente ininfluente sul funzionamento della pagina temporizzata Intanto vediamo come inserire un immagine BMP in una pagina di terminale Per ogni progetto QTP c la possibilit di creare una galleria di immagini che possono essere utilizzate nel progetto stesso e che vengono scaricate nel terminale durante la fase di download Per costruire questa raccolta occorre utilizzare la funzionalita offerta dal menu Graphics
11. Si entra in questo stato quando QPaint rileva che non possibile scrivere nel simbolo della base della variabile Codice messaggio 12017 Descrizione Undefined symbol for First Index Si entra in questo stato quando QPaint rileva che non stato definito un simbolo nel primo indice della variabile Codice messaggio 12018 Descrizione Unknown symbol for First Index Si entra in questo stato quando QPaint rileva che non riconosciuto un simbolo nel primo indice della variabile Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 80 di 136 QEM yam Codice messaggio 12019 Descrizione Invalid symbol group for First Index Si entra in questo stato quando QPaint rileva che non valido il gruppo di appartenenza di un simbolo nel primo indice della variabile Codice messaggio 12020 Descrizione Invalid symbol type for First Index Si entra in questo stato quando QPaint rileva che non valido il tipo di simbolo nel primo indice della variabile Codice messaggio 12021 Descrizione Not required symbol for First Index Si entra in questo stato quando QPaint rileva che non richiesto un simbolo nel primo indice della variabile Codice messaggio 12022 Descrizione Undefined symbol for Second Index Si entra in questo stato quando QPaint rileva che non stato definito un simbolo nel secondo indice della variabile Codice messaggio 12023 Descrizione Unknown symbol for SecondIndex Si entra in questo stato quando QPaint rileva c
12. Source E Destination DEDE OK Cancel Uscita dal Data Entry confermando il valore introdotto senza l utilizzo del tasto ENTER Se si vuole far finire il Data Entry confermando il valore appena scritto ma senza utilizzare il tasto di default ENTER si puo utilizzare l azione Out Data Entry Confirm Tale azione pu essere associata solo ad eventi On Var e On Change Var quindi per esempio si pu associa re ad un flag del Qmove Page Events Editor Pg 1 xl Events and Actions Eo H Add E Insert p gt Delete E Hu Add E Insert mia Delete Get Yariable gtfFine DE 0 Out Data Entry Confirm Base First Index Second Index Variable ofFine_DE Comp Mode I equal T Comp alue fi 0K Cancel gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 98 di 136 nane Uscita dal Data Entry senza confermare il valore introdotto senza l utiliz zo del tasto ESC Se invece si vuole sospendere un Data Entry senza neanche confermare l ultimo valore intro dotto perch si vuole visualizzare una pagina particolare immediatamente per esempio con un messaggio di allarme allora si dovra utilizzare la seguente programmazione Page Events Editor Pg 1 xl Events and Actions Cie Hu Add E Insert pga Delete Segno BL Add Eu Insert pala Delete Un Var Ingresso No Confirm Ornar gffine DE iOnVar i gtAlarm 1 Base First Index Second In
13. copi il contenuto della variabile terminale SHOUR nella variabile del QMove slOre Nel documento presente il capitolo Impostazione variabili di riferimento nel quale sono descritte in dettaglio tutte le operazioni necessarie per definire una variabile di riferimento Led On Tramite l azione Led On si richiede al terminale di attivare uno dei led associati ai tasti funzione disponibili nella tastiera dello stesso Select Led Figura 32 pannello impostazioni azione Led On Come si puo vedere nella fig 32 l azione Led On stata impostata affich attivi il led associa to al tasto funzione F4 Led Off Tramite l azione Led Off si richiede al terminale di disattivare uno dei led associati ai tasti funzione disponibili nella tastiera dello stesso Select Led Figura 33 pannello impostazioni azione Led Off Come si pu vedere nella fig 33 l azione Led Off stata impostata affich disattivi il led associato al tasto funzione F4 Led Blink Tramite l azione Led Blink si richiede al terminale di attivare in modalita di blink uno dei led associati ai tasti funzione disponibili nella tastiera dello stesso Select Led Figura 34 pannello impostazioni azione Led Blink gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 36 di 136 L azione Restore viene eseguita solo se in precedenza stata effetuata almeno una procedura di Backup QEM yam Come si pu vedere nella fig 34 l azione L
14. indice all interno dell array ENDIF resetta i tasti sfFl 0 sfF2 0 aggiorna la posizione del testo selezionato gbPosStr gbStep 1 Si vede come la cosa venga fatta semplicemente la variabile gbStep contiene il valore del l indice del testo nella lista partendo pero da valore zero cui corrisponde il carattere di inizio swWord pari a 1 swWord contiene l indice del carattere di inizio dei vari testi quindi assume solo i valori 1 21 41 61 881 La pressione dei tasti funzione modifica il valore di sbStep e quindi di swWord infine viene impostata anche sbPosStr che rappresenta la posizio ne del testo nelle lista in modo naturale cio partendo da indice 1 Come detto il testo selezionato puo essere modificato dal terminale questo dovuto al fatto che abbiamo selezionato Modify Mode nell oggetto VALUE Per inserire o modificare il testo dalla pagina terminale sufficiente premere il tasto INS e confermare l inserimento con il tasto ENTER che fa uscire dalla fase di Data Entry Vediamo come si presenta il terminale durante il funzionamento testo ULTIMO ELE_ posizione 49 Premere INS per inserire o modificare F1 Fe F3 F4 Scorri Scorri t Step Step t gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 111 di 136 QEM yam Se andiamo a verificare i valori dell array abARRS ad es con QView noteremo che da qui parte l ultimo testo della lista 85 il codice ASCII d
15. Page Events Editor Pg 1 x Events and ctons Erei Bu Add E Insert E Delete EE EB Add E Insert E gt Delete On Change W ar gfo blove Page Events Editor Pg 1 X Events and Actions Eoee E Add Insert Zg Delete a EB Add Eu Insert mia Delete Set Variable gU Mowe 0 Set Yarable gtAun 0 Page Events Editor Pg 1 xl Events and Actions E B Add E Insert 6 gt Delete na El Add Eu Insert 2E Delete On Change War gt Move Set Yarnable gflermnale 1 n Page In All accensione il valore di gfQMove zero e il suo passaggio a 1 avviene quando scaduto il timeout e l applicativo QCL ne assegna il valore questo cambio di valore fa passare il termi nale alla pagina successiva Quando invece si entra nella pagina logo si resettano i valori di sfQMove e sfRun in modo da verificare lo scadere del timeout e poter far scattare il cambio pagina con il cambio di valore di sfQMove Infine l evento OnAlways imposta la var gf Terminale sempre a 1 quando ci si trova nella pagina iniziale questo da il segnale all applicativo QCL che il terminale OK e si puo far partire il timeout Nella pagina di lavoro e in tutte le pagine da cui si vuole uscire per tornare alla pagina logo ogni volta che si fa il restart della CPU occorre verificare il cambio valore della variabile gfQMove e associare un salto pagina alla pagina logo Infine per impedire il
16. che confluisce nel serbatoio fatta nello stesso modo utilizzando la variabile abFlx3 Deviatore dato che nel vostro esempio le due pompe lavorano in alternativa c bisogno di rappresentare un raccordo che colleghi la pompa che sta funzionando alla tubazione vertica le In questo caso si ottiene con un oggetto Value con la modalit Alpha Mode di dimensione 1 e che collegato alla variabile QCL abDev che un Array Byte Il font utilizzato Icon e i valori che assegnati alla variabile abDev saranno 39 per la pompa 1 e 38 per la pompa 2 Questi visualizzeranno due caratteri corrispondenti agli opportuni bitmap rappresentanti le due posizioni del deviatore Tubazione verticale per rappresentare questa parte stata utilizzata una serie di oggetti ValString disposti uno sull altro e collegati ciascuno ad un elemento di una variabile QCL di tipo array a byte che si chiama abTubovV Il font usato Flusso il valore 0 rappresenta il carattere tubo vuoto codice 34 mentre il valore 1 rappresenta il carattere tubo pieno codice 35 La scelta di utilizzare un array deriva dal fatto che facilita la gestione dell anima zione da parte del codice task QCL In tutto si tratta di 7 oggetti ValString per il primo oggetto il pi in basso nel disegno si associa un carattere valvola codice 37 al valore 2 in modo da visualizzare la situazione di impianto in Stop Ambiente di sviluppo Q Paint 2 1 v 1 0
17. glSecondi 2 Animazione pompa2 alternativamente imposta il valore di gfPump020N a 50 e 1 con ciclo di 1 secondo Questo porta al refresh dell oggetto ValString rappresentante la pompa2 ogni volta con i 2 caratteri di Versi questo ciclo fa in modo che gli array rappresentanti le tubazioni assumano valori corrispondenti a caratteri tubo vuoto FOR gbStep 1 gbStep LE 10 1 abFlx1 gbStep 32 Oggetto Value tubazione pompal abFlx2 gbStep 32 Oggetto Value tubazione pompa2 abFlx3 gbStep 32 Oggetto Value tubazione serbatoio abTuboV gbStep 0 Oggetto ValString tubo verticale NEXT abFl1x2 5 glSecondi35 33 imposta quale elemento dell array deve rappresentare la parte di tubo pieno nella tubazione pompa2 abFl1x3 5 glSecondi35 33 imposta quale elemento dell array deve rappresentare la parte di tubo pieno nella tubazione serbatoio Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 132 di 136 QEM Ga pane abTuboV l glSecondi 8 1 imposta quale elemento dell array deve rappresentare la parte di tubo pieno nella tubazione verticale abFlx1 4 36 imposta la visualizzazione della valvola nella parte di tubazione ipompal va nell elemento pi a destra ENDIF Infine quando l impianto in Stop si resetta tutto STOP IMPIANTO IF gfStop gfStop 0 gfPump010ON 0 gfPump02ON 0 gfStart02 0 gfStart0l 0 abDev 1 32 sal posto del deviatore si scrive uno
18. nell azione Send Comand Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 79 di 136 QEM yam Codice messaggio 12009 Descrizione Undefined led in Led On action Si entra in questo stato quando QPaint rileva che non stato definito un led nell azione Led On Codice messaggio 12010 Descrizione Undefined led in Led Off action Si entra in questo stato quando QPaint rileva che non stato definito un led nell azione Led Off Codice messaggio 12011 Descrizione Undefined led in Led Blink action Si entra in questo stato quando QPaint rileva che non stato definito un led nell azione Led Blink Codice messaggio 12012 Descrizione Undefined symbol for Base Si entra in questo stato quando QPaint rileva che non stato definito un simbolo nella base della variabile Codice messaggio 12013 Descrizione Unknown symbol for Base Si entra in questo stato quando QPaint rileva che non riconosciuto un simbolo nella base della variabile Codice messaggio 12014 Descrizione Invalid symbol group for Base Si entra in questo stato quando QPaint rileva che non valido il gruppo di appartenenza di un simbolo nella base della variabile Codice messaggio 12015 Descrizione Invalid symbol type for Base Si entra in questo stato quando QPaint rileva che non valido il tipo di simbolo nella base della variabile Codice messaggio 12016 Descrizione Invalid read only symbol group for Base
19. ssi iena anioni ia 56 Barra delle funzioni di CISEENO siii lalla anda dia aaa asa 56 Barra degtli strumenti di disS8N0 assiali fe aa aio 57 l font del terminale siisirirenia iaia ia riore 66 Le variabili di riferimento s ssussssssssosososcsesesesessosososcscsessesoseses 67 Appendice 1 Variazioni rispetto QPaint 2 0 2000 68 Appendice 2 Compatibilit con versioni precedenti 68 Appendice 3 Codici e segnalazioni LLLL ce eceeeirrieee iniziano 68 Tabelle riassuntive regole variabile di riferimento ssssssssessesescssesoesescesessesesee 68 Stati funzionali visualizzati tramite interfaccia standard 000c 000000 70 Messagi di COMPILAZIONE sssssirni cibarie aires ide depilata dread 79 Messaggi durante il download progetto cc rec errreerrererice rice receoreneno 83 Variabili interne del terminale sssesesessssscssosssssosesesessososssosssesessossesessessseoeo 84 APPEndice4 ESemMPl c cciissriscsina sicario iano iaaiiai 87 Scroll personalizzato pagine di visualizzazione c cer rreerrere rice rece ricnene 87 Secladele ig licia 91 Cambio pagina forzato da QCL ilaria 93 Introduzione con diverse unit di Misura c0000eee er eeereeere ceri cinici nici ieenie 94 Introduzione dati SHIdata ia ada dini a 96 Segnalazione di batteria aaa arri 102 Controllo com
20. 0 PPDec 1 Per la rappresentazione anglosassone SSCALEA 393700 SSCALEB 100000 SSCALEC 0 PPDec 3 Con questa impostazione si intende visualizzare il millesimo di pollice che corrisponde a 0 0393700 mm e quindi mantiene la precisione del decimo di millimetro Per convertire da decimo di millimetro a millesimo di pollice si deve moltiplicare per valore _in_ millesimi _ di _ pollice ren a 3 93700 siccome la variabile SCALEA di dimensione LONG puo contenere solamente valori interi Allora si moltiplica il valore per 100000 per renderlo intero e si programma SSCALEB Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 94 di 136 rane Ora sara sufficiente realizzare una pagina di scelta unit di misura come in figura Page Events Editor 6 MPA POLLICI l si i n Events and Actions na E Add E Insert Zg Delete Laine EB Add Ele ngert zE Delete SetVanable SCALE 1 Set Yarnable 45 CALEB 1 SetVarable PPDec 1 Goto Page VISUALI PRINCIPALE n Kep z CET Events Editor Pg 6 MHZPOLLICI Events and Actions Events E amp dd E Insert Zi Delete EE E Add Eli Insert E gt Delete Set Yarnable SCALEB 100000 Set Yarnable SCALE 393700 Set Yarnable PFD ec 3 Goto Page VISUALIA PRINCIPALE Fare attenzione perch le variabili interne all accensione del terminale hanno valore zero mentre le variabili
21. 32 Height 32 OK Cancel Figura 51 finestra di dialogo Image Manager di un progetto con tre immagini Come si puo vedere nella fig 37 abbiamo un esempio in cui sono state inserite tre immagini nella lista immagini di progetto Image Manager ha impostato per default il loro nome in Picture1 Picture2 e Picture3 Per semplificare l identificazione di una specifica immagine Image Manager rende possibile modificarne il nome tramite il pulsante Rename La pressione del pulsante Rename fara comparire la seguente finestra di dialogo Insert Hew Name Cancel Figura 52 finestra di dialogo Insert New Name Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 50 di 136 QEM G pane Tramite la dialog Insert New Name possibile introdurre un nuovo nome per l immagine selezionata Vi sono pero alcune regole da rispettare Il nome deve avere una lunghezza compresa tra 1 e 16 caratteri ASCII Le lettere minuscole sono considerate differenti da quelle maiuscole Non vi possono essere due immagine con lo stesso nome Image Manager si occuper di controllare che quanto introdotto sia corretto attivando un opportuno box di messaggio nel caso non si rispetti quanto appena descritto Image Hanager X Generals a Preven _ __ _ _ __ 3 valvola fussa Ja Add Motore DL P m Trasformatore Delete M i Rename a a i i Width 32 Height 32 Figura 53 fin
22. Descrizione Invalid object in On Out Data Entry No Confirm event Si entra in questo stato quando QPaint rileva che stato definito un oggetto non valido nell evento On Out Data Entry No Confirm Codice messaggio 12031 Descrizione Undefinied object in Object Blink action Si entra in questo stato quando QPaint rileva che non stato definito un oggetto nell azio ne Object Blink Codice messaggio 12032 Descrizione Invalid object in Object Blink action Si entra in questo stato quando QPaint rileva che stato definito un oggetto non valido nell azione Object Blink Codice messaggio 12033 Descrizione Undefinied object in Object No Blink action Si entra in questo stato quando QPaint rileva che non stato definito un oggetto nell azio ne Object Blink Codice messaggio 12034 Descrizione Invalid object in Object No Blink action Si entra in questo stato quando QPaint rileva che stato definito un oggetto non valido nell azione Object No Blink Codice messaggio 12035 Descrizione Undefinied object in Object Reverse action Si entra in questo stato quando QPaint rileva che non stato definito un oggetto nell azio ne Object Reverse Codice messaggio 12036 Descrizione Invalid object in Object Reverse action Si entra in questo stato quando QPaint rileva che stato definito un oggetto non valido nell azione Object Reverse
23. Image Manager di QPaint che fa apparire questa finestra Image Hanager Generals Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 116 di 136 QEM yam Image Manager come dice il nome stesso permette di gestire la libreria di immagini legate al progetto QTP in esame Inizialmente tale libreria vuota ed abilitato il solo pulsante Add che permette di aggiungere una immagine BMP alla lista tale immagine deve essere monocromatica altrimenti QPaint lo segnala con un errore Usando la funzione Add appare una dialog box in cui si pu scegliere un file BMP una volta selezionato il file la dialog box si chiude e la finestra Image Manager appare cos modificata Image Hanager x Generals rm Rename Height 127 Ok Cancel width 140 Come si vede a sinistra appare la lista delle immagini presenti ad ogni immagine viene dato un nome di default Picturennn dove nnn un numero relativo alla prima posizione libera nella lista che possibile modificare usando il pulsante Rename Al centro appare il Preview dell immagine appena inserita in lista con le sue dimensioni Sulla destra i tasti con le fun zioni possibili abbiamo gia visto Add e Rename Delete effettua la rimozione dalla lista dell immagine selezionata Con OK si conferma l inserimento della nuova immagine nella lista Una volta fatto questo per poter effettivamente aggiungere l immagine nella pagina prescelta occorre sel
24. Nome pagina Pag nr 01 Visualizzazione 1 4 Pag nr 09 Visualizzazione 4 4 Pag nr 02 Visualizzazione 2 4 On Key PGUP i Pag nr 03 Parametrizzazione 1 3 Ea PGUP Pag nr 04 Parametrizzazione 2 3 On Key PGDN o PGDN Pag nr 05 Parametrizzazione 3 3 bW Pag nr 06 Visualizzazione 3 4 GoTo Page 8 gnr Taratura 1 2 GoTo Page 7 gnr Taratura 2 2 gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 88 di 136 panel Per uscire dalle pagine di parametrizzazione o taratura bisogna programmare un tasto appo sito che esegua un salto alle pagine di visualizzazione Se si vuole mantenere una sequenza ordinata di scroll tra le pagine di visualizzazione che invece non hanno una disposizione ordinata bisogna sovraccaricare il funzionamento dei tasti PGUP e PGDN nel seguente modo Eventi di pagina Lista pagine Nome pagina Pag nr 01 Visualizzazione 1 4 On Key PGDN Pag nr 02 Visualizzazione 2 4 GoTo Page 6 3 gt Pag nr 03 Parametrizzazione 1 3 Pag nr 04 Parametrizzazione 2 3 Pag nr 05 Parametrizzazione 3 3 On Key PGUP On Key PGDN Pag nr 06 j j i GoTo Page 2 GoTo Page 9 g Visualizzazione 3 4 da dh Pag nr 07 Taratura 1 2 Pag nr 08 Taratura 2 2 i On Key PGUP GoTo Page 6 Pag nr 09 Visualizzazione 4 4 i gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 89 di 136 QEM yam importante ricordare che nella definizione dell azione Goto Page possibile utilizzar
25. Pag 128 di 136 nane Con questo abbiamo creato e impostato tutti gli oggetti responsabili dell animazione Vedia mo ora come usare eventi ed azioni per dare il via all animazione Usiamo i tasti F1 per dare lo start alla pompa1 e posizionare il deviatore F2 per dare lo start alla pompa 2 e posizionare il deviatore F3 per fermare l impianto Il resto viene lasciato all applicativo QCL Page Events Editor Pg 1 Events and Actions Econ E Add E Insert pga Delete T Hu Add Ela Insert ma Delete Set Yarnable gtStart0 1 n Fress F2 Set Yarable abDey 1 39 On Fress F3 Page Events Editor Pg 1 Events and Actions Cuente E Add E Insert Zi Delete a E Add Eu Insert pla Delete On Press FI Set Variable gfStant0 SetVarable abDey 1 38 Un Press Fa Page Events Editor Pg 1 x Events and ctions ao E Add E Insert Zi Delete R E Add Fe Insert pala Delete Un Press F Set ariable gfStop 1 On Fress F2 Come si vede vengono impostate 3 variabili QCL per lo Start delle 2 pompe e per lo Stop dell impianto Vediamo ora come il codice QCL si occupa di gestire l animazione Innanzitutto occorre definire le variabili necessarie nel file CNF gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 129 di 136 GLOBAL gfPump010N F Gestisce l animazione della pompa 1 gfPump020N F Gestisce l animazione della pompa 2 gfStart01 F Pom
26. QPaint di fare una stampa della documentazione di progetto che verra poi utilizzata dal costruttore della macchina per fare il manuale di istru zioni Sul display comparira la seguente finestra di dialogo Create Project s Document Generals Image Options Insert In Document TT Display Images TT Fage Events amp Actions TT Global Events amp Actions TO Design Objects Author Name men Figura 4 finestra di dialogo Create Project s Document Nella finestra generale il programma da la possibilit di stampare solamente su file le se guenti informazioni Immagini del display Eventi e azioni di pagina Eventi ed azioni globali Disegni Una combinazione tra le voci sopracitate oppure tutti gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 10 di 136 nane Create Project s Document General Image Options Image Dimension C Medium Image Size Large Image Size Background Image Color fe white C Iel Mi ome Figura 5 finestra di dialogo Create Project s Document Nella finestra di opzioni il programma da la possibilit di inserire nel documento le immagini del display con dimensioni grandi medie oppure piccole inserite su sfondo bianco oppure verde Alla pressione del tasto Continue il programma richiede la path dove salvare i file contenenti i dati richiesti Save Project s Document As KE Salva in E project T l et Nome file Project htm
27. SSCALEA SCALEB e SSCALEC hanno il valore fissato nell introduzione Global Scale Values nella finestra nella finestra richiamata dal men Project Setup di QPaint gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 95 di 136 an Introduzione dati guidata In questo esempio si vuole dare tutti gli strumenti che il Qpaint 2 1 mette a disposizione relativamente all introduzione dei dati Nell esempio riporteremo una serie di dati modificabili da terminale L esempio illustrer le seguenti operazioni attivazione del Data Entry senza l utilizzo del tasto INS attivazione del Data Entry in un particolare campo uscita dal Data Entry confermando il valore introdotto senza l utilizzo del tasto ENTER uscita dal Data Entry senza confermare il valore introdotto senza l utilizzo del tasto ESC sequenza di Data Entry diversa da quella di default Data Entry immediato alla pressione dei tasti numerici eventi dati dall uscita dal Data Entry La pagina che utilizzeremo la seguente A ci sono 12 campi inseribili suddivisi in 3 gruppi A Be C Attivazione del Data Entry senza l utilizzo del tasto INS Per iniziare l inserimento dei dati si utilizza per default il tasto INS Tramite l azione Begin Data Entry associata ad un evento particolare si pu far iniziare il Data Entry L evento po trebbe essere dato da un particolare valore assunto da una variabile o da uno stato assunto da un ingre
28. Salva come OEM project s document htm Annulla Figura 6 finestra di dialogo Save Project s Document Il comando creer nella directory indicata una serie di file Un file jpg per ogni pagina contenente l immagine del display Un file htm per ogni pagina contenente i dati richiesti nella finestra generale Un file htm del progetto generale gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 11 di 136 QEM G pane File Recent Files 1 2 3 e 4 QPaint mantiene traccia degli ultimi quattro progetti aperti mettendo il loro nome completo di percorso nella barra dei menu subito sotto alla voce File Save Project As Tale opera zione chiamata gestione dei Recent Files e segue le stesse modalit di funzionamento adottate da tutti i programmi Windows che la implementano Selezionando e confermando con il mouse o la tastiera un recent file si richiede a QPaint di riaprire il progetto associato recent files sono utili per velocizzare le operazioni di apertura dei progetti usati pi fre quentemente o ancora in fase di sviluppo Nel caso si tenti di aprire un recent file che non esiste pi o che memorizzato su un disco non disponibile apparira il messaggio Error in opening file nome file e i bottoni OK e Cancel Alla pressione di OK QPaint ritenter l apertura del file mentre Cancel abortira l intera operazione Prima di aprire il recent file selez
29. il file da trasferire al terminale Se durante questa fase viene riscontrato un errore la procedura di download termina sara possibile uscire dalla dialog Download Project tramite il pulsante OK La cancellazione della memoria nel terminale Durante questa fase il QPaint effettua l azzeramento della memoria del terminale in cui verr memorizzato il progetto compilato Se durante questa fase viene riscontrato un errore la procedura di download termina sara possibile uscire dalla dialog Download Project tramite il pulsante OK Le operazioni effettuate nel terminale non verranno annullate Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 44 di 136 Ulteriori informazioni riguardo ai font e la loro impementazione nel sistema QPaint Terminale sono disponibili nella sezione dedicata QEM G pane Il download del progetto nel terminale Durante questa fase il QPaint effettua il download del progetto compilato nella memoria del terminale A questo punto nella dialog Download Project comparir un indicatore che visualizzera la progressione dei dati trasferiti istante per istante Se durante questa fase viene riscontrato un errore la procedura di download termina sara possibile uscire dalla dialog Download Project tramite il pulsante OK Le operazioni effettuate nel terminale non verranno annullate Lo start del progetto scaricato nel terminale Durante questa fase il QPaint invia al terminale il comando di start proge
30. lampeggio del campo di vi sualizzazione dell oggetto Ambiente di sviluppo Q Paint 2 1 v 1 0 La correzione di scaling vie ne ottenuta con la seguente formula Y Scale A Scale B X Scale C Range 23 25 1 Range 1 numero massimo caratteri visualizzabili su una linea Questo valore dipende principalmente dal tipo di font selezionato e dal valore di Spacing Range 0 239 pixel Range 0 127 pixel Il range di valori dipende dal font in uso Pag 61 di 136 QEM yam Pulsante ValString Object Con questo pulsante si richiede a QPaint di depositare sulla pagina attiva un oggetto dinamico di tipo ValString Tramite l oggetto ValString possibile visualizzare un array di messaggi in lingua indicizzati da una variabile di riferimento Le propriet impostabili sono le seguenti Propriet Descrizione Limiti e condizioni First Message Definisce l indice associato al primo messaggio nell array messaggi in lingua Max Messages Definisce il numero di mes saggi presenti nell array mes saggi in lingua Active Language Definisce la lingua messaggi in uso nella griglia di intro duzione messaggi Active Message Definisce l indice del messag gio in uso nella griglia intro duzione messaggi Length Definisce il numero di carat teri che compone l oggetto comprendendo i caratteri uti lizzati dal segno e dal punto decimale Variable VR per la variabile CPU QMove o termi
31. lista dei font disponibili Una volta scelto OK viene fatta la conversione e da questo momento in poi ogni volta che apriremo la finestra Font Properties ci sar in lista anche Icon 24x27s0 che il nome interno dato da QPaint Icon il nome che avevamo digitato in fase di creazione 24x27s0 ci ricorda la dimensione del font e lo spacing impostato Ritornando alla finestra ValString Object Property Editor vista sopra ora facile capire che il font scelto per la stringa proprio il nostro Icon e che la stringa scritta per il valore 0 il carattere di tastiera e per il valore 1 il carattere Tubazione in mandata delle pompe per ottenere l animazione di questa parte che consiste nel visualizzare il fluido che si sposta utilizziamo invece un oggetto Value con una variabile Array byte con proprieta Alpha Mode attiva Questo ci permette di visualizzare una stringa di caratteri variabile durante l esecuzione e in cui possibile modificare runtime anche un solo carattere Trattandosi di una var array il valore del singolo elemento rappresenta il carattere che sara visualizzato Ad esempio il valore 32 visualizzer uno spazio il valore 48 il carattere O e cosi via Per rappresentare questi caratteri creiamo un nuovo font partendo dal bitmap QEM System Small Font bmp e seguiamo la stessa procedura vista sopra Il bitmap del nuovo font sar questo stato ingrandito per maggiore chiare
32. object Symbol Object on Page Symbol found in Base Yarable in Value object Symbol Object on Page 3 Symbol found in Base Yarable in Value object Figura 9 finestra di report ricerca Cliccando con il mouse sull oggetto voluto Qpaint apre direttamente l editor delle propriet dell oggetto Ulteriori informazioni sugli oggetti e i relativi editor delle propriet sono dispo nibili nella sezione dedicata Condizioni di attivazione avere importato un file simboli Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 15 di 136 QEM G lane View Zoom In Con questa voce di men si richiede a QPaint di incrementare il fattore di zoom utilizzato per la visualizzazione dell area di disegno fattori disponibili sono X1 X2 X3 e X4 Se l area di disegno risultasse essere pi grande dell area visualizzabile sara possibile agire solo sulla parte visualizzata Condizioni di attivazione fattore di zoom attuale inferiore a 4 View Zoom Out Con questa voce di menu si richiede a QPaint di decrementare il fattore di zoom utilizzato per la visualizzazione dell area di disegno fattori disponibili sono X1 X2 X3 e X4 Se l area di disegno risultasse essere pi grande dell area visualizzabile sara possibile agire solo sulla parte visualizzata Condizioni di attivazione fattore di zoom attuale maggiore di uno View Previous Page Con questa voce di men si richiede a QPaint di visualizzare la pagina preced
33. rileva che non stato definito nessun tasto nel l evento On Key Codice messaggio 12002 Descrizione Undefined key in On Press event Si entra in questo stato quando QPaint rileva che non stato definito nessun tasto nel l evento On Press Codice messaggio 12003 Descrizione Undefined key in On Release event Si entra in questo stato quando QPaint rileva che non stato definito nessun tasto nel l evento On Release Codice messaggio 12004 Descrizione Undefined time in On Time event Si entra in questo stato quando QPaint rileva che non stato definito nessun valore di tempo nell evento On Time Codice messaggio 12005 Descrizione Undefined page in Goto Page action Si entra in questo stato quando QPaint rileva che non stata definita nessuna pagina dove saltare nell azione Goto page Codice messaggio 12006 Descrizione Invalid page in Goto Page action Si entra in questo stato quando QPaint rileva che stata definita una pagina inesistente dove saltare nell azione Goto page Codice messaggio 12007 Descrizione Undefined comand in Send Comand action Si entra in questo stato quando QPaint rileva che non stato definito nessun comando nell azione Send Comand Codice messaggio 12008 Descrizione Invalid comand in Send Comand action Si entra in questo stato quando QPaint rileva che stato definito un comando non valido
34. rispettivamente a 240 x 128 pixel Codice messaggio 10025 Tipo messaggio ERROR Descrizione The BMP can be only monochrome Azione Image will not be added Si entra in questo stato quando QPaint rileva che il file grafico in lettura non di tipo monocromatico Codice messaggio 10026 Tipo messaggio WARNING Descrizione Invalid empty name Azione Introduce a valid name Si entra in questo stato quando QPaint rileva che il nome dell immagine appena introdotto vuoto Codice messaggio 10027 Tipo messaggio WARNING Descrizione Label lt name gt already used in another image Azione Introduce a new name Si entra in questo stato quando QPaint rileva che il nome dell immagine appena introdotto gia presente nella lista dei nomi immagine Codice messaggio 10028 Tipo messaggio QUESTION Descrizione The acceptance of the chenges will involve the reallignment of some objects image of the project Azione Are you sure of to want to continue Si entra in questo stato quando QPaint rileva che la modifica di una o pi immagini nella finestra di dialogo Image Manager potrebbe comportare la necessita di spostare uno o pi immagini presenti nel progetto Codice messaggio 10029 Tipo messaggio QUESTION Descrizione Do you really want rename password page Azione Si entra in questo stato quando l utente introduce una nuova password per la pagina attiva gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 74 di 136
35. si esce dal data entry quando si preme il tasto per gli altri campi si pu uscire con il tasto ESC Page Toggle Lock Page Con questa voce di men si richiede a QPaint di abilitare o disabilitare l impostazione del controllo della password relativo alla pagina attiva Ulteriori informazioni sono disponibili sulla sezione riguardante la barra di impostazione della password di pagina Page Page Events Editor Con questa voce di men si richiede a QPaint di aprire la finestra di dialogo Page Events Editor dalla quale possibile visualizzare ed introdurre gli eventi relativi alla pagina di progetto attiva Sostanzialmente gli eventi di pagina sono eguali a quelli globali per cui quanto de scritto nella sezione Project Global Events Editor valido anche per la sezione Page Page Events Editor Tra i due editor esistono pero alcune differenze nel titolo della finestra di dialogo compare il numero ed eventualmente anche il nome della pagina interessata negli eventi On Key On Press e On Release possibile creare una lista di azioni anche per i tasti INS PG DN e PG UP sono stati aggiunti gli eventi di On OUT Data Entry Confirm e On OUT Data Entry No Confirm La finestra di dialogo visualizzata sara la seguente Page Events Editor Pg 1 Taratura Events and Actions Event E Add E Insert pasa Delete E EB Add Eli Insert mia Delete On Change War s122 Send Command START Ma
36. 0 C AWINDOWNSA SYSTEM VCLAS35 BEL 3 0 3 0 C ANWINDONS A SYSTEMS JPEGPEG EPFL 1 0 0 0 Ci AWINDOWNSA SYSTEMS ECESMF35 BFL 1 0 0 C WINDOWS SYSTEMS VCLOEMOL EPL Lil 0 9 C AWINDOWNSA SYSTEM Dl Figura 56 finestra di dialogo Technical Info Come si pu vedere in fig 56 nella dialog presente il pulsante Print con il quale si potran no stampare le informazioni tecniche visualizzate Prima di avviare la procedura di stampa assicurarsi che in Windows vi sia installata almeno una stampante Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 53 di 136 n panel o QEM Help About Con questa voce di men si richiede a QPaint di visualizzare la finestra di About In essa sono presenti le informazioni inerenti il prodotto la QEM srl e gli indirizzi internet disponibili all utente La casella info qem it pu essere utilizzata per richiedere informazioni generali e commerciali sui prodotti QEM La casella soft qem it puo essere utilizzata per richiedere informazioni ed assistenza al supporto tecnico QEM About Q Faint QPaint 2 0 GEM 5 F d S 11 km 339 Localit Signolo J6054 Montebello Vic Vicenza Italy Tel 0444 440061 Fax 0d4dd 440229 Lau gem it Info infol gem it Support softigem it Figura 57 finestra di dialogo About OPaint Barra di gestione della pagina Tramite la barra di gestione della pagina possibile 1 Scegliere la pagina da attivare specificandone il numero 2 Scegliere
37. Codice messaggio 12037 Descrizione Undefinied object in Object No Reverse action Si entra in questo stato quando QPaint rileva che non stato definito un oggetto nell azio ne Object No Reverse Codice messaggio 12038 Descrizione Invalid object in Object No Reverse action Si entra in questo stato quando QPaint rileva che stato definito un oggetto non valido nell azione Object No Reverse Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 82 di 136 nane Messaggi durante il download progetto Durante la fase di download del progetto il QPaint visualizza una finestra di dialogo dove mostra il report degli errori intervenuti Gli errori che possono comparire sono i seguenti Codice messaggio 20000 Descrizione Terminal not in download configuration Si entra in questo stato quando QPaint rileva che il terminale non in download Il download viene abortito Codice messaggio 20001 Descrizione Error in String adding Si entra in questo stato quando QPaint rileva che il terminale ha avuto problemi durante la comunicazione seriale Il download viene abortito Codice messaggio 20002 Descrizione Error in Box adding Si entra in questo stato quando QPaint rileva che il terminale ha avuto problemi durante la comunicazione seriale Il download viene abortito Codice messaggio 20003 Descrizione Error in erasing memory Si entra in questo stato quando QPaint rileva che il terminale ha avuto problemi durante la can
38. El Insert ZE Delete Setarable gatFlag 1 1 ie EE i dl k Lo 9 0 Object Name Value dl OK Cancel Nell esempio si associato all uscita con conferma dal D E del Value1 A1 un settaggio di un flag gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 101 di 136 nane Segnalazione di batteria Nel terminale e nel sistema Qmove si trova una batteria tampone per la memorizzazione dei dati ritentivi In caso di esaurimento di tale componente esiste una segnalazione nelle apparecchiature Per il terminale la segnalazione si trova nella pagina Info per il sistema Qmove esiste una spia luminosa sul frontalino In molti casi per questa segnalazione non puo essere sufficiente perch non direttamente accessibile all utilizzatore ad esempio il siste ma Qmove si trova all interno di un quadro elettrico o nel terminale non viene mai richiamata la pagina di set up Per questi motivi utile segnalare l esaurimento delle batterie sulla pagina di terminale in modo che l utilizzatore si accorga e possa prendere i provvedimenti necessari Esistono due variabili di terminale SLOWBATTTERM e SLOWBATTQOMOVE rispettiva mente che rappresentano la batteria esaurita nel terminale e nel Qmove In questo esempio vediamo come realizzare un applicativo in cui il terminale se una batteria esaurita segnala all utilizzatore questo stato con una pagina dedicata Nella prima pagina di terminale inseriamo i segu
39. IR CHTLOCKM Aghi CNTLOCKM Tappetoti CHTLOCKM TappetoS CNTREY Aghi CNTREY Master CNTREY Tappeto CNTREY TappetoS CHTREVM Aghi CHTREYM Tappetohd CHTREVM TappetoS CHTUNLOCK Aghi CHTUNLOCK Master CHTUNLOCK T appetat CHTUNLOCK TappetoS CHTUNLOCKM Aghi E DELI C DELL E DELI C DELL E DELI E DELI C DSEI C DSEI C DsEl E EMR C EMA CJ EMA E EMR C ENEL E ENEI REGOFF C CNTUNLOCEM Tappetoki E ENEL REGON CHTUNLOCKM TappetoS INIT DELCNT dl Figura 30 finestra di dialogo Symbol Object Selection Come si pu vedere nella fig 30 la dialog Symbol Object Selection divisa in due aree distin te Quella di sinistra raggruppa in una struttura ad albero i vari device disponibili nella sezio ne INTDEVICE EXTDEVICE del file simboli importato Quella di destra invece occupata dalla lista completa di tutti i comandi disponibili Per confermare un comando sufficiente ese guire un doppio clic con il tasto sinistro del mouse o premere il tasto ENTER sulla voce deside rata Set Variable Tramite l azione Set Variable si richiede al terminale di copiare il valore della variabile di riferimento Source nella variabile di riferimento Destination I Base First Index Second Index Figura 31 pannello impostazioni azione Set Variable Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 35 di 136 QEM Ga pane Come si puo vedere nella fig 31 l azione Set Variable stata programmata affinch
40. M Nella fase di stesura delle specifiche di programma si cercato di delineare quali fossero le caratteristiche funzionali indispensabili per rendere il QPaint un prodotto valido ed efficien te Grazie all esperienza accumulata nel tempo per mezzo di prodotti come QView si giunti a definire la seguente lista di argomenti 1 Eventuali nuove versioni del programma dovranno assicurare la piena compatibilit dei progetti sviluppati con le versioni precedenti Per ottenere ci si adottato un nuovo standard di memorizzazione delle informazioni in protocollo binario con cui risulta mol to semplice gestire la compatibilit di versione 2 Per rendere portabile e facilmente mantenibile un progetto non vi dovranno essere collegamenti a file esterni Lo standard di memorizzazione adottato permette di archi viare nello stesso file dati di qualsiasi formato come ad esempio testi immagini grafi che data base etc Il programma QPaint memorizza nel file di progetto QTP tutto cio di cui abbisogna In questo modo per archiviare trasportare su floppy o distribuire un pro getto sara sufficiente operare con il solo file QTP Per limitare significativamente la dimensione dei file di progetto si ritenuto utile non inserire nello stesso tutte le informazioni dei font utilizzati percio bisogna assicurarsi che nella directory C Programmi QPaint21 Fonts del proprio PC siano presenti tutti i font file QTP richiesti tre font distribuiti con il p
41. P con il quale possibile creare un file Bitmap monocromatico con il font risultante dalle impostazioni effettuate Quest ultima operazione risulta utile quando si intende generare la Bitmap di un font partendo da un font True Type di Windows modificare tale Bitmap con un editor grafico quale il PaintBrush di Windows e creare il nuovo font utente con la Bitmap modificata tramite la voce di men Graphics New Font From New Font From Bitmap File Attenzione La qualita del font utente creato tramite la dialog New Font From True Type Font dipende da molti aspetti tecnici che di solito non sono visibili ad un normale utente Di regola si puo per assumere che maggiore la dimensione in pixel del carattere definita tramite il para metro CharWidth migliore la qualita dello stesso Importante anche il tipo di font True Type utilizzato in quanto maggiore la presenza di piccoli dettagli grafici nel font minore la qualita del font utente ottenibile Alla pressione del pulsante OK il QPaint effettuer una serie di controlli sui dati introdotti Tali controlli verificheranno la bont dei dati nei campi di introduzione In caso vengano riscontrate irregolarit QPaint visualizzera un box di dialogo con le indicazioni del caso Graphics Image Manager Con questa voce di men si richiede a QPaint di aprire il gestore immagini Nel terminale stato implementato un oggetto grafico chiamato Image c
42. Range 5 128 Back Color Attributo colore sfondo og getto Color Attributo colore disegno bor do oggetto Style Attributo modalit disegno bordo oggetto Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 65 di 136 G pane I font del terminale QEM Il terminale stato progettato per lavorare con due gruppi di font i font di sistema e i font utente font di sistema risiedono nella ROM del terminale e sono sempre disponibili font utente risiedono nella directory Fonts del QPaint sotto forma di file QTF ed FNT e vengono trasferiti nel terminale durante la procedura di download Anche i font di sistema hanno i loro file QTF e FNT nella directory Fonts del QPaint ma questi vengono utilizzati solo per le operazioni interne di visualizzazione ed introduzione dati L utente pu facilmente creare nuovi tipi di font partendo da file Bitmap o derivandone di nuovi direttamente dai font TTF di Windows La possibilit di creare un font utente prelevando le informazioni direttamente da un file Bitmap espande notevolmente le possibilita grafiche del terminale stesso Infatti possibile realizzare delle animazioni realizzando un font in cui i caratteri sono in realta le varie parti dell animazione che si vuole visualizzare Ulteriori informazioni riguardo le anima zioni effettuate tramite font utente sono disponibili negli esempi allegati I font utente disponibili sono presenti sotto forma di file QTF e FNT nella directory
43. Tipo messaggio WARNING Descrizione Font name already exist in Windows fonts Azione Introduce a new name Si entra in questo stato quando QPaint rileva che il nome del font utente appena introdot to gia utilizzato da un font di Windows Codice messaggio 10021 Tipo messaggio WARNING Descrizione Font name already used Azione Introduce a new name Si entra in questo stato quando QPaint rileva che il nome del font utente appena introdot to gia presente nella lista dei nomi font utente Codice messaggio 10022 Tipo messaggio FATAL ERROR Descrizione Dinamic cast error Azione Program will be terminate Si entra in questo stato quando internamente il programma esegue un operazione non valida Il programma Qpaint viene chiuso Tutte le modifiche apportate al progetto suc cessive all ultimo salvataggio verranno perse Codice messaggio 10023 Tipo messaggio ERROR Descrizione Invalid BMP file Azione Image will not be added Si entra in questo stato quando QPaint rileva che il file grafico in lettura non di tipo bitmap BMP gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 73 di 136 nane Codice messaggio 10024 Tipo messaggio ERROR Descrizione Invalid BMP size Azione Image will not be added Si entra in questo stato quando QPaint rileva che le dimensioni in altezza e o larghezza del file grafico in lettura superano le misure dell area di disegno La larghezza e l altezza massima sono fissate
44. V gbStep 0 Oggetto ValString tubo verticale NEXT abFlxl1 l glSecondi55 33 imposta quale elemento dell array deve rappre sentare la parte di i tubo pieno nella tubazione pompal abFlx3 5 glSecondi35 33 imposta quale elemento dell array deve rappresentare la parte di tubo pieno nella tubazione serbatoio abTuboV l glSecondi 8 1 imposta quale elemento dell array deve rappresentare la parte di tubo pieno nella tubazione verticale abF1lx2 1 36 imposta la visualizzazione della valvola nella parte di tubazione pompa2 ENDIF GESTIONE DI UN CONTASECONDI IF tmSecondi Timer da 1 Sec terminato tmSecondi 1000 Reload timer IF glSecondi IT 59 Controllo secondi glSecondi glSecondi 1 Incremento secondi ELSE glSecondi 0 ENDIE ENDIE gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 131 di 136 QEM G pane Per simulare lo scorrere del liquido nella tubazione occorre impostare in maniera sequenziale e ciclica in questo caso ogni secondo un elemento diverso dell array in modo che visualizzi il carattere tubo pieno mentre il resto dell array deve rappresentare il tubo vuoto Quindi prima si effettua un ciclo FOR che serve per pulire le tubazioni e poi si passa ad impostare il solo elemento che contiene il carattere di tubo pieno Con l espressione 1 glSecondi 5 usata come indice di abFlx1 ad esempio ad ogni secondo si incrementa di 1 il valore d
45. Ybf rm _ la ds sdsereeeolilil ohb b bb66 5000UyuD larghezza del bitmap C infine da dire che i caratteri sono disposti nel bitmap in ordine di codice a partire dal codice 32 che corrisponde allo spazio bianco fino al codice 255 che corrisponde a y Questo codice ci sara utile in seguito Creiamo il nostro font personalizzato partendo da questo bitmap Ne facciamo una copia e lo chiamiamo Icon Font bmp ora lo editiamo e disegnamo al posto dei caratteri e i nostri nuovi simboli Il bitmap alla fine apparira cos a ese _ Xt 01254565 f89 lt QABCDEFGHIJIKLMNO Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 126 di 136 QEM Ge pane Abbiamo anche aggiunto sue simboli che ci serviranno in seguito per il deviatore della tuba zione Una volta creato il bitmap occorre includerlo nel progetto QPaint tramite la funzione Graphics New Font From Bitmap File La finestra che appare questa Hew Font From Bitmap File Bitmap File Name E ABINAYPant OSFONTS Icon CABINAOPaintt FONTS con ME ii Terminal Font Hame WM Cancel Char Spacing fo Nella casella Bitmap File Name va indicato il nome del file BMP che si vuole usare come nuovo Font Il tasto a destra File permette di selezionarlo tramite la finestra di dialogo di Windows Nella casella Terminal Font Name va invece scritto il nome che vogliamo dare al font e che apparira sempre in questo progetto nella
46. alla quale possibile importare nel progetto un nuovo file simboli o visualizzare le informa zioni di quello attualmente caricato Nella Symbol Reference possibile visualizzare i valori di checksum e l originaria posizione con nome del file simboli importato precedentemente Nel caso di un progetto nuovo o di un progetto in cui non mai stato importato un file simboli la dialog visualizzata sar la seguente Symbol Reference Actual Checksums Configuration Code Symbol Source Loaded Symbol File Not loaded file Figura 11 finestra di dialog Symbol Reference di un progetto senza file simboli Come si puo vedere nella fig 11 nel gruppo Actual Checksums compaiono rispettivamente i checksum registrati nel file simboli importato ed inerenti al progetto QView che lo ha gene rato Queste informazioni sono utili per verificare la validit del file simboli Nel gruppo Loaded Symbol File compaiono il nome del file simboli e il percorso da cui stato preleva to Per visualizzare il percorso bisogna portare e mantenere il puntatore mouse sopra all og getto Path Dopo alcuni istanti comparira la finestra di tool tip con il percorso originario del file simboli La tool tip rimarra visibile per circa un secondo In questo caso non essendo mai stato importato un file simboli i checksum avranno tutti valore zero mentre Not loaded file verra visualizzata sia nel nome che nel percorso dello stesso Nel
47. ammi QPaint21 Fonts qem system large font bmp qem system large font fnt qem system large font qtf qem system medium font bmp qem system medium font fnt qem system medium font qtf qem system small font bmp qem system small font fnt qem system small font qtf eseguibile documento informazioni per disinstallazione lt directory lasciata volutamente vuota gt progetto esempio uso QPaint file bitmap sorgente utilizzato per creare il font font di Windows per QPaint font terminale per QPaint file bitmap sorgente utilizzato per creare il font font di Windows per QPaint font terminale per QPaint file bitmap sorgente utilizzato per creare il font font di Windows per QPaint font terminale per QPaint L associazione dell estensione QTP al programma QPaint21 EXE permetter di avviare un pro getto tramite il doppio clic sull icona dello stesso direttamente dalla finestra di Explorer Gestione Risorse nella versione italiana Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 5 di 136 _ pane Avvio del programma 0EM L avvio del programma QPaint avviene come per qualsiasi altro programma Windows in uno dei seguenti modi 1 tramite clic sull icona QPaint 2 1 con Avvio gt Programmi gt QPaint 2 1 2 tramite doppio clic sull icona QPaint21 exe con Explorer in C Programmi QPaint21 3 tramite linea di comando in una sessione MS DOS o in Avvio gt Esegui Quando si avvia QPaint tramite linea di comand
48. appresentazione di come apparira la pagina quando sara visualizzata sul terminale Si puo inoltre notare che indipendentemente dal Background mode utilizzato il risultato sul terminale sara lo stesso View Report Window Con questa voce di men si richiede a QPaint di visualizzare la finestra di Report che una finestra di tool e quindi come tale presenta alcune caratteristiche intrinseche ha una barra del titolo ridotta non pu essere ridotta ad icona o ingrandita a tutto schermo sempre sovrapposta alla finestra principale del programma e condivide con essa il flusso di input della tastiera e del mouse All avvio di QPaint sempre invisibile e presenta posizione e dimensioni di default Puo quindi essere visualizzata spostata ridimensionata e nascosta Alla sua riattivazione la posizione e le dimensioni precedenti verranno ripristinate Alla chiusura di un progetto viene sempre ripulita del suo contenuto e nascosta La posizione e le dimensioni non vengono memorizzate nel file del progetto e nelle impostazioni del programma In essa sono rappresentati i risultati ottenuti dalla procedura di controllo del progetto Ulteriori informa zioni inerenti ai contenuti della Report Window sono disponibili nella sezione dedicata al Check Project Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 17 di 136 QEM nane Project Symbol Reference Con questa voce di men si richiede a QPaint di aprire la finestra di dialogo Symbol Reference d
49. ariabile di riferimento il campo Second Index contiene un simbolo sconosciu to Nella variabile di riferimento il campo Second Index contiene un simbolo di un grup po dati non valido Nella variabile di riferimento il campo Second Index contiene un simbolo di un tipo dati non valido Nella variabile di riferimento il campo Second Index impostato anche se non ri chiesto descrizione Descrive in modo dettagliato l errore riscontrato Vedere descrizione del cam po codice errore per una migliore comprensione dell errore gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 22 di 136 QEM Ga pane Quando la Report Window attiva possibile tramite i tasti cursore eseguire lo scroll dell in tera lista e utilizzare il tasto Enter per attivare l editor proprieta dell oggetto descritto nella linea selezionata Tramite il mouse si possono ottenere gli stessi risultati pi agevolmente Una volta attivato l editor proprieta dell oggetto posizioner automaticamente il fuoco sul campo dati che ha generato l errore Questo semplifica notevolmente le operazioni di corre zione dello stesso La Report Window modifica il contenuto della lista errori solo sulla richie sta di un controllo del progetto per cui anche quando un errore viene corretto la relativa linea di descrizione continuera ad esistere Lo stesso vale se un oggetto con uno o pi errori o la pagina in cui contenuto vengono rimossi A questo punto la Report Wi
50. asto premuto nel termi nale Per la codifica dei tasti consultate il manuale firmware dell oggetto Nome SKEYF Dimensione Long Lettura Scrittura Lettura Attraverso questa variabile possibile visualizzare il codice del tasto funzione premuto nel terminale Per la codifica dei tasti consultate il manuale firmware dell oggetto Nome SLANGUAGE Dimensione Byte Lettura Scrittura Lettura Scrittura Attraverso questa variabile possibile visualizzare o assegnare la lingua messaggi del terminale Nome SLOWBATTOMOVE Dimensione Flag Lettura Scrittura Lettura Attraverso questa variabile possibile visualizzare lo stato della batteria del Qmove 1 Batteria Qmove esaurita 0 Batteria Qmove OK Nome SLOWBATTTERM Dimensione Flag Lettura Scrittura Lettura Attraverso questa variabile possibile visualizzare lo stato della batteria del terminale 1 Batteria terminale esaurita 0 Batteria terminale OK Nome SMIN Dimensione Byte Lettura Scrittura Lettura Attraverso questa variabile possibile visualizzare il valore dei minuti del datario del terminale Nome SMONTH Dimensione Byte Lettura Scrittura Lettura Attraverso questa variabile possibile visualizzare il mese del datario del terminale gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 85 di 136 QEM yam Nome SPAGE Dimensione Word Lettura Scrittura Lettura Attraverso questa variabile possibile visualizzare la pagina visualizzata del t
51. bili sono le seguenti Propriet Descrizione Limiti e condizioni Length Definisce il numero di carat Range 1 numero massimo teri che compone l oggetto caratteri visualizzabili su una linea Questo valore dipende principalmente dal tipo di font selezionato e dal valore di Spacing Left Attributo posizione lato sini Range 0 239 pixel stro oggetto Top Attributo posizione lato su Range 0 127 pixel periore oggetto Font Name Nome del font utente o ter minale in uso Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 63 di 136 QEM Descrizione Propriet Spacing Spacing di visualizzazione del Il range di valori dipende dal font font in uso Transparent Mode Flag che se ON abilita la tra sparenza dello sfondo di vi sualizzazione dell oggetto Reverse Mode Flag che se ON inverte il cam po di visualizzazione dell og getto Nella finestra di dialogo String Object Property Editor presente anche il pulsante Unlock o Lock Questo pulsante ha il compito di sbloccare il controllo della lunghezza messaggio in introduzione e porla alla massima dimensione visualizzabile In questo modo possibile intro durre dei messaggi senza preoccuparsi anticipatamente della lunghezza in caratteri che occu peranno Inoltre nella dialog presente il pulsante di Replace in all messages il quale ha il compito di trascrivere la stringa in introduzione su tutte le lingue disponibili La traduz
52. bilita con progetti realizzati con versioni di QPaint2 XX precedenti viene garanti ta Non garantita la compatibilit con progetti redatti con QPaint1 XX a meno di conversione da versione 1 a versione 2 del progetto condizione che renderebbe il ritorno a versione 1 impossibile Appendice 3 Codici e segnalazioni QEM Tabelle riassuntive regole variabile di riferimento In queste tabelle sono riportate le regole da applicare per la costruzione delle variabili di riferimento Ad ogni tabella associato un numero che dovr essere utilizzato per riferirsi all oggetto interessato Oggetto Value Dec Point tabella 4 Variable con Enable Alpha Mode ON tabella 3 con Enable Alpha Mode OFF tabella 2 Max Variable tabella 5 Min Variable tabella 5 Oggetto ValString Variable tabella 1 Evento OnChange Var tabella 2 Evento OnVar tabella 1 Azione GotoPage tabella 4 Azione SetVariable Source tabella 6 Destination tabella 7 Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 68 di 136 SYSTEM GLOBAL ARRSYS ARRGBL TIMER STATIC INDEX DEVPAR IO INTERNAL TERMINAL CONST SYSTEM GLOBAL ARRSYS ARRGBL TIMER STATIC INDEX DEVPAR IO INTERNAL TERMINAL CONST SYSTEM GLOBAL ARRSYS ARRGBL TIMER STATIC INDEX DEVPAR IO INTERNAL TERMINAL CONST bada da K bada da KK gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 69 di 136 QEM nane Stati funzionali visualizzati tramite interfaccia standard Per semplificare l u
53. caso di un progetto in cui gi stato importato un file simboli la dialog visualizzata sara la seguente Symbol Reference Import New Actual Check sums Configuration 5ra Lode 19719 Symbol 2945363 Source 1E135946 Loaded Symbol File Teste syum Figura 12 finestra di dialog Symbol Reference di un progetto con file simboli Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 18 di 136 Se si modificano solamente i moduli task MOD non necessaria nessuna operazione di sincronizzazione QEM Go pane La pressione del pulsante Import New far comparire la seguente finestra di dialogo Import Symbol Reference Ki Ei Cerca In E teste Al e A Teste spm Mome file Tipo file QHove symbol file sym Annulla Figura 13 finestra di dialogo Import Symbol Reference Le funzionalita espletate dalla finestra di dialogo sono quelle standard normalmente fornite dallo stesso sistema operativo Windows Se nel progetto gia stato importato un file simbo li la dialog tentera di riposizionare il percorso ed il nome del file ai valori originari A confer ma dell operazione con il tasto Apri il nuovo file simboli verra importato e ne verranno visualizzate le nuove informazioni nella dialog Symbol Reference A questo punto il pulsante Cancel verr rinominato con OK e focalizzato Il file simboli contiene tutte le informazioni necessarie per poter eseguir
54. cellazione della flash memory Il download viene abortito Codice messaggio 20004 Descrizione Error in downloading project Si entra in questo stato quando QPaint rileva che il terminale ha avuto problemi durante il download del progetto Il download viene abortito Codice messaggio 20005 Descrizione Starting application failed Si entra in questo stato quando QPaint rileva che il terminale ha avuto problemi durante la fase di start dell applicativo del terminale Il download viene abortito Codice messaggio 20006 Descrizione Serial comunication error Si entra in questo stato quando QPaint rileva che il terminale ha avuto problemi durante la comunicazione seriale Il download viene abortito gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 83 di 136 QEM Ga pane Variabili interne del terminale Nel terminale esistono una serie di variabili interne che possono essere visualizzate dal ter minale oppure possono essere utilizzate dal sistema Qmove Di seguito viene presentata una lista Nome SCONTRAST Dimensione Word Lettura Scrittura Lettura Scrittura Attraverso questa variabile possibile regolare il contrasto dell LCD del terminale Range 0 200 Nome SDATAENTRYON Dimensione Flag Lettura Scrittura Lettura Attraverso questa variabile possibile controllare se il terminale in data entry 1 Terminale in data entry 0 Terminale non in data entry Nome SDAY Dimensione Byte Lettura Scrittura Lettura
55. ciato alla variabile sbNewPage A tale evento si definisce l azione GoToPage associata al valore della stessa variabile gbNewPage Cos facendo ad ogni variazione della variabile gbNewPage corrisponder il salto alla pagina definita dal valore della variabile stessa In altre parole per il QCL bastera scrivere il nuovo valore nella variabile ed il terminale cambier pagina auto maticamente senza dover separare i comandi di cambio pagina e numero nuova pagina In QCL si dovra implementare il seguente codice IF 10MancaOlio sbStopCiclo 1 Arresto del ciclo automatico gbNewPage 25 Terminale in pagina nr 25 ENDIF dove ioMancaOlio la variabile di tipo INPUT che rappresenta il valore dell ingresso Questa programmazione non modifica il comportamento dei tasti PGUP e PGDN In altre applicazioni invece necessario il trasferimento opposto e ci si verifica quando l applicativo per come stato progettato deve eseguire operazioni diverse a seconda della pagina che il terminale sta visualizzando Per fare questo il terminale che ad ogni cambio pagina deve aggiornare l applicativo sul nuovo valore della pagina in esecuzione Vediamo come fare questo si definisce in QCL la variabile sbTerPage di tipo GLOBAL e dimensione BYTE Si definisce nel terminale un evento globale di tipo OnChangeVar associato alla variabile di terminale SPAGE A tale evento si definisce l azione Set Var con associata la variabile SPAGE co
56. con altri modelli di display Il programma dovra poter essere facilmente modificato per lavorare con ognuno di essi Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 7 di 136 nane Descrizione del programma QEM Come si puo vedere nella fig 1 il desktop di QPaint composto dalle seguenti componenti Barra dei men Barra di gestione della pagina Barra di impostazione della password di pagina Barra delle funzioni di progetto Barra delle funzioni di disegno Barra degli strumenti di disegno Barra di stato Oo N Ou h iwWwu N Area di disegno rappresentante il display del terminale Barra dei men Tramite la barra dei men possibile accedere a gran parte delle operazioni disponibili in QPaint Segue ora una descrizione dettagliata delle funzionalita fornite dalle voci presenti nei vari men File New Project Con questa voce di men si richiede a QPaint di abbandonare il progetto eventualmente attivo per crearne uno di nuovo Se durante la creazione del nuovo progetto si riscontra che quello precedente stato modificato verra visualizzata una finestra di dialogo con il testo Save changes to nome file e i bottoni Yes No e Cancel Se si conferma l operazio ne con Yes verra automaticamente richiamata la finestra di dialogo Save Project o Save Project As La pressione di No far proseguire l operazione senza salvare niente mentre Ca
57. dex Variable A a E Comp Mode eua H Comp Y alue fi UK Cancel Sequenza di Data Entry diversa da quella di default Potrebbe essere necessario eseguire un ordine di inserimento dei dati diverso da quello di default che dall alto verso il basso e da sinistra verso destra Nella pagina di esempio all inizio del capitolo l ordine di inserimento dei dati sarebbe il seguente A1 A2 A3 B1 A4 B2 B3 C1 B4 C2 C3 C4 Se per esempio si volesse inserire prima tutti gli elementi del gruppo A poi quelli del B e poi del C bisogna utilizzare il Data Entry Sequence Editor come mostrato in figura gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 99 di 136 _ Go pane Data Entry Sequence Editor Sequences ea Value i Value3 OOo O ValueB OO 5 Valued O B Value Value Last Li Value Value3 Value Value3 Value3 Li Value Value4 Value Yalue4 Yalue4 A Valued Yalueb Valued Value Valueb A Value3 ValueB Value3 ValueB ValueB A ValueB Value ValueB Value Value LA ValueE Values Yalueb Yalues Yalues Mali Si vede per esempio che dal Value3 A3 premendo il tasto ENTER si va al Value4 A4 e non al Value5 B1 come sarebbe per default Data entry immediato alla pressione dei tasti numerici Se si vuole cominciare ad inserire un valore senza dover premere per forza il tasto INS ma cominciando subito ad inserire i valori con i tasti numerici si deve programmare la pression
58. dice elemento array timer CPU QMove ARRSYS datagroup CPU QMove indice programma datagroup CPU QMove indice programma indice passo di pro ARRGBL gramma parametri device CPU QMove TIMER input output CPU QMove STATIC variabile interne INDEX variabile terminale valore costante campi introduzione per variabili di riferimento sono presenti in molti oggetti come Value e ValString eventi ed azioni valori introducibili per tali oggetti sono regolati da apposite tabelle specificate in dettaglio nell appendice A di questo documento Per semplificare le operazioni di introduzione dei campi Base First Index e Second Index QPaint mette a dispo sizione un apposita dialog di selezione dei simboli richiamabile tramite la pressione del tasto F5 quando l introduzione attiva su uno dei tre campi di una variabile di riferimento Base First Index Second Index Variable Figura 62 campi introduzione variabile di riferiemento gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 67 di 136 nane Appendice 1 Variazioni rispetto QPaint 2 0 L unica differenza rispetto al QPaint2 0 viene individuata nella gestione della velocit tra smissione del programma e della velocit di connessione con il sistema QMove E stata aggiunta la velocit di 57600 KBaud sec che non era presente nella versione prece dente riferimento pagina 52 Fig 54 del presente manuale Appendice 2 Compatibilit con versioni precedenti La compati
59. e anche il nome della pagine anzich il numero in modo da non dover modificare l azione in caso di inserimento o rimozione di una pagina Nel caso in cui si voglia controllare l accesso al gruppo di pagine di parametrizzazione e taratura con password bisogna procedere nel seguente modo per tutte le pagine apparteneti al gruppo nr 03 04 e 05 per la parametrizzazione bisogna abilitare e introdurre lo stesso valore di password nell apposito campo Questo perch una volta introdotta la password essa rimane valida per tutte le pagine in cui la password uguale Vediamo come dovrebbe essere programmato il campo password per il nostro esempio Password Lista pagine Nome pagina Pag nr 01 Pag nr 02 1234 Pag nr 03 1234 Pag nr 04 1234 Pag nr 05 Pag nr 06 TARO1 Pag nr 07 TARO1 Pag nr 08 Pag nr 09 Ambiente di sviluppo Q Paint 2 1 v 1 0 Visualizzazione 1 4 Visualizzazione 2 4 Parametrnzzazione 1 3 Parametrzzazione 2 3 Parametrnzzazione 3 3 Visualizzazione 3 4 Taratura 1 2 Taratura 2 2 Visualizzazione 4 4 Pag 90 di 136 QEM nane Scelta della lingua Quando un progetto viene realizzato utilizzando pi lingue esistono vari modi per eseguire la scelta sul terminale Il modo pi semplice e immediato quello di entrare nelle pagine di set up del terminale e scegliere il nome della lingua utilizzata Questa procedura in genere consigliata per l ins
60. e di ognuno dei tasti numerici nel seguente modo Page Events Editor Pg 1 xl Events and Actions E Hu Add E Insert pya Delete E E Add El Insert mis Delete Ingresso Set Yarable 0EOBJ 1 gfFine DE 1 SetVarable OIRECTDE 1 gf amp larm Begin Data Entry OnFress Un Press OnFress OnFress OnFress n Fress Un Press OnFress Select Kep DEE nn HO SEE 2 o LO 00 J I 01 a LI RI OK Cancel gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 100 di 136 nane Il significato di tale programmazione alla pressione di ognuno dei tasti numerici si imposta quale sar il campo da introdurre DEOBJ 1 si imposta la modalit di inserimento diretto DIRECTDE 1 e si avvia il Data Entry Begin Data Entry Una volta usciti dal Data Entry la modalit di inserimento diretta viene disabilitata automati camente tale funzione ha lo scopo di considerare la pressione del tasto numerico 1 per esempio oltre che l inizio del Data Entry anche la prima cifra del valore che si vuole inseri re Eventi dati dall uscita dal Data entry Esistono due eventi basati sull uscita dal Data Entry L uscita dal D E pu essere con confer ma del valore introdotto o senza conferma dello stesso A tale eventi si puo associare qualsi asi azione disponibile Page Events Editor Pg 1 xl Events and Actions EC E Add E Insert pasa Delete AE EB Add
61. e dati sono disabilitati gli eventi On Press On Key e On Release sia a livello globale che di pagina Inoltre sono disabilitate anche le azioni Goto Page Next Page e Previous Page Nel caso in cui si volesse realizzare un campo introdu zione che permetta di impostare il numero della pagina in cui saltare consigliato l uso dell evento On Change Var abbinato all azione Goto Page Page Insert Page Con questa voce di men si richiede a QPaint di inserire una nuova pagina nel progetto incre mentando il numero della pagina di quelle comprese tra quella attualmente visualizzata e l ultima del progetto In un progetto vi possono essere al massimo 999 pagine per cui una volta raggiunto tale limite la voce verra disabilitata Condizioni di attivazione nel progetto vi devono essere meno di 999 pagine Page Add Page Con questa voce di menu si richiede a QPaint di aggiungere una nuova pagina alla fine del progetto In un progetto vi possono essere al massimo 999 pagine per cui una volta raggiunto tale limite la voce verra disabilitata Condizioni di attivazione nel progetto vi devono essere meno di 999 pagine Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 38 di 136 QEM panel Page Copy Page Con questa voce di men si richiede a QPaint di copiare la pagina attiva del progetto La copia manterr tutti i collegamenti con le variabili Condizioni di attivazione nessuna Page Paste Page Con questa voce di men si r
62. e i tasti PGUP e PGDN per fare in modo che l uscita avvenga solo dalla pagina di Setup Info in modo anche da verificare il tipo di errore che si verificato gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 106 di 136 nane Page Events Editor Pg 1 Events and Actions E vents F dd Ee Insert Zj Delete cHons On Press PG UP Blu amp 4dd E Insert On Press Pa Dw Introduzione alfanumerica In questo esempio vediamo come poter trattare dati alfanumerici in maniera dinamica usando una variabile QCL Array di tipo byte In particolare simuleremo un piccolo archivio di testi 45 stringhe di 20 caratteri ciascuna usando un array di 900 elementi Vedremo come poter sele zionare uno qualsiasi di questi testi modificarlo ecc Il modo in cui vogliamo gestire l array byte variabile abARRS in QCL raffigurato nel disegno seguente Array abARRS 1 20 21 40 Primo testo Secondo testo Creiamo un oggetto VALUE in cui definiamo come variabile associata proprio la abARRS e in cui usiamo come First Index una variabile QCL nel nostro esempio swWord che una variabi le SYSTEM di tipo WORD questo per poterlo modificare da QMove cos ci possiamo spostare lungo l array e selezionare quella parte che ci interessa Poi definiamo degli eventi su tasti funzione in modo da poter scorrere la lista dei testi contenuti nell array vi saranno due tasti di scorrimento rapido e due tasti che si
63. e l azione richiesta verr visualizzata la seguente finestra di dialogo Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 39 di 136 nane Import Page Ki Cerca in E project E El ci Automatico OPG Manuale QPG Nome file Automatico QFG Tipo file QEM terminal page file qpa Annulla Figura 39 pannello impostazioni Import Page Una volta selezionata la pagina da importare viene visualizzata la finestra di dialogo di fig 38 grazie alla quale prima di importare la pagina possibile assegnarle un nome e decidere se si vuole incollare o al posto di quella visualizzata o come precedente a quella visualizzata o come successiva a quella visualizzata o alla fine el progetto Condizioni di attivazione nel progetto vi devono essere meno di 999 pagine Page Export Page Con questa voce di men si richiede a Qpaint di esportare la pagina visualizzata dal progetto aperto La pagina esportata manterr tutti i collegamenti con le variabili e gli eventi di pagina Prima di fare l azione richiesta verr visualizzata la seguente finestra di dialogo Export Page s x Salva in E project E Eil c eJ Automatico OPG a Manuale QPG Nome file Automatico QPG Sala come GEM terminal page file qpg amp nnulla Figura 40 pannello impostazioni Export Page gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 40 di 136 QEM panel Page Data Entry Sequence Editor Con q
64. e la nuova pagina prendera il numero 12 Da questo si capisce che riferirsi ad una determinata pagina tramite il numero puo risultare pericoloso Se inizialmente alla pagina 12 abbiamo le visualizzazioni di produzione non detto che in futuro dopo inserimenti o rimozioni di altre pagine prima di quella interessata tale pagina sia ancora la dodicesima nella lista delle pagi ne Cio comporterebbe quindi un continuo riaggiustamento delle azioni che utilizzano il nu mero 12 per identificare la pagina Per semplificare le operazioni di identificazione di una pagina c la possibilit di associare ad essa anche un nome che la rappresenti in modo univo co per tutto il progetto Il nome di una pagina una stringa ASCII da 1 20 caratteri in cui le lettere maiuscole sono ritenute diverse dalle minuscole Una pagina ha sempre un numero ma puo non avere un nome Questo avviene quando il nome della pagina composto da soli caratteri spazio Quando si usa il nome per identificare una pagina questo rendera valida la sua identificazione per tutta la durata dello sviluppo senza dover mai riaggiornare gli oggetti che la usano L azione Goto Page permette di specificare la pagina a cui eseguire il salto sia con una variabile di riferimento che con un nome scelto dalla lista dei nomi delle pagine disponibili Nel primo caso la variabile potrebbe contenere una costante per il numero della pagina o una variabile QMove o di terminale in cui sia contenuto il num
65. e le operazioni di interfacciamento con l applicativo QMove presente nella CPU collegata al terminale Esso viene creato da QView nella fase di compilazione Ogni compilazione comporta un aggiorna mento di tale file per cui necessario effettuare un aggiornamento dei simboli ogni qual volta si sono apportate delle modifiche al file di configurazione CNF dell applicativo o alla struttu ra dell applicativo aggiunta di un task La sequenza corretta per essere sempre sincronizzati tra QView QMove e QPaint la seguente QView modificare il file di configurazione CNF dell applicativo QView compilare l applicativo QView effettuare il download dell applilcativo nella CPU del QMove QView salvare l applicativo UV A WU N gt a QPaint con Project Symbol Reference importare dalla directory dell applicativo il nuovo file simboli SYM creato da QView durante la compilazione Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 19 di 136 QEM G pane Project Check Project Con questa voce di men si richiede a QPaint di eseguire il controllo del progetto Vediamo ora cosa si intende per controllo del progetto e perch sia necessaria questa operazione QPaint stato progettato per lasciare ampia liberta nell impostazione delle proprieta dei vari oggetti presenti in un progetto come eventi azioni ed oggetti grafici Cio a beneficio di una maggiore flessibilit nella realizzazione dello stesso infatti p
66. e occupata dalla casella di riepilogo contenente le definizioni degli eventi disponibili a livello globale La selezione avviene come per una normale casella di riepilogo effettuando un doppio clic con il tasto sinistro del mouse sulla voce interessata o selezionandola con i tasti UP amp DOWN seguiti da una conferma con ENTER Una volta confermato l evento sul pannello impostazio ni compariranno i campi di impostazione dei parametri dell evento OnKey L evento Onkey viene generato ad ogni scansione di pagina fintanto che il tasto del termina le associato risulta premuto Il tempo di ripetizione dell evento dipende dalla complessit della pagina attiva Pi sono gli oggetti dinamici visualizzati pi lungo il tempo tra la generazione di un evento e l altro Per associare la generazione di un evento OnKey ad un tasto del terminale basta fare clic con il pulsante sinistro del mouse sul pulsante rappresen tante tale tasto nel pannello impostazioni L evento OnKey a livello globale non associabile ai tasti PGUP PGDN e INS per cui i corrispettivi pulsanti sul pannello impostazioni risulteranno sempre disabilitati Select Key se rel e BBB NANE fron felsfo o Figura 22 pannello impostazioni evento OnKey Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 28 di 136 QEM Ga pane Se un tasto del terminale gia stato utilizzato o non disponibile poich gia definito dal sistema il suo pulsante rap
67. e solamente valori interi compresi tra 2147483648 e 2147483647 Base First Index Second Indes Index Variable CI Comp Mode Few Comp alue fi 0 Figura 25 pannello impostazioni evento OnVar Nell esempio di fig 25 si impostato che l evento OnVar venga generato quando la variabile di terminale PAGE assume il valore 10 Definizione di una nuova azione Nella zona di destra della finestra di dialogo Global Events Editor dedicata alle operazioni sulle azioni sono presenti i bottoni Add Insert Delete ed una casella di riepilogo contenente la lista delle azioni gia definite Ogni evento rappresentato nella casella di riepi logo a sinistra collegato ad una lista di azioni che verranno eseguite quanto l evento stesso viene generato Non vi puo essere una lista di azioni senza che vi sia un evento collegato Per questo motivo quando non vi sono eventi definiti non sar possibile definire alcuna azione e i bottoni Add Insert e Delete appariranno disabilitati importante anche ricordare che la lista di azioni visualizzata quella relativa all evento selezionato nella casella di riepilogo degli eventi e come tale cambia il suo contenuto ogni volta che si cambia l evento seleziona to Per definire una nuova azione vi sono due metodi 1 utilizzare il pulsante Add per aggiungere una nuova azione in coda alla lista delle azioni 2 selezionare nella casella di rie
68. e sono variabili definite dall utente a livello di progetto terminale Vengono ricreate nel terminale durante la fase di download e risultano disponibili nello stesso per tutta la vita del progetto Infine le variabili di terminale sono variabili messe a disposi zione dal costruttore e rendono disponibili all utente informazioni specifiche del terminale come stato dei tasti e timers di esecuzione Ulteriori informazioni sui gruppi di variabili e sulla loro collocazione nei vari dispositivi hardware e software sono disponibili nell apposita sezione Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 25 di 136 G pane In un progetto possono essere create tante variabili interne quanta la memoria disponibile nel terminale Sono definibili solo i tipi di dati semplici flag byte word long e single Vengono automaticamente azzerate ad ogni avvio del progetto Non vi possono essere due variabili con lo stesso nome Ogni nome variabile composto dal prefisso seguito da una stringa di 1 11 caratteri ASCII in cui viene rilevata la differenza tra caratteri minuscoli e maiuscoli Editing Internal Yariables OK Editing Internal Yarables Internal ariables 0k Blu Add g gt Delete Internal anablez Figura 17 finestra di dialog Internal Variables Figura 18 finestra di dialog Internal Variables Nella fig 17 possibile vedere lo stato della finestra di dialogo Internal Variables quando nessuna variabile in
69. ed Blink stata impostata affinch attivi in modalit di blink lampeggio il led associato al tasto funzione F4 Backup Tramite l azione Backup si richiede alla CPU del QMove di avviare la procedura di backup dei dati Durante l esecuzione dell azione la CPU passa in stato READY e vi rimane anche al completamento dell operazione Restore Tramite l azione Restore si richiede alla CPU del QMove di avviare la procedura di restore dei dati Durante l esecuzione dell azione la CPU passa in stato READY e vi rimane anche al completamento dell operazione Object Blink Tramite l azione Object Blink si richiede al terminale di far lampeggiare l oggetto dinamico VALUE indicato vedi fig 35 Questa azione possibile eseguirla solamente come evento di pagina e non come evento globale Object Name Figura 35 pannello impostazioni azione Object Blink Object No Blink Tramite l azione Object No Blink si richiede al terminale di non far lampeggiare l oggetto dinamico VALUE indicato vedi fig 36 Questa azione possibile eseguirla solamente come evento di pagina e non come evento globale Object Mame Figura 36 pannello impostazioni azione Object No Blink Object Reverse Tramite l azione Object Reverse si richiede al terminale di visualizzare l oggetto dinamico VALUE indicato vedi fig 37 con le cifre bianche su sfondo nero Questa azione possibile eseguirla solamente come evento di pagina e non co
70. ell indice con la sequenza 1 2 3 4 5 Nel nostro caso l elemento 5 non visualizzato e questo fa si che una volta che il fluido arrivato alla destra del tubo non riparta subito da sinistra ma attenda un altro secondo Questo rende migliore l animazione Dato che il fluido di questo tratto di tubo deve andare da sinistra verso destra l indice dell array deve essere incrementato Invece per la tubazione che confluisce nel serbatoio il fluido deve viaggiare da destra verso sinistra e quindi l indice degli array deve decrescere ecco che per abTuboV la sequenza di aggiornamento sara 5 4 3 2 1 Anche in questo caso l elemento 5 non compreso nella visualizzazione La stessa cosa accade per il tubo verticale qui occorre avere un ciclo di lunghezza 8 dato che il tubo composto da 7 oggetti ValString Si noti che non si imposta il codice del carattere ma il valore che la variabile deve assumere 0 tubo vuoto 1 tubo pieno L uso dell array da la possibilit di gestire correttamente l animazione Infine per visualizzare la valvola nel tratto di tubo collegato alla pompa 2 e non utilizzato si impo sta il codice 36 che corrisponde appunto al carattere valvola nel primo elemento dell array visualizzato come il pi a sinistra Analogamente per il funzionamento della pompa2 ANIMAZIONE POMPA 2 IF gfStart02 AND abDev l1 EQ 38 se la pompa2 ON e possiede il deviatore gfPumpOl10N 0 gfPump020N
71. ella lettera U Questo significa che anche da QCL potremmo modificare quanto appare nel terminale Se ad esempio scriviamo il valore 49 nell elemento abARRS 886 il testo che appare nel terminale ULTIM1 ELE in cui il carattere O stata sostituita dal carattere 1 Questo dimostrata la grande flessibilita e interoperabilit tra terminale e QMove Gestione eventi temporali Vediamo con questo esempio come generare degli eventi a scadenze prefissate facendo uso dell evento OnTime Questo utile per avvisare l operatore sulla necessita di effettuare de terminati interventi ad esempio di manutenzione o di controllo che devono essere eseguiti a scadenze o a date fisse Supponiamo per semplificare le cose di avere una sola pagina del terminale che descrive il funzionamento in corso e di avere invece 3 pagine di avviso su operazioni da compiere queste pagine saranno attivate in determinati momenti Una pagina 1 indica di provvedere ad operazioni di ingrassaggio motore una 2 indica di eseguire operazioni di manutenzione e pulizia filtri la 3 ricorda di effettuare un backup dei dati di lavoro della macchina Vogliamo che queste pagine vengano attivate rispettivamente per la pagina 1 ogni mese al giorno 15 alle ore 12 per la pagina 2 ogni mese 1 4 7 e 10 operazioni trimestrali per la pagina 3 ogni giorno alle ore 17 30 Tutte le operazioni che coinvolgono l evento OnTime fanno riferimento al t
72. ente a partire da un font True Type di Windows necessario leggere attentamente le istruzioni per i diritti di autore inerenti l utilizzo il trasporto e la modifica dei font True Type installati nel compu ter piena responsabilit dell utente far si che quanto ivi descritto venga rispettato La pressione del pulsante Continue gt gt permettera la creazione del nuovo font mentre Cancel abortira l intera procedura Hew Font From True Type Font Windows Font Hame Iamm ea Terminal Font Name Cancel Char width E o Epor BMP Char Spacing Export BMP Figura 48 finestra di dialogo New Font From True Type Font Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 47 di 136 QEM G pane Come si puo vedere nella fig 48 la dialog composta dai seguenti oggetti la casella di riepilogo Windows Font Name con la quale possibile selezionare il font True Type dal quale derivare il nuovo font utente la casella Terminal Font Name nella quale si definisce il nome del font utente in creazione es Display 7 segmenti la casella Char Width nella quale si definisce la larghezza in pixel dei caratteri nel font in creazione e la casella Char Spacing nella quale si imposta il valore di spacing carattere desiderato Tramite il pulsante OK si avvia l operazione di creazione del font mentre Cancel abortisce l intera procedu ra presente inoltre il pulsante Export BM
73. ente a quella attualmente visualizzata A cambio pagina avvenuto nessun oggetto comparira selezionato nell area di disegno Condizioni di attivazione numero della pagina attuale maggiore di 1 View Next Page Con questa voce di men si richiede a QPaint di visualizzare la pagina successiva a quella attualmente visualizzata A cambio pagina avvenuto nessun oggetto comparira selezionato nell area di disegno Condizioni di attivazione numero della pagina attuale inferiore al numero totale pagine Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 16 di 136 QEM nane View Background Mode Con questa voce di men si richiede a QPaint di cambiare il colore di sfondo utilizzato nel l area di disegno Il terminale utilizza il bianco come colore di sfondo ed il nero per i testi rettangoli ed altro Per migliorare le operazioni di composizione delle pagine QPaint permet te di scegliere il colore di sfondo utilizzabile tra bianco e verde Quando il colore di sfondo selezionato il bianco la pagina visualizzata da QPaint rispecchiera fedelmente cio che apparira sul terminale Quando il colore di sfondo verde si potranno individuare pi facilmente gli oggetti depositati sulla pagina Il colore di sfondo utilizzato nell area di disegno non influenzera in alcun modo quanto inviato al terminale Il colore di default all avvio di QPaint il verde Questa informazione non viene memorizzata nel file del progetto e nelle impostazioni del p
74. enti eventi di pagina Page Events Editor Pg 1 Events and Actions Eugene E Add E Insert EF Delete CIRCA El Add He Insert g Delete Onar PLOWBATTOMOWYE 1 Goto Page LO batt OMOWE OnWar LOWBA amp TTTERM 1 Page Events Editor Pg 1 x Events and ctions Everls E Add EB Insert Zg Delete FONNI E Add Ea Insert ZE Delete On War LOWGATTOMONE 1 Goto Fage LO batt TER Onar amp LOW amp GATTTERM gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 102 di 136 pane La pagina LOW batt QMOVE deve essere Attenzione Batteria WAUUE esaurita Lont at t are assistenza continua a funzionare La pagina LOW batt Ter deve essere Attenzione batteria lerminale esaurita Lontattare a55 1s Lenza premendo 1l punlante continua a funzionare gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 103 di 136 QEM panel Controllo comunicazione attiva Nel terminale esiste la possibilit di segnalare una anomalia durante la comunicazione tra il terminale e il sistema Qmove Tale anomalia pu essere di origine hardware mancanza di collegamento disturbi alla linea oppure determinata da situazioni relative al funzionamento dell applicazione letture non corrette di variabili Qmove ed segnalata dal lampeggio del led status posto nella parte superiore del pannello terminale Quando si verifica un errore di questo tipo opportuno verifica
75. er esempio Available Chars e vi siano una o pi azioni Goto Page che la indirizzavano tramite il campo Page Name accadra che nella casella di riepilogo della zona di destra dedicata alle operazioni sulle azioni comparir la linea Goto Page Available Chars Sebbene Available Chars non esista pi per agevo lare le operazioni di correzione dell azione nella casella di riepilogo verr mantenuto il nome della pagina in cui veniva richiesto il salto Diversamente la casella combinata del pannello impostazioni apparira vuota e scomparira ogni riferimento alla pagina Available Chars Next Page Tramite l azione Next Page si richiede al terminale l attivazione della pagina successiva a quella attualmente attiva Nel caso in cui la pagina attiva sia l ultima della lista pagine di progetto l azione non effettuera alcun cambio di pagina Previous Page Tramite l azione Previous Page si richiede al terminale l attivazione della pagina precedente a quella attualmente attiva Nel caso in cui la pagina attiva sia la prima della lista pagine di progetto l azione non effettuera alcun cambio di pagina Begin Data Entry Tramite l azione Begin Data Entry si richiede al terminale di passare in modalita introduzione dati Tale modalita si abiliter solamente se sono presenti nella pagina attiva oggetti grafici di tipo Value o ValString con la proprieta Enable Modify Mode abilitata Send Command Tramite l azione Se
76. erminale Nome SSCALEA Dimensione Long Lettura Scrittura Lettura Scrittura Attraverso questa variabile possibile visualizzare o assegnare il fattore di scala A del terminale Vedi paragrafo dedicato Nome SSCALEB Dimensione Long Lettura Scrittura Lettura Scrittura Attraverso questa variabile possibile visualizzare o assegnare il fattore di scala B del terminale Vedi paragrafo dedicato Nome SSCALEC Dimensione Long Lettura Scrittura Lettura Scrittura Attraverso questa variabile possibile visualizzare o assegnare il fattore di scala C del terminale Vedi paragrafo dedicato Nome SSEC Dimensione Byte Lettura Scrittura Lettura Attraverso questa variabile possibile visualizzare il valore dei secondi del datario del terminale Nome SSINGLEDE Dimensione Flag Lettura Scrittura Lettura Scrittura Attraverso questa variabile possibile decidere se alla conferma con ENTER o alla pres sione dei tasti a freccia il data entry debba continuare all oggetto succesivo oppure debba terminare All accensione per default viene impostata a zero 1 Alla conferma il data entry termina 0 Alla conferma il data entri prosegue Nome SSTATUSLED Dimensione Flag Lettura Scrittura Lettura Attraverso questa variabile possibile visualizzare lo stato del led status del terminale 1 Led status lampeggiante 0 Led status spento Nome SYEAR Dimensione Word Lettura Scrittura Lettura Scrittura At
77. erminale utilizzando il ponte fornito dal QMove Ulteriori informazioni inerenti i collegamenti e le configurazioni hardware sono di sponibili nel manuale tecnico del terminale e del QMove Tramite la finestra di dialogo Serial Port Settings possibile effettuare tutte le impostazioni necessarie ad ottenere il collega mento seriale con il terminale Serial Port Settings Port Number fe COMI C COM2 C COM3 C COM 4 Timeout Fort Speed fe 19200 EC 239400 C 57600 D Cancel Figura 54 finestra di dialogo Serial Port Settings Come si puo vedere nella fig 54 la finestra di dialogo presenta due pagine di impostazione Communication e Timeout Con la prima si definiscono la porta di comunicazione seriale e la velocita di trasferimento dei dati Con seconda si definiscono i tempi di timeout per le varie fasi del download Serial Port Settings Times miliseconds CPU Answer 400 Char 100 Com DE 10 Flush 0 Download S00 Pack Uk 500 TN C Times milliseconds CPU Answer Char Com DE Flush Download Pack UE 1600 1600 1600 1000 1500 1500 H 7 DE Cancel i Figura 55 finestra di dialogo Serial Port Settings Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 52 di 136 QEM G pane Come si puo vedere in fig 55 nella pagina Timeout sono presenti due gruppi di tempi timeout Il gruppo Times1 da utilizzarsi quando s
78. ero della pagina desi derata Questo rende possibile decidere la pagina a cui saltare direttamente da linguaggio QCL sulla CPU del QMove collegato al terminale Nel secondo caso sara utilizzato il nome stesso della pagina desiderata scelto dalla lista dei nomi pagina rilevati nel progetto Base First Index i Second Index Fage Number sbPage C Fage Mame Figura 27 pannello impostazioni azione Goto Page Come si puo vedere nella fig 27 selezionando il pulsante di opzione Page Number si abilita l azione Goto Page ed eseguire il salto sulla pagina specificata da una variabile di riferimento In questo caso si tratta di una variabile QCL di nome sbPage presente nella CPU del QMove collegato al terminale Nel documento presente il capitolo Impostazione variabili di riferimento nel quale sono descritte in dettaglio tutte le operazioni necessarie per definire una variabile di riferimento Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 33 di 136 QEM Base First Index i Second Index Fage Number Page Name Available Chars Figura 28 pannello impostazioni azione Goto Page Come si pu vedere nella fig 28 selezionando il pulsante di opzione Page Name si abilita l azione Goto Page ad eseguire il salto alla pagina specificata dal nome presente nella casella combinata contenente la lista dei nomi delle pagine del progetto Nel caso in cui una pagina con nome venga rimossa p
79. ert E Delete Achione BL Add E Insert Er Delete dd E Insert 6 gt Delete Me RESA E Page Events Editor Pg 1 Events and Actions E E Add E Insert pya Delete Seno El Add El Insert ZE Delete On Fress F1 gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 135 di 136 QEM Gi pane Una volta scaricata l applicazione su terminale impostiamo dei valori nelle 3 variabili pre mendo INS per entrare in Data Entry il valore relativo a swWord lampeggia e ci indica che possibile modificarlo Con il tasto ENTER si conferma l introduzione e si passa al campo suc cessivo e cos fino all ultimo Da qui con ENTER si ripassa al primo campo e cosi via in maniera ciclica E possibile spostarsi tra i vari campi di inserimento anche con i tasti cursore in questo caso per i dati inseriti vengono persi Una volta completata l impostazione delle variabili possiamo salvarli effettuando un Backup con il tasto F1 Quindi li modifichiamo nuovamente impostando dei nuovi valori a questo punto premendo il tasto F2 viene esegui to il Restore e i dati ritorneranno quelli impostati in precedenza Sia per l operazione di backup sia per quella di restore la mancata esecuzione del comando viene segnalata dal terminale con il lampeggio del led status e con l informazione ripetitivamente Backup error e Restore error nella Info Page alla voce Comunic status Il comando di restore trova la sua giusta ut
80. essere definito a livello globale ma pu essere definito per ogni pagina A questo scopo QPaint fara si che il nome dell evento se gia in uso scompaia dalla finestra di selezione Select Event On Out Data Enrty Confirn L evento On Out Data Entry Confirm viene generato quando si vuole uscire da un campo di introduzione dati confermando il dato che si introdotto L evento non ha campi di impostazione e non puo essere definito a livello globale ma pu essere definito per ogni pagina A questo scopo QPaint fara si che il nome dell evento se gia in uso scompaia dalla finestra di selezione Select Event Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 32 di 136 QEM panel Goto Page Tramite l azione Goto Page si richiede al terminale l attivazione della pagina specificata In QPaint vi sono due modi per identificare univocamente una pagina tramite il suo numero ordinale e tramite il nome Tutte le pagine hanno un numero che le identifica all interno del progetto Questo significa che se nel progetto vi sono 54 pagine avremo che la prima pagina della lista avra il numero 1 la seconda il 2 e cosi via fino all ultima che avra il 54 Quando si aggiunge una pagina questa verra creata in fondo alla lista ed acquisira il numero successivo all ultima pagina presente Quando si inserisce una pagina per esempio in dodicesima posi zione tutte le pagine dalla 12 all ultima incrementeranno il loro numero di una unit
81. estra di dialogo Image Manager di un progetto con tre immagini Come si puo vedere nella fig 53 i nomi delle tre immagini Picture1 Picture2 e Picture3 sono stati modificati in Valvola flusso Motore DC e Trasformatore In questo modo diventera pi semplice identificarli quando usati nell oggetto Image Quando si esce da Image Manager tramite il pulsante OK viene verificato se le modifiche apportate comporteranno il riallineamento di alcuni oggetti Image presenti nel progetto In questo caso comparir un box di messaggio con la scritta The acceptance of the changes will involve the realignment of some objects image of the project Are you sure of to want to continue e i bottoni Yes e No Se si conferma l operazione con Yes gli oggetti Image verranno riallineati e tutte le impostazioni fatte con Image Manager confermate mentre No terminera la procedura di uscita dalla dialog Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 51 di 136 L utilizzo della COM3 o della COMA richiede che per essa non vengano utilizzati gli stessi IRQ impegnati da altri dispositivi hardware come mouse COM1 COM2 etc QEM yam Options Communication Con questa voce di men si richiede a QPaint di visualizzare la finestra di impostazione dei parametri di comunicazione seriale Il QPaint utilizza la comunicazione seriale durante la procedura di download per trasferire il progetto al t
82. etto nella pagina attiva un operazione molto semplice Per prima cosa bisogna selezionare sulla barra degli strumenti di disegno facendo click con il tasto sinistro del mouse il tipo di oggetto che si intende aggiungere Poi basta fare di nuovo click con il mouse sull area di disegno nella zona dove si intende depositare il nuovo oggetto A questo punto alcuni oggetti visualizzano automaticamente la pagina delle loro propriet mentre altri come i rettangoli non richiedono alcun dato aggiuntivo Appena aggiunto il nuovo oggetto sulla pagina il pul sante precedentemente attivo sulla barra degli strumenti di disegno ritorna in posizione di disattivazione e viene selezionato il Pointer Object Questo non propriamente un oggetto di disegno bensi un strumento di manipolazione degli oggetti gia presenti sulla pagina Con esso infatti possibile spostare ridimensionare selezionare e deselezionare etc un oggetto sull area di disegno Per depositare pi di un oggetto dello stesso tipo sulla pagina senza dover riselezionare ogni volta il corrispondente pulsante sufficiente mantenere premuto il tasto SHIFT sinistro della tastiera In questo modo al termine dell operazione di inserimento oggetto nella pagina non verra attivato il Pointer Object ma rimmar attivo il pulsante pre cedentemente selezionato In una pagina vi sono due tipi di oggetti depositabili gli oggetti statici e gli oggetti dinamici Per oggetti statici si intendono tut
83. evitare che un inserimento di dati errati possa portare ad alterazioni delle caratteristiche di funzionamento o influire sulla sicurezza stessa della macchina Per la protezione dei dati critici il terminale rende possibile attivare una password che impedisca l accesso a determinate pagine del progetto da parte di utenti non autorizzati Tale password composta da una stringa di lunghezza massima 8 caratteri compresi nel set alfanumerico 0 9 e A Z Ogni pagina del progetto ha la possibilit di richiedere una propria password Quando l utente richiama una pagina protetta il terminale visualizza al suo posto una speciale pagina di richiesta della password Se l utente introduce la password corretta il terminale visualizza la pagina protetta altrimenti resta nella pagina speciale di richiesta password Per uscire dall introduzione sufficiente premere il tasto ESC il che comporta il ritorno alla pagina precedente Quando vi sono pi pagine collegate con la stessa password di protezione l utente deve inserire la password solo per il primo accesso poi pu muoversi tra le varie pagine protette senza altre introduzioni di password Tramite la barra di impostazione della password di pagina possibile 1 Abilitare disabilitare la password di pagina 2 Impostare la password della pagina CEPT Figura 59 barra di impostazione della password di pagina Come si pu vedere in fig 59 nella barra di impostazione della password di pag
84. ezionare un Image Object e posizionare l oggetto stesso facendo click nel punto desiderato della pagina Appare quindi questa finestra Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 117 di 136 QEM yam Image Object Property Editor Generalz Image Name Ficture2 Picture Picture4 FPrevioni HOT DEF IMAGE Coordinates and Sizes Left fi d tp MM width ad Height 16 OK Cancel in cui possibile selezionare dalla lista di immagini costruita con Image Manager quella che ci interessa E possibile anche impostare la posizione indicando il valore di Left e Top che corrispondono alle coordinate dell angolo superiore a sinistra dell immagine Quindi abbiamo completato la nostra pagina aggiungendo un box per lo sfondo e un paio di oggetti String per testi Per ottenere la sincronizzazione del funzionamento di terminale e Qmove dobbiamo avere alcune variabili che contengano lo stato in cui si trovano i due dispositivi Vediamo come va scritto l applicativo QCL che ci permette questo Usiamo variabili GLOBAL in modo che ad ogni restart dell applicativo o recensione di Qmove vengano inizializzate a zero Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 118 di 136 QEM gfTerminale F Verifica la presenza del terminale gfRun F Indica che il terminale non nella pagina di presentazione gfQMove F Utilizzata per l uscita dalla pagina
85. finita la pagina a cui saltare Nell azione Goto Page stato impostato il nome di una pagina inesistente Nell azione Send Command non stato definito il comando da eseguire Nell azione Send Command stato definito un comando non riconosciuto Nell azione Led On non stato definito il led interessato all operazione Nell azione Led Off non stato definito il led interessato all operazione Nell azione Led Blink non stato definito il led interessato all operazione Nella variabile di riferimento il campo Base non stato definito Nella variabile di riferimento il campo Base contiene un simbolo sconosciuto Nella variabile di riferimento il campo Base contiene un simbolo di un gruppo dati non valido Nella variabile di riferimento il campo Base contiene un simbolo di un tipo dati non valido Nella variabile di riferimento il campo Base contiene un simbolo con accesso a sola lettura Nella variabile di riferimento il campo First Index non stato definito Nella variabile di riferimento il campo First Index contiene un simbolo sconosciuto Nella variabile di riferimento il campo First Index contiene un simbolo di un gruppo dati non valido Nella variabile di riferimento il campo First Index contiene un simbolo di un tipo dati non valido Nella variabile di riferimento il campo First Index impostato anche se non richie sto Nella variabile di riferimento il campo Second Index non stato definito Nella v
86. he non riconosciuto un simbolo nel secon do indice della variabile Codice messaggio 12024 Descrizione Invalid symbol group for Second Index Si entra in questo stato quando QPaint rileva che non valido il gruppo di appartenenza di un simbolo nel secondo indice della variabile Codice messaggio 12025 Descrizione Invalid symbol type for Second Index Si entra in questo stato quando QPaint rileva che non valido il tipo di simbolo nel secondo indice della variabile Codice messaggio 12026 Descrizione Not required symbol for Second Index Si entra in questo stato quando QPaint rileva che non richiesto un simbolo nel secondo indice della variabile Codice messaggio 12027 Descrizione Undefined object in On Out Data Entry Confirm event Si entra in questo stato quando QPaint rileva che non stato definito nessun oggetto nell evento On Out Data Entry Confirm Codice messaggio 12028 Descrizione Invalid object in On Out Data Entry Confirm event Si entra in questo stato quando QPaint rileva che stato definito un oggetto non valido nell evento On Out Data Entry Confirm Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 81 di 136 QEM yam Codice messaggio 12029 Descrizione Undefined object in On Out Data Entry No Confirm event Si entra in questo stato quando QPaint rileva che non stato definito nessun oggetto nell evento On Out Data Entry No Confirm Codice messaggio 12030
87. i effettua un collegamento diretto tra PC QMove e terminale Il gruppo Times2 da utilizzarsi quando si effettua un collegamento remotato tra PC modem con QModem QMove e terminale Nel secondo caso sono necessari tempi di timeout maggiori dovuti ai ritardi di trasferimento introdotti dalla comunicazione con modem La possibilita di modificare i tempi di timeout permette all utente di adattare il trasferimento dei dati alle proprie condizioni di utilizzo Segue ora una breve descrizione dei parametri di timeout CPU Answer timeout sulla risposta del terminale Char timeout fra carattere e carattere Com Ok timeout sulla verifica di connessione seriale Flush timeout su invio richiesta al terminale Download timeout su conclusione procedura download al terminale Pack Ok timeout ricezione pacchetto informazioni Help Technical Info Con questa voce di menu si richiede a QPaint di visualizzare la finestra delle informazioni tecniche In essa sono elencati tutti gli oggetti OLE librerie dinamiche e drivers utilizzati dal QPaint per il proprio funzionamento Puo essere utilizzata su richiesta della QEM srl nel l eventualit di un supporto tecnico al prodotto Technical Info _ Dx Executable Programs QPAINTZO EXE Z 0 0 47 C N0EM QPAINTZ0 Print ActiveX Controls TENMPERJIJOZ 0OCK 2 0 0 1 C WINDOWS SYSTEMY QMVPRIOL OCK l 4 0 93 C WINDOWS SYSTEM SEPBINOL 0OCK 7 7 7 7 data not found Dynamic Packages VCL35 EBPL 3 0 3 7
88. i informazioni sugli oggetti e le loro caratteri stiche di disegno sono disponibili nella sezione dedicata Condizioni di attivazione un oggetto selezionato nell area di disegno di livello superiore a 1 n ed almeno due oggetti nella pagina Edit Bring Down Object Con questa voce di men si richiede a QPaint di portare ad un livello inferiore di vista l ogget to selezionato nell area di disegno Ulteriori informazioni sugli oggetti e le loro caratteristi che di disegno sono disponibili nella sezione dedicata Condizioni di attivazione un oggetto selezionato nell area di disegno di livello inferiore a n n ed almeno due oggetti nella pagina Edit Find Symbol Con questa voce di men si richiede a QPaint di ricercare un simbolo all interno della pagina o del progetto intero Per facilitare la ricerca si pu selezionare la ricerca di una parola intera oppure controllando le lettere maiuscole minuscole Sul display comparira la seguente finestra di dialogo Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 14 di 136 SA GN QEM Find Symbol Symbol to Find BIA Options TO Match Case TO Find Whole Words Only Cancel di Scope i Current Page Entire Project Figura 8 finestra di ricerca simbolo Nel caso in cui la ricerca trovi in uno o pi punti del programma il simbolo si apre la finestra sottoriportata Report lindo Symbol Object on Page 1 Symbol found in Base Variable in alue
89. ichiede a QPaint di incollare la pagina copiata precedentemente Prima di fare l azione richiesta verr visualizzata la seguente finestra di dialogo Pasted or Imported Page Requirements Fage Name OK The Page Will Be Inserted Oywer Curent Page C After Curent Page fe Before Curent Page C End of Froject Cancel di Figura 38 pannello impostazioni Paste Page Prima di incollare la pagina possibile assegnarle un nome e decidere se si vuole incollare o al posto di quella visualizzata o come precedente a quella visualizzata o come successiva a quella visualizzata o alla fine del progetto In ogni caso manterr tutti i collegamenti con le variabili Condizioni di attivazione aver fatto almeno un comando di Copy Page Page Delete Page Con questa voce di men si richiede a QPaint di rimuovere la pagina attiva dal progetto Prima di effettuare la rimozione verra visualizzata una finestra di dialogo con il testo Page will be lost Are you sure of to want to continue Se si conferma l operazione con Yes la pagina verra rimossa mentre No abortira l intera operazione Condizioni di attivazione nel progetto vi devono essere almeno 2 pagine Page Import Page Con questa voce di men si richiede a Qpaint di importare una pagina esportata da un altro progetto La pagina importata manterr tutti i collegamenti con le variabili della pagina esportata e gli eventi di pagina Prima di far
90. ify Mode abilitata in modo da poterli modificare da terminale esaminiamo in particolare solo la variabile asARRS 2 perch si tratta di un array di tipo Single in cui vediamo come visualizzare variabili con decimali gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 134 di 136 nane Yalue Object Property Editor x General Coordinates and Fonts Base First Index Second Index Dec Foint E KE IN fi vate ss Ge Mas arable fi fu I bin variable Doo o Doo E Enable Lead Zero Blank Mode I Enable Sign Mode fe None Global Local TT Enable Alpha Mode Enable Modily Mode mei r Xe Lenath fi 2 Wlas 40 Chars Scaling Mode OK Cancel Come si vede stato impostato il valore relativo al decimal point che rappresenta il numero di cifre decimali che vogliamo visualizzare per la variabile E stato abilitato il segno e come gia anticipato la possibilit di poter modificare il valore Ora dobbiamo associare opportuna mente le azioni di Backup e Restore a due tasti funzione La cosa veramente semplice nella finestra relativa agli eventi locali creiamo degli eventi OnPress sui tasti F1 e F2 ed associamo rispettivamente le azioni di Backup e Restore Il passag gio alla fase di Data Entry con il tasto INS invece di default e quindi non serve alcun evento collegato a tale tasto Page Events Editor Pg 1 Events and Actions clan Bueno Bu Add Ee Insert E gt Delete Add E Ins
91. il normale funzionamento il terminale viene spento e riacceso Alla riaccensione del terminale la variabile gfRun viene posta a zero interrompendo ogni operazione nell applicati vo o segnalando all applicativo che il terminale stato riattivato Dopo 5 sec il terminale si porta nella pagina di funzionamento Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 122 di 136 QEM Go pane Animazione Con questo esempio vediamo come realizzare una semplice animazione sfruttando gli ogget ti VALSTRING e VALUE con Array a Byte e nuovi font creati appositamente ottenuti a partire da copie dei file bitmap contenenti i font di sistema esistenti Inoltre sfrutteremo alcune immagini bitmap create ad hoc L esempio richiede alcuni passi che descriveremo in detta glio uno per uno Ci che si vuole ottenere un semplice sinottico che visualizza il funziona mento di 2 pompe che alternativamente sono collegate ad un serbatoio di raccolta L ani mazione consiste nel visualizzare le pompe in funzione il flusso di liquido attraverso le tuba zioni l impianto in riposo con le tubazioni chiuse da valvole Ecco subito come risulta l effet to finale e poi vediamo come realizzarlo Impianto in condizioni di STOP start Pumpii Impianto con pompa 1 in funzione In evidenza le parti che si vedranno in movimento nel pannello termina le Impianto con pompa 2 in funzione In evidenza le parti che si vedranno in moviment
92. ilit in caso di sprogrammazione dati nel sistema QMove In questa situazione infatti il comando restore permette di ripristinare il normale funzionamento del sistema se ovviamente era stato fatto preventivamente il backup Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 136 di 136
93. imboli grafici Come fare per ottenere ci Occorre definire un proprio font personalizzato dove al posto dei soliti caratteri alfanumerici di tastiera possiamo sostituire dei disegni come appunto in questo caso La posizione in cui saranno introdotti nel font determinera quale carattere della tastiera premere affinch siano visualizzati Vediamo intanto la finestra delle proprieta dell oggetto ValString per la pompa 1 assoluta mente identico per la pompa 2 a parte la variabile collegata con il carattere per il valore 0 e per il valore 1 Durante l esecuzione gli og getti ValString vengono continuamente rinfrescati e quindi al ternando il valore tra 0 e 1 della variabile sfPump010N si visualizzano alternativamente i due testi relativi ai due valori Questo continuo refresh rende l animazione Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 124 di 136 QEM an YalString Object Property Editor X Messages Variables Coordinates and Fonts First Message o Length fi Mas 10 Chars Mas Messages Active Language Nameless E Unlock Message E Language Text Locked Length ON UK Cancel Come detto sopra per far si che al posto di un carattere appaia un simbolo grafico occorre usare un font personalizzato derivato da un file bitmap e nel quale si modificano alcuni caratteri Per la pompa 1 sono stati sovrascritti i caratteri e mentre per la pompa 2 i caratteri e
94. imer del terminale che possibile impostare nella pagina Info ed possibile leggere usando le variabili terminale SYEAR SMONTH SDAY SHOUR SMIN SSEC Vediamo come poter fare tutto questo La pagina di lavoro cosi strutturata Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 112 di 136 QUM yanl Macchina in funzione Per visualizzare la data e l ora abbiamo usato 5 oggetti di tipo VALUE in cui come Base si sono definite rispettivamente le variabili terminale DAY SMONTH per la data e SHOUR SMIN SSEC per l ora La pagina delle propriet di una di queste appare cos Yalue Object Property Editor x General Coordinates and Fonts Base First Index Second Index Dec Font Doo Po Doo vate fmon N o Mas Variable Po Po Doo Min Variable Doo o Doo 4 Enable Lead Zero Blank Mode fo Enanie sian Mode None Global Local TT Enable Alpha Mode TT Enable blodity Mlode Tel xa Lenath ax 40 Chars Scaling Mode OK Cancel E stata abilitata la modalit Enable Lead Zero Blank in modo da far precedere i numeri con una cifra dallo zero In questo modo la data viene rappresentata ad es 15 07 al posto di 15 7 come sarebbe invece se tale modo non fosse stato abilitato Analogamente si procede per le altre variabili Questa indicazione ci serve per poi testare il funzionamento del terminale e verificare se quanto abbiamo programmato viene effettivamente eseguito Il pa
95. imetro e che si voglia visualizzare un punto decimale per facilitare la lettura del valore Consideriamo anche che per la rappresentazione in unita anglosassone bisogna rappresentare il valore in pollici senza per perdere precisione Cos necessario modificare la posizione del punto decimale ad esempio 100 4mm permette una precisione del decimo dimm ma 4 6inch significa una precisione di 2 54mm Procediamo per passi tutte le introduzioni numeriche dove vogliamo ottenere due rappre sentazioni fanno capo ad oggetti VALUE in cui bisogna abilitare la voce Global nel campo Scaling Mode In questo modo il dato prima di essere visualizzato sar convertito per il fattore di scala composto dai valori ScaleA ScaleB e ScaleC presenti nella finestra richiamata dal men Project Setup Questi valori sono modificabili durante l esecuzione dell applica zione tramite la scrittura nelle variabili di terminale SSCALEA SCALEB e SSCALEC Inoltre definiamo la variabile interna PPDec di dimensione BYTE Tutti gli oggetti VALUE sopra indicati devono avere associata la variabile PPDec nel campo Dec Point Supponiamo che la parametrizzazione sia stata eseguita perch l applicativo lavori con la precisione del decimo di millimetro e quindi per questa unit di misura si visualizzano i valori con un punto decima le Per ottenere la visualizzazione metrica bisogna impostare nel terminale i seguenti valori SSCALEA 1 SSCALEB 1 SSCALEC
96. imo ingresso in una nuova pagina L evento non ha campi di impostazione e ne puo essere definito solo uno a livello globale ed uno per ogni pagina A questo scopo QPaint fara si che il nome dell evento se gi in uso scompaia dalla finestra di selezione Select Event OnTime L evento OnTime viene generato quando il calendario del terminale coincide con i valori di comparazione impostati L evento viene generato solamente una volta Perch venga genera to l evento il terminale dovra prima trovare dei valori non corrispondenti seguiti da dei valori corrispondenti Ci significa inoltre che se il terminale viene spento quando l evento OnTime soddisfatto alla successiva riaccensione esso non verr rigenerato Se al momento in cui l evento diventa valido il terminale si trova spento esso verra perso Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 29 di 136 Nel documento presente il capitolo Impostazione variabili di riferimento nel quale sono descritte in dettaglio tutte le operazioni necessarie per definire una variabile di riferimento QEM yam Time Properties TO Month M Day E SetTime T Hour M Minute fio Figura 23 pannello impostazioni evento OnTime Nell esempio di fig 23 si impostato l evento OnTime per venir generato al decimo minuto di ogni ora del giorno 3 di ogni mese Come si pu vedere possibile definire il mese giorno ora e minuto di occorrenza dell evento U
97. ina sono presenti un pulsante ed un campo di introduzione Il pulsante pu assumere due stati stabili Lo stato ON abilita l introduzione e la modifica della password di pagina Quando la password non contiene alcun carattere il terminale non esegue nessuna richiesta di introduzione password Lo stato OFF utilizzato durante lo sviluppo del progetto per agevolare il debug dello stesso Infatti in questo stato il valore della password rimane impostato ma il terminale non ne richiede l introduzione agevolando quindi le operazioni di debug Per default il pul sante in stato di OFF Nella sezione esempi presentate una dimostrazione di come utilizza re la password di pagina Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 55 di 136 QEM yam Barra delle funzioni di progetto Tramite la barra delle funzioni di progetto possibile 1 Salvare il progetto aperto 2 Richiamare la finestra di dialogo Global Events Editor per la getione degli eventi azioni globali 3 Richiamare la finestra di dialogo Page Events Editor per la gestione degli eventi azioni di pagina 4 Avviare la procedura di download del progetto nel terminale Figura 60 barra delle funzioni di progetto mj Questo pulsante la scorciatoia alla voce di men File File Save o File File Save As Questo pulsante la scorciatoia alla voce di men Project Global Events Editor Questo pulsante la scorciatoia alla voce di men Pr
98. ing puo as sumere i seguenti valori None In questo caso il valore di Variable non soggetto a nes suna correzione di scaling campi di Scale A B C sottostanti sono automatica mente disabilitati Global In questo caso il valore di Variable soggetto alla cor rezione con lo scaling globa le definito nella voce di men Project Project Setup campi sottostanti di Scale A B C sono automaticamente disabilitati ma visualizzano i valori di scaling globale Local In questo caso il valore di Variable soggetto alla cor rezione con lo scaling defini to nelle proprieta di Scale A B C sottostanti La correzione di scaling vie ne ottenuta con la seguente formula Y Scale A Scale B X Scale C Range 23 25 1 La correzione di scaling vie ne ottenuta con la seguente formula Y Scale A Scale B X Scale C Range 231 231 1 Pag 60 di 136 QEM yam Propriet Descrizione Limiti e condizioni o se e su de e me Mm Valore di scale C Definisce il numero di carat teri che compone l oggetto comprendendo i caratteri uti lizzati dal segno e dal punto decimale Attributo posizione lato sini stro oggetto Attributo posizione lato su periore oggetto Nome del font utente o ter minale in uso Spacing di visualizzazione del font Flag che se ON inverte il cam po di visualizzazione dell og getto Flag che se ON abilita il
99. ionato se si riscontra che il progetto attualmente in uso stato modificato verra visualizzata una finestra di dialogo con il testo Save changes to nome file e i bottoni Yes No e Cancel Se si conferma l operazione con Yes verr automatica mente richiamata la finestra di dialogo Save Project o Save Project As La pressione di No far proseguire il programma senza salvare niente mentre Cancel abortira l intera operazione File Exit Con questa voce di men si richiede a QPaint di concludere la propria esecuzione Se si riscontra che il progetto attualmente in uso stato modificato verra visualizzata una finestra di dialogo con il testo Save changes to nome file e i bottoni Yes No e Cancel Se si conferma l operazione con Yes verr automaticamente richiamata la finestra di dialogo Save Project o Save Project As La pressione di No terminera il programma senza salvare niente mentre Cancel abortir l intera operazione Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 12 di 136 QEM panel Edit New Object Value Fare riferimento al paragrafo dedicato nella sezione Barra degli strumenti di disegno Edit New Object Valstring Fare riferimento al paragrafo dedicato nella sezione Barra degli strumenti di disegno Edit New Object String Fare riferimento al paragrafo dedicato nella sezione Barra deg
100. ione Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 48 di 136 G pane Nel caso in cui nel progetto non siano mai state inserite immagini comparira la seguente finestra Image Hanager x Generals OK Cancel Figura 49 finestra di dialogo Image Manager di un progetto senza immagini Come si puo vedere in fig 49 nella finestra di dialogo Image Manager abbiamo una casella di riepilogo in cui vengono visualizzati i nomi delle immagini presenti in libreria il box Preview in cui viene visualizzata l immagine selezionata nella casella di riepilogo com prensiva dei campi Width e Height per le dimensioni in pixel della stessa pi i pulsanti Add per l aggiunta di una nuova immagine Delete per la rimozione dell immagine selezionata e Rename per la modifica del nome dell immagine selezionata pulsanti Delete e Rename sono abilitati solo quando esiste almeno un immagine nella lista im magini di progetto La pressione del pulsante Add far comparire la seguente finestra di dialogo Add Bitmap File kiti Cerca ini a Graphics E l es 32x32 E T ae Blur bmp ai Miot bmp ar chgz bmi Pir ayal bmp ar Cmpr bmp a Pump bmp Ae imr brp aie aval bmp 3 Cnvr bmp e Pl bmp He D twr bmp ae Rfdr bmp T Furm bmp T Scnv bmp T Imis bmp H Wasl bmp M 3 Lit brp 3 4w hpr bmp al Nome file Eflw bmp Tipo file Bitmaps bmp Annulla
101. ione verr fatta successivamente dal programmatore Pulsante Image Object Con questo pulsante si richiede a QPaint di depositare sulla pagina attiva un oggetto statico di tipo Image Tramite l oggetto Image possibile visualizzare una immagine bitmap monocromatica Le propriet impostabili sono le seguenti Propriet Descrizione Limiti e condizioni Image Name Definisce l immagine da vi sualizzare specificando il nome di una immagine pre sente nella libreria immagini del progetto creata con la voce di men Graphics Image Manager Attributo posizione lato sini stro oggetto Attributo posizione lato su periore oggetto Ambiente di sviluppo Q Paint 2 1 v 1 0 Se il nome dell immagine specifica non presente nel la libreria immagini verra visualizzata un immagine di default Range 0 239 Width im magine Range 0 127 Height im magine Pag 64 di 136 QEM yam Pulsante Box Object Con questo pulsante si richiede a QPaint di depositare sulla pagina attiva un oggetto statico di tipo Box Tramite l oggetto Box possibilie visualizzare una serie di rettangoli Le propriet impostabili sono le seguenti Propriet Descrizione Limiti e condizioni Left Attributo posizione lato sini Range 0 239 Width stro oggetto To Attributo posizione lato su Range 0 127 Height periore oggetto Attributo larghezza oggetto Range 5 240 Attributo altezza oggetto
102. ipetere pi tale controllo se gia stato fatto una volta All inizio la variabile gfRun essendo GLOBAL a zero quindi dato che il controllo fatto sul suo valore negato l istruzione IF dipende solo dal valore di tmLogo che diventa 1 solo quando il timeout scaduto cio dopo 5 sec dall accensione del terminale Una volta scaduto il timeout viene impostata a 1 la variabile gfQMove che deter mina il cambio pagina nel terminale e anche la var gfRun in modo che al ciclo successivo non si entri pi in questo ramo dell IF e in modo da indicare all applicativo che il terminale non sia pi in pagina di presentazione Poi si deve sempre impostare tmLogo finch gfRun a 1 in modo da essere pronti nel caso in cui si faccia il Restart dell applicativo e si spenga il termi nale Nota non possibile impostare una variabile TIMER da QPaint per questo lo abbiamo fatto qui Vediamo ora come il terminale gestisce queste variabili Le condizioni che si verificano sono sfQMove 0 quando il terminale si trova nella pagina logo gfQMove 1 quando il terminale si trova in un altra pagina Quando la var gfQMove passa a zero e questo vuol dire che la CPU stata reinizializzata si vuole che il terminale si riporti alla pagina logo parta il timeout e si ricominci Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 120 di 136 nane Nella pagina logo avremo pertanto questi eventi di pagina con le relative azioni
103. isponibili nella sezione dedicata al download del pro getto Nel caso in cui il controllo del progetto non riscontri alcun errore comparir la seguente finestra Report lindo Ok Check project complete No error found Figura 14 finestra Report Window Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 20 di 136 QEM Go pane Come si puo vedere in fig 14 nulla lista della Report Window compare una sola linea che notifica il buon esito del controllo sul progetto La pressione del tasto Enter o il doppio clic sul tasto sinistro del mouse su questa linea non comporter alcun effetto Nel caso in cui il controllo del progetto riscontri degli errori comparir la seguente finestra Reoort IAN ngo Error Object on page 3 0 2013 Unknown symbol for Base Variable in Yalue object Error Object on page 4 12013 Unknown symbol for Base Vanable in Value object Error Object on page 5 1 2013 Unknown symbol for Base Variable in Yalue object Error Object on page 5 12013 Unknown symbol for Base WYarable in WYalue object Error Object on page 5 1 2013 Unknown symbol for Base Variable in Yalue object Error Object on page 5 1 2013 Unknown symbol for Base Variable in Value object Figura 15 finestra Report Window con segnalazione di alcuni errori Come si pu vedere nella fig 15 la Report Window composta da una lista a scorrimento verticale contenente gli errori rileva
104. l data entry pre mendo il tasto a freccia a destra facendo un doppio click con il mouse sulla casella si disabilita il funzionamento del tasto Nella sesta colonna viene visualizzato il nome dell oggetto a cui andra il data entry pre mendo il tasto a freccia verso l alto facendo un doppio click con il mouse sulla casella si disabilita il funzionamento del tasto Nella settima colonna viene visualizzato il nome dell oggetto a cui andra il data entry premendo il tasto a freccia verso il basso facendo un doppio click con il mouse sulla casella si disabilita il funzionamento del tasto Nell ultima colonna viene visualizzato il nome dell oggetto a cui andr il data entry pre mendo il tasto Enter facendo un doppio click con il mouse sulla casella si disabilita il funzionamento del tasto Se si desidera riprogrammare totalmente oggetto basta agire sulla riga interessata con un singolo click del tasto destro del mouse Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 41 di 136 nane Nella finestra in alto a destra viene visualizzata la mappatura della tastiera Premendo i tasti a freccia o il tasto enter viene evidenziato in blu il campo dove andra il data entry alla pressione del tasto relativo Per modificare il campo di destinazione sufficiente trascinare con il mouse il campo desiderato dalla finestra di sinistra al simbolo del tasto voluto Nel caso un campo abbia disabilitata la funzione del tasto ENTER nel data entry sequence
105. lString Object Pulsante String Object ma Pulsante Image Object Lo Pulsante Box Object Pulsante Pointer Object Questo l unico pulsante delle barra strumenti di disegno che non viene utilizzato per inseri re un nuovo oggetto nella pagina attiva ma bensi utilizzato per la selezione di un oggetto gia presente nella pagina L oggetto oltre che essere selezionato puo essere spostato ridimensio nato modificato nelle proprieta e cosi via Pulsante Value Object Con questo pulsante si richiede a QPaint di depositare sulla pagina attiva un oggetto dinamico di tipo Value Tramite l oggetto Value passibile visualizzare e o introdurre un valore nume rico o alfanumerico in una variabile di riferimento Le propriet impostabili sono le seguenti N B VR significa variabile di riferimento Propriet Descrizione Limiti e condizioni Dec Point Decimal Point To Max Variable Min Variable Enable Lead Zero Blank Mode VR per la posizione del pun to decimale VR per la variabile CPU QMove o terminale da visua lizzare introdurre VR per il controllo del limite superiore in introduzione VR per il controllo del limite inferiore di introduzione Flag che se ON sostituisce tutti i caratteri spazio non rappresentativi presenti in testa alla visualizzazione con il carattere 0 Ambiente di sviluppo Q Paint 2 1 v 1 0 Se non definita disabilita la funzionalita di punto decima le Se viene
106. la pagina da attivare scegliendola dalla lista pagine di progetto 3 Modificare il nome associato alla pagina attiva Figura 58 barra di gestione della pagina Come si puo vedere in fig 58 nella barra di gestione della pagina sono presenti un campo di introduzione numerico ed una casella combinata Nel campo di introduzione viene visualizza to il numero della pagina attiva mentre nella casella combinata compare il nome ad essa associato Nel campo di introduzione possibile specificare il numero della pagina che si desidera attivare Se viene introdotto un valore inferiore a 1 o maggiore del numero comples sivo delle pagine verra attivata l ultima pagina del progetto Tramite la casella combinata possibile indicare il nome della pagina che si vuole attivare scegliendola dalla lista dei nomi pagine di progetto Con essa si puo inoltre modificare il nome associato alla pagina attiva N B Ulteriori informazioni riguardo la gestione delle pagine sono reperibili nella sezione dedi cata all evento Goto Page Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 54 di 136 QEM Ge pane Barra di impostazione della password di pagina Quando si realizza un interfaccia verso una macchina utensile vi sono alcune parametrizzazioni come la velocit massima di lavoro attrezzo o le impostazioni degli assi di movimento il cui accesso deve essere consentito solo a determinati operatori tecnico manutenzione installa tore ecc in modo da
107. le Values Scale fio Scale E 254 Scale C a Edit Drawing Mode i Normal Highlighted 125 EEEE Normal Mode Highlight Mode Language Mame UK Cancel Figura 16 finestra di dialogo Project Setup Ogni progetto ha la possibilita di definire i seguenti parametri di configurazione Title titolo dell applicazione Il titolo dell applicazione composto da una stringa ASCII lunga al massimo 25 caratteri Viene memorizzato nel terminale durante la fase di download ed visualizzabile sullo stesso nella pagina INFO Scale A Scale B e Scale C valori di scaling globali Tramite la combinazione di tali valori si ottiene un fattore di scala globale che permette la conversione tra diverse unita di misura come ad esempio millimetri e pollici Il fattore di scala risultante puo essere applicato all og getto grafico Value Value ha il compito di interfacciare un campo di introduzione visualizzazione del terminale con le variabili interne del QMove La regola applicata la seguente ScaleA ScaleB Y X ScaleC dove X il contenuto della memoria CPU QMove indirizzata dall oggetto Value Y il valore risultante visualizzato sul terminale Nell esempio di fig 16 si vede come ponendo Scale Aa 10 Scale B a 254 e Scale C a 0 si ottenga il fattore di scala necessario per visualizzare un dato originario in mm nel suo corrispondente in pollici Ambiente di
108. li strumenti di disegno Edit New Object Image Fare riferimento al paragrafo dedicato nella sezione Barra degli strumenti di disegno Edit New Object Box Fare riferimento al paragrafo dedicato nella sezione Barra degli strumenti di disegno Edit Copy Con questa voce di men si richiede a QPaint di copiare gli oggetti selezionati nell area di disegno Al termine della copia resteranno selezionati gli oggetti Condizioni di attivazione almeno un oggetto selezionato nell area di disegno Edit Paste Con questa voce di men si richiede a QPaint di incollare gli oggetti copiati nell area di disegno Al termine del comando verranno automaticamente selezionati gli oggetti incollati Condizioni di attivazione almeno un oggetto copiato Edit Delete Object Con questa voce di men si richiede a QPaint di cancellare l oggetto selezionato nell area di disegno Al termine della cancellazione se vi sono ancora oggetti a disposizione verra auto maticamente selezionato l oggetto successivo Condizioni di attivazione un oggetto selezionato nell area di disegno Edit Align Objects Con questa voce di men si richiede a QPaint di allineare gli oggetti selezionati nell area di disegno secondo la legge impostata in figura 7 Al termine dell allineamento resteranno sele zionati gli oggetti Vi la possibilit di allineare gli oggetti in orizzontale rispetto al lato destro del primo oggetto selezionato
109. lizzazione 4 4 gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 87 di 136 nane Vogliamo che una volta entrati nella pagina nr 03 Parametrizzazione 1 3 i tasti PGDN e PGUP eseguano lo scroll solo tra le pagine di parametrizzazione cio le nr 03 nr 04 e nr 05 Se invece si entra nella pagina nr 07 i tasti PGDN e PGUP devono eseguire lo scroll solo tra le pagine di taratura cio la nr 07 e nr 08 Su questo gruppo di pagine vogliamo inoltre che la successione sia circolare cio che raggiunta l ultima pagina si passi con un ulteriore incre mento alla prima e viceversa Per fare questo sufficiente sovraccaricare il funzionamento dei tasti PGUP e PGDN nelle pagine in cui si intende modificare il funzionamento di default descritto in precedenza In questo caso le pagine in cui si deve modificare il funzionamento sono la pagina nr 03 perch il tasto PGUP non deve eseguire nulla la pagina nr 05 perch tasto PGDN deve essere disabi litato la pagina nr 07 perch il tasto PGUP deve richiamare la nr 08 e la pagina nr 08 perch il tasto PGDN deve richiamare la nr 07 Per sovraccaricare il funzionamento si imposta nella pagina interessata un evento di pagina di tipo On Key al quale si associa una azione Goto Page alla pagina interessata Per disabilitare il funzionamento invece basta definire l evento di pagina senza associare nessuna azione La programmazione degli eventi diventa cos Eventi di pagina Lista pagine
110. me azioni conseguenti si passa alla pagina Motore e si fa lampeggiare il led F1 Combinando opportunamente le quattro proprieta possiamo gestire una qualsiasi temporizzazione con la precisione del minuto Una cosa da ribadire che il valore della proprieta che determina la generazione dell evento quindi se vogliamo generare degli eventi che cadono mensilmente non dobbiamo lavorare sulla propriet Month come potrebbe sembrare a prima vista ma su Day in quanto l evento si verificher ogni volta che tale propriet assume il valore da noi specificato e questo vuol dire allo stesso giorno di ogni mese Cosi dicasi se vogliamo degli eventi giornalieri dobbiamo lasciare non selezionata la propriet Day e lavorare invece su Hour e Minute in modo che alla stessa ora di ogni giorno si verifichi l evento Vediamo gli altri eventi il passaggio alla pagina di salvatag gio dati viene fatto come si vede ogni volta che la var H Hour assume il valore 17 e la var M Minute il valore 30 ci vuol dire che ogni giorno alle ore 17 30 apparira l avviso di salvare i dati di lavoro Le altre impostazioni invece riguardano l avviso di pulizia filtri che avviene ogni 3 mesi come si vede dalle impostazioni della variabile MM Month l evento viene gene rato quando la var Month assume i valori 1 4 7 e 10 E da ricordare inoltre che l evento generato nel momento del passaggio ai valori impostati per cui se non si rileva quest
111. me evento globale Object Mame Figura 37 pannello impostazioni azione Object Reverse Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 37 di 136 n G pane n QEM Object No Reverse Tramite l azione Object No Reverse si richiede al terminale di visualizzare l oggetto dinami co VALUE indicato vedi fig 38 con le cifre nere su sfondo bianco default Questa azione possibile eseguirla solamente come evento di pagina e non come evento globale Object Name Figura 38 pannello impostazioni azione Object No Reverse Increment Contrast Tramite lazione Increment Contrast si richiede al terminale di incrementare il contrasto di visualizzazione del display LCD Nella condizione di temperatura ottimale vedere caratteristiche terminale il tempo di warm up del display dell ordine di 5 10 secondi Si consiglia comunque di attendere almeno 5 minuti dall accensione a freddo del terminale prima di procedere alla modifica del contrasto Decrement Contrast Tramite l azione Decrement Contrast si richiede al terminale di decrementare il contrasto di visualizzazione del display LCD Nella condizione di temperatura ottimale vedere caratteristiche terminale il tempo di warm up del display dell ordine di 5 10 secondi Si consiglia comunque di attendere almeno 5 minuti dall accensione a freddo del terminale prima di procedere alla modifica del contrasto Attenzione Quando il terminale in modalita introduzion
112. me source e gbTerPage come destination Cos facendo ad ogni variazione della variabile PAGE corrispondera la scrittura del nuovo valore nella variabile dell applica tivo sbTerPage N B Se l applicativo formato da pi di 127 pagine le variabili definite in QCL dovranno essere di dimensione WORD anzich BYTE Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 93 di 136 QEM nane Introduzione con diverse unit di misura In alcune applicazioni esiste la necessita di visualizzare i valori numerici in diverse unita di misura Ad esempio in una pagina di terminale il cliente potrebbe scegliere se utilizzare la rappresentazione in millimetri oppure in pollici oppure in metri anzich decimetri Tutte le rappresentazioni numeriche del progetto dovrebbero cos commutare i valori ed adeguarsi alla nuova scelta Il terminale mette a disposizione una serie di strumenti per permettere questa possibilita Come premessa bisogna dire che esistono molti modi per realizzare la conversione il terminale implementa questa caratteristica mantenendo invariato il valore originale del dato e introducendo un fattore di scala tale da eseguire la conversione dell unit di misura Supponiamo di voler sviluppare un progetto terminale dove alcune visualizzazioni introduzio ni possono essere effettuate sia in valori metrici che in valori anglosassone Supponiamo che la parametrizzazione della macchina sia stata effettuata per rappresentare il decimo di mil l
113. n qualsiasi progetto Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 45 di 136 QEM nane Graphics New Font From Bitmap File Con questa voce di men si richiede a QPaint di creare un nuovo font utente a partire da un file Bitmap monocromatico La finestra di dialogo visualizzata sara la seguente Hew Font From Bitmap File Bitmap File Name File Terminal Font Name Cancel Char Spacing o Figura 46 finestra di dialogo New Font From Bitmap File Come si puo vedere nella fig 46 nella dialog sono presenti tre campi di introduzione dati e rispettivamente la casella Bitmap File Name nella quale si specifica il nome del file Bitmap comprensivo di percorso ed estensione es C Progetti Terminale Bitmap per Font Display 7 sesmenti BMP la casella Terminal Font Name nella quale si definisce il nome del font utente in creazione es Display 7 segmenti e la casella Char Spacing nella quale si imposta il valore di spacing carattere desiderato Tramite il pulsante OK si avvia l operazione di creazione del font mentre Cancel abortisce l intera operazione presente inoltre il pulsante File con il quale possibile selezionare il file Bitmap utiliz zando la finestra di dialog standard di Windows per la selezione delle immagini Alla pressione del pulsante OK il QPaint effettuer una serie di controlli sui dati introdotti Tali controlli verificheranno la bonta dei dati
114. nPress che viene generato una sola volta alla pressione del tasto e affinch sia generato di nuovo necessario che il tasto venga rilasciato per poi essere ripremuto E questo proprio cio che ci serve per scorrere la lista passo passo spostandoci di un elemento per volta Questo tutto per quanto riguarda il terminale Vediamo ora invece come interviene il codice QCL Nel file CNF dobbiamo definire gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 109 di 136 QEM SYSTEM swWord W variabile utilizzata come indice carattere 1 900 sfFl F Tasto di scorrimento lista 1 gt 45 premuto da terminale SEFZ F Tasto di scorrimento lista 45 gt 1 premuto da terminale GLOBAL gbStep B Indice relativo al testo selezionato s nella lista 0 44 gbPosStr B Indice relativo al testo e visualiz zato in terminale 1 45 ARRSYS abARRS B 900 Contiene i caratteri dei testi da gestire Mentre nel codice task MOD abbiamo gestisce l avanzamento in avanti verificando la fine sf F1 1 significa premuto Fl o F3 IF sfF1 EQ 1 AND gbPosStr LT 45 gbStep gbStep 1 swWord gbStep 20 1 calcola 1 indice all interno dell array ENDIE Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 110 di 136 nane gestisce l avanzamento all indietro verificando l inizio s F2 1 significa premuto F2 o F4 IF s F2 EQ 1 AND gbPosStr GT 1 gbStep gbStep 1 swWord gbStep 20 1 calcola l
115. na casella di controllo posta davanti al campo di intro duzione di mese giorno ora e minuto ne abilita o disabilita la comparazione Se tale casella disabilitata si intente che l evento viene generato per tutti i valori possibili del campo in esame Almeno un campo deve essere impostato per assicurare la correttezza dell introduzio ne OnChangeVar L evento OnChangeVar viene generato ogni qual volta la variabile di riferimento definita nel pannello delle impostazioni cambia il proprio valore Base First Index Second Index Variable PAGE Figura 24 pannello impostazioni evento OnChangeVar Nell esempio di fig 24 si impostato che l evento OnChangeVar venga generato ad ogni varia zione della variabile di terminale PAGE OnVar L evento OnVar viene generato ogni qual volta il valore della variabile di riferimento corri sponde ai parametri di comparazione impostati Tali parametri sono composti da due campi 1 Compare Mode la modalita di comparazione 2 Compare Value il valore in comprazione Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 30 di 136 In un progetto possono essere create tante azioni quanta la memoria disponibile nel terminale QEM G pane Compare Mode puo avere i seguenti valori 1 lt less than minore di 2 gt greater than maggiore di 3 lt less or equal minore o uguale a 4 gt greater or equal maggiore o uguale a 5 equal uguale a Compare Value pu contener
116. nale da visua lizzare introdurre Enable Modify Mode Flag che se ON abilita la mo difica del valore indirizzato dalla proprieta Variable Left Attributo posizione lato sini stro oggetto Top Attributo posizione lato su periore oggetto Font Name Nome del font utente o ter minale in uso Ambiente di sviluppo Q Paint 2 1 v 1 0 Range 23 231 MaxMessages Range 1 999 Range 1 numero massimo caratteri visualizzabili su una linea Questo valore dipende principalmente dal tipo di font selezionato e dal valore di Spacing Range 1 numero mas simo caratteri visualizzabili su una linea Questo valore dipende principalmente dal tipo di font selezionato e dal valore di Spacing Range 0 239 pixel Range 0 127 pixel Il range di valori dipende dal font in uso Pag 62 di 136 QEM Propriet Descrizione Limiti e condizioni Spacing Spacing di visualizzazione Il range di valori dipende dal del font font in uso Reverse Mode Flag che se ON inverte il campo di visualizzazione dell oggetto Blink Flag che se ON abilita il lampeggio del campo di visualizzazione dell ogget to Nella finestra di dialogo ValString Object Property Editor sono presenti i pulsanti Message e Language con i quali possibile scegliere due modalit di introduzione dei messaggi Facendo click sul primo si abilita l introduzione con priorit sui messaggi Ci sta a significare che nella g
117. nati alla lingua In questo modo l utilizzatore sceglie la lingua mediante lo scroll di tutti i nomi delle lingue mediante il tasto Next Char e quando conferma viene scritto il nuovo valore sulla variabile di termina le Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 91 di 136 an YalString Object Property Editor Vediamo un esempio YalString Object Property Editor LANGUAGE ENGLISH GERMAN importante introdurre i testi per tutte le lingue esistenti nel progetto magari con le appropriate traduzioni gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 92 di 136 QEM panel Cambio pagina forzato da QCL In molte applicazioni consueto che una determinata condizione verificatasi nell applicativo QCL debba segnalare un informazione all operatore tramite terminale Solitamente si riserva una determinata pagina per segnalare all operatore questa situazione e bisogna forzare il cambio pagina in corrispondenza di tale condizione Per fare questo il QCL deve poter modi ficare la pagina corrente nel terminale Facciamo un esempio un determinato ingresso del sistema segnala la mancanza olio nella macchina In tale condizione il ciclo di lavoro si arresta ed il terminale visualizza la pagina numero 25 di avviso controllo olio Vediamo come imple mentare questo si definisce in QCL la variabile sbNewPage di tipo GLOBAL e dimensione BYTE Si definisce nel terminale un evento globale di tipo OnChangeVar asso
118. ncel abortira l intera operazione Il nuovo progetto avra per default il nome Untitled QTP ed il suo percorso di memorizzazione sara quello della directory corrente File Open Project Con questa voce di men si richiede a QPaint di aprire un progetto precedentemente salvato Per far cio viene richiesto di segnalare la posizione ed il nome del progetto tramite l utilizzo della finestra di dialogo standard di Windows per l apertura dei files Sul display comparir la seguente finestra di dialogo Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 8 di 136 QEM G pane Open Project F Cerca in E project T l et levigatrice244 QTP A Project OTP a tocatriceL 3 YTF Nome file trocatriceL 3 0TP Tipo file QEM terminal project qtp Annulla Figura 2 finestra di dialogo Open Project Le funzionalit espletate dalla finestra di dialogo sono quelle standard normalmente fornite dallo stesso sistema operativo Windows In Nome file comparir il nome del progetto attualmente in uso A conferma dell operazione con il tasto Apri verra caricato il progetto specificato Se durante il caricamento del progetto si riscontra che quello precedente stato modificato verr visualizzata una finestra di dialogo con il testo Save changes to nome file e i bottoni Yes No e Cancel Se si conferma l operazione con Yes verra automati camente richiamata la fi
119. nd Command si richiede al terminale di inviare un comando ad un device presente nella CPU del QMove In questo caso le fasi eseguite sono recupero informazioni azione invio comando al QMove tramite comunicazione seriale verifica corretta ricezione comando con eventuali ritentativi bufferizzazione del comando ricevuto nel QMove e infine analisi prossima azione presente nella lista azioni del terminale Da quanto appena visto si capisce che il terminale non attende la reale esecuzione del comando inviato Infatti il QMove si limitera a bufferizzarlo per poi eseguirlo nel momento pi opportuno Il tempo di ritardo nell esecuzione del comando sar compreso tra 0 e il tempo di campionamento del device Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 34 di 136 O panel Device Command START blaster Figura 29 pannello impostazioni azione Send Command Come si puo vedere nella fig 29 l azione Send Command stata programmata per inviare il comando START al device AsseX Per semplificare le operazioni di impostazione dei parametri dell azione stata introdotta una finestra di dialogo chiamata Symbol Object Selection La dialog pu essere richiamata premendo il tasto F5 quando il fuoco sul campo di introduzione Device Command a Symbol Object Selection Ioj x C CALOFF Aghi CNTLOCK TappetoS DELL INIT EMAG RESUME STOF START PRESET LOOPON LOOPOFF MAMPW MAME CALON CALOFF CHTLOCK CHTUNLOCE CHTREW CHTD
120. ndow si limita a segnalare che l uno o l altro oggetto non sono pi disponibili e che quindi sarebbe buona cosa ripetere il controllo del progetto per lavorare con una lista errori aggiornata Vedere la lista messaggi all utente per una descrizione dettagliata delle segnalazioni generate Durante le operazioni di scaricamento del progetto attivo la Report Window verr automaticamente nascosta e tutti i dati in essa contenuta cancellati Nel caso in cui la larghezza della Report Window risulti essere insufficiente per la visualizza zione completa dei messaggi presenti sulla lista nella parte inferiore della finestra apparira la barra di scorrimento orizzontale o verticale Condizioni di attivazione nel progetto deve essere stato importato almeno una volta un file simboli Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 23 di 136 L oggetto Value ha la possibilit di non eseguire nessun scaling eseguire lo scaling globale o definire un proprio fattore di scaling Vedere la documentazione sull oggetto Value per maggiori informazioni QEM G pane Project Project Setup Con questa voce di men si richiede a QPaint di aprire la finestra di dialogo Project Setup dalla quale possibile accedere ai parametri di configurazione del progetto in uso La finestra di dialogo visualizzata sar la seguente Project Setup Generalz Project Informations E Fresa XYZ Message Languages regie rim Global Sca
121. ne Bitmap font file saved as Azione Si entra in questo stato quando QPaint termina la creazione del file bitmap per il font Codice messaggio 10046 Tipo messaggio INFORMATION Descrizione Clipboard doesn t match with Qpaint version Azione Clipboard will not be used Si entra in questo stato quando QPaint rileva che gli appunti che si cerca di incollare non sono compatibili con il progetto utilizzato Codice messaggio 10047 Tipo messaggio INFORMATION Descrizione Invalid page file Azione Page will not be added Si entra in questo stato quando QPaint rileva che la pagina richiesta per l importazione non compatibile con il progetto utilizzato Codice messaggio 10048 Tipo messaggio INFORMATION Descrizione Page file doesn t match with QPaint version Azione Page will not be added Si entra in questo stato quando QPaint rileva che la pagina richiesta per l importazione non compatibile con la versione di QPaint utilizzata Codice messaggio 10049 Tipo messaggio ERROR Descrizione QPaint has detected unavailable terminal fonts on this page Required fonts have following type name Azione Page will not be loaded Si entra in questo stato quando QPaint rileva che nella pagina stato importato un ogget to del quale non esiste il font nella cartella Codice messaggio 10050 Tipo messaggio INFORMATION Descrizione All available informations selected for default Azione Si entra in questo stato quando QPaint
122. nei campi di introduzione e le caratteristiche del file Bitmap specificato In caso vengano riscontrate irregolarit QPaint visualizzer un box di dialogo con le indicazioni del caso Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 46 di 136 QEM panel Graphics New Font From True Type Font Con questa voce di men si richiede a QPaint di creare un nuovo font utente a partire da un font True Type di Windows La finestra di dialogo visualizzata sara la seguente Rights to True Type Font Conversion Font s copyright ENGLISH YERSION True Types Windows font may be embedded in UPaint applications It nay be a violation of a vendor s proprietary rights cr user license agreement to embed any fonts where embedding is not permitted font license may give only read write permission to he intalled in one FC or read only permission Whenever an application distribuites a font in any format the proprietary rights of the ommer of the font must be acknowledged ATTENTION please check your font s license before embedding a font Copyrights sui font VERSIONE ITALIANA E possibile importare i Font True Trype di Windows in applicazione QFaint attraverso il programma di conversione Il font viene importato e diviene EMBEDDED nell applicazione l Continue gt i Figura 47 finestra di dialogo Rights to True Type Font Conversion Come si puo vedere nella fig 47 prima di poter creare un nuovo font ut
123. nestra di dialogo Save Project o Save Project As La pressione di No fara proseguire l operazione senza salvare niente mentre Cancel abortira l intera operazione File Save Project Con questa voce di men si richiede a QPaint di salvare il progetto attualmente in uso Se il progetto non era mai stato salvato verr automaticamente richiamata la finestra di dialogo Save Project As File Save Project As Con questa voce di men si richiede a QPaint di salvare il progetto attualmente in uso Per far cio viene richiesto di segnalare la posizione ed il nome del progetto tramite l utilizzo della finestra di dialogo standard di Windows per il salvataggio di files Sul display comparir la seguente finestra di dialogo Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 9 di 136 nane Save Project As Ed Salva in E project FA et levigatice 24A OTP A Project OTP a tocaticeL amp 3 UTP Nome file AE dala come GEM terminal project qtp Annulla Figura 3 finestra di dialogo Save Project As Le funzionalita espletate dalla finestra di dialogo sono quelle standard normalmente fornite dallo stesso sistema operativo Windows In Nome file comparir il nome del progetto attualmente in uso A conferma dell operazione con il tasto Salva il progetto specificato verra salvato File Create Project s Document Con questa voce di men si richiede a
124. nizzato Vi sono 4 campi di testo che servono per la descrizione delle varie informazioni pi una serie di bottoni per le operazioni che l utente puo effettuare Vediamo ora in dettaglio il significato di quanto presente 1 Tipo messaggio Descrive il tipo di stato in cui entrato QPaint Puo valere II INFORMATION 1 per un stato informazione 1 QUESTION per un stato di richiesta dati II WARNING 1 per un stato di pericolo II ERROR per un stato d errore I I FATAL ERROR per un stato d errore fatale 2 Codice messaggio Contiene il numero identificativo del messaggio intervenuto Tramite questo numero possibile accedere alla documenta zione approfondita dello stato presente in questa appendice Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 70 di 136 G pane 3 Descrizione messaggio Descrive in modo sintetico lo stato intervenuto 4 Azione intrapresa Viene descritta l azione intrapresa di risposta allo stato in cui si trova QPaint Puo contenere anche una estensione alla de scrizione messaggio o una richiesta specifica all utente Que sto campo non disponibile in tutti gli stati 5 Operazioni possibili Sono disponibili uno o pi bottoni per le scelte dell utente Nella sezione a seguire sono riportati e dettagliatamente descritti tutti i messaggi visualizzati da QPaint tramite il box di dialogo Codice messaggio 10000 Tipo messaggio QUESTION Descrizione Do you really want rename curre
125. nt 2 1 v 1 0 Pag 71 di 136 nane Codice messaggio 10005 Tipo messaggio ERROR Descrizione Error in opening file Azione Si entra in questo stato quando QPaint non riesce a leggere il file di progetto Nella mag gior parte dei casi questo errore dovuto al tentativo di leggere un progetto inesistente o dall accesso ad un disco non disponibile Codice messaggio 10006 Tipo messaggio INFORMATION Descrizione Invalid project file Azione Project will not be loaded Si entra in questo stato quando QPaint rileva che il file di progetto in lettura non valido Codice messaggio 10007 Tipo messaggio INFORMATION Descrizione Project file corrupted Azione Project will not be loaded Si entra in questo stato quando QPaint tenta di caricare un progetto che non stato precedentemente salvato correttamente o inopportunamente modificato manualmente Codice messaggio 10008 Tipo messaggio INFORMATION Descrizione Project file doesn t match with Qpaint version Azione Project will not be loaded Si entra in questo stato quando QPaint rileva che la versione del file di progetto in apertu ra non compatibile Nella maggior parte dei casi questo errore dovuto al tentativo di apertura di un progetto realizzato con una versione di QPaint successiva a quella utilizzata per l apertura Codice messaggio 10009 Tipo messaggio FATAL ERROR Descrizione Error in sistem Font loading Azione Try to reinstall QPaint Prog
126. nt page Azione Si entra in questo stato quando l utente introduce un nuovo nome per la pagina attiva Codice messaggio 10001 Tipo messaggio WARNING Descrizione Label lt Name gt already used in another page Azione Introduce a new name Si entra in questo stato quando l utente introduce un nuovo nome per la pagina attiva e questo risulta essere gi stato utilizzato da un altra pagina Si deve nominare in modo diverso la pagina Codice messaggio 10002 Tipo messaggio QUESTION Descrizione Page will be lost Azione Are you sure of to want to continue Si entra in questo stato quando l utente esegue la procedura per la rimozione della pagina attiva Viene richiesta una conferma aggiuntiva Codice messaggio 10003 Tipo messaggio FATAL ERROR Descrizione Unrecoverable internal error Azione Program will be terminate Si entra in questo stato quando internamente il programma esegue un operazione non valida Il programma Qpaint viene chiuso Tutte le modifiche apportate al progetto suc cessive all ultimo salvataggio verranno perse Codice messaggio 10004 Tipo messaggio ERROR Descrizione Error in file creation Azione Si entra in questo stato quando QPaint non riesce a salvare il file di progetto Nella mag gior parte dei casi questo errore dovuto al tentativo di scrivere un file protetto in scrittura o dall accesso ad un disco non disponibile o in modalita a sola lettura gem Ambiente di sviluppo Q Pai
127. o nel pannello termina le start FPump ai La realizzazione dell animazione fatta nell applicativo QCL che descriveremo in seguito mentre in QPaint c soltanto la gestione dei tasti F1 F2 e F3 insieme ovviamente all utiliz zo dei vari oggetti sia statici che dinamici che compongono questa pagina Vediamo ora come appare la pagina nel progetto QPaint indicando quali oggetti sono stati utilizzati per creare l effetto finale come si nota appare leggermente diversa da quella che si vede in fase di esecuzione Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 123 di 136 QUM Oggetto Valstring Per ottenere un animazione sono utilizzabili pi oggetti diversi procediamo con ordine Pompa stato utilizzato un oggetto Valstring che si ricorda un oggetto dinamico che ha la possibilit di visualizzare stringhe di testo diverse in funzione del valore posseduto dalla variabile collegata all oggetto stesso In questo caso viene visualizzato un solo carattere Rispettivamente le variabili associate ai due oggetti ValString rappresentanti le pompe si chiamano sfPump010N e sfPump020N sono di tipo Flag e dovranno essere definite nell ap plicativo QCL Per ottenere il movimento della pompa si associano 2 caratteri diversi ai 2 valori che decidiamo potr assumere la variabile collegata e in fase di esecuzione si assegnano alternativamete questi due valori Come si vede pero questi 2 caratteri sono in realta due s
128. o possibile specificare le seguenti opzioni nosplash Disabilita la visualizzazione della finestra di Logo splash screen lt nome__file_QTP gt Nome del file di progetto QTP da caricare Esso composto da percorso nome file progetto estensione QTP Esempio da sessione MS DOS C gt Programmi QPaint10 QPaint21 exe nosplash C Lavori Marmo LevigatriceModUTC27A QTP Una volta avviato QPaint sullo schermo apparira la seguente finestra QPaint 2 0 Untitled QTP File Edit View Project Page Transfer Graphics 6OpHions Heip wE da Esala tr IN pai m Si 5 Barra funzioni di disegno Ei Barra funzioni di progetto Barra password di pagina Barra dei men Barra di gestione pagina Area disegno rappresentante il display terminale Barra strumenti di disegno D Figura 1 desktop di OPaint La finestra di Logo comunemente chiamata splash screen ha lo scopo di intrattenere l utiliz zatore durante le operazioni di avvio del programma Il tempo di permanenza va da un mini mo fisso di 3 secondi ad un massimo che varia in funzione delle caratteristiche hardware del PC utilizzato e dal numero di font da caricare Inoltre se viene specificato nella linea di comando anche il nome di un progetto al normale tempo di avvio viene aggiunto anche il tempo di caricamento del progetto stesso Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 6 di 136 G pane Caratteristiche del programma QE
129. o passaggio es il terminale spento l evento non sar pi rilevabile Nell esempio poi ad ogni passaggio pagina viene fatto lampeggiare un led diverso che servira nelle pagine di avviso per indicare quale tasto funzione premere dopo aver eseguito l operazione e tornare nella pagina di macchina in funzione Vediamo come si presenta una pagina di avviso le altre Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 114 di 136 QUM yanl sono analoghe e non verranno descritte in dettaglio enzione ro Vvegtere allo operazioni gl 1hig asssJsgglO motvofPe pre liste Gprs Zlo0fe essegi tz premere Gli eventi di pagina vengono cosi impostati Page Events Editor Pg 1 Events and Actions Events E dd E Insert Er Delete Actions El Add i Insert Zi Delete Goto Page Funct Led Off F1 Un Press PG UP Un Press PG Diw Premendo il tasti F1 il cui led lampeggia si torna alla pagina di funzionamento e si spegne il led F1 Inoltre dato che questa una pagina di avviso a cui vi si arriva solo a scadenze fissate sono stati sovrascritti i tasti PGUP e PGDN in modo che l unico modo per uscire sia quello di usare il tasto funzione Lo stesso succede per le altre pagine di avviso di cui vediamo la rappresentazione Attenzione Attenzione Segle Operazioni dl Pacino Gatl Ol avora Seguire pullZzlia amp manryitenzione 1 F1 IUDF1ITLICSFS 1A1gHranaggi Hc operszi0one esegita premere
130. odice messaggio 10035 Tipo messaggio FATAL ERROR Descrizione Invalid function parameters Azione Program will be terminate Si entra in questo stato quando internamente il programma esegue un operazione non valida Il programma Qpaint viene chiuso Tutte le modifiche apportate al progetto suc cessive all ultimo salvataggio verranno perse Codice messaggio 10036 Tipo messaggio INFORMATION Descrizione Can t access to deleted page Azione Execute Check project to refresh report window Si entra in questo stato quando si seleziona un item della report Window riferito ad una pagina che stata rimossa Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 75 di 136 nane Codice messaggio 10037 Tipo messaggio INFORMATION Descrizione Can t access to deleted event Azione Execute Check project to refresh report window Si entra in questo stato quando si seleziona un item della report Window riferito ad una pagina che stata rimossa Codice messaggio 10038 Tipo messaggio INFORMATION Descrizione Can t access to deleted action Azione Execute Check project to refresh report window Si entra in questo stato quando si seleziona un item della report Window riferito ad una pagina che stata rimossa Codice messaggio 10039 Tipo messaggio INFORMATION Descrizione Can t access to deleted object Azione Execute Check project to refresh report window Si entra in questo stato quando si selezi
131. ogetto Durante questa fase il QPaint esegue un controllo del progetto per verificare che lo stesso sia coerente con le regole fissate Cio permette di evitare che vengano effettuati trasferimenti nel terminale di progetti non corretti impedendo quindi malfunzionamenti e comportamenti indesiderati La procedura seguita la stessa utilizzata per la voce di men Project Check Project a cui si rimanda per ulteriori informazioni Unica differenza tra il controllo di proget to effettuato durante il download e quanto fatto durante il Check Project di Project Check Project che durante il download la finestra di dialogo Report Window non viene visualizzata automaticamente ma la si potra richiamare manualmente una volta usciti dalla dialog del download Se durante questa fase viene riscontrato un errore la procedura di download termi na sara possibile uscire dalla dialog Download Project tramite il pulsante OK La connessione seriale con il terminale Durante questa fase il QPaint verifica la comunicazione seriale con il terminale parametri di comunicazione sono quelli impostati in Options Communication e a cui si rimanda per ulteriori informazioni Se durante questa fase viene riscontrato un errore la procedura di download termina e sar possibile uscire dalla dialog Download Project tramite il pulsante OK La compilazione del progetto Durante questa fase il QPaint effettua la compilazione del progetto e crea
132. oject Page Events Editor PS Questo pulsante la scorciatoia alla voce di men Transfer Download Barra delle funzioni di disegno Tramite la barra delle funzioni di disegno possibile Aumentare il fattore di zoom dell area di disegno Diminuire il fattore di zoom dell area di disegno 1 2 3 Portare ad un livello superiore di vista l oggetto selezionato nell area di disegno 4 Portare ad un livello inferiore di vista l oggetto selezionato nell area di disegno 5 Cambiare il colore di sfondo utilizzato nell area di disegno Questo pulsante la scorciatoia alla voce di men View Zoom In Questo pulsante la scorciatoia alla voce di men Edit Bring Up Object A Questo pulsante la scorciatoia alla voce di men View Zoom Out 4 Questo pulsante la scorciatoia alla voce di men Edit Bring Down Object Questo pulsante la scorciatoia alla voce di men View Background Mode Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 56 di 136 QEM panel Barra degli strumenti di disegno La barra degli strumenti di disegno utilizzata dall utente per creare la parte grafica delle pagine di un progetto Con essa possibile depositare nell area di disegno rappresentante il contenuto della pagina attiva oggetti quali campi di visualizzazione introduzione dati alfanumerici messaggi in lingua rettangoli ed immagini L inserimento di un nuovo ogg
133. on il quale possibile visualizzare su di una pagina immagini monocromatiche Le immagini visualizzate possono avere qualsiasi dimensione entro la grandezza del display in uso Al fine di ridurre la quantit di memoria utilizzata dal terminale per mantenere i dati delle immagini si pensato di adottare un ar chitettura a libreria di immagini Con questo si intende che invece di memorizzare i dati dell immagine direttamente nell oggetto Image essi verranno inseriti nella libreria e ad ogni immagine verra assegnato un nome identificativo composto da una stringa ASCII di lunghezza massima 16 caratteri Tale nome sar utilizzato dall oggetto Image per definire quale imma gine della libreria si vuole visualizzare Se si pensa che normalmente un immagine appare in pi pagine si capisce immediatamente l enorme risparmio di memoria ottenuto con questo sistema Inoltre durante la procedura di download verranno trasferite nel terminale solo le immagini utilizzate dagli oggetti Image La libreria immagini del terminale viene creata per mezzo del gestore di immagini Image Manager Con esso l utente gestisce la libreria inseren do rimuovendo e rinominando le immagini in formato BMP che verranno incorporate nel progetto Il fatto di incorporare le immagini direttamente nel file del progetto permette di eliminare ogni collegamento con i file BMP originali facilitando le operazioni di trasporto dello stesso su altri computer o media di archiviaz
134. ona un item della report Window riferito ad una pagina che stata rimossa Codice messaggio 10040 Tipo messaggio ERROR Descrizione QPaint has detected unavailable terminal fonts on this project Requered fonts have following type name Azione Project will not be loaded Si entra in questo stato quando QPaint rileva che il progetto in lettura necessita di uno o pi font utente non disponibili nel computer Nella dialog vengono riportate le caratteri stiche di ogni font mancante comprensive di nome font altezza larghezza e spacing carattere Codice messaggio 10042 Tipo messaggio ERROR Descrizione Bitmap font file lt name gt not found Azione Select a valid file name Si entra in questo stato quando QPaint non riesce a trovare il file bitmap specificato Codice messaggio 10043 Tipo messaggio ERROR Descrizione Invalid bitmap font size The bitmap font type must be monochrome Azione Si entra in questo stato quando QPaint rileva che il file bitmap in lettura non monocromatico gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 76 di 136 QEM nane Codice messaggio 10044 Tipo messaggio ERROR Descrizione Invalid bitmap font size Valid bitmap width range is 96 512 pixels Valid bitmap height range is 84 784 pixels Azione Si entra in questo stato quando QPaint rileva che la dimensione del file bitmap in lettura non entro i limiti consentiti Codice messaggio 10045 Tipo messaggio INFORMATION Descrizio
135. oppure rispetto al lato sinistro del primo oggetto sele zionato oppure rispetto al lato centro del primo oggetto selezionato Vi la possibilit di allineare gli oggetti in verticale rispetto alla parte alta del primo oggetto selezionato oppure rispetto alla parte bassa del primo oggetto selezionato oppure rispetto al lato centro del primo oggetto selezionato Vi inoltre la possibilita di allineare contemporaneamente gli oggetti sia in verticale che in orizzontale utilizzando le combinazioni desiderate N B Per selezionare pi di un oggetto si deve tener premuto il tasto shift e cliccare con il tasto sinistro del mouse Condizioni di attivazione pi di un oggetto selezionato nell area di disegno Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 13 di 136 QEM Align Selected Objects F iLer sides Centers Right sides OO Tops HE T Centers DUO Bottoms Figura 7 finestra di allineamento oggetti Edit Property Object Con questa voce di menu si richiede a QPaint di visualizzare l editor delle propriet dell og setto selezionato nell area di disegno Ulteriori informazioni sugli oggetti e i relativi editor delle propriet sono disponibili nella sezione dedicata Condizioni di attivazione un oggetto selezionato nell area di disegno Edit Bring Up Object Con questa voce di men si richiede a QPaint di portare ad un livello superiore di vista l og getto selezionato nell area di disegno Ulterior
136. ossibile impostare gli oggetti con simboli ancora da definire con immagini ancora da importare o creare ed altro ancora Puo anche accadere che simboli presenti inizialmente nel file simboli importato cambino di tipo gruppo di appartenenza o vengano eliminati durante lo sviluppo stesso del progetto Bene in qualsiasi momento possibile eseguire un controllo su quanto scritto e verificare che tutto sia coerente con le regole fissate Tramite Check Project viene effettuato un controllo su tutti gli oggetti di un progetto e creata nella Report Window una lista con la descrizione dettagliata degli eventuali errori incontrati Ogni linea identifica un errore rilevato in un determinato oggetto Lo stesso oggetto puo presentare pi linee di errore consecutive Ma questo non tutto Per semplificare le operazioni di correzione degli errori la linea seleziona ta sulla lista della Report Window sensibile alla pressione del tasto Enter o al doppio clic sul tasto sinistro del mouse di modo che venga aperto l editor di propriet dell oggetto interes sato con il fuoco posto automaticamente sulla causa dell errore Inoltre sulla barra di stato del programma compare un estratto esplicativo dell errore in correzione Alla richiesta di controllo del progetto la Report Window viene posta automaticamente in visualizzazione Il controllo del progetto viene automaticamente eseguito anche durante la fase di download Ulteriori informazioni a riguardo sono d
137. pa 1 in funzione gfStart02 F Pompa 2 in funzione gfStop F Stop impianto gbStep B Var ausiliaria per cicli FOR glSecondi L Var per temporizzazione ARRGBL abDev B 5 Deviatore abFlx1 B 10 Tubo in mandata pompa 1 abFlx2 B 10 Tubo in mandata pompa 2 abF1x3 B 10 Tubo collettore serbatoio abTuboV B 10 Tubo verticale tmSecondi Timer secondi Sono stati usati degli array di dimensione maggiore a quella utilizzata dagli oggetti QPaint questo non provoca alcuna conseguenza nel loro uso Nel task vengono anche utilizzate due variabili tmSecondi e glSecondi per realizzare un contatore dei secondi di esecuzione dell applicativo gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 130 di 136 panel Nel task MOD avremo invece ANIMAZIONE POMPA 1 IF gfStart01 AND abDev 1 EQ 39 se la pompal ON e possiede il deviatore g Pump020N 0 gfPump010N glSecondi32 Animazione pompa alternativamente imposta il valore di gfPumpOl10N a 0 e 1 con ciclo di 1 secondo Questo porta al refresh dell oggetto ValString rappresentante la pompal ogni volta con 2 caratteri diversi questo ciclo fa in modo che gli array rappresentanti le tubazioni assumano valorli corrispondenti a caratteri tubo vuoto FOR gbStep 1 gbStep LE 10 1 abFlx1 gbStep 32 Oggetto Value tubazione pompal abFlx2 gbStep 32 Oggetto Value tubazione pompa2 abFlx3 gbStep 32 Oggetto Value tubazione serbatoio abTubo
138. passaggio dalla pagina di lavoro alla pagina di logo con il tasto PgUp basta soprascrivere la pressione del tasto PGUP non associando alcuna azio ne Cos l unico modo per arrivare alla pagina di logo o all accensione o ad ogni restart della CPU gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 121 di 136 QEM Go pane i Page Events Editor Pg 1 x Events and ctons Eugene E Add E Insert Zg Delete a El Add E Insert pala Delete Un Press FG UP On Change War giiMove Vediamo ora il comportamento in alcune condizioni Accensione del sistema Qmove prima del terminale In questo caso il task rimane in attesa dell accensione del terminale per l istruzione di WAIT sulla variabile sfTerminale Poi allo scadere dei 5 sec la variabile sfRun viene impostata e l applicazione utente inizia ad essere eseguita Accensione del terminale prima del sistema Qmove In questo caso il terminale non potendo comunicare con il sistema continua a tentare la connessione Non appena il sistema viene acceso il terminale trovando la connessione attiva esegue la scrittura della variabile gf Terminale e poi il funzionamento rimane quello descritto precedentemente Durante il normale funzionamento il sistema viene spento e riacceso In questo caso il termi nale torna nella pagina di presentazione perch la variabile gfQMove si trova ad assumere il valore zero Poi il comportamento rimane il medesimo Durante
139. pilogo la posizione ove inserire la nuova azione Utilizzare il pulsante Insert per inserire la nuova azione nelle lista delle azioni e alla posizione selezio nata Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 31 di 136 QEM Go pane Alla pressione del pulsante Add o Insert comparira la seguente finestra di selezione Select Action Next Page Previous Page Begin Data Entry Send Command SetVarable Led r Led Off Led Elink Backup Restore Object Blink Object No Blink Ubject Reverse Ubject Mo Reverse Increment Contrast Decrement Contrast Out Data Entry Confirm Out Data Entry No Confirm Figura 26 finestra di selezione Select Action Come si puo vedere nella fig 26 la finestra Select Action completamente occupata dalla casella di riepilogo contenente le definizioni delle azioni disponibili a livello globale La selezione avviene come per una normale casella di riepilogo effettuando un doppio clic con il tasto sinistro del mouse sulla voce interessata o selezionandola con i tasti UP amp DOWN seguiti da una conferma con ENTER Una volta confermata l azione sul pannello impostazio ni compariranno i campi di impostazione dei parametri dell azione On Out Data Enrty No Confirn L evento On Out Data Entry No Confirm viene generato quando si vuole uscire da un campo di introduzione dati senza confermare il dato che si introdotto L evento non ha campi di impostazione e non puo
140. postazioni risulte ranno sempre disabilitati QEM G pane Come si puo vedere nella fig 20 la dialog divisa in tre aree principali 1 la zona di sinistra dedicata alla gestione degli eventi 2 la zona di destra dedicata alla gestione delle azioni associate agli eventi 3 l area sottostante le due riservata all introduzione dei parametri specifici della prima o della seconda in questo caso risulta vuota Tale area viene anche chiamata pannel lo impostazioni Definizione di un nuovo evento Nella zona di sinistra dedicata alle operazioni sugli eventi sono presenti i bottoni Add Insert Delete ed una casella di riepilogo contenente la lista degli eventi gi definiti Per definire un nuovo evento vi sono due metodi 1 utilizzare il pulsante Add per aggiungere un nuovo evento in coda alla lista degli eventi 2 selezionare nella casella di riepilogo la posizione ove inserire il nuovo evento Utilizzare il pulsante Insert per inserire un nuovo evento nella lista degli eventi e alla posizione selezionata Alla pressione del pulsante Add o Insert comparira la seguente finestra di selezione select E vent pi Pross Un Release Un Always Un Page In Un Time Un Change War Un War On Out Data Entry Confirm Un Qut Data Entry No Confirm Figura 21 finestra di selezione Select Event Come si pu vedere nella fig 21 la finestra Select Event completament
141. presentante visualizzato nel pannello impostazioni comparir disabilitato OnPress L evento OnPress viene generato alla pressione di un tasto del terminale Per l evento OnPress valgono le stesse procedure di impostazione descritte nell evento Onkey L evento OnPress a livello globale non associabile ai tasti PGUP PGDN e INS per cui i corrispettivi pulsanti sul pannello impostazioni risulteranno sempre disabilitati OnRelease L evento OnRelease viene generato al rilascio di un tasto del terminale Per l evento OnRelease valgono le stesse procedure di impostazione descritte nell evento Onkey L evento OnRelease a livello globale non associabile ai tasti PGUP PGDN e INS per cui i corrispettivi bottoni sul pannello impostazioni risulteranno sempre disabilitati OnAlways L evento OnAlways viene generato fintanto che si nella sua area di competenza In questo caso trattandosi di eventi di livello globale verra generato in continuazione Il tempo di ripe tizione dell evento dipende dalla complessita della pagina attiva Pi sono le variabili della CPU QMove visualizzate pi lungo il tempo tra la generazione di un evento e l altro L even to non ha campi di impostazione e ne puo essere definito solo uno a livello globale ed uno per ogni pagina A questo scopo QPaint fara si che l evento se gi in uso scompaia dalla finestra di selezione Select Event OnPageln L evento OnPageln viene generato al pr
142. quindi il salto alla pagina di allarme si effettua sempre Questo implica il continuo rinfresco della pagina di allarme e questo produce uno sfarfallio fastidio so e non esattamente quello che si voleva Bisogna procedere in altro modo definiamo una variabile interna errcomm che utilizzere mo per il salto pagina e solo quando c un cambiamento nel suo valore in modo da non saltare nuovamente alla pagina di allarme una volta avvenuto l errore Quando la var STATUSLED assume il valore 1 allora anche la var errcomm verr impostata ad 1 Quindi si crea un evento OnChangeVar sul cambio di valore della variabile errcomm con azione collegata Goto Page Error Communication E conveniente usare il nome della pagina piuttosto che il suo nume ro perch questo ci rende completamente indipendenti da eventuali modifiche nella posizio ne della pagina di allarme Quindi la pagina degli Eventi Globali appare cosi Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 104 di 136 QEM yam Global E vents Editor x Events and Actons S Add E Insert E Delete i E vents Er Inset E Delete Actions Hu Add i Ul g Yar 3 STATU SLE D s Col Variable Qiemcomm 1 On Change War f ercomm e Global E vents Editor x Events Eu Add E Insert Zj Delete Actione El Add He insert o Delete On ar STATUSLED 1 Goto Page Error Communication HOn Change War fSercomm Per far s che una volta ve
143. ram will be termate Si entra in questo stato quanto QPaint durante la procedura di avvio rileva la mancanza dei file font terminale nella directory Fonts In questo caso si consiglia di reinstallare QPaint nella stessa directory in cui era stato precedentemente installato Codice messaggio 10013 Tipo messaggio QUESTION Descrizione New setting could truncate exceeding text for some languages Azione Do you confirm this operation Si entra in questo stato quando QPaint rileva la necessit di troncare il testo in eccesso di alcuni messaggi in lingua Tale condizione si verifica durante la modifica della lunghezza testo o delle proprieta font degli oggetti String e ValString gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 72 di 136 nane Codice messaggio 10014 Tipo messaggio QUESTION Descrizione New setting could change Left and Top coordinate of the object Azione Do you confirm this operation Si entra in questo stato quando QPaint rileva la necessit di modificare le proprieta Left e Top dell oggetto attivo affinch rimanga entro la dimensione disponibile nell area di dise gno Codice messaggio 10019 Tipo messaggio WARNING Descrizione Invalid font name Value empty or present invalid chars lt gt Azione Introduce a valid name Si entra in questo stato quando QPaint rileva che il nome del font utente appena introdot to vuoto o presenta uno o pi caratteri non validi Codice messaggio 10020
144. re quale stata la causa che lo ha prodotto ci puo essere fatto semplicemente entrando nella Info Page del Setup alla voce Comunic Status E importante sottolineare che l errore e quindi il lampeggio vengono cancellati solamente allo spegnimento del terminale o dopo che si usciti dal Setup per ritornare all applicativo Questa segnalazione puo essere ottenuta anche da programma tramite l uso della variabile di terminale STATUSLED in questo esempio vediamo come realizzare un applicativo in cui il terminale se avviene un errore di status segnala questo all utilizzatore andando in una pagi na dedicata Il nostro esempio ha 4 pagine la pagina iniziale in cui non vi alcuna comunicazione con il Qmove ma si visualizza una variabile di terminale due pagine in cui si vanno a fare delle operazioni di lettura di variabili Qmove e infine la pagina di allarme Cio che vogliamo otte nere dall applicativo andare alla pagina di allarme ogni volta che si verifica un qualsiasi errore di comunicazione tra terminale e Qmove La cosa pi semplice quella di definire un evento globale OnVar sulla variabile di terminale SSTATUSLED verificando quando questa assume il valore 1 che indica l errore di comunica zione ed effettuando il salto alla pagina di allarme Questo pero ha un inconveniente infatti quando si arriva alla pagina di allarme l evento OnVar essendo globale e agendo sulla var SSTATUSLED ancora attivo e
145. rificato l errore si torni ad una situazione normale in cui si ancora sensibili ad un nuovo errore di comunicazione si deve resettare il valore di errcom nella pagina iniziale in quanto una volta usciti dalla Info di Setup Page si entra in questa pagina Allora si definisce un evento di pagina OnPageln in questo modo Page Events Editor Pg 1 xl Events and Actions Eva Hu Add E Insert p gt Delete E E E Add El Ingerl ma Delete Setvariable ercomm 0 Infine per fare in modo di non accedere direttamente alla pagina di allarme con l uso dei tasti PGUP o PGDN occorre sovraccaricare il tasto PGDN nella pagina precedente e sovraccari care il tasto PGUP nella pagina successiva Nel nostro caso la pagina di allarme l ultima e quindi si lavora solo sulla pagina precedente Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 105 di 136 ana Page Events Editor Pg 1 Events and Actions Events EB Add E Insert E Delete Aan E Add Ele Insert tata DERE On Press PG Diw Select Key ION HEGE DEC DODO OK Bancel La pagina di allarme che abbiamo chiamato Error Communication potrebbe essere cos disegnata Attenzione 51 Verltlcato Un errore cl comunicazione tra terminale e HAMIL Cer Uscire andare nella Inesta INTO della pagina di ELUD S VErITfTtIcIirnre 3a Casa de eftofS gl 0cComUnicaZIohe Anche nella pagina di allarme occorre sovraccaricar
146. riglia di introduzione messaggi vi sono tutti i messaggi disponibili per la lingua selezionata nella casella di riepilogo Active Language In questo modo si hanno sotto con trollo tutti i messaggi disponibili per la lingua attiva Quando si crea un oggetto nuovo questa la modalita di introduzione impostata di default Premendo il pulsante Language si abilit l introduzione messaggi in modalita lingua percui nella griglia verr visualizzato un messaggio alla volta ma in tutte le lingue disponibili In cooperazione con i pulsanti appena citati sulla dialog compaiono alternativamente i campi Active Language e Active Message Nella dialog presente anche il pulsante Unlock o Lock Questo pulsante ha il compito di sbloccare il controllo della lunghezza messaggio in introduzione e porla alla massima dimen sione visualizzabile In questo modo possibile introdurre dei messaggi senza preoccuparsi anticipatamente della lunghezza in caratteri che occuperanno Inoltre nella dialog presente il pulsante di Replace in all messages il quale ha il compito di trascrivere il messaggio in introduzione su tutte le lingue disponibili La traduzione verra fatta successivamente dal programmatore Pulsante String Object Con questo pulsante si richiede a QPaint di depositare sulla pagina attiva un oggetto statico di tipo String Tramite l oggetto String possibile visualizzare un messaggio in lingua Le propriet imposta
147. rileva che stata richiesta la creazione della documentazione senza aver selezionato nessun argomento di stampa il QPaint esegue la stampa della documentazione di default Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 77 di 136 nane Codice messaggio 10051 Tipo messaggio INFORMATION Descrizione Loaded an old version project Azione Save operations will save it with new file format Si entra in questo stato quando QPaint rileva che Il progetto aperto stato realizzato con una versione precedente di QPaint e che in caso di salvataggio viene aggiornata la versio ne percui non sara pi apribile con la vecchia versione di QPaint gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 78 di 136 QEM panel Messaggi di compilazione Durante la fase di compilazione del progetto richiesta tramite il comando apposito o in fase di download il QPaint visualizza una finestra di dialogo dove mostra il report degli errori intervenuti L utilizzatore facendo un doppio click sull errore pu andare direttamente sul la pagina che ha creato l errore aprendo la finestra delle propriet dell oggetto incriminato Gli errori che possono comparire sono i seguenti Codice messaggio 12000 Descrizione Check project complete No error found Si entra in questo stato quando QPaint non rileva nessun errore in compilazione Codice messaggio 12001 Descrizione Undefined key in On Key event Si entra in questo stato quando QPaint
148. rogramma Vediamo ora un esempio di Background Mode Funzionalit generali 13 79 93 99 Funzionalit generali t1 EEHEEHEE Il terminale QEM e uno strumento erminale WEM e uno strumento appositamente studiato e realizza appositamente studiato e realizza to per facilitare l interfaccia o per facilitare interfaccia operatore con il sistema GMOUVE operatore con 11 sistema HMUUE Esso esegue un applicazione compo 550 esegue un applicazione compo sta da oggetti eventi e azioni Sta da oggetti eventi e azioni conseguenti Onseguent l i Oggetti 2 Eventi i i Uggetti a Azioni 4 UVUsriabili 4 Usriabili QPaint con Background bianco QPaint con Background verde Download progetto Funzionalit generali 13 Il terminale GEM e uno strumento appositamente studiato e realizza to per facilitare l interfaccia operatore con il sistema MOVE Esso esegue un applicazione compo sta da oggetti eventi e azioni conseguenti 1 Oggetti 2 Eventi 33 Azioni 4 3 Usriabili Visualizzazione terminale Figura 10 esempio Background Mode con risultato nel terminale dopo il download Come si pu vedere nella fig 10 quando il Background Mode verde risulta molto pi facile individuare il campo di competenza area di ogni singolo oggetto In questo modo si possono selezionare pi agevolmente gli oggetti trascinarli ed evitare sovrapposizioni indesiderate Impostando il Background Mode su bianco si ha invece la r
149. rogramma QPaint QEM System Small Medium e Large Font corrispondono ai font interni del terminale per cui sono sempre disponibili ed utilizzabili Ulteriori informazioni sui font sono disponibili nella sezione dedicata 3 L interfacciamento grafico all utente dovr essere semplice ed intuitivo rispettando soprattutto le convenzioni e gli standards dettati dai pi diffusi programmi per Windows Un analisi approfondita di prodotti Windows di largo consumo e l uso attento degli oggetti di costruzione standard ha reso il QPaint un programma dall interfaccia utente immediata ed intuitiva 4 Il programma dovra rappresentare con la maggior corrispondenza possibile il risultato finale nel terminale In questo caso si potrebbe parlare di What You See is What You Get cio che vedi ci che ottieni L uso delle capacit grafiche fornite da Windows combinate con gli algoritmi utilizzati nel terminale ha fatto si che quanto visualizzato sul monitor sia perfettamente corrispondente a quello che apparir nel display del termi nale Funzionalit grafiche aggiuntive come zoom dell immagine e cambio del colore di sfondo permettono inoltre di semplificare le operazioni di gestione del progetto 5 La funzionalita del programma non dovra essere vincolata dalle dimensioni dell attuale display terminale Attualmente il terminale utilizza un display grafico monocromatico da 240x128 pixel In futuro vi potrebbero essere nuove versioni
150. selezionata una va riabile del gruppo DEVPAR a sola lettura la propriet Ena ble Modify Mode dovra esse re OFF Se non definita non viene ef fettuato alcun controllo sul limite superiore Se non definita non viene ef fettuato alcun controllo sul limite inferiore Pag 58 di 136 QEM Enable Sign Mode Enable Alpha Mode Enable Modify Mode Flag che se ON abilita lin troduzione del segno getto a trattare dati in modalit alfanumerica difica del valore indirizzato dalla propriet Variable teri che compone l oggetto comprendendo i caratteri utilizzati dal segno e dal pun to decimale Ambiente di sviluppo Q Paint 2 1 v 1 0 Se il flag ON vengono di sabilitate le seguenti propriet Max Variable Min Variable Scale Type Scale A B C Enable Sign Mode Enable Lead Zero Blank Mode La proprieta Variable potra selezionare solamente sim boli del gruppo ARRSYS e ARRGBL di tipo BYTE Se il flag ON la propriet Enable Sign Mode viene abi litata Range 1 numero massi mo caratteri visualizzabili su una linea Questo valore dipende principalmente dal tipo di font selezionato e dal valore di Spacing Pag 59 di 136 QEM yam Propriet Scaling Mode Scale A Scale B Descrizione Definisce il tipo di scaling uti lizzato dall oggetto Valore di scale A Valore di scale B Ambiente di sviluppo Q Paint 2 1 v 1 0 La propriet Scal
151. spostano di un testo alla volta E da sottolineare che la suddivisione dell array in singole stringhe puramente logica in quanto in realta i caratteri si susseguono uno dopo l altro tuttavia quando si esegue il programma nel terminale l idea che ci si fa quella di stare trattando realmente un archivio di stringhe perfettamente separate tra di loro Ed cio che vogliamo ottenere con questo esempio gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 107 di 136 pane Vediamo come organizzata la pagina del terminale Dos 1z10nefdd Premere r Der Ifiserilife o miogGlfICIAare FI P2 F3 Vediamo pi in particolare l oggetto che rappresenta il testo Come detto un VALUE con queste proprieta Value Object Property Editor x General Coordinates and Fonts First Index Peo aniable Merzarable Minsananie P Enable lead mem Blank Mode Etrable Sion Mode Clone Global o Loca W Enable Alpha Mode i Enable Modily Mode al i IRA Length 20 ax 40 Chars Scaling Mode OK Cancel gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 108 di 136 nane E stata usata la variabile QCL abARRS in quanto l uso dei Value alfanumerici possibile solo con array a byte l indice di inizio lettura del valore dato dalla variabile swWord e quindi tale indice di inizio modificabile dall applicativo QCL e sono state abilitate le propriet Alpha Mode per poter tra
152. ssaggio alle varie pagine di avviso viene impostato usando eventi globali questo perch potrebbero esserci pi pagine che descrivono il normale funzionamento della nostra macchina e noi vogliamo essere sicuri che gli eventi temporali vengano segnalati sempre in qualsiasi punto ci troviamo Vediamo come si presenta la finestra degli eventi globali Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 113 di 136 QEM G lane Events and Actions Aae na E vents Eu Add Actions e l li On Time DO 15 H 12 i Goto Page Motore On Time H 1 7 M 30 Led Blink F1 Un Time MM 1 Un Time MM 4 On Time MM 7 Un Time MM 10 El Insert H gt Delete SetTime Time Properties O Month W Day E W Hour j2 T Minute Vediamo che ci sono solo eventi di tipo OnTime nella figura rappresentato l evento che attiva la pagina Motore ogni giorno 15 alle ore 12 Analizziamo le proprieta dell evento OnTime esse sono Month Day Hour e Minute Se nessuna di queste selezionata l evento non viene mai generato come se non esistesse Se invece selezionato qualcosa l evento accade quando la propriet in esame assume per la prima volta il valore impostato Se vi sono pi propriet selezionate l evento generato quando si verifica la combinazione dei valori delle propriet stesse In questo esempio quando Day assume il valore 15 e quando Hour assume il valore 12 l evento viene generato e co
153. sso per esempio gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 96 di 136 SA GN _ Page Events Editor Pg 1 x Events and Actions Ten E Add E Insert Sie Delete STE E Add EB Insert zi Delete n Yar Ingresso OK Cancel Nell esempio precedente quando l ingresso Ingresso1 va a 1 si inizia il Data Entry dal primo campo modificabile in alto a sinistra A1 Attivazione del Data Entry in un particolare campo Se si vuole far iniziare il Data Entry da un campo particolare diverso da quello di default allora si dovra utilizzare la variabile del terminale DEOBJ assegnando ad essa il numero identificativo del primo campo che si vuole introdurre quando inizia il Data Entry Per cono scere tali numeri identificativi si deve selezionare la voce Page Data Entry Sequence Editor Ctrl D Apparir la seguente finestra Data Entry Sequence Editor Sequences O 6 vaus 8 vass Value Value8 8 Value gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 97 di 136 nane Se si vuole far iniziare il Data Entry dal campo C1 per esempio si dovr fare doppio click nella finestra precedente sopra il campo numerico C1 e quindi scrivere Page Events Editor Pg 1 xJ Events and Actions En E Add E Insert pasa Delete EOE El Add Hu Insert ZE Delete Set arable OED Begin Data Entry n Yar Ingrezzo 1 Base First Index Second Index
154. ster Led Un F Select Key OK Cancel Figura 42 finestra di dialogo Page Events Editor gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 42 di 136 QEM nane Come si puo vedere in fig 42 l editor eventi di pagina esattamente lo stesso utilizzato per gli eventi globali e differisce solamente per il testo visualizzato nel titolo della finestra di dialogo Gli eventi aggiunti rispetto a quelli globali sono On OUT Data Entry Confirm L evento On OUT Data Entry Confirm viene generato all uscita dal data entry da un campo con conferma del dato Object Name Valued Figura 43 Pannello di impostazioni evento On OUT Data Entry Confirm On OUT Data Entry No Confirm L evento On OUT Data Entry No Confirm viene generato all uscita dal data entry da un campo senza aver confermato il dato Object Name Valued Figura 44 Pannello di impostazioni evento On OUT Data Entry Confirm Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 43 di 136 QEM G lane Transfer Download Con questa voce di men si richiede a QPaint di effettuare il download del progetto nel terminale La procedura di download si divide in cinque fasi Il controllo del progetto La connessione seriale con il terminale La compilazione del progetto La cancellazione della memoria nel terminale Il download del progetto nel terminale O UV dA WIN Lo start del progetto scaricato nel terminale Il controllo del pr
155. sviluppo Q Paint 2 1 v 1 0 Pag 24 di 136 QEM G pane Message Languages lingue messaggi Tramite i bottoni Add Insert Remove e la gri glia di edit sottostante possibile definire fino a 10 diverse lingue messaggi per tutti i testi che compariranno sul terminale Per ogni lingua possibile definire un nome identificativo lungo al massimo 12 caratteri Nomi uguali per pi lingue sono ammessi Gli oggetti interessa ti dalle lingue messaggi sono gli oggetti grafici String e ValString Nel progetto vi deve essere sempre almeno una lingua attiva percio il pulsante Remove si disabilitera quando si arrivera ad avere una sola lingua Le lingue consentite sono al massimo 10 per cui i bottoni Add ed Insert si disabiliteranno quando si raggiungera tale valore Durante la fase di download verranno memorizzati nel terminale oltre a tutti i messaggi in lingua anche le loro descrizioni In questo modo tramite la pagina CONFIGURATION del terminale sara possibile scorrere la lista lingue disponibili e scegliere quale rendere attiva sul display Quando si ri muove una lingua esistente tramite il pulsante Remove tutti i messaggi associati a quella lingua in tutti gli oggetti String e ValString presenti nel progetto verranno automaticamente rimossi In QPaint possibile definire quale lingua messaggi usare per le varie visualizzazioni nell area di disegno Ci si ottiene effettuando un clic con il tas
156. tallatore del terminale visto che nelle pagine di set up sono disponibili anche altre confi gurazioni che se erroneamente toccate vedi velocit seriale possono interrompere il norma le funzionamento del sistema e richiedere l intervento di personale specializzato La lingua per selezionabile anche direttamente nella normale applicazione utente Esiste la variabile terminale SLANGUAGE il cui valore rappresenta il numero della lingua attualmente seleziona ta Si consideri il seguente progetto di esempio che stato sviluppato con 3 lingue C Project Informations _ r Cancel _ kessage Languages BO PIERA E EEE EE RESPIRO can n SI Insert Language Name ENGLISH ITALIANO Scale fi Scale B Scale C per la lingua ENGLISH la variabile SLANGUAGE assume valore 1 per la lingua ITALIANO assume valore 2 per la lingua TEDESCO assume valore 3 Per realizzare la scelta della lingua da applicazione senza utilizzare le pagine di Set up basta creare un oggetto VALUE assegnando la variabile SLANGUAGE con limiti di introduzione minimo 1 e massimo 3 Per questa soluzione si deve in qualche modo pero indicare la relazio ne tra nome lingua e valore numerico che non immediata per l utente finale Una soluzione pi elegante e funzionale quella di definire un oggetto VALSTRING con propriet Enable Modify Mode attiva dove i messaggi corrispondono ai nomi asseg
157. terna stata definita Il pulsante Add abilitato indicando che possi bile definire una nuova variabile mentre il pulsante Delete disabilitato poich non vi nessuna variabile da rimuovere Nella fig 18 invece raffigurata la stessa dialog in cui sono state definite svariate variabili interne di pi tipi di dato Si puo notare che il pulsante Delete risulta ora abilitato comparsa una barra a scorrimento verticale con la quale visualizzare tutte le variabili ed presente una linea di selezione per identificare la linea soggetta al l azione del tasto Delete Add Internal Yariable Data Type o m mj a aj Hame xar_name Cancel Figura 19 finestra di dialog Add Internal Variable gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 26 di 136 QEM yam Premendo il pulsante Add viene visualizzata la dialog di fig 19 In essa sono disponibili 5 pulsanti con i quali selezionare il tipo di dato desiderato F flag B byte W word L long e S single tipi di dati sono gli stessi presenti nel QMove In Name possibile impostare il nome della variabile Il prefisso non rimuovibile poich obbligatorio per ogni variabi le interna Nel caso in cui si tenti di dichiarare una variabile interna con un nome gia usato comparira un box di messaggio con la scritta Name var_name already used by another Internal Variable Premendo il tasto OK si ri
158. ti dal controllo del progetto Ad ogni linea corrisponde un errore Ogni oggetto pu avere pi errori e quindi pi linee In ogni caso gli errori di un determinato oggetto sono sempre raggruppati Una linea della lista composta delle seguenti parti lt causa gt lt collocazione gt lt codice errore gt lt descrizione gt causa Definisce il motivo della linea di rapporto In questo caso Error sta per errore nel progetto collocazione Definisce la collocazione dell errore Puo valere Event in global events Evento globale Action in global events Azione globale Event on page Evento sulla pagina dove il numero della pagina Action on page Azione sulla pagina dove il numero della pagina Object on page Oggetto grafico sulla pagina dove il numero della pagina Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 21 di 136 nane codice errore Codice identificativo dell errore Pu valere 12001 12002 12003 12004 12005 12006 12007 12008 12009 12010 12011 12012 12013 12014 12015 12016 12017 12018 12019 12020 12021 12022 12023 12024 12025 12026 Nell evento On Key non stato definito il tasto di attivazione Nell evento On Press non stato definito il tasto di attivazione Nell evento On Release non stato definito il tasto di attivazione Nell evento On Time non stato definito il tempo di attivazione Nell azione Goto Page non stata de
159. ti quegli oggetti che vengono disegnati sul display solamen te una volta al cambio della pagina attiva Per oggetti dinamici si intendono tutti quegli oggetti che sono in continuo aggiornamento sul display Oltre alla modalita di aggiornamento tra gli oggetti statici e dinamici esiste un altra importante differenza Ogni oggetto occupa per la propria visualizzazione una area grafica ben definita Quando due oggetti statici sovrappongono le loro aree di ingombro anche se parzialmente avviene che uno sempre visualizzato sopra all altro Questo dovuto al fatto che gli oggetti statici posseggono ciascu no una proprieta detta livello che identifica l ordine di disegno dello stesso Un oggetto con livello 3 viene sempre visualizzato sotto ad un oggetto di livello 4 Gli oggetti dinamici invece sono sempre prioritari rispetto a quelli statici percui verranno sempre visualizzati ad un livel lo superiore Nel QPaint sono presenti due voci di men che permettono di modificare il livello di disegno di un oggetto statico e pi precisamente Bring Up Object e Bring Down Object Inoltre quando sull area di disegno selezionato un oggetto statico sara presente nella Status Bar l indicazione del livello di disegno ad esso associato Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 57 di 136 QEM nane La barra degli strumenti di disegno composta dai seguenti pulsanti Da Pulsante Pointer Object Pulsante Value Object Pulsante Va
160. tilizzo di QPaint stato introdotta un interfaccia standard con la quale il programma comunica all utente l ingresso in particolari stati funzionali Gli stati notificati si dividono in 5 gruppi 1 Informazioni Tramite questo tipo di stato il QPaint comunica all utente informazioni riguardanti l operazione in esecuzione 2 Richiesta dati Tramite questo tipo di stato il QPaint richiede all uten te informazioni riguardanti l operazione in esecuzione 3 Pericolo Tramite questo tipo di stato il QPaint indica all utente che l operazione in esecuzione potrebbe portare a risultati non desiderati 4 Errore Tramite questo tipo di stato il QPaint indica all utente che stato riscontrato un errore nell operazione in esecuzione 5 Errore fatale Tramite questo tipo di stato il QPaint indica all utente che stato riscontrato un grave errore funzionale il quale non per mette un corretto funzionamento del programma e ne pre cede quindi la conclusione forzata Viene ora descritta l interfaccia standard dei messaggi fornita da QPaint HI QUESTION MO Hessage code 10014 Tipo messaggio Codice messaggio New setting could change Left and Top coordinate of the object Descrizione messaggio Da you confirm this operation 7 Azione intrapresa Figura 63 interfaccia standard messaggi Come si puo vedere nella fig 63 interfaccia standard dei messaggi altro non che un box di dialogo di Windows opportunatamente orga
161. to sinistro del mouse sul numero posto a sinistra del nome identificativo della lingua interessata Una freccia rossa fara da segnaposto alla lingua selezionata Il pulsante Cancel non ha alcun effetto sulle modifiche apportate alle lingue messaggi per cui tutte le impostazioni effettuate non potranno essere annullate Edit drawing mode tipo di visualizzazione in data entry Se si imposta il modo normal quando si accede al data entry le cifre lampeggianti saranno nere su fondo bianco Se si imposta il modo highlight quando si accede al data entry le cifre lampeggianti saranno bianche su sfondo nero In questa sezione si parlato delle pagine di terminale INFO e CONFIGURATION senza per descriverne la modalita di utilizzo Tutte le informazioni a riguardo sono disponibili nel ma nuale tecnico del terminale Project Internal Variables Con questa voce di menu si richiede a QPaint di aprire la finestra di dialogo Internal Variables dalla quale possibile aggiungere rimuovere e visualizzare le variabili interne Durante lo sviluppo di un progetto per il terminale sono disponibili tre diversi insiemi di variabili le variabili QMove le variabili interne e le variabili di terminale Le variabili QMove sono quelle messe a disposizione del terminale tramite l importazione di un file simboli Esse risiedono nella CPU del QMove a cui collegato il terminale e vi si accede tramite la comunicazione seriale Le variabili intern
162. torner alla dialog di figura 17 Project Global Events Editor Con questa voce di men si richiede a QPaint di aprire la finestra di dialogo Global Events Editor dalla quale possibile visualizzare ed introdurre gli eventi attivi a livello globale Un evento una particolare condizione che si verifica nel tempo e che viene rilevata dal terminale come ad esempio la pressione di un tasto o il cambiamento del valore di una variabile nella CPU del QMove Ad un determinato evento possibile associare una lista di azioni che il terminale andr a svolgere quando l evento viene rilevato Gli eventi si possono dividere in due gruppi di appartenenza eventi globali ed eventi di pagina Gli eventi globali vengono sempre elaborati prima di quelli di pagina Un evento definito sia negli eventi globali che negli eventi di pagina vedra eseguite prima le azioni relative all evento globale e poi quelle relative all evento di pagina La finestra di dialogo visualizzata sara la seguente Global Events Editor E4 Events and Actions Ze dd Ele Insert E vents Actions OK Cancel Figura 20 finestra di dialogo Global Events Editor Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 27 di 136 In un progetto possono essere creati tanti eventi quanta la memoria disponibile nel terminale L evento Onkey a livello globale non associabile ai tasti PGUP PGDN e INS per cui i corrispettivi pulsanti sul pannello im
163. traverso questa variabile possibile visualizzare o assegnare l anno del datario del terminale Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 86 di 136 nane Appendice 4 Esempi In questo documento sono riportati alcuni esempi applicativi Scroll personalizzato pagine di visualizzazione Per default il terminale utilizza i tasti PGUP e PGDN per cambiare la pagina di visualizzazione Se il progetto prevede molte pagine questi tasti forniscono uno scroll sequenziale e ordinato di tutte le pagine appartenenti al progetto Molte volte esiste la necessita di vincolare lo scroll all interno di solo determinate pagine ad esempio le pagine di parametrizzazione e le pagine di taratura Inoltre in alcuni casi si deve proteggere l accesso a queste pagine con una password Vedremo in questo esempio come realizzare tutto questo Supponiamo di avere un progetto composto da 4 pagine di visualizzazione normale 3 pagine di parametrizzazione e 2 pagine di taratura Supponiamo inoltre che la posizione delle pagine di parametrizzazione e taratura non coincida con l inizio o la fine della lista pagine Se ese guiamo un esploso del progetto risulta Lista pagine Nome pagina Pag nr 01 Visualizzazione 1 4 Pag nr 02 Visualizzazione 2 4 Pag nr 03 Parametrizzazione 1 3 Pag nr 04 Parametrizzazione 2 3 Pag nr 05 Parametrizzazione 3 3 Pag nr 06 Visualizzazione 3 4 Pag nr 0 Taratura 1 2 Pag nr 08 Taratura 2 2 Pag nr 09 Visua
164. ttare i valori dei singoli elementi dell array come caratteri e il Modify Mode che ci consente di poter introdurre il testo direttamente dalla pagina di termi nale Infine nel campo Length abbiamo specificato che la lunghezza dell oggetto Value di 20 caratteri Per la visualizzazione della posizione si usato un oggetto VALUE con variabile gbPosStr che rappresenta il numero d ordine del testo all interno della nostra lista Vediamo anche come sono stati definiti i tasti funzione e come sono stati usati Eventi e Azioni Page Events Editor Pg 1 x Events and cHons Eo Ha Add E Insert Zg Delete NRE EB Add Es Insert mia Delete Set Yarnable stF1 1 On Kep F2 Set Yarable fF2 0 n Fress F3 On Press F4 Fage Events Editor Pg 1 xl Events and Actions Evente E Add E Insert pya Delete SOR Blu Add Hu Insert Fia Delete Set Yarable stF2 1 Set Yanable stF1 0 On Fress F3 n Fress F4 L evento OnKey viene generato fino a quando il tasto relativo resta premuto questo ci serve per poter implementare lo scorrimento veloce della lista verso l alto e verso il basso Per questo usiamo i due tasti F1 e F2 che semplicemente impostano le due variabili di tipo Flag sfF1 e sfF2 che poi verranno gestite dall applicativo QCL tasti F3 e F4 operano nella stessa maniera nel senso che impostano analogamente le due variabili sfF1 e sfF2 solo che l evento O
165. tto Tramite questo comando il terminale avviera il progetto scaricato uscendo dalla modalita Download Configuration Se durante questa fase viene riscontrato un errore la procedura di download termina sara possibile uscire dalla dialog Download Project tramite il pulsante OK Le operazioni effettuate nel terminale non verranno annullate Graphics Font Report Con questa voce di menu si richiede a QPaint di aprire la finestra di dialogo Font Report dalla quale possibile visualizzare e stampare un rapporto dettagliato sui font disponibili inclusa l indicazione di quali sono in uso nel corrente progetto La finestra di dialogo visualizzata sar la seguente Font Report X rnme vet _ se E QEM System Small Font Terminal Font Print QEM System Medium Font Yes i Terminal Font QEM System Large Font Yes Terminal Font Tahoma 9x21 580 p292 Bpte Andale Mono 9x 280 Te B44 Eyte Courier New 942120 p292 Bpte Aral 9x1 980 4 99 Byte Arial 6x1 680 2609 Byte Footlight MT Light 1523250 13440 Byte Figura 45 finestra di dialogo Font Report Come si pu vedere nella fig 45 per ogni font viene visualizzato il nome lo stato di utilizzo nel corrente progetto e la quantit di memoria terminale che impegner se utilizzato font con il campo Size impostato a Terminal Font sono residenti nella ROM interna del termi nale per cui non vengono scaricati durante la fase di download e sono sempre disponibili i
166. uesta voce di men si richiede a QPaint di ordinare in modo manuale la sequenza del data entry nella pagina visualizzata Prima di fare l azione verr visualizzata la seguente finestra di dialogo Data Entry Sequence Editor Sequences value Value value3 Value value3 Yalue3 value X Value Valued alue alued Valued valued X Value Vvalue5 alue3 value5 value5 value X Valued VvalueG Valued valueG aleg 6 Yau ValueS Yale Value5 value value value X ValueG Value8 ValueB Yalue8 Value8 Figura 41 pannello Data Entry Sequence Editor Nella finestra in alto a sinistra viene visualizzata la pagina che si intende modificare eviden ziato in rosso il campo di data entry attualmente in modifica Nella finestra in basso viene visualizzata una tabella contenente Nella prima colonna il numero dell oggetto Nella seconda colonna viene visualizzato il nome dell oggetto Nella terza colonna viene data la possibilit di modificare il data entry di default disabi litata facendo un doppio click con il mouse sulla casella si abilita il data entry e viene contrassegnata con una X Nella quarta colonna viene visualizzato il nome dell oggetto a cui andra il data entry pre mendo il tasto a freccia a sinistra facendo un doppio click con il mouse sulla casella si disabilita il funzionamento del tasto Nella quinta colonna viene visualizzato il nome dell oggetto a cui andr i
167. unicazione sttiVazia aeaanil aaa 104 Intreduzione stanimerica 4 a delia rei 107 Gestione eventi temporali sicario ra iii 112 Pasina di PFESENLAZIONE sisi iraniana diza 116 ANAON E alias 123 Backup ROStore isa 134 gem Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 3 di 136 G pane Introduzione QEM QPaint 2 1 un ambiente di sviluppo grafico per la programmazione del terminale 1MMIQ In questo documento sono riportate le caratteristiche principali del programma QPaint Esso stato progettato per lavorare in stretta relazione con un sistema QMove e per questo motivo durante la descrizione del prodotto si faranno molti riferimenti ai concetti della programma zione in QCL Il terminale un dispositivo in grado di comunicare con sistemi QMove configurati con appli cativi diversi Per questo esso deve conoscere le informazioni relative a ciascuna delle varia bili dell applicativo QMove con il quale dovr colloquiare Tali informazioni si trovano in un particolare file con estensione SYM generato dalla compilazione dell applicativo QMove uti lizzando l ambiente di sviluppo Qview QPaint utilizza queste informazioni che una volta trasferite al terminale rendono possibile la connessione con il sistema QMove I cablaggi e collegamenti dell apparecchiatura descritta nel presente manuale devono ri spettare la Normativa Europea EN60204 1 Ai QView N Non QMOVE Applicativo QCL
168. zza m ADE T P e Sri e e 7 JAHECIEFGHIJKELMNO Si vede che i primi caratteri sono stati sostituiti da quelli che ci serviranno per realizzare lanimazione delle tubazioni e le valvole codici che visualizzano tali simboli sono quelli da 32 a 37 compresi Creiamo il nuovo font partendo da questo bitmap nel modo gia visto e lo chiamiamo Flusso il nome completo che QPaint assegna a questo font pertanto Flusso 8x9s0 Ambiente di sviluppo Q Paint 2 1 v 1 0 Pag 127 di 136 QEM O panel Value Obiect Property Eaitor RI Generals Coordinates and Fonts First Index Second Index Misa Rellgli RE Variable 1 hiar wanawe Rim Varable O Enable Leadzero Hank Made O Enable Sion Made W Enable Alpha Mode TO Enable Modify Mode Length E Mas 30 Chars Scaling Mode E ione e moba 0 Laga Ok Cancel Per visualizzare la tubazione come gia detto si crea un oggetto Value e lo si collega ad una variabile QCL di tipo Array Byte in questo caso abFlx1 e si imposta la proprieta Alpha Mode Il font prescelto Flusso e la lunghezza dell oggetto di 4 caratteri Per la tubazione in uscita dalla pompa 2 si usera in maniera analoga un altro oggetto Value legato alla variabile abFlx2 dell applicativo QCL Anche in questo caso l animazione control lata dal codice task QCL che analizzeremo tra breve Infine anche la tubazione orizzontale

Download Pdf Manuals

image

Related Search

Related Contents

Fichas Dyrup2010_abril_Dyrup Completo.qxd  ATTIVITÀ DIDATTICHE  Symetrix 202  Digitus PCMCIA Fast Ethernet Card  Marantz NR1601 Home Theater System User Manual  mataway overseeder  Spectra/Image Repair Manual    Kathrein UFS 641si  

Copyright © All rights reserved.
Failed to retrieve file