A
OMUNICAZIONE
ERIALE
1
INDICE
Capitolo 1
Introduzione alla Comunicazione Seriale
Pag. 3
Capitolo 2
Protocollo MODBUS
Pag. 35
2
CAPITOLO 1
INTRODUZIONE
ALLA
COMUNICAZIONE
SERIALE
3
CONTENUTI
- Introduzione alla Comunicazione Seriale
pag. 5
- Interfaccia HW
pag. 6
- Standard Seriale R232
pag. 6
- Standard Seriale RS485
pag. 6
- Standard Seriale RS485-4fili
pag. 6
- Collegamento Seriale Current Loop “ Passivo ”
pag. 7
- Configurazioni Più Complesse
pag. 7
- Protocollo Asincrono
pag. 9
- Problemi di Comunicazione?
pag. 10
- RS232
pag. 10
- RS485
pag. 12
- RS485-4fili
pag. 15
- Current Loop
pag. 19
- Interfaccia Current Loop Negli Strumenti Gefran
pag. 20
- Collegamento
pag. 21
- Glossario
pag. 22
- Collegamenti elettrici (PC,convertitori,strumentazione)
pag. 23
4
Introduzione alla Comunicazione Seriale
Personal Computer
Industriale
( Master )
Strumentazione
( 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 ( di seguito chiamato PC ).
Il PC ( che ha la funzione di Master ) interroga i dispositivi connessi ( Slaves ) 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 ( Slaves ) 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,RS422, Current Loop ).
Se il Master e gli Slaves 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 ( Slaves ) devono utilizzare uno stesso protocollo di
comunicazione ( in pratica devono “ parlare la 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
5
riconosciuto.
Interfaccia HW
Gli standard HW utilizzati da GEFRAN per la comunicazione seriale sono i seguenti:
n
n
n
n
RS232
RS 485
RS 485-4fili
Current Loop(non prevista nei nuovi strumenti)
Nota importante:
I nostri strumenti prevedono il collegamento multi-point a 4 fili (RS485 a 4 fili) potendo
supportare anche lo standard RS422 che si differenzia dalla RS485 a 4 fili per il fatto che si
limita ad un collegamento di trasmissione/ricezione tra due sole unità ( un Master ed uno
Slave ) non prevedendo la condizione di terzo stato della linea (open collector).
La possibilità di avere più di uno Slave è solo del collegamento in RS485 (2 o 4 fili).
Da questo momento in poi defineremo con RS485 lo standard a 2 fili e con RS485 4-fili lo
standard RS485 a 4 fili.
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 velocità
di trasmissione utilizzabili sono: 1200, 2400, 4800, 9600 e 19200 bauds.
I limiti sono nella massima velocità che non supera i 20 Kb/sec e nella distanza massima tra gli
apparati non superiore ai 15 metri per la scarsa immunità ai disturbi elettromagnetici.
Prevede il collegamento di una sola unità Slave. L’ unico vantaggio è nel basso costo.
Standard Seriale RS485 e RS485 4-fili
La caratteristica del segnale che “ porta ” l’informazione è la tensione, ma a differenza della
RS232 dove la tensione è 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 immunità ai disturbi e si riescono a coprire distanze
maggiori. Per questi 2 standard occorre utilizzare PC e strumenti dotati dell’opportuna
interfaccia RS485 o RS485 4-fili, ovvero utilizzare moduli di conversione CLB94(solo 4 fili) o
ADAM(2 e 4 fili) che convertano da una parte ( lato PC ) la RS232 in RS485 o RS485 4-fili verso il
lato strumenti. Le velocità di trasmissione selezionabili sono: 1200, 2400, 4800,9600 e 19200
bauds.
6
Si possono considerare valide le caratteristiche dello standard EIA RS485 previsto
per protocolli half-duplex:
n data rate massimi di 10 Mbps entro i 12 metri
n distanze sino ad 1.2 Km con velocità di 100 Kb/sec
n un massimo di 32 unità collegate su un’ unica linea
n terminazione di linea con due resistenze da 220 Ohm agli estremi
n trasmissione differenziale con conseguente bassa emissione elettromagnetica
Collegamento Seriale Current Loop “ Passivo ”
La caratteristica del segnale ricevuto che “ porta ” l’informazione è 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 è detto “ passivo ” ), può collegare
fino a 10 unità Slave poste entro una distanza di 100 metri. La velocità di trasmissione
standard è 1200 bauds.
Calcolo del numero massimo di strumenti collegabili in rete a seconda del collegamento
elettrico scelto utilizzando un convertitore CLB/94.
Uscita
CLB/94
V uscita
CLB/94
I max
CLB/94
RS485-4fili
Current
loop
parallela
Current
loop serie
10V
24V
30mA
240mA
24V
20mA
Impedenza Impedenza
max
ingresso
CLB/94
RX+/RXstrumento
Gefran
12Kohm
1Kohm
1200ohm
90ohm
I singolo N° massimo
strumento strumenti
0.83mA
24mA
36
10
-
13
I valori di tensione ,corrente,impedenza riportati nella tabella servono per valutare eventuali altri
convertitori seriali da utilizzare in futuro o che si trovano già inseriti in una rete.
Configurazioni Più Complesse
Ove le distanze lo richiedano, ovvero sia necessario collegare un numero di strumenti in rete
maggiore del n° massimo indicato , è possibile raggiungere l’obiettivo distinguendo 3 casi:
a) Current loop serie(CLB) : è necessario aggiungere un altro CLB94 al posto del 10mo strumento
e collegare da questo punto in poi gli strumenti successivi.
7
b) Current loop parallela(CLB): 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.
c) Utilizzando il convertitore ADAM 4520 si possono collegare fino a 32 strumenti in RS485 e
in RS485-4fili.
Nel caso sia necessario collegare più di 32 strumenti si può utilizzare un repeater ADAM 4510
che estende la rete di altri 32 strumenti aumentando inoltre la distanza di altri 1200mt.
E’ pure possibile collegare in un’ unica struttura multidrop ( una struttura cioè costituita da più
oggetti collegati in seriale ) varie unità dotate di interfacce fisiche di comunicazione diverse,
utilizzando gli opportuni moduli CLB di conversione.
8
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 è rappresentata la struttura di un byte con 5, 6, 7, 8 bit di dato, con o
senza bit di parità.
Sequenza temporale dei dati
Stato
Logico “ 1 ” ( MARK )
LSB
0 1
2
3
4
5
MSB
6 7 8 bit
Logico “ 0 ” ( SPACE )
Bit di Start del successivo byte
1, 1.5, 2 bit di Stop
Bit di Parità ( opzionale )
5,..., 8 bit di dato
Bit di Start
9
Problemi di Comunicazione?
Si propongono semplici indicazioni per una rapida verifica di un corretto funzionamento per
Linee di comunicazione RS232, RS485,RS485-4fili, Current Loop.
Per verificare collegamenti e valori di tensione e di resistenza è sufficiente un multimetro.
Se fossero necessarie verifiche approfondite quali il rilevamento di forme d’onda si deve poter
disporre di un semplice oscilloscopio.
RS232
La linea è 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, cioè il segnale Rx è per
ricevere dati e il segnale Tx è per trasmettere dati.
Da quanto detto, si giustifica il tipo di collegamento tra due unità 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 inattività della linea è presente lo stato logico “ 1 ” ( MARK ) che
corrisponde a una tensione negativa -5...-15V, è 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 conformità della forma
d’onda al seguente modello:
“ 0 ” ( SPACE )
+5...+15V
+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...7 KOhm.
10
Segnale rilevato tra RX+ e RX- sullo strumento 600. (Massa sonda su RX-)
Assenza di comunicazione sulla linea = -12V
Messaggio analizzato = $02 = 00000010B
Segnale rilevato tra TX+ e TX- sullo strumento 600. (Massa sonda su TX-)
Strumento non selezionato = 0V
Strumento selezionato = -6V
Messaggio analizzato = $FFFE = 11111111 11111110B
11
RS485
La linea è costituita da due conduttori più uno opzionale di riferimento di massa, il segnale è
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 2-fili si può ottenere da un’ interfaccia a 4-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’ unità Master trasmette un messaggio, tutti gli Slaves lo ricevono, al termine
se uno di questi deve dare risposta si pone come Master ad inviare il proprio messaggio.
Caratteristica di questo collegamento è che tutti gli apparati collegati alla linea ricevono ciò
che transita sulla stessa.
R = 220 Ohm
Tx+ Tx- Rx+ Rx-
Tx+ Tx- Rx+ Rx-
Tx+ Tx- R+ R-
Lo standard RS485 prevede un massimo di 32 unità collegate sulla stessa linea.
Ogni unità collegata pone la porta Tx in alta impedenza, cioè 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.
Note:
Il collegamento in RS485 2-fili con schede PC/AT è il seguente:
PC/AT ( Master )
Strumentazione Gefran
A+ ( RXD/TXD+ )
Tx/RxB- ( RXD/TXD- )
Tx/Rx+
Il collegamento in RS485 2-fili tramite convertitore ADAM è il seguente:
PC/AT ( Master )
RX
TX
GND
ADAM
IN(RS232) OUT(RS485)
TX
RX
GND
DATA +
DATA -
12
Strumentazione Gefran
A
B
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 inattività della linea, se è inserita la polarizzazione della stessa, è presente lo
stato logico “ 1 ” ( MARK ) che corrisponde ad una tensione negativa ( V+ ) - ( V- )
normalmente -3...-5V ( che rientra nell’ intervallo ammesso -0.2...-19 ); è una misura da
poter fare con un semplice tester
c. Con comunicazione attiva, la forma d’ onda presenta variazioni di stato logico a “ 0 ”
( SPACE ) corrispondente ad un valore di tensione positiva ( V+ ) - ( V- )
Tx+
TxV+
+12V V+
Rx+
Rx-
+11.8V
Indeterminazione
+/-0.2V
+11.8V
SPACE
V-
-7V
+12V VMARK
-6.8V
-7V
-6.8V
d. Disponendo di un semplice oscilloscopio possiamo individuare la conformità 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 60 Ohm, togliendo le
terminazioni deve essere superiore a 12 KOhm/n. apparati collegati.
13
Collegamento: PC->ADAM->600
Protocollo Modbus:
Segnale rilevato tra A e B sullo strumento 600. (Massa sonda su B)
Assenza di comunicazione sulla linea = 1V
Messaggio analizzato = $02-$03-$00 = 00000010B 00000011B 00000000B
Segnale rilevato tra A e B sullo strumento 600. (Massa sonda su B)
Strumento selezionato = 1V
Messaggio analizzato = $02-$03_$02… = 00000010 00000011 00000010B
14
RS485 4 fili
La linea è costituita da quattro conduttori più 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, cioè il segnale Rx è per
ricevere dati ed il segnale Tx è per trasmettere dati.
Da quanto detto, si giustifica il tipo di collegamento tra le unità che prevede che il segnale Tx
del Master ( PC ) si colleghi ai segnale Rx degli Slaves ( strumenti ) e viceversa.
E’ da osservare che il collegamento RS422 si limita ad un collegamento di
trasmissione/ricezione tra due sole unità ( un Master ed uno Slave ), le possibilità di avere più
di uno Slave sono solo del collegamento in RS485-4fili.
Master(CLB)
Rx+
Rx-
R
Tx+
Tx-
Slave1(standard) Slave 2(standard)
RxRx+
RxRx+
TxTx+
TxTx+
Slave n(standard)
R
RxRx+
TxTx+
Resistenza di terminazione R = 220 Ohm
Master(CLB)
Rx+
Rx-
R
Tx+
Tx-
Slave1(Gefran) Slave 2(Gefran)
Rx+
Rx-
Rx+
Rx-
Tx+
Tx-
Tx+
Tx-
Slave n(Gefran)
R
Rx+
RxTx+
Tx-
Resistenza di terminazione R = 220 Ohm
Note:
Il collegamento in RS485 4-fili con schede PC/AT è il seguente:
PC/AT (Master)
RXD+
RXDTXD+
TXD-
Strumentazione Standard
Tx+
TxRx+
Rx-
Strumentazione Gefran
TxTx+
RxRx+
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+/Rxb. In uno stato di inattività della linea è 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 ); è una misura da poter fare con un semplice tester
15
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- )
+11.8V
+12V VRx+
VRx+
Rx+ ( A )
VRx-
Rx- ( B )
SPACE
Indeterminazione
+/-0.2V
+11.8V
-7V
+12V VRxMARK
-6.8V
-7V
-6.8V
d. Disponendo di un semplice oscilloscopio possiamo individuare la conformità 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
12 KOhm, senza resistenza di terminazione deve essere superiore a 12 KOhm/n. apparati
collegati
Collegamento: PC->CLB94->600
Protocollo Cencal:
Configurazione jumper CLB94:
Lato componenti:
S15 S16 S14
à
fondo scatola
In Cencal questa polarizzazione serve per segnalare l’eventuale rilascio della linea ed è opposta
al livello del bit di stop del dato ritrasmesso.
16
Segnale rilevato tra RX+ e RX- sullo strumento 600. (Massa sonda su RX-)
Assenza di comunicazione sulla linea = -4V
Messaggio analizzato = $02 = 00000010B
Segnale rilevato tra TX+ e TX- sullo strumento 600. (Massa sonda su TX-)
Strumento selezionato = -3V
Messaggio analizzato = $FFFE = 11111111 11111110B
Protocollo Modbus:
Configurazione jumper CLB94:
Lato componenti:
S15 S16 S14
à
fondo scatola
17
In Modbus la polarità deve seguire il bit di stop del dato in caso di linea rilasciata (segnale RTS
disattivo). Con polarità opposta si avrebbe un cambio di stato a fine dato che andrebbe a generare
un bit di start non voluto spedendo sulla linea un carattere in più.
Segnale rilevato tra RX+ e RX- sullo strumento 600. (Massa sonda su RX-)
Assenza di comunicazione sulla linea = -4V
Messaggio analizzato = $02-$03-$00 = 00000010B 00000011B 00000000B
Segnale rilevato tra TX+ e TX- sullo strumento 600. (Massa sonda su TX-)
Strumento selezionato = -3V
Messaggio analizzato = $02-$03_$02… = 00000010 00000011 00000010B
18
Current Loop
La linea è costituita da quattro conduttori, due segnali Rx+/Rx- e Tx+/Tx-.
I nomi dei segnali sono assegnati e riferiti all’ apparato PC o strumenti, cioè il segnale Rx è per
ricevere dati ed il segnale Tx è per trasmettere dati.
Da quanto detto, si giustifica il tipo di collegamento tra le unità che prevede che il segnale Tx
del Master (PC) si colleghi ai segnale Rx degli Slaves ( strumenti ).
Gli strumenti Gefran dispongono di interfaccia seriale passiva in corrente, il collegamento può
essere di tipo serie o di tipo parallelo, consigliato è quest’ ultimo in modo da poter mantenere
la continuità 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 è 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
è effettuata dallo Slave selezionato, gli Slaves 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 è 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
è effettuata dallo Slave selezionato, gli Slaves non selezionati si posizionano in uno
stato di alta impedenza.
19
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 = 100 Ohm
Ponticello chiuso in caso di collegamento serie
Rx-
La trasmissione prevede un interruttore statico isolato:
Tx+
R = 100 Ohm
E’ presente ed indicato nei manuali il jumper aperto
in caso di collegamento serie
Tx-
La linea ricezione Rx è isolata da quella di trasmissione Tx.
Gefran propone il convertitore CLB94 per l’ adattamento RS232/Current Loop.
Le principali caratteristiche sono:
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 600 Ohm
n in ricezione possiede un generatore di corrente 20mA su un carico massimo di 1.6 KOhm
Principali controlli per un corretto funzionamento:
a. Verificare il collegamento elettrico, individuando i segnali Tx, Rx
b. In uno stato di inattività della linea è presente lo stato logico “ 1 ” ( MARK ) che
corrisponde a corrente: una misura da poter fare con un semplice tester da porre in serie
nella linea
n In collegamento serie nella linea di trasmissione Master la corrente è 20mA
n In collegamento parallelo nella linea di trasmissione Master la corrente è
20mA*n.Slave
n Nella linea di ricezione Master la corrente è 20mA
c. Con comunicazione attiva, la forma d’ onda presenta variazioni di stato logico a “ 0 ”
( SPACE ) corrispondente a corrente nulla
20
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:
V
R = 100 Ohm
Rx+/Tx+
I
Rx-/Tx-
“ 1 ” ( MARK )
+1.5...+2.5V
V
0V
“ 0 ” ( SPACE )
t
Bit-time = 1000/baud msec
Collegamento
Il collegamento può 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 capacità al riferimento di terra.
Non inserire il cavo di collegamento seriale in canaline dove siano già 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.
21
Glossario A-Z
baud - unità di misura della velocità 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
capacità - 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 - velocità di trasmissione dati.
digitale - si associa ad un evento o grandezza fisica che può 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
parità - caratteristica di una trasmissione seriale per il controllo dell’ integrità dei dati, può
essere pari ( even ) o dispari ( odd ); da ciò dipende lo stato di un bit aggiunto ad altri per
portare il numero di bit = ” 1 ” al valore di parità dichiarato.
polarizzazione - impone un definito stato elettrico ad una linea quando questo non è 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 è in fase con la tensione applicata ai capi, si misura in Ohms.
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 ” è 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 Volts.
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
22
Collegamenti elettrici (PC,convertitori,strumentazione)
Nelle pagine seguenti vengono descritti tutti i possibili collegamenti tra PC di supervisione e
strumenti Gefran in RS232, RS485-4fili e RS485.
Il protocollo usato nella comunicazione è indipendente dal collegamento elettrico tranne nel
caso di RS485 dove il protocollo Cencal non può essere utilizzato.
Nota importante: nel momento in cui si utilizza il convertitore CLB94 è necessario settare i
jumper di configurazione interni a seconda del collegamento effettuato in ingresso ed in uscita al
CLB stesso. Queste settature sono indicate sul manuale del CLB94.
Se si utilizza il convertitore ADAM è necessario selezionare il baud_rate ed il tipo di
collegamento in uscita (RS485 o RS422) semplicemente settando un dip-switch interno la cui
descrizione è riportata sulla scatola del convertitore stesso.
L’uscita RS422 del convertitore ADAM si interfaccia con la RS485-4fili degli strumenti Gefran
come indicato nella configurazione relativa riportata in seguito.
23
Strumenti Configurazione RS232 RS485 RS485 Protocollo Protocollo Connettore
Gefran
Seriale di
(A-B) -4fili
Modbus
Cencal
per cavetto
default
Winstrum
(protocollobaud-paritàcodice)
X
X
X
X
X
X
600/601 Modbus-19200nessuna- 1
Modbus-19200X
X
X
X
X
X
4-40T
nessuna- 1
Cencal-1200- 1
X
X
X
X
X
X
40TB
X
X
X
GEFLEX Modbus-19200nessuna- 1
Cencal-1200- 1
X
X
X
X
X
X
800
Cencal-1200- 1
X
X
X
X
X
X
1600
Cencal-1200- 1
X
X
X
X
X
X
1800
Cencal-1200- 1
X
X
X
X
2301
Cencal-1200- 1
X
X
X
X
2300
Cencal-1200- 1
X
X
X
X
2308
Cencal-1200- 1
X
X
X
1000
Cencal-1200- 1
X
X
X
1001
Cencal-1200- 1
X
X
X
1101
Cencal-1200- 1
X
X
X
X
X
3500
Cencal-1200- 1
X
X
X
X
X
4500
Cencal-1200- 1
X
X
X
3400
Cencal-1200- 1
X
X
X
4400
Cencal-1200- 1
X
X
X
2351
N.B.: Negli strumenti 600 e 4-40T ordinati senza interfaccia seriale la configurazione di default
diventa : Cencal-19200-codice 1.
24
Collegamento punto-punto
Strumenti con seriale RS232
GND RX TX
5
2
3
GND T+ R+
16-18 17 15
GND T+ R+
8-10A 11A 9A
GND T+ R+
8-10A 11A 9A
GND T+ R+
9-11 10 12
PC
RS232
Ad ogni master è possibile collegare un
solo strumento per volta
GND T+ R+
25-27 26 24
GND T+ R+
25-27 26 24
GND T+ R+
8-10A 11A 9A
GND T+ R+
8-10A 11A 9A
GND T+ R+
9-11 10 8
GND T+ R+
25-27 26 24
GND T+ R+
9-11 10 12
25
–
Collegamento PC RS232 – CLB - Strumenti
con seriale Current Loop Passiva
T+ 2
RX 2
GND RX TX
5
2
3
TX
3
21
T- 3
R+ 4
19-20
R- 5
GND 4-7 13-22
T- T+ R- R+
11 10 9 8
23
24
Connettore frontale
T- T+ R- R+
11 10 9 8
T- T+ R- R+
10A 11A 8A 9A
T- T+ R- R+
9 8 11 10
Connettore fondoscatola
T- T+ R- R+
11 10 9 8
T- T+ R- R+
10A 11A 8A 9A
T- T+ R- R+
10A 11A 8A 9A
T- T+ R- R+
9 8 11 10
T- T+ R- R+
21 20 19 18
26
T- T+ R- R+
10A 11A 8A 9A
T- T+ R- R+
11 10 9 8
Collegamento PC RS232 – CLB - Strumenti
con seriale RS485 4 fili
T+ 6
RX 2
GND RX TX
5
2
3
TX
3
21
T- 7
R+ 4
19-20
R- 5
GND 4-7 13-22
T- T+ R- R+
27 26 25 24
23
24
Connettore frontale
T- T+ R- R+
11 10 9 8
T- T+ R- R+
10A 11A 8A 9A
T- T+ R- R+
9 8 11 10
T- T+ R- R+
27 26 25 24
T- T+ R- R+
11 10 9 8
Connettore fondoscatola
T- T+ R- R+
11 10 9 8
T- T+ R- R+
10A 11A 8A 9A
T- T+ R- R+
10A 11A 8A 9A
T- T+ R- R+
9 8 11 10
T- T+ R- R+
27 26 25 24
T- T+ R- R+
21 20 19 18
27
T- T+ R- R+
10A 11A 8A 9A
T- T+ R- R+
11 10 9 8
Collegamento PC RS232 – CLB - Strumenti
con seriale RS485 4 fili
T+ 6
GND RX TX
5
2
3
RX 2
TX
3
21
19-20
T- 7
R+ 4
R- 5
GND 4-7 13-22
23
24
Connettore frontale
T- T+ R- R+
18 17 16 15
T- T+ R- R+
9 10 11 12
Connettore fondoscatola
28
T- T+ R- R+
9 10 11 12
Collegamento PC RS485 – CLB - Strumenti
con seriale RS485 4 fili
T+ 6
DATA-(B)
DATA+(A)
T- 7
R+ 4
T-/R- 6-9 16-18
R- 5
T+/R+ 5-8 15-17
1
4
Connettore frontale
T- T+ R- R+
11 10 9 8
T- T+ R- R+
10A 11A 8A 9A
T- T+ R- R+
9 8 11 10
T- T+ R- R+
27 26 25 24
T- T+ R- R+
27 26 25 24
T- T+ R- R+
11 10 9 8
13
22
Connettore fondoscatola
T- T+ R- R+
11 10 9 8
T- T+ R- R+
10A 11A 8A 9A
T- T+ R- R+
10A 11A 8A 9A
T- T+ R- R+
9 8 11 10
T- T+ R- R+
27 26 25 24
T- T+ R- R+
21 20 19 18
29
T- T+ R- R+
10A 11A 8A 9A
T- T+ R- R+
11 10 9 8
Collegamento PC RS485 – CLB - Strumenti
con seriale RS485 4 fili
T+ 6
DATA-(B)
DATA+(A)
T- 7
R+ 4
T-/R- 6-9 16-18
T+/R+ 5-8 15-17
1
4
Connettore frontale
R- 5
T- T+ R- R+
18 17 16 15
T- T+ R- R+
9 10 11 12
13
22
Connettore fondoscatola
30
T- T+ R- R+
9 10 11 12
Collegamento
seriale RS485
DATA– (B)
DATA+ (A)
PC RS485 –
Strumenti con
DATA +
DATA (B)
15-17
(B)
10
(A)
9
(B)
(A)
9A-11A 8A-10A
(B)
8-10
(A)
9-11
(B)
10
(A)
16-18
(B)
24-26
(B)
4
(A)
9
(B)
(A)
9A-11A 8A-10A
(B)
18-20
(A)
25-27
(B)
24-26
(A)
2
(B)
(A)
8A-10A 9A-11A
(A)
19-21
(B)
24-26
31
(A)
25-27
(A)
25-27
Collegamento PC RS232 – ADAM - Strumenti
con seriale RS485
GND RX TX
5
2
3
RX 3
TX
DATA +
2
DATA -
GND 5
(B)
15-17
Connettore
DB9
(B)
10
(A)
9
(B)
(A)
9A-11A 8A-10A
(B)
8-10
(A)
9-11
(B)
10
(A)
16-18
(B)
24-26
(B)
4
(A)
9
(B)
(A)
9A-11A 8A-10A
(B)
18-20
(A)
25-27
(B)
24-26
(A)
2
(B)
(A)
8A-10A 9A-11A
(A)
19-21
(B)
24-26
32
(A)
25-27
(A)
25-27
Collegamento PC RS232 – ADAM - Strumenti
con seriale RS485 4 fili
TRX 3
GND RX TX
5
2
3
TX
2
T+
RR+
GND 5
T- T+ R- R+
27 26 25 24
T- T+ R- R+
27 26 25 24
T- T+ R- R+
11 10 9 8
Connettore
DB9
T- T+ R- R+
11 10 9 8
T- T+ R- R+
10A 11A 8A 9A
T- T+ R- R+
9 8 11 10
T- T+ R- R+
11 10 9 8
T- T+ R- R+
10A 11A 8A 9A
T- T+ R- R+
10A 11A 8A 9A
T- T+ R- R+
9 8 11 10
T- T+ R- R+
27 26 25 24
T- T+ R- R+
21 20 19 18
33
T- T+ R- R+
10A 11A 8A 9A
T- T+ R- R+
11 10 9 8
Collegamento PC RS232 – ADAM - Strumenti
con seriale RS485 4 fili
TGND RX TX
5
2
3
RX 3
T+
R-
TX
2
GND
5
Connettore
DB 9 poli
R+
T- T+ R- R+
18 17 16 15
34
T- T+ R- R+
9 10 11 12
T- T+ R- R+
9 10 11 12
Collegamento Chatty - Strumenti con seriale
RS485
Chatty
14 (CHA +
6 (CHA -)
(B)
10
35
(A)
9
(B)
4
(A)
2
CAPITOLO 2
PROTOCOLLO
MODBUS
36
CONTENUTI
- Protocollo MODBUS
- Modi di Trasmissione
- Rilevamento degli Errori
- Operazioni di Lettura
- Operazioni di Scrittura
- Mappe di memoria (legenda)
pag. 38
pag. 39
pag. 39
pag. 42
pag. 43
pag. 45
37
Protocollo MODBUS
Il Modbus è uno standard adottato da diversi costruttori, il che rende in molti casi
intercambiabili,
dal punto di vista della programmazione seriale, strumenti differenti.
L’ anello di comunicazione è composto da un Master ed un massimo di 255 Slaves sulla stessa
linea. Solo il Master è abilitato ad inizializzare le transazioni, che possono essere del tipo:
domanda/risposta ( query/response ), nel quale un solo Slave risponde al Master, o senza risposta
( no response ) dove tutti gli Slaves presenti sono indirizzati. Una transazione è composta da un
frame ( unità di informazione ) di singola domanda e da uno di singola risposta o da un singolo
frame di broadcast.
Nell’ anello di comunicazione digitale l’ utente ha la possibilità di cambiare solo alcuni
parametri:
il mezzo tramissivo ( RS232, Current Loop, RS485 due o quattro fili ), il baud rate ( 1200, 2400,
4800 o 9600 bauds ) o la parità; altri invece sono prefissati su standard Gefran: il formato del
frame, il modo di trasmissione ( RTU ), la sequenza dei frames, i codici di errore, le condizioni
di
eccezione ecc.
Nel caso di protocollo Modbus, ogni comunicazione è ritenuta a termine dopo che sulla linea non
sono presenti transizioni per un tempo detto di “ time out “, pari a 3.5 volte il tempo di
trasmissione di un carattere.
Quando devono essere inviate delle informazioni sulla linea dati, il messaggio deve essere
contenuto in una “ busta ”. La busta esce attraverso una “ porta ” ed è trasportata sulla linea
all’indirizzo specificato. Nel caso in esame, il Modbus definisce la busta sottoforma di frame di
messaggio o sequenza strutturata di byte.
Le informazioni contenute nel messaggio sono:
Formato
del
Messaggio
n I
dati
effettuare il
n Una parola di
la presenza di
Check )
n Il destinatario ( Slave address )
n Cosa il destinatario deve fare ( Function )
Range
Slave address
Function
Data
Error check ( CRC-16 )
Byte
1
1
n
2
necessari
per
compito ( Data )
test ( CRC ) per controllare
eventuali errori ( Error
Quando un messaggio è ricevuto da uno Slave, lo strumento provvede a restituire un frame di
dati
della stessa struttura ma contenente le informazioni richieste.
38
Elenco dei comandi implementati :
01, 02
03, 04
05
06
15
16
Lettura n Bit
Lettura n Word ( registri )
Scrittura di un Bit
Scrittura di una Word ( registro )
Scrittura di n Bit
Scrittura di n Word ( registri )
Modi di Trasmissione:
Il modo di trasmissione è la struttura dell’ unità singola di informazione in un messaggio. Dei
due
modi possibili nello standard Modbus ( ASCII e RTU ), la Gefran ha adottato quello che prevede
la codifica binaria dei dati, denominato RTU ( Remote Terminal Unit ). E’ inoltre previsto un
meccanismo di detenzione degli errori attraverso il CRC ( Cyclic Redundancy Check )
Rilevamento degli Errori:
Solitamente a causa del rumore elettrico, le trasmissioni digitali possono essere affette da errori.
Sono stati previsti due meccanismi di tutela per individuare e gestire le situazioni di errore: il
controllo di parità che verifica la consistenza di ogni byte ed il CRC.
Attraverso il CRC Error Check vengono identificate le situazioni di incongruenza di frame, in
questo caso il messaggio inviato è inconsistente ed il ricevente lo ignora.
Calcolo del CRC: I bits di dati sono considerati come un numero binario continuo, la cui parte
più
significativa ( MSB ) viene trasmessa per prima. Il messaggio viene prima moltiplicato per x16
( cioè shiftato a destra 16 volte ), quindi diviso per x16 + x15 + x2 + 1 espresso come numero
binario, cioè 11000000000000101. Il quoziente intero è ignorato ed il resto a 16 bit costituisce il
CRC. Quando il ricevente dividerà il CRC per il polinomio x16 + x15 + x2 + 1 dovrà ottenere
resto
zero in assenza di errori.
39
Il seguente diagramma di flusso illustra come organizzare un algoritmo di calcolo del CRC a 16
bit:
CRC16 = 1111 1111 1111 1111
CRC16 = CRC16 xor VALUE ( 8 bits )
N=0
CRC16 right shift
0
Carry
Carry over
CRC16 = CRC16 xor 1010 0000 0000 0001
n=n+1
No
Yes
n>7
Next byte
No
Message completed
40
Yes
END
Operazione
FFFF hex
02 hex
Or esclusivo
Shift ( n. 1 )
Polinomio
Or esclusivo
Shift ( n. 2 )
Polinomio
Or esclusivo
Shift ( n. 3 )
Shift ( n. 4 )
Polinomio
Or esclusivo
Shift ( n. 5 )
Shift ( n. 6 )
Polinomio
Or esclusivo
Shift ( n. 7 )
Shift ( n. 8 )
Polinomio
Or esclusivo
07 hex
Or esclusivo
Shift ( n. 1 )
Polinomio
Or esclusivo
Shift ( n. 2 )
Polynomial
Or esclusivo
Shift ( n. 3 )
Polinomio
Or esclusivo
Shift ( n. 4 )
Shift ( n. 5 )
Polinomio
Or esclusivo
Shift ( n. 6 )
Shift ( n. 7 )
Shift ( n. 8 )
MSB
1111
1111
1111
0111
1010
1101
0110
1010
1100
0110
0011
1010
1001
0100
0010
1010
1000
0100
0010
1010
1000
1111
1111
0000
1111
1111
0000
1111
0111
0011
0000
0011
1001
0100
0000
0100
0010
0001
0000
0001
1000
0100
1010
1110
0111
1010
1101
0110
1010
1100
0110
0011
1010
1001
0100
0010
0001
0001
0000
0000
0000
0000
0000
0000
1000
0000
1000
0100
0010
0000
0010
1001
0100
0010
1111
0000
1111
1111
0000
1111
1111
0000
1111
1111
1111
0000
1111
1111
1111
0000
1111
0111
0011
0000
0011
0000
0011
1001
0000
1001
0100
0000
0100
0010
0000
0010
0001
0000
0000
0000
0000
1000
0100
Carry
1111
0010
1101
1110
0001
1111
1111
0001
1110
1111
1111
0001
1110
1111
1111
0001
1110
1111
1111
0001
1110
0111
1001
1100
0001
1101
1110
0001
1111
0111
0001
0110
0011
1001
0001
1000
0100
0010
0001
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
Esempio di calcolo del CRC per il messaggio esadecimale 020716:
Il risultato finale è 41hex ( msb ) 12 hex ( lsb ), il frame trasmesso è:
0001 0010
12
0100 0001
41
0000 0111
07
0000 0010 ( primo byte trasmesso )
02
41
Operazioni di Lettura
Master
Range
Slave address ( 1-255 )
Function code ( 1-2 )
Bit starting address ( MSB )
Bit starting address ( LSB )
Number of bits ( MSB )
Number of bits ( LSB )
Error check ( CRC-16 )
Range
Slave address ( 1-255 )
Function code ( 1-2 )
Byte count ( n )
Data ( LSb ), ...
Error check ( CRC-16 )
Master
Range
Slave address ( 1-255 )
Function code ( 3-4 )
Word starting address ( MSB )
Word starting address ( LSB )
Number of words ( MSB )
Number of words ( LSB )
Error check ( CRC-16 )
Range
Slave address ( 1-255 )
Function code ( 3-4 )
Byte count ( n )
Data ( Word MSB )
Data ( Word LSB )
Error check ( CRC-16 )
42
Byte
1
1
1
1
1
1
2
Byte
1
1
1
n
2
Slave
Byte
1
1
1
1
1
1
2
Byte
1
1
1
n
2
Slave
Operazioni di Scrittura
Master
Range
Slave address ( 1-255 )
Function code ( 5 )
Bit address ( MSB )
Bit address ( LSB )
Data ( 00 = OFF, 255 = ON )
Data ( 00 )
Error check ( CRC-16 )
Byte
1
1
1
1
1
1
2
Range
Slave address ( 1-255 )
Function code ( 5 )
Bit address ( MSB )
Bit address ( LSB )
Data
Data ( 00 )
Error check ( CRC-16 )
Master
Range
Slave address ( 1-255 )
Function code ( 15 )
Bit starting address ( MSB )
Bit starting address ( LSB )
Number of bits ( MSB )
Number of bits ( LSB )
Byte counter ( n )
Data ( LSB ), ...
Error check ( CRC-16 )
Range
Slave address ( 1-255 )
Function code ( 15 )
Bit starting address ( MSB )
Bit starting address ( LSB )
Number of bits ( MSB )
Number of bits ( LSB )
Error check ( CRC-16 )
43
Byte
1
1
1
1
1
1
2
Slave
Byte
1
1
1
1
1
1
1
n
2
Byte
1
1
1
1
1
1
2
Slave
Master
Range
Slave address ( 1-255 )
Function code ( 6 )
Word address ( MSB )
Word address ( LSB )
Data ( Word MSB )
Data ( Word LSB )
Error check ( CRC-16 )
Range
Slave address ( 1-255 )
Function code ( 6 )
Word address ( MSB )
Word address ( LSB )
Data ( Word MSB )
Data ( Word LSB )
Error check ( CRC-16 )
Master
Range
Slave address ( 1-255 )
Function code ( 16 )
Word starting address ( MSB )
Word starting address ( LSB )
Number of words ( MSB )
Number of words ( LSB )
Byte counter ( n )
Data ( Word MSB )
Data ( Word LSB )
Error check ( CRC-16 )
Range
Slave address ( 1-255 )
Function code ( 16 )
Word starting address ( MSB )
Word starting address ( LSB )
Number of words ( MSB )
Number of words ( LSB )
Error check ( CRC-16 )
44
Byte
1
1
1
1
1
1
2
Byte
1
1
1
1
1
1
2
Slave
Byte
1
1
1
1
1
1
1
n
2
Byte
1
1
1
1
1
1
2
Slave
Mappe di Memoria
Legenda:
Addr.: indirizzo
Item: nome mnemonico della variabile. L’ item prende origine dalla denominazione
originale del manuale operatore dello strumento, opportunamente depurato degli
eventuali punti “.”, non accettabili nella sintassi dei programmi di supervisione.
Descrizione: commento che spiega il significato del dato, con riferimento al MANUALE
degli strumenti.
R/W: modalità di accesso alle variabili abilitate in lettura/scrittura. Un’ altra categoria di
variabili contrassegnate con la sola “ R “ è quella relativa a set up che è bene
eseguire
localmente, dal tastierino dello strumento, avendo piena visibilità dello strumento e
degli elementi ( sensori, attuatori, ecc. ) ad esso collegati. Rientrano in questo caso,
ad esempio, i parametri relativi al tipo di sonda.
Range: intervallo numerico di accettabilità del dato. In alcuni casi si rimanda al contenuto
di altre variabili.
Dp: ( Punto decimale ), numero di cifre decimali del dato. In alcuni casi si rimanda al
contenuto di un’ altra variabile.
Def.: ( Default ) impostazione predefinita in fase di fabbricazione.
U. di Mis.: Unità di misura
P.s.: punti scala
pc: punti convertitore
min: minuti
sec: secondi
45
Scarica

anuale seriale Modbu