LA COMUNICAZIONE SERIALE Cod. 80034 -02/2000 1 INDICE GENERALE Capitolo 1 Introduzione alla comunicazione seriale Pag. 3 Capitolo 2 Protocollo CENCAL Pag. 19 Capitolo 3 Protocollo MODBUS Pag. 83 2 CAPITOLO 1 INTRODUZIONE ALLA COMUNICAZIONE SERIALE 3 INDICE - Introduzione alla comunicazione seriale pag.5 - Interfaccia HW pag.6 - Standard seriale RS232 pag.6 - Collegamento seriale Current Loop “passivo” pag.6 - Standard seriale RS485 a 4 fili pag. 6 - Configurazioni più complesse pag. 7 - Protocollo asincrono pag.8 - Problemi di comunicazione ? pag.9 - RS232 pag. 9 - RS485 a 4 fili, RS422 pag.10 - RS485 pag.12 - Current loop pag.14 - Interfaccia current loop negli strumenti Gefran pag.15 - Il collegamento pag.17 - Glossario pag.18 4 Introduzione alla Comunicazione Seriale Personal Computer Industriale (master) Strumentazione GEFRAN (slave) Con il termine comunicazione digitale si intende il complesso delle operazioni attraverso le quali viene realizzato il collegamento tra apparati elettronici, quali strumenti, plc o terminali, ed un personal computer (nel seguito PC). Il PC (che ha la funzione di Master) interroga i dispositivi connessi (slave) chiedendo loro di fornire le informazioni richieste, quali il valore misurato in ingresso, lo stato degli allarmi ecc. Per implementare questa funzionalità è indispensabile verificare le seguenti condizioni: Il PC (Master) ed i dispositivi (slave) devono possedere uno stesso tipo di interfaccia Hardware ; esistono infatti diversi standard con caratteristiche elettriche differenti (ricordiamo, tra i più comuni, gli standard RS232, RS485, Current Loop). Se il Master e gli slave possiedono interfacce HW differenti è necessario utilizzare un adeguato convertitore (quale il Gefran CLB94) che svolge anche il compito di optoisolare la linea di comunicazione. Il PC (Master) ed i dispositivi (slave) devono utilizzare uno stesso protocollo di comunicazione (in pratica devono “parlare nella stessa lingua”) ; il protocollo utilizzato da GEFRAN è un protocollo proprietario, ovvero sviluppato dalla stessa GEFRAN per ottimizzare la comunicazione seriale con i propri strumenti e denominato CENCAL. Sui modelli più avanzati è disponibile anche il protocollo MODBUS, uno standard riconosciuto. 5 INTERFACCIA HW Gli standard HW utilizzati da GEFRAN per la comunicazione seriale sono i seguenti : n RS232 n RS 485 n Current loop Standard seriale RS232: e’ uno standard EIA che definisce le caratteristiche elettrico/funzionali dell’ interfaccia seriale per il collegamento tra due sistemi. L’informazione viene trasmessa mediante un segnale in tensione riferito ad un filo di massa (il valore del singolo bit viene decodificato dal ricevitore sulla base del valore in tensione rilevato). Questa soluzione permette il collegamento diretto di un PC con uno strumento dotato di interfaccia seriale RS232 entro brevi distanze. Le velocita’ di trasmissione utilizzabili sono: 1200, 2400, 4800, 9600 e 19200 baud. I limiti sono nella massima velocita’ che non supera i 20Kb/sec e nella distanza massima tra gli apparati non superiore ai 15m per la scarsa immunita’ ai disturbi elettromagnetici. Prevede il collegamento di una sola unita’ slave. L’ unico vantaggio e’ nel basso costo. Si riportano i connettori piu’ diffusi per un collegamento seriale con PC: Collegamento seriale current loop “passivo”: la caratteristica del segnale ricevuto che “porta” l’informazione e’ la corrente. Questa soluzione richiede, per il collegamento con un PC di supervisione, un modulo di conversione RS232 / current loop passiva (ad esempio modulo Gefran CLB94). Il convertitore, che deve essere posto entro una distanza di 2..3 metri dal PC e fornisce la corrente necessaria sia in ricezione che in trasmissione (per questo il collegamento e’ detto “passivo”), puo’ collegare fino a 10 unita’ slave poste entro una distanza di 100 metri. La velocita’ di trasmissione standard e’ 1200 baud. Standard seriale RS485 a 4 fili: La caratteristica del segnale che “porta” l’informazione e’ la tensione, ma, a differenza della RS232 dove la tensione e’ rilevata rispetto ad un filo di massa, qui viene rilevata in modo “differenziale” tra due fili dei quali l’uno porta il segnale e l’altro porta il segnale negato. In questo modo si ottiene una maggiore immunita’ ai disturbi e si riescono a coprire distanze maggiori. Per questo standard occorre utilizzare PC e strumenti dotati dell’opportuna interfaccia RS485, ovvero utilizzare due moduli di conversione CLB94 che convertano da una parte (lato PC) la RS232 in RS485 e dall’altro (secondo CLB94, lato strumenti) da RS485 a current loop passiva. Con questa seconda soluzione si possono coprire distanze elevate, anche oltre i 600m, con 32 slave (SLV) collegati. Le velocita’ di trasmissione selezionabili sono: 1200, 2400, 4800 e 9600 baud. 6 Si possono considerare valide le caratteristiche dello standard EIA RS485 a due fili previsto per protocolli half-duplex: n data rate massimi di 10Mbps entro i 12m n distanze sino ad 1.2 km con velocita’ di 100Kb/sec n un massimo di 32 unita’ collegate su un’ unica linea n terminazione di linea con due resistenze da 120ohm agli estremi n trasmissione differenziale con conseguente bassa emissione elettromagnetica Configurazioni piu’ complesse: ove le distanze lo richiedano ovvero sia necessario collegare un numero di strumenti maggiore e’ possibile ottenere configurazioni piu’ complesse delle precedenti, collegando in parallelo fino a dieci CLB94 sulla medesima seriale RS232, per un totale quindi di 100 Slave in current loop. Oppure collegare fino a tre CLB94 in cascata (il primo di conversione RS232 / Current loop e gli altri due in current loop), arrivando a coprire complessivamente una distanza di 300 metri. E’ pure possibile collegare in un’ unica struttura multidrop (una struttura cioè costituita da più oggetti collegati in seriale) varie unita’ dotate di interfacce fisiche di comunicazione diverse, utilizzando gli opportuni moduli CLB di conversione. 7 PROTOCOLLO ASINCRONO La trasmissione asincrona non richiede la contemporanea trasmissione di un segnale di riferimento necessario al ricevitore per il campionamento del segnale stesso. Un sistema di trasmissione asincrona trova nel formato stesso un elemento di sincronizzazione ( esempio: il sempre presente bit di Start ) Si desidera ricordare il formato di una trasmissione asincrona. Nel seguente schema e’ rappresentata la struttura di un byte con 5, 6, 7, 8 bit di dato, con o senza bit di parita’. Sequenza temporale dei dati Stato logico “1” (MARK) LSB 0 1 bit 2 3 4 5 MSB 6 7 8 logico “0” (SPACE) bit di Start del successivo byte 1, 1.5, 2 bit di Stop bit di Parita’ (opzionale) 5,...,8 bit di dato bit di Start 8 PROBLEMI DI COMUNICAZIONE ? Si propongono semplici indicazioni per una rapida verifica di corretto funzionamento per linee di comunicazione RS232, RS485, CurrentLoop. RS232 La linea e’ costituita da tre conduttori, un riferimento GND e due segnali Rx e Tx. I nomi dei segnali sono assegnati e riferiti all’ apparato PC o strumenti, cioe’ il segnale Rx e’ per ricevere dati e il segnale Tx e’ per trasmettere dati. Da quanto detto, si giustifica il tipo di collegamento tra due unita’ che prevede che il segnale Tx di uno si colleghi al segnale Rx dell’ altro. Apparato 1 Rx Tx GND Apparato 2 Rx Tx GND Principali controlli per un corretto funzionamento: a. Verificare il collegamento elettrico, individuando i segnali Tx, Rx, GND b. In uno stato di inattivita’ della linea e’ presente lo stato logico “1” (MARK) che corrisponde a una tensione negativa -5...-15V, e’ una misura da poter fare con semplice tester. c. Con comunicazione attiva, la forma d’onda presenta variazioni di stato logico a “0” (SPACE) corrispondente a un valore di tensione 5...15V. d. Disponendo di un semplice oscilloscopio possiamo individuare la conformita’ della forma d’onda al seguente modello: “0” (SPACE) +5...+15V V +3V 0V -3V -5...-15V “1” (MARK) Max 1 msec e. La resistenza di ingresso misurata tra Rx e GND deve essere inferiore ai 3...7Kohm. 9 RS485 quattro fili, RS422 La linea e’ costituita da quattro conduttori piu’ uno opzionale di riferimento di massa, due segnali differenziali Rx+ / Rx- e Tx+ / Tx- . I nomi dei segnali sono assegnati e riferiti all’ apparato PC o strumenti, cioe’ il segnale Rx e’ per ricevere dati e il segnale Tx e’ per trasmettere dati. Da quanto detto, si giustifica il tipo di collegamento tra le unita’ che prevede che il segnale Tx del master (PC) si colleghi ai segnale Rx degli slave (strumenti) e viceversa. E’ da osservare che il collegamento RS422 si limita ad un collegamento di trasmissione/ricezione tra due sole unita’ ( un master ed uno slave), la possibilita’ di avere piu’ di uno slave sono solo del collegamento in RS485. Master Rx + Rx - Slave1 Slave 2 (solo RS485) Slave n (solo RS485) Rx + Rx - Rx + Rx - R Rx + Tx + Tx - Tx + Tx - Tx + Tx - Tx + Tx - Resistenza di terminazione R = 120ohm R Rx - NOTA: Il collegamento in RS485 quattro fili con schede PC/AT e’ il seguente: PC/AT RXD + RXD TXD + TXD - (master) Strumentazione Gefran Tx Tx + Rx Rx + 10 Principali controlli per un corretto funzionamento: (I riferimenti Tx e Rx sono relativi ai collegamenti di strumentazione Gefran) a. Verificare il collegamento elettrico, individuando i segnali Tx+/ Tx-, Rx+/ Rx-. b. In uno stato di inattivita’ della linea e’ presente lo stato logico “1” (MARK) che corrisponde a una tensione negativa (VRx+ - VRx-) normalmente -3...-5V (che rientra nell’ intervallo ammesso -0.2...-19V); e’ una misura da poter fare con semplice tester. c. Con comunicazione attiva, la forma d’onda presenta variazioni di stato logico a “0” (SPACE) corrispondente a un valore di tensione positiva (VRx+ - VRx-). +12V VRx+ VRx+ Rx+ (A) VRx- Rx- (B) +11.8V indeterminazione +/-0.2V +11.8V SPACE -7V +12V VRxMARK -6.8V -7V -6.8V d. Disponendo di un semplice oscilloscopio possiamo individuare la conformita’ della forma d’onda al seguente modello: “0” (SPACE) (VRx+) - (VRx-) +3...+5V 0V -3...-5V t “1” (MARK) Bit-time=1000/ baud msec e. La resistenza di ingresso di ogni ricevitore misurata tra Rx+ e Rx- deve essere superiore a 12Kohm, senza resistenza di terminazione deve essere superiore a 12Kohm/ n. apparati collegati.. 11 RS485 La linea e’ costituita da due conduttori piu’ uno opzionale di riferimento di massa, il segnale e’ di tipo differenziale. Questo tipo di collegamento prescinde dal ruolo che svolge l’apparato collegato alla linea. E’ da osservare che il collegamento RS485 a due fili si puo’ ottenere da un’ interfaccia a quattro fili collegando Rx+ con Tx+ e Rx- con Tx-. E’ necessario provvedere ad una polarizzazione della linea per evitare uno stato indeterminato quando questa si trova in alta impedenza. La polarizzazione deve essere tale da imporre uno stato MARK. In questo caso l’ unita’ master trasmette un messaggio, tutti gli slave lo ricevono, al termine se uno di questi deve dare risposta si pone come master ad inviare il proprio messaggio. Caratteristica di questo collegamento e’ che tutti gli apparati collegati alla linea ricevono cio’ che transita sulla stessa. R = 120ohm Tx+ Tx- Rx+ Rx- Tx+ Tx- Rx+ Rx- Tx+ Tx- Rx+ Rx- Lo standard RS485 prevede un massimo di 32 unita’ collegate sulla stessa linea. Ogni unita’ collegata pone la porta Tx in alta impedenza, cioe’ non impone alcun stato elettrico alla linea stessa; quando un elemento deve trasmettere attiva la propria linea di trasmissione normalmente tramite un segnale RTS (richiesta di trasmissione), anche chi trasmette riceve i dati che invia in trasmissione. NOTA: Il collegamento in RS485 due fili con schede PC/AT e’ il seguente: PC/AT (master) Strumentazione Gefran A+ (RXD/TXD+) Tx/Rx B- (RXD/TXD-) Tx/Rx + 12 Principali controlli per un corretto funzionamento: (I riferimenti Tx e Rx sono relativi ai collegamenti di strumentazione Gefran) a. Verificare il collegamento elettrico, individuando il segnale Tx+/ Tx- ( Rx+/ Rx- ). b. In uno stato di inattivita’ della linea, se e’ inserita la polarizzazione della stessa, e’ presente lo stato logico “1” (MARK) che corrisponde a una tensione negativa (V+) - (V-) normalmente -3...-5V (che rientra nell’ intervallo ammesso -0.2...-19V); e’ una misura da poter fare con semplice tester. c. Con comunicazione attiva, la forma d’onda presenta variazioni di stato logico a “0” (SPACE) corrispondente a un valore di tensione positiva (V+) - (V-). Tx+ TxV+ +12V V+ Rx+ Rx- +11.8V SPACE indeterminazione +/-0.2V +11.8V V- -7V +12V VMARK -6.8V -7V -6.8V d. Disponendo di un semplice oscilloscopio possiamo individuare la conformita’ della forma d’onda al seguente modello: “0” (SPACE) (V+) - (V-) +3...+5V 0V -3...-5V t “1” (MARK) Bit-time=1000/ baud msec e. La resistenza di linea misurata tra + e - deve essere superiore a 60ohm, togliendo le terminazioni deve essere superiore a 12Kohm/ n. apparati collegati. 13 Current Loop La linea e’ costituita da quattro conduttori, due segnali Rx+ / Rx- e Tx+ / Tx- . I nomi dei segnali sono assegnati e riferiti all’ apparato PC o strumenti, cioe’ il segnale Rx e’ per ricevere dati e il segnale Tx e’ per trasmettere dati. Da quanto detto, si giustifica il tipo di collegamento tra le unita’ che prevede che il segnale Tx del master (PC) si colleghi ai segnale Rx degli slave (strumenti). Gli strumenti Gefran dispongono di interfaccia seriale passiva in corrente, il collegamento puo’ essere di tipo serie o di tipo parallelo, consigliato e’ quest’ ultimo in modo da poter mantenere la continuita’ e funzionare anche in caso di esclusione di un elemento slave: Collegamento tipo serie: +Tx- +Rxmaster +Rx- +Txslave1 +Rx- +Txslave 2 +Rx- +Txslave n Il master attivo in trasmissione e’ un generatore di corrente modulato on-off: stato logico “1” (MARK) corrente 20mA stato logico “0” (SPACE) corrente 0mA Il master attivo in ricezione dispone di un generatore di corrente 20mA, la modulazione on-off e’ effettuata dallo slave selezionato, gli slave non selezionati mantengono lo stato logico “1” (MARK) consentendo la circolazione della corrente. Collegamento tipo parallelo: +Tx- +Rxmaster +Rx- +Txslave1 +Rx- +Txslave 2 +Rx- +Txslave n Il master attivo in trasmissione e’ un generatore di tensione modulato on-off: stato logico “1” (MARK) tensione 20V, corrente (20mA * n.slave) stato logico “0” (SLAVE) tensione 0V, corrente 0mA Il master attivo in ricezione dispone di un generatore di corrente 20mA, la modulazione on-off e’ effettuata dallo slave selezionato, gli slave non selezionati si posizionano in uno stato di alta impedenza. 14 Interfaccia Current Loop negli strumenti Gefran Gli strumenti prevedono in ricezione, in serie all’ ingresso passivo isolato due resistenze selezionabili per un collegamento serie o parallelo: Rx+ R=1Kohm R=100ohm Ponticello chiuso in caso di collegamento serie Rx- La trasmissione prevede un interruttore statico isolato: Tx+ R=100ohm E’ presente ed indicato nei manuali il jumper aperto in caso di collegamento serie Tx- La linea ricezione Rx e’ isolata da quella di trasmissione Tx . Gefran propone il convertitore CLB94 per l’ adattamento RS232/Current Loop. Le principali caratteristiche solo: n isolamento elettrico tra linea RS232 e la linea in corrente n per un collegamento parallelo dispone in trasmissione di un generatore a 20V protetto contro il cortocircuito (max 300mA) per alimentare un massimo di 10 strumenti in parallelo n per un collegamento serie dispone in trasmissione di un generatore di corrente di 20mA su carico massimo di 600ohm. n in ricezione possiede un generatore di corrente 20mA su un carico massimo di 1.6Kohm. Principali controlli per un corretto funzionamento: a. Verificare il collegamento elettrico, individuando i segnali Tx, Rx. b. In uno stato di inattivita’ della linea e’ presente lo stato logico “1” (MARK) che corrisponde a corrente: una misura da poter fare con semplice tester da porre in serie nella linea n in collegamento serie nella linea di trasmissione master la corrente e’ 20mA n in collegamento parallelo nella linea di trasmissione master la corrente e’ 20mA*n.slave n nella linea di ricezione master la corrente e’ 20mA c. Con comunicazione attiva, la forma d’onda presenta variazioni di stato logico a “0” (SPACE) corrispondente a corrente nulla. d. Disponendo di un semplice oscilloscopio possiamo individuare la conformita’ della forma d’onda al seguente modello misurando la corrente tramite una resistenza di shunt da porre in serie sui morsetti di collegamento della linea: 15 V R= 100ohm Rx+ / Tx+ I Rx- / Tx- “1” (MARK) +1.5...+2.5V V 0V “0” (SPACE) t Bit-time=1000/ baud msec 16 Il collegamento Il collegamento puo’ essere eseguito con cavo a coppie twistato, possibilmente schermato Collegare lo schermo a terra solo da un lato tramite apposite fascette e dove possibile si consiglia di vincolarlo tramite capacita’ al riferimento di terra. Non inserire il cavo di collegamento seriale in canaline dove siano gia’ presenti cavi con correnti elevate ed impulsive come ad esempio motori con azionamento inverter. All’ interno di un quadro elettrico, dove possibile utilizzare canaline metalliche ed intersecare linee di potenza in modo ortogonale. 17 Glossario A-Z baud - unita’ di misura della velocita’ di una trasmissione seriale, equivale al numero di bit trasmessi in un secondo. bit - elemento base di un sistema numerico binario (binary digit), assume valore “0” o “1. byte - insieme di 8 bit (8 binary digit), un byte assume valori binari compresi tra 0 e 255. capacita’ - elemento fisico con caratteristica prevalente di accumulare carica elettrica, se ai suoi capi si applica una tensione continua si comporta come circuito aperto, sottoposto a tensione alternata ad alte frequenze si comporta come un corto circuito. data rate - velocita’ di trasmissione dati digitale - si associa ad un evento o grandezza fisica che puo’ essere descritta da un numero finito di stati (es. ingresso digitale, segnale digitale). forma d’ onda - rappresentazione grafica (ampiezza-tempo) dell’ andamento temporale di una grandezza fisica. full duplex - sistema di trasmissione che permette ad un apparato di effettuare contemporaneamente la trasmissione e la ricezione di dati. gnd - o ground, identifica il potenziale di riferimento delle misure di tensione presenti in un circuito elettrico. half duplex - sistema di trasmissione che permette ad un apparato di effettuare in fasi alterne la trasmissione e la ricezione di dati. impedenza - rapporto tra tensione e corrente misurabile ai capi di una rete elettrica, composta da una parte reale ed una immaginaria. master - apparato che ha il controllo di un altro (slave). parallelo (collegamento) - in un collegamento parallelo l’informazione raggiunge contemporaneamente tutti gli apparati connessi parita’ - caratteristica di una trasmissione seriale per il controllo dell’ integrita’ dei dati, puo’ essere pari (even) o dispari (odd); da cio’ dipende lo stato di un bit aggiunto ad altri per portare il numero di bit=”1” al valore di parita’ dichiarato. polarizzazione - impone un definito stato elettrico ad una linea quando questo non e’ imposto da elementi ad essa collegati. stato logico - elemento per descrivere grandezze digitali. resistenza (elettrica) - parte reale di un’ impedenza, elemento che dissipa potenza attiva dove la corrente e’ in fase con la tensione applicata ai capi, si misura in [ohm]. serie (collegamento) - in un collegamento serie l’ informazione raggiunge gli apparati in modo sequenziale, entra ed esce da uno per entrare in quello successivo. slave - apparato connesso ad un altro(master), lo “slave” e’ controllato dal master. shunt - elemento per convertire la misura di una corrente in una misura di tensione. tensione (elettrica) - grandezza misurabile come differenza di potenziale tra due punti di una rete elettrica, si misura in [Volt]. terminazione - elemento che impone un definito valore di impedenza ad una linea di trasmissione. word - insieme di due byte (16 bit), una word assume valori binari compresi tra 0 e 65535. 18