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