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