Interfaccia seriale per LM709SW Caratteristiche tecniche : Alimentazione di ingresso : 6.6 VDC 12 VDC Interfaccia di collegamento : RS232 Segnalazione a led di rx e tx seriale Segnalazione a led per errori di comunicazione Regolazione contrasto Pulsante di reset. Definizione display : 512 * 64 PIXEL Non retroilluminato 13 Ingressi digitali interrogabili da seriale Possibilità di interfacciamento via USB mediante interfaccia USB-RS232 facilmente reperibili sul mercato. Un interfacciamento di questo tipo, non comporta nessuna modifica al software di gestione della RS232. Applicazioni : Tastiera esterna con display Gestione allarmi Display esterno per comunicazione visiva Interfaccia ingressi digitali via RS232 Varie, basta la fantasia
Utilizzo : Semplice programmazione tramite porta seriale RS232 Potete utilizzare qualsiasi programma di comunicazione seriale per PC. Quindi utilizzabile via DOS, Windows, Vista CONNESSIONI ELETTRICHE Attenzione : Le connessioni tra 'COMUNE INGRESSI' e ingressi A1- A13 deve avvenire attraverso 'contatto pulito'. Non superare mai i 12VDC di alimentazione, questo potrebbe causare il surriscaldamento dell'interfaccia, e quindi la sua rottura irrimediabile.
CONNESSIONI CAVO RS232 CON PERSONAL COMPUTER ISTRUZIONI PER L'UTILIZZO DI LM709SW CON INTERFACCIA SERIALE La comunicazione via seriale può avvenire tramite i più disparati software presenti sul mercato. ATTENZIONE : ricordarsi di settare la porta seriale con i seguenti parametri : velocità di trasmissione 115200 baud bit di dati 8 parità nessuna bit di stop 1 controllo di flusso (nessuno/hardware)
ESEMPI DI COMUNICAZIONE Le comunicazioni avvengono sempre con - l invio di : come start - Invio di due caratteri ASCII per la definizione della lunghezza della stringa, LRC incluso - Codice comando - LRC - l invio di! come start Ogni comando andato a buon fine ha come risposta: K,CH$13(CARRIAGE RETURN),CH10 (LINE FEED). Tutte le operazioni sia grafiche che alfanumeriche hanno verso obbligatorio da sinitra verso destra. Le eventuali coordinate passate devono essere spedite secondo quest ordine di esecuzione. Attenzione: per ragioni di semplicità nelle trasmissioni delle posizioni, è stato fissato il seguente criterio: dato che Y assume valori fra 0 e 63 e Y assume valori fra 0 e 511, per spedire solo 2 byte di identificazione delle coordinate, l MSB della Y è passato come MSB della X, e alla Y si sottrae 256. ESEMPIO: X=10, Y=300, si passerà X= 128+10= 138 e Y=300-256 = 44
CODICI COMANDI CANCELLAZIONE DISPLAY Il display può essere cancellato in due diversi modi: 1) cancellazione diretta di tutto il display 2) cancellazione selettiva di alcune aree Codice comando 05: cancella tutto il display Passare direttamente :06050000! Codice comando 07: permette di cancellare da una determinata colonna Y0 ad un altra Y1 Ricordare nella definizione delle coordinate, che se Y supera il valore 255, è necessario settare nella trasmissione, una apposita flag, e al posto della Y passare Y-256. ESEMPIO: cancella dalla colonna 0 alla colonna 319 Passare :0C070000013F00! 0C= Lunghezza 07= codice comando 00= flag oltre 256 = 0 (Y0<256) 00= Y0 01= flag oltre 256 =1 (Y1=>256) 3F= 319-256 = 63 00=LRC CODICI COMANDI POSIZIONAMENTO PUNTO DI INIZIO TRACCIAMENTI Codice comando 0A: posizione cursore di inizio tracciamento Per imporre che un qualsiasi tracciamento inizi da un determinato punto, passare le coordinate di detto punto. Per tracciamento si intende sia il disegno di segmenti o punti, sia la visualizzazione di caratteri alfanumerici.
ESEMPIO: fissare nuovo inizio tracciamento alle coordinate X,Y=7,0 Passare :080A070000! 08 = lunghezza stringa 0A= Codice comando 07= X 00= Y 00=LRC CODICI COMANDI GRAFICI CON ESEMPIO Codice comando 01: disegna un punto alle coordinate X,Y=63,424 ES.: :0801BFA900! 08 = LUNGHEZZA STRINGA 01 = CODICE COMANDO BF = 80+3F;80 è l aggiunta di 256 alla Y, 3F=63ma colonna A9 = 169; coordinata Y che aggiunta a 255 ottenuto dall MSB della X, da 424 0 = LRC non calcolato. Codice comando 02: disegna un segmento fra le coordinate X0,Y0 e X1,Y1 con X0,Y0=63,00 X1,Y1=00,511 (Diagonale / ) ES 1.: :0C023F0080FF00! 0C = LUNGHEZZA STRINGA 02 = CODICE COMANDO 3F = X0 (63 decimale) 00 = Y0 80 = X1 pari a 0 e MSB per Y FF = Y1 vale 255+256=511 00 = LRC non calcolato. ES 2: :0A0280FF0000! disegnato e quello definito con X2,Y2=00,511 In questo caso crea un segmento fra l ultimo punto
L interpretazione del comando è la stessa dell esempio precedente, ma come si nota, manca la definizione delle altre due coordinate che sono sostituite da 00. Codice comando 06: impartendo questo comando, si comanda la progressiva cancellazione della colonna quando si disegna un nuovo segmento. ESEMPIO: :040600! Codice comando 0C: è correlato al comando 0D o 0E. Impartendo 0C si fissano le coordinate di inizio di una sequenza orizzontale di dati esadecimali a 8 bit, per disegnare, per esempio una sbarra orizzontale con una greca La coordinata X può assumere valori tra 0 e 7 (0 è la più alta). La coordinata Y segue le stesse regole del posizionamento tradizionale. Per passare Y oltre i 255, alzare MSB di X ESEMPIO: :080C070000! :080C000000! :080C010000! 08 = LUNGHEZZA STRINGA 0C = CODICE COMANDO 07 = X0 prima riga da sotto 00 = Y0 00 = LRC non calcolato. Codice comando 0D: è correlato al comando 0C e consente di passare una sequenza di massimo 80 dati esadecimali, per disegnare una sbarra orizzontale con una disegno particolare. ESEMPIO: 0C0DAA55AA5500! 0C = LUNGHEZZA STRINGA 0D = CODICE COMANDO AA = STRUTTURA PRIMO DATO 55 = STRUTTURA SECONDO DATO AA = STRUTTURA TERZO DATO 55 = STRUTTURA QUARTO DATO 00 = LRC non calcolato.
Quanto passato nell esempio genera, alle coordinate passate con C la seguente sbarretta di quattro colonne: 128 64 32 16 8 4 2 0 A 5 A 5 A A 5 5 Codice comando 0E : è correlato al comando 0C e consente di passare un dato per un determinato numero di volte che può anche essere pari all intera riga di 512 colonne. Basta specificare il numero di ripetizioni e il dato. Il dato è strutturato come nel comando D. ESEMPIO: 0A0E2301AA00! 0A = LUNGHEZZA STRINGA 0E = CODICE COMANDO 23 = LOW BYTE del numero di ripetizioni 01 = HIGH BYTE del numero di ripetizioni AA = STRUTTURA TERZO DATO 00 = LRC non calcolato. In questo caso verrà passato il dato AA per 291 volte. CODICI COMANDI ALFANUMERICI CON ESEMPIO Il display è provvisto di un completo set di caratteri. È possibile inviare la scrittura di un carattere in qualsiasi punto del display. Il posizionamento di un carattere va fatto tenendo conto che le coordinate con cui viene posizionato, sono quelle dell angolo inferiore sinistro. I caratteri possono assumere 9 diverse dimensioni da 0 a 9. Si possono inviare diverse stringhe di caratteri consecutive l una all altra. Se fra una stringa e la successiva non si forniscono nuovi riferimenti in merito alla posizione, le due stringhe vengono visualizzate una in coda all altra, senza spazi.
Sequenza consigliata per l invio della prima stringa: 1) definire dimensione 2) definire posizione di inizio 3) passare stringa Per le successive spedizioni, inviare direttamente la stringa, a meno che non si voglia modificare la dimensione, la posizione o entrambi i parametri. Il posizionamento del testo si effettua con il codice comando 10 descritto in precedenza. Codice comando 09: Invio nuova dimensione ESEMPIO: si vuole fissare la dimensione a 4 :06090400! 06=lunghezza stringa 09=codice comando modifica dimensione 04=valore dimensione 00=LRC Codice comando 0B: passaggio della stringa ESEMPIO: si vuole scrivere ELECTROWIZARD :1E0B456C656374726F57697A61726400! 1E=lunghezza stringa 0B=codice comando 45.64 =passaggio dell ASCII dei vari caratteri che compongono la scritta 00=LRC Controllo stato dei 13 pin in input Codice comando 08: stato porte Il programma verifica la chiusura di 13 contatti esterni. Sono normalmente forzati alti. Il comando :040800! Richiede lo stato delle porte
04:lunghezza stringa 08:codice comando 00:LRC Alla ricezione del comando, il programma risponde con: :06F91FA4! 06=lunghezza risposta F91F=stato porta commentato nel seguito A4=LRC La struttura della risposta in merito alle porte chiuse è la seguente da sinistra a destra A6,A7,A8,A5,A4,A3,A2,A1,X,X,X,A9,A10,A11,A12,A13 Nel caso dell esempio F91F (BINARIO '1111100100011111')si ha: A6=1,A7=1,A8=1,A5=1,A4=1,A3=0,A2=0,A1=1,X=0,X=0,X=0,A9=1,A10=1,A11=1,A12=1,A13=1