Compilatore risorse display grafico LCD serie IEC-line
Transcript
Compilatore risorse display grafico LCD serie IEC-line
Compilatore risorse display grafico LCD serie IEC-line aggiornamento: 22-11-2012 IEC-line by OVERDIGIT overdigit.com Compilatore risorse display grafico LCD 1. Il display grafico LCD I PLC della serie IPC-line possono disporre opzionalmente di un display grafico LCD liberamente programmabile mediante un’apposita libreria CoDeSys. Fare riferimento alla documentazione dello specifico PLC per verificare la disponibilità e la tipologia del display previsto. 2. Installazione del compilatore di risorse La gestione del display grafico LCD necessita di un file di risorse, da abbinare al programma CoDeSys, contenente tutta la grafica come icone, fonts caratteri e testi multilingua. Dopo aver preparato le immagini, i caratteri ed i testi necessari al proprio applicativo occorre utilizzare un programma apposito di compilazione per creare il file di risorse ed il file dei simboli identificativi. I files necessari al processo di compilazione sono i seguenti: • • RESOURCE.EXE UNICODE_TABLE.TXT Questi files sono presenti nella cartella “Resource” del CD di installazione assieme ad alcuni files di esempio di risorse. Si consiglia di copiare manualmente i due files indicati assieme ai files di font di base (FIX6X6.BMP e VAR10X14.BMP) in una cartella sotto ogni specifico progetto CoDeSys. 3. Le risorse del display LCD Il display grafico LCD, per poter operare in tutte le sue funzionalità, necessita di un file, detto file di risorse, contenente i dati di tutti gli oggetti visualizzabili. Gli oggetti attualmente implementati per il display sono di tre tipi: icone, fonts e testi. Le icone sono immagini grafiche fisse di varie dimensioni che possono essere posizionate sullo schermo mediante le apposite funzioni del linguaggio di programmazione. I fonts sono delle speciali icone che contengono al loro interno tutte le immagini dei caratteri di testo utilizzabili nelle funzioni di scrittura. I testi sono degli array di stringhe di caratteri ciascuna delle quali rappresenta lo stesso testo in una specifica lingua. I testi possono utilizzare anche i caratteri internazionali Unicode. 4. Preparazione delle risorse Per creare un file di risorse occorre per prima cosa preparare tutti i files sorgenti relativi ad ogni risorsa che si intende utilizzare. Per le risorse icona i files da preparare sono di tipo Bitmap monocromatico (nero/bianco) con dimensione in genere da pochi pixels fino a tutta l’area dello schermo (ad esempio 128x64). Per la creazione di questi files si possono utilizzare programmi semplici come Paint di Windows, oppure più sofisticati come PhotoImpact. In particolare quest’ultimo tool permette di disegnare l’immagine mediante oggetti grafici, facilmente posizionabili e modificabili, a differenza di Paint dove l’immagine è sempre costituita da singoli pixels indipendenti. Per disegnare ad oggetti si utilizzano IEC-line by OVERDIGIT Page 2 Compilatore risorse display grafico LCD files sorgenti in formato proprietario (.UFO nel caso di PhotoImpact) e solo alla fine ne viene salvata una copia anche in Bitmap. Normalmente le immagini sono disegnate con penna nera su sfondo bianco. In fase di visualizzazione, i pixels disegnati neri corrispondono all’accensione di pixels sullo sfondo del display LCD. Tuttavia con la funzione software “Reverse” la stessa immagine potrà essere visualizzata in negativo sul display. Un font è una particolare icona che contiene 256 sottoicone corrispondenti a tutti i possibili codici ASCII dei caratteri. Le immagini dei singoli caratteri sono disposte, all’interno dell’icona complessiva del font, su una matrice di 16x16 elementi. In particolare le prime 8 righe (codici da 0-127) sono prevalentemente utilizzate per il set dei caratteri Latini standard, mentre le successive 8 righe sono normalmente riempite con caratteri Unicode scelti in modo arbitrario. Il file UNICODE_TABLE.TXT, file di testo anch’esso Unicode, contiene una tabella di associazione tra uno o più caratteri Unicode ed un singolo codice ASCII del font. L’associazione di più caratteri Unicode, simili graficamente, all’immagine di un solo carattere, consente la visualizzazione di testi Unicode pur in presenza di un più limitato set di caratteri. I files di font e di conversione Unicode-ASCII sono personalizzabili secondo le specifiche esigenze. Nella cartella “Resource” del CD di installazione sono forniti dei files di esempio utilizzabili in buona parte dei casi ed in particolare nella visualizzazione di testi con caratteri Latini e Cirillici. Anche per i fonts l’utilizzo di sofisticati programmi come PhotoImpact consentono la creazione del file sorgente lavorando ad oggetti e posizionando i caratteri all’interno di una griglia di riferimento. I caratteri devono essere disegnati in nero su sfondo bianco e posizionati all’interno della relativa area, normalmente con allineamento in alto a sinistra. Per i fonts a spaziatura variabile è necessario inoltre disegnare un singolo pixel nella riga più bassa per diminuire la larghezza dello spazio alla destra dei caratteri più stretti. La colonna dei pixels del carattere marcata con tale punto non è compresa nel carattere stesso. Un esempio di font a spaziatura variabile è riportato nel seguito: IEC-line by OVERDIGIT Page 3 Compilatore risorse display grafico LCD Nel font illustrato (VAR10X14.BMP) ogni area corrispondente ad un carattere ha dimensione 10x14 pixels e l’intero font ha dimensione 160x224 pixels. I codici ASCII dei caratteri del testo da scrivere indirizzano le relative sottoicone del font le quali sono disegnate sul display in successione. L’area bianca attorno al carattere consente di spaziare in senso orizzontale e verticale i caratteri stessi. Nel caso di caratteri a spaziatura variabile la scrittura dei pixels del carattere termina, sulla destra di questo, alla colonna che precede l’eventuale punto nell’ultima riga. IEC-line by OVERDIGIT Page 4 Compilatore risorse display grafico LCD Le risorse di tipo testi sono una collezione di righe di caratteri raggruppate, nelle varie lingue, per lo stesso identificativo di testo. Una risorsa di tipo testi è un intero file che definisce un certo numero di testi nelle varie lingue. Il seguente TEXT_1.TXT è un esempio di file di risorse testi: TEXT_1_ID_0 "FILE "FILE "FILE "FILE TEXT_1: TEXT_1: TEXT_1: TEXT_1: TEXT TEXT TEXT TEXT 0 0 0 0 LANGUAGE LANGUAGE LANGUAGE LANGUAGE 0" 1" 2" 3" TEXT_1_ID_1 "FILE "FILE "FILE "FILE TEXT_1: TEXT_1: TEXT_1: TEXT_1: TEXT TEXT TEXT TEXT 1 1 1 1 LANGUAGE LANGUAGE LANGUAGE LANGUAGE 0" 1" 2" 3" TEXT_1_ID_2 "FILE "FILE "FILE "FILE TEXT_1: TEXT_1: TEXT_1: TEXT_1: TEXT TEXT TEXT TEXT 2 2 2 2 LANGUAGE LANGUAGE LANGUAGE LANGUAGE 0" 1" 2" 3" Ogni testo inizia con una label identificativa ed arbitraria (in questo caso TEXT_1_ID_0 per il primo testo) per poi continuare con l’array di stringhe per le varie lingue racchiuse tra due caratteri “ (doppio apice). La lunghezza dei testi non deve necessariamente essere uguale, ne all’interno dello stesso testo nelle varie lingue, ne tra diversi testi. Il file di risorse conterrà una copia di tale testo con le righe a lunghezza fissa pari alla massima trovata e con un riempimento delle righe più corte mediante il carattere di terminazione stringa (codice 0). Il file di risorse testi può contenere anche caratteri Unicode. In tal caso il file deve essere salvato come testo Unicode con codifica a 16 bits. Un valido editor di testi che gestisce i caratteri Unicode è WordPad disponibile negli Accessori del menu di Start del Desktop. Durante la compilazione di un file di risorse testi, se il file è di tipo Unicode, viene utilizzata la tabella di conversione Unicode-ASCII, presente nel file UNICODE_TABLE.TXT, nella quale si fa riferimento ai codici ASCII dei caratteri dei fonts utilizzati. Se non si utilizzano caratteri Unicode si consiglia di creare dei normali file di testo ASCII in quanto questi richiedono solo un byte per ogni carattere invece di due. In tal caso non viene utilizzato il file con la tabella di conversione ed i testi sono trasferiti direttamente nel file di risorse. 5. Compilazione delle risorse I files sorgenti devono essere compilati per creare il file di risorse da inserire sulla memoria della CPU. Per questa operazione si utilizza il programma di utility RESOURCE.EXE disponibile nel CD di installazione. Questo programma necessita anche del file UNICODE_TABLE.TXT per la conversione Unicode-ASCII nel caso di compilazione di testi Unicode. Per informare il compilatore su quali risorse includere si utilizza il file RESOURCE.CFG. Un esempio di file di configurazione è il seguente: IEC-line by OVERDIGIT Page 5 Compilatore risorse display grafico LCD ICON ICON_1.BMP FONT FIX6X8.BMP TEXT TEXT_1.TXT Ogni riga del file di configurazione include uno specifico nome di risorsa preceduto da un descrittore del tipo (ICON, FONT e TEXT). I nomi dei files possono anche comprendere il percorso. Il file di configurazione deve essere passato come parametro al programma RESOURCE.EXE predisponendo ad esempio un file .BAT contenente la seguente riga di comando: RESOURCE RESOURCE.CFG Per semplificare la preparazione del file di configurazione, il programma RESOURCE.EXE, chiamato senza parametro, scansiona tutti i files presenti nella stessa cartella del programma e crea in automatico un file di configurazione contente tutti i files trovati. In particolare tutti i files .BMP trovati sono associati al descrittore ICON tranne per i files contenenti, nel loro nome, la stringa 0X fino a 9X che sono invece considerati FONT. Inoltre qualsiasi file il cui nome inizia con il carattere _ (underscore) non viene incluso nel file di configurazione. Per maggior semplicità, si consiglia di creare una cartella all’interno di ogni progetto CoDeSys, inserendoci tutti i files necessari alla compilazione e tutti i files sorgenti delle risorse. Lanciando l’esecuzione del compilatore RESOURCE.EXE senza parametri, saranno automaticamente compilati tutti i files di risorse presenti. A seguito del processo di compilazione vengono generati i seguenti due files: • • RESOURCE.RES RESOURCE.EXP Il file RESOURCE.RES contiene tutti i dati delle risorse compilate. Questo file deve essere copiato nella cartella della scheda CPU corrispondente al programma IEC (normalmente “A:\PLC_PRG”). Questo trasferimento può essere effettuato mediante un collegamento FTP con il disco di sistema oppure mediante il menu di CoDeSys “Online>Write file to PLC”. La gestione del display può avvenire anche in assenza di uno specifico file di risorse creato dall’utente. Infatti il file di default DEFAULT.RES è preinstallato nella cartella “A:\SYSTEM” del PLC e costituisce un file minimale di risorse grafiche del display LCD (contenente solo il font 6x8 pixels), nel caso che il programma del PLC non ne utilizzi altri. Il file RESOURCE.EXP è un file importabile con il menu “Project>Import” del tool di sviluppo CoDeSys e permette di definire, all’interno del progetto IEC, l’insieme delle dichiarazioni degli identificativi costanti sotto forma di VAR_GLOBAL CONSTANT. Queste sono le label identificative delle risorse alle quali si farà riferimento con le funzioni di gestione del display. NOTA: L’ambiente di sviluppo CoDeSys mantiene aggiornate in automatico le dichiarazioni degli identificativi mediante un link al file RESOURCE.EXP creato durante la fase di importazione. IEC-line by OVERDIGIT Page 6