Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
COSTRUZIONE DI PROTOCOLLI Di Comunicazione Tra PC e Device
COSTRUZIONE DI PROTOCOLLI Di Comunicazione Tra PC e Device
COSTRUZIONE DI PROTOCOLLI
DI COMUNICAZIONE TRA PC E DISPOSITIVI
DI CONTROLLO
RELATORE
CORRELATORE
CANDIDATO
II
Ai miei genitori
III
IV
Ringraziamenti
Desidero innanzitutto ringraziare ling. Cesare Chiodelli e il prof. Giulio
Destri per aver permesso lo svolgimento del mio stage lavorativo presso la
ditta CS Soluzione, consentendomi di apprendere le basi per lo sviluppo di
software a livello professionale e impostando la stesura della mia tesi.
Un grazie anche a Luca Visioli, Alberto Picca e Marco Maltraversi per il
lavoro svolto insieme.
Ringrazio anche i miei compagni di universit Amadini, Lucia, Fabio e tutti
gli altri con cui ho passato questi quattro anni di studio e tutti gli amici
del mio paese che mi hanno sostenuto ed aiutato.
Ringrazio i miei genitori Curzio e Marina per essermi stati vicini e per
avermi supportato materialmente e moralmente, a cui dedico questo lavoro.
Un
ringraziamento
speciale
Nicole,
per
essermi
stata
vicino
VI
Sommario
INTRODUZIONE ...............................................................................................................1
Il contesto del problema: la comunicazione digitale fra dispositivi................................................... 1
Come stato affrontato il lavoro......................................................................................................................... 2
VII
VIII
CONCLUSIONI ................................................................................................................99
Il sistema in esecuzione ........................................................................................................................................ 99
Bilancio del lavoro svolto...................................................................................................................................... 99
Applicazioni e ampliamenti futuri .................................................................................................................. 100
IX
INTRODUZIONE
Il contesto del problema: la comunicazione digitale fra dispositivi
Oggetto di questa tesi quello di implementare un protocollo per
comunicazioni digitali in ambito di rete locale per far comunicare fra loro
sistemi digitali che svolgono compiti completamente diversi. Da un lato
abbiamo lentit composta da uno o pi PC che ospitano gli applicativi di
supervisione.
Tali
applicativi
servono
sia
rendere
disponibile
parte della tesi verr presentata lapplicazione operativa dei software cos
sviluppati entro il contesto di
realizzare la
gestione integrata di
fontana
situata
nel
giardino
dellazienda,
lavviamento
di
protocolli
di
comunicazione
da
realizzare
devono
essere
snelli,
protocolli,
comunicazione:
proprietari
il
ma
protocollo
ampliamente
C-Command,
documentati,
pi
vecchio,
per
la
per
la
piattaforma
hardware
reale
dei
due
protocolli,
realizzando
la
LA COMUNICAZIONE DIGITALE
Le reti di comunicazioni
Il 900 fu, dal punto di vista della strumentazione tecnologica, un
susseguirsi
di
successi.
Principalmente
nell
ultimo
cinquantennio,
Per
autonomi si vuole intendere che non deve esserci fra loro una relazione tipo
master/slave (ad es., l'uno non pu forzare lo spegnimento dell'altro) bens
interconnessione
che
sta
significare
la
capacit
di
scambiarsi
fra
persone:
possibile
inviarsi
messaggi,
Elab. cliente
Elab. server
Proc. cliente
Proc. server
Richiesta
Rete
Risposta
Tecnologia trasmissiva
Esistono due tipologie per quanto riguarda la tecnologia trasmissiva e sono:
le reti broadcast
la
funzione
di
gateway
(repeater
bridge)
rigenerando
6
Elaboratori
Rete
un
opportuno
indirizzo
(broadcasting).
Tutti
prendono
in
Pacchetto
Elaboratore
Connessione
Scala dimensionale
Un criterio alternativo di classificazione la scala dimensionale delle reti.
In questo contesto si distinguono: reti locali, reti metropolitane e reti
geografiche.
Tipo di rete
10 m.
Stanza
Rete locale
100 m.
Edificio
Rete locale
1 km.
Campus
Rete locale
10 km.
Citt
Rete metropolitana
100 km.
Nazione
Rete geografica
1000 km.
Continente
Rete geografica
10.000 km.
Pianeta
Internet
(Rete geografica)
Reti Locali
Le reti locali (Local Area Network, LAN), in genere sono possedute da una
organizzazione (reti private), hanno un'estensione che arriva fino a qualche
km, si distendono nell'ambito di un singolo edificio o campus (non si
possono, di norma, posare cavi sul suolo pubblico), sono utilizzate
prevalentemente per connettere PC o workstation. Esse si distinguono dagli
altri tipi di rete per tre caratteristiche diverse: La prima la dimensione
che non pu andare oltre un certo limite, per cui noto a priori il tempo e
quindi il ritardo di trasmissione. Questa conoscenza permette di utilizzare
delle tecniche particolari per la gestione del canale di comunicazione.
La seconda la tecnologia trasmissiva. Le LAN sono in generale reti
broadcast. Velocit di trasmissione tipiche sono da 10,100,1000 Mbps con
basso ritardo di propagazione del segnale da un capo all'altro del canale e
basso tasso di errore. Ultima ma non meno importante la topologia: sono
possibili diverse topologie, le pi diffuse alcuni anni fa erano il bus ed il
ring. Nellambito della topologia bus in ogni istante solo un elaboratore pu
9
Ring
Bus
in due
Reti metropolitane
Le
reti
metropolitane
(Metropolitan
Area
Network,
MAN)
hanno
Head end
Flusso
Elaboratore
Head end
Flusso
Ogni bus (cavo coassiale o fibra ottica) unidirezionale, ed ha una headend che modula l'attivit di trasmissione.
11
Reti geografiche
Le reti geografiche (Wide Area Network, WAN) si estendono a livello di una
nazione, di un continente o dell'intero pianeta. Una WAN tipicamente
costituita da due componenti distinte: un insieme di elaboratori (host
oppure end system), sui quali girano i programmi usati dagli utenti una
comunication subnet (o subnet), che connette gli end system fra loro. Il suo
compito trasportare messaggi da un end system all'altro, cos come il
sistema telefonico trasporta parole da chi parla a chi ascolta. Di norma la
subnet costituita, a sua volta, da due componenti: linee di trasmissione
(dette anche circuiti, canali, trunk) e elementi di commutazione (switching
element). Gli elementi di commutazione sono elaboratori specializzati
utilizzati per connettere fra loro due o pi linee di trasmissione. Quando
arrivano dati su una linea, l'elemento di commutazione deve scegliere una
linea in uscita sul quale instradarli. Non esiste una terminologia standard
per identificare gli elementi di commutazione. Termini usati sono i sistemi
intermedi, i nodi di commutazione pacchetti o router. Una tipica WAN
utilizzata per connettere pi LAN fra loro:
WAN
Router
Subnet
Host
LAN
Linea di trasmiss.
12
Anello
Stella
Magliatura
Albero
Compl. connessa
13
Uplink
beam
Downlink
beam
Router + antenna
Router + antenna
Ogni router quindi utilizza onde Radio al suolo: ogni router sente l'output
dei propri vicini (entro una certa distanza massima) ed anche in questo
caso siamo in presenza di una rete broadcast.
Router + antenna
Router + antenna
Router + antenna
14
Interconnessione di reti
Una interconnessione di reti, talvolta anche chiamata internetwork,
formata quando reti diverse (sia LAN che MAN o WAN) sono collegate fra
loro. A prima vista, almeno in alcuni casi, la cosa apparentemente uguale
alla definizione di WAN vista precedentemente (se al posto di subnet si
scrive WAN, abbiamo una internetwork costituita da una WAN e quattro
LAN). Alcuni problemi per sorgono quando si vogliono connettere fra di
loro reti progettualmente diverse (spesso incompatibili fra loro). In questo
caso si deve ricorrere a speciali attrezzature, dette gateway (o router
multiprotocollo), che, oltre ad instradare i pacchetti da una rete all'altra,
effettuano le operazioni necessarie per rendere possibili tali trasferimenti.
WAN 1
WAN 1
Router multiprotocollo
(gateway)
Host
Host
Gateway
Subnet
Subnet
Network
Network
Internetwork
grandi linee, tale strutturazione, che servir come base per introdurre il
lavoro svolto.
Gerarchie di protocollo
Per ridurre la complessit di progetto, le reti sono in generale organizzate a
livelli, ciascuno costruito sopra il precedente.
sono
HOST 1
Livello 5
HOST 2
Protocollo
di livello 5
Livello 5
Interfaccia liv. 4/5
Protocollo
di livello 4
Livello 4
Interfaccia liv. 3/4
Protocollo
di livello 3
Livello 3
Interfaccia liv. 2/3
Protocollo
di livello 2
Livello 2
Interfaccia liv. 1/2
Protocollo
di livello 1
Livello 1
Mezzo fisico
possono essere offerti dal livello sotto di esso. I vantaggi di una buona
progettazione delle interfacce sono la minimizzazione delle informazioni da
trasferire e la possibilit di modificare l'implementazione del livello (ad es.,
ove le linee telefoniche venissero sostituite da canali satellitari) con una pi
attuale che offra gli stessi servizi.
Architettura di rete
L'insieme dei livelli e dei relativi protocolli detto architettura di rete. La
specifica dell' architettura deve essere abbastanza dettagliata da consentire
la realizzazione di SW e/o HW che, per ogni livello, rispetti il relativo
protocollo. Viceversa, i dettagli implementativi di ogni livello e le interfacce
fra livelli non sono parte dell'architettura, in quanto sono nascosti
all'interno di un singolo host. E' quindi possibile che sui vari host della rete
ci siano implementazioni che differiscono fra di loro anche in termini di
interfacce fra livelli, purch ogni host implementi correttamente i protocolli
previsti dall'architettura. In questo caso possono dialogare fra loro anche
host aventi caratteristiche (processore, sistema operativo, costruttore)
diverse. Dunque, nell'ambito di una specifica architettura di rete, si ha che
tutti gli host devono contenere implementazioni conformi in termini di
livelli e di protocolli. Un'architettura di rete pu essere: proprietaria,
standard de facto, standard de iure.
Un'architettura proprietaria basata su scelte indipendenti ed arbitrarie
del costruttore ed generalmente incompatibile con architetture diverse.
Nel senso pi stretto del termine un'architettura per la quale il
costruttore non rende pubbliche le specifiche, per cui nessun altro pu
produrre apparati compatibili. Alcuni esempi sono IBM SNA (System
Network Architecture), Digital Decnet Phase IV; Novell IPX e Appletalk.
Un'architettura standard de facto un'architettura basata su specifiche di
pubblico dominio (per cui diversi costruttori possono proporre la propria
18
(protocol
stack).
Si
noti
che
un
host
pu
avere
Filosofo ind
(parla solo industano)
Traduttore
Segretaria
Dialogo sui
massimi sistemi
Uso della
lingua inglese
Uso del
fax
Stregone africano
(parla solo swahili)
Traduttore
Segretaria
Mezzo fisico
19
Nel caso delle reti, la comunicazione fra le due entit di livello superiore
avviene con una modalit che, almeno in linea di principio, uguale in
tutte le architetture di rete:
HOST 1
M
H4
H3 H4 M1
H2 H3 H 4 M1 T2
H 3 M2
H2 H3 M2 T2
Protocollo
di livello 5
Protocollo
di livello 4
Protocollo
di livello 3
Protocollo
di livello 2
HOST 2
M
H4
H3 H4 M1
H2 H 3 H 4 M1 T2
H3 M2
H 2 H3 M2 T2
Canale
fisico
fanno
il
percorso
inverso,
con
ogni
livello
che
elimina
Pacchetto
Sorgente
Destinazion
Connessione
(a)
Sorgente
Destinazion
(b)
Servizi connectionless
I servizi connectionless sono modellati secondo il sistema postale: ogni
lettera viaggia indipendentemente dalle altre; arriva quando arriva, e forse
non arriva. Inoltre, due lettere con uguale mittente e destinatario possono
viaggiare per strade diverse. Analogamente, in un servizio connectionless, i
22
tanto,
piuttosto
che
interruzioni
momentanee,
ma
23
Servizi vs protocolli
Servizi e protocolli sono spesso confusi, ma sono concetti ben distinti. Il
servizio un insieme di operazioni primitive che un livello offre al livello
superiore. Come queste operazioni siano implementate non riguarda il
livello superiore. Mentre il protocollo rappresenta un insieme di regole che
governano il formato ed il significato delle informazioni (messaggi, frame,
pacchetti) che le peer entity si scambiano fra loro.
Le entit usano i
HOST 1
HOST 2
Protocollo
Livello n
Livello n
Servizi
Servizi
Protocollo
Livello n - 1
Livello n - 1
di
identificazione
di
mittente
destinatario
(cio
due
direzioni
ma
non
contemporaneamente
(half-duplex
connection).
in due direzioni contemporaneamente (full-duplex connection);
3. Meccanismi per il controllo degli errori di trasmissione; possibile:
rilevarli oppure no;
correggerli oppure no;
avvertire il mittente oppure no.
4. Meccanismi per il mantenimento (o la ricostruzione) dell'ordine originario
dei dati.
5. Meccanismi per regolare le velocit di sorgente e destinazione.
6. Decisioni sulla dimensione (minima o massima) dei messaggi da inviare,
e su come eventualmente frammentarli.
7. Meccanismi di multiplexing di varie "conversazioni" su di un'unica
connessione (se stabilire la connessione costoso).
8. Meccanismi di routing dei messaggi, se esistono pi strade alternative,
ed eventualmente di suddivisione di una "conversazione" su pi
connessioni
contemporaneamente
(per
aumentare
la
velocit
di
primo il modello OSI Reference Model che senza dubbio determinante per
la creazione e lutilizzo di Internet Protocol Suite (detta anche architettura
TCP/IP o, piuttosto impropriamente, TCP/IP reference model). Un modello
di riferimento cosa diversa da un'architettura di rete: esso definisce il
numero, le relazioni e le caratteristiche funzionali dei livelli, ma non
25
Il modello ISO/OSI
L'OSI (Open Systems Interconnection) Reference Model il frutto del lavoro
della ISO (International Standard Organization), ed ha lo scopo di fornire
uno standard per la connessione di sistemi aperti, cio in grado di
colloquiare gli uni con gli altri, una base comune per lo sviluppo di
standard per l'interconnessione di sistemi e un modello rispetto cui
confrontare le varie architetture di rete.
le regole sopra
citate.
26
Application protocol
7
Application
Presentation
Session
Transport
Application
Presentation protocol
Presentation
Session protocol
Session
Application protocol
Transport
Subnet di comunicazione
Network
Network
Network
Network
Data Link
Data Link
Data Link
Data Link
Fisico
Fisico
Fisico
Fisico
HOST 1
ROUTER
ROUTER
HOST 2
Spesso, per visualizzare le competenze (in termini di livelli gestiti) dei vari
elaboratori sul cammino, si usano diagrammi simili al seguente:
27
HOST 1
HOST 2
5
ROUTER
ROUTER
Livello fisico
Ha a che fare con la trasmissione di bit "grezzi" su un canale di
comunicazione. Gli aspetti di progetto sono volti a garantire che se parte
un 1, arrivi effettivamente un 1 e non uno zero e largamente riguardanti le
caratteristiche meccaniche, elettriche e procedurali delle interfacce di rete
(componenti che connettono l'elaboratore al mezzo fisico) e quelle relative al
mezzo fisico.
28
superiore,
esente
da
errori
di
trasmissione
non
rilevati.
competono
col
regolare
traffico
nella
stessa
direzione);
Livello Network
Lo scopo del livello controllare il funzionamento della subnet di
comunicazione. Inizialmente tale livello offriva solamente servizi connection
oriented; successivamente fu aggiunta la modalit connectionless. Il livello
Network deve offrire questi servizi:
29
Livello Transport
Lo scopo di questo livello accettare dati dal livello superiore, spezzettarli
in pacchetti, passarli al livello network ed assicurarsi che arrivino alla peer
entity che si trova all'altra estremit della connessione.
In pi, fare ci
30
Livello Session
Ha a che fare con servizi pi raffinati che non sono quelli del transport
layer, come ad es.: token management: autorizza le due parti, a turno, alla
trasmissione. Come vedremo nel seguito, questo livello non ha mai avuto
un grande successo.
Livello Presentation
E' interessato alla sintassi ed alla semantica delle informazioni da
trasferire. Ad esempio, si occupa di convertire tipi di dati standard
(caratteri, interi) da rappresentazioni specifiche della piattaforma HW di
partenza in una rappresentazione "on the wire" e poi in quella specifica dell'
HW di arrivo. Anche questo livello non ha avuto molto successo.
Livello Application
Prevede che qui risieda tutta la variet di protocolli che sono necessari per
offrire i vari servizi agli utenti, quali ad esempio: terminale virtuale;
trasferimento file; posta elettronica ecc. Attraverso l'uso di questi
protocolli si possono scrivere applicazioni che offrono i suddetti servizi agli
utenti finali.
Lo scopo era
OSI
Tcp/Ip
Application
Application
Presentation
Session
Tranport
Transport
Network
Internet
Data Link
Host - to - Network
Fisico
rete:
packet-switched
basata
su
un
livello
connectionless
di
internetwork.
Livello host-to-network
Il livello pi basso non specificato nell'architettura, che prevede di
utilizzare quelli disponibili per le varie piattaforme HW e conformi agli
standard.
32
Livello Internet
E' il livello che tiene insieme l'intera architettura. Il suo ruolo permettere
ad un host di iniettare pacchetti in una qualunque rete e fare il possibile
per farli viaggiare, indipendentemente gli uni dagli altri e magari per strade
diverse, fino alla destinazione, che pu essere situata anche in un'altra
rete. Dunque per quanto detto tale sistema connectionless. E' un servizio
best-effort datagram. E' definito un formato ufficiale dei pacchetti ed un
protocollo, IP (Internet Protocol).
Livello Transport
E' progettato per consentire la conversazione delle peer entity sugli host
sorgente e destinazione (end-to-end). Sono definiti due protocolli in questo
livello:
TCP (Transmission Control Protocol): un protocollo connesso
ed affidabile (ossia tutti i pacchetti arrivano, e nell'ordine
giusto). Frammenta il flusso in arrivo dal livello superiore in
messaggi separati che vengono passati al livello Internet. In
arrivo, i pacchetti vengono riassemblati in un flusso di output
per il livello superiore.
UDP (User Datagram Protocol): un protocollo non connesso e
non affidabile, i pacchetti possono arrivare in ordine diverso o
non arrivare affatto.
Livello Application
Nell'architettura TCP/IP non ci sono i livelli session e presentation (non
furono ritenuti necessari; l'esperienza col modello OSI ha mostrato che
questa visione condivisibile). Sopra il livello transport c' direttamente il
livello application, che contiene tutti i protocolli di alto livello i quali
33
terminale virtuale; FTP (File Transfer Protocol): file transfer e SMTP (Simple
Mail Transfer Protocol) e POP (Post Office Protocol) utilizzati
posta
Application
Telnet
Ftp
Transport
Smtp
Http
Tcp
Nntp
ecc.
Udp
Internet
IP
per
le
discussioni
generali),
protocolli
vengono
solo
troppo
tardi,
quando
cio
quelli
TCP/IP
si
erano
gi
di
dell'architettura
TCP/IP
invece
sono
stati
In effetti i
implementati
efficientemente fin dall'inizio, per cui si sono affermati sempre pi, e quindi
hanno goduto di un crescente supporto che li ha resi ancora migliori. Ad
ogni modo, neanche l'architettura TCP/IP priva di problemi, infatti :
l'architettura TCP/IP non ha utilit come modello (non serve ad altro che a
descrivere se stessa); non c' una chiara distinzione fra protocolli, servizi e
interfacce, il che rende pi difficile l'evoluzione dell'architettura; alcune
35
d'insieme
osservazione.
del
processo
sono
estraibili
da
una
singola
36
distribuzione gaussiana, come nella maggior parte dei casi, allora la sua
distribuzione nota:
correlazione
processo. Per
, ma in genere essendo
37
I tipi di rumore
La sorgente di rumore pi comune negli apparati e dispositivi elettronici il
rumore termico, esso infatti intrinseco di ogni elemento dissipativo (es.
resistori) che si trovi ad una temperatura diversa dallo zero assoluto.
Scoperto da Jonhson e teorizzato analiticamente da Nyquist.
Nyquist
essere
completamente
ricostruito
mediante
una
campionatura
di comunicazione dotato di una banda passante da 0 Hz ad h Hz (passabasso di banda h) che trasporta un segnale consistente di V livelli discreti
massimo data rate (bit/sec.) = 2h log2V
Questo risultato implica che un segnale binario non va oltre i 6 kpbs su
una linea di banda passante pari a 3 kHz. Come vedremo, i modem veloci
sfruttano un segnale con un numero V di livelli piuttosto elevato per
riuscire a trasmettere, su una linea funzionante ad x baud, pi di x
bit/sec. (il termine baud indica la velocit di segnalazione di una linea,
ossia quante volte al secondo essa in grado di cambiare valore). Questo
rumore conseguenza dell'agitazione termica dei portatori di carica in un
conduttore. Il loro movimento caotico tale da creare ai capi di un resistore
una differenza di potenziale che mediamente vale 0 Volt (si dice che il
valore medio del processo rumore bianco nullo), ma che se misurata con
uno strumento che non carichi il resistore altamente variabile e
descrivibile solo in termini statistici: il valore quadratico medio (quadrato
.
Disturbi elettromagnetici
Per poter parlare di Disturbi elettromagnetici bisogna prima parlare di
Compatibilit elettromagnetica. Il termine compatibilit elettromagnetica
(EMC, dall'inglese Electromagnetic Compatibility) si riferisce alla disciplina,
nell'ambito
dell'ingegneria
elettrica
ed
elettronica,
che
studia
la
dall'esterno.
Quando,
nell'ambito
della
compatibilit
di
compatibilit
elettromagnetica
erano
lasciate
alla
For
Local
Computer
Networks.
L'obiettivo
originale
Successivamente, l'interesse
delle imprese del settore aument al punto che l'IEEE costitu alcuni
gruppi di studio finalizzati a perfezionare e consolidare Ethernet, nonch a
creare numerosi altri standard correlati. Uno dei risultati raggiunti fu la
pubblicazione, nel 1985, della prima versione dello standard IEEE 802.3,
basato
sull'originale
specifica
Ethernet,
ma
non
completamente
42
Il Frame
Nonostante Ethernet abbia diverse tipologie, l'elemento comune nella
struttura del frame che viene definito DIX (DEC, Intel, Xerox) ed rimasto
fedele alla versione originale:
Questo il frame ricevuto dallo strato di rete nella pila di protocolli. Gli
elementi sono:
Preamble: Preambolo (8 byte): I primi 7 byte hanno valore 10101010 e
servono a svegliare gli adattatori del ricevente e a sincronizzare gli
oscillatori con quelli del mittente. L'ultimo byte ha valore 10101011 e la
serie dei due bit a 1 indica al destinatario che sta arrivando del contenuto
importante.
Destination MAC address: Indirizzo di destinazione (6 byte). Questo campo
contiene l'indirizzo LAN dell'adattatore di destinazione, se l'indirizzo non
corrisponde il Livello fisico del protocollo lo scarta e non lo invia agli strati
successivi.
Source MAC address: Indirizzo sorgente (6 byte);
EtherType: Campo tipo (2 byte): Questo campo indica il tipo di protocollo
del livello di rete in uso durante la trasmissione oppure (nel caso di frame
IEEE 802.3) la lunghezza del campo dati;
Payload: Campo dati (da 46 a 1500 byte): contiene i dati reali e possono
essere di lunghezza variabile in base all'unit massima di trasmissione
43
Indirizzo Ethernet
Gli indirizzi sono tutti a 6 byte in quanto Ethernet definisce uno schema di
indirizzamento a 48 bit: ogni nodo collegato, quindi, ha un indirizzo
Ethernet univoco di questa lunghezza. Esso corrisponde all'indirizzo fisico
della macchina ed associato all'hardware. Sono anche detti indirizzi
hardware, indirizzi MAC (o MAC address) o indirizzi di livello 2.
Tipologia di trasmissione
La codifica usata per i segnali binari la codifica Manchester. che prevede
una transizione del valore del segnale nel mezzo di ogni bit, zero o uno che
sia.
44
Codifica
di Zero
Codifica
di Uno
+ 0,85 V
0V
- 0,85 V
Durata
del bit
Durata
del bit
Il frame ricevuto pu
contenere errori, la maggior parte dei quali sono verificabili dal controllo
CRC noto anche come polynomial code.
Supponiamo che
(backoff
esponenziale)
in
questo
modo:
gli
adattatori
lungo termine durante la quale sono trasmessi frame senza collisioni con
altri mittenti. Nei sistemi Ethernet recenti, il problema non si presenta in
quanto con gli switch e la crescita della capacit (vedi Gigabit Ethernet) si
eliminano le collisioni e si rende molto pi improbabile la congestione.
essere
al
massimo
due
ripetitori
per
salvaguardare
la
In questo
uno o pi cavi Ethernet ad alta velocit che collegano altri segmenti di LAN.
In questo modo lo switch intercetta i pacchetti e li ridireziona ad un host
oppure sui segmenti Ethernet. La gestione dei pacchetti, quindi,
ottimizzata perch questi sono subito indirizzati alla destinazione evitando,
per quanto possibile, collisioni.
dominio di collisione.
48
FIGURA 1.24 : Retro di un PC con due porte RS-232 (i due connettori maschio in basso)
Utilizzi
Lo standard EIA RS-232 nacque nei primi anni '60 per opera della
"Electronic Industries Association" ed era orientato alla comunicazione tra i
mainframe e i terminali attraverso la linea telefonica, utilizzando un
modem. Oggi la porta seriale EIA RS-232 presente in quasi tutti i PC
desktop, anche se stata soppiantata dall'interfaccia USB (o da PS/2) in
quasi tutti gli utilizzi. La gran parte dei PC portatili invece non viene ormai
pi dotata di questa interfaccia.
possono
citare:
connessione
terminali
ad
un
calcolatore
49
le
caratteristiche
elettriche
dei
segnali,
la
struttura
temporizzazioni dei dati seriali, la definizione dei segnali e dei protocolli per
il controllo del flusso di dati seriali su un canale telefonico, il connettore e
la disposizione dei suoi pin ed infine il tipo e la lunghezza massima dei
possibili cavi di collegamento. Nel corso di questi oltre 40 anni lo standard
si evoluto pur mantenendosi in larga parte invariato. L'evoluzione
riconoscibile dalla sigla, leggendo l'ultima lettera; l'ultima revisione del
1997 ed indicata come EIA RS-232f. Probabilmente la versione pi
diffusa la RS232c, del 1969, corrisponde alle specifiche europee CCITT
raccomandazione V.24. Pur essendo un protocollo piuttosto vecchio,
attualmente la EIA RS-232 ancora largamente utilizzata per la
comunicazione a bassa velocit tra microcontrollori, dispositivi industriali
ed altri circuiti relativamente semplici che non necessitano di particolare
velocit; invece praticamente scomparsa in ambito "desktop", ambito nel
quale lo standard nato per la comunicazione tra un computer ed un
modem. Le informazioni raccolte, relative principalmente al livello elettrico,
sono
state
codificate
inizialmente
dallo
standard
EIA/TIA-232-E
Definizione
Seriale significa che i bit che costituiscono linformazione sono trasmessi
uno alla volta su di un solo "filo". Questo termine in genere contrapposto
a "parallelo": in questo caso i dati sono trasmessi contemporaneamente su
50
solo di
Le unit di misura
Le unit di misura della velocit di trasmissione sono essenzialmente due:
il baud ed il bit per secondo (bps o, meno spesso, b/s), spesso trattate
erroneamente come sinonimi. Il baud rate indica il numero di transizioni al
secondo che avvengono sulla linea; il bps indica, come dice il nome, quanti
bit al secondo sono trasmessi lungo la linea.
binaria (cio presente un livello alto ed uno basso) le due cose ovviamente
coincidono numericamente, da cui la parziale equivalenza dei due termini.
Nel caso di trasmissioni a pi livelli, invece, possibile trasmettere con una
sola transizione pi bit: se per esempio posso trasmettere otto diversi valori
di tensione tra 0 ed 7 volt, con un solo valore di tensione invio tre bit (0 V =
51
collegando un oscilloscopio ad un filo su cui transita un segnale EIA RS232 a 9600 bps del tipo 8n2 (in seguito verr indicato il significato di
questa sigla ) rappresentante il valore binario 01001011. Lampiezza del
segnale caratterizzata da un valore "alto" pari a circa +12 V ed un valore
"basso" pari a 12 V. Da notare che, nello standard EIA RS-232 un segnale
alto rappresenta lo zero logico ed uno basso un uno, quindi una codifica
a logica negativa, ossia rovesciata rispetto al comune pensare. A volte un
segnale alto (+12 V, cio uno zero logico) indicato come space ed uno
basso (-12 V, uno logico) come mark. Tutte le transizioni appaiono in
corrispondenza di multipli di 104us (pari ad 1/9600 cio ciascun bit dura
esattamente l'inverso del baud rate). La linea si trova inizialmente nello
stato di riposo, alta (nessun dato in transito); la prima transizione da alto a
basso indica linizio della trasmissione (inizia il "bit di start", lungo
52
esattamente 104us). Segue il bit meno significativo (LSB), dopo altri 104
uS il secondo bit, e cos via, per otto volte, fino al bit pi significativo
(MSB). Da notare che il byte trasmesso "al contrario", cio va letto da
destra verso sinistra.
Si
Il bit di parit
Oltre ai bit dei dati (in numero variabile tra 5 e 9) viene inserito un bit di
parit (opzionale) per verificare la correttezza del dato ricevuto. Di questo
particolare ma importante bit ne esistono 5 importanti versioni:
None: nessun tipo di parit, cio nessun bit aggiunto;
Pari (even): il numero di mark (incluso il bit di parit) sempre pari;
Dispari (odd): il numero di mark (incluso il bit di parit) sempre
dispari;
54
progettazione, produzione,
55
56
La piramide CIM
Gestione
Azienda
Livello 4 :
Gestione Stabilimento
Livello 3 :Supervisione Integrata
Livello 2 :Supervisione di Cella (Cell Area)
Livello 1: Sistemi di Controllo (Field Area)
Livello 0 : Piano di Officina (Sensor/Actuator )
Figura 2-2 : piramide Cim
57
controllo di
58
controllato:
gestione
operativa
intesa
come
come se la
senza
la
definizione
delle
caratteristiche
di
continuit,
anchesso
destinato
realizzare
funzioni
di
controllo
61
Acquisizione dati
Lacquisizione dati una funzione che nella maggior parte dei casi ha un
ruolo di supporto alle funzioni di supervisione e controllo poich mette in
relazione il sistema con il processo controllato consentendo la conoscenza
dello stato in cui si trova il processo e lazione di controllo esercitata per
mezzo della variazione di parametri caratteristici del processo. In questo
senso acquisizione dati significa in realt scambio dati in entrambe le
direzioni: dal processo verso il sistema e viceversa.
In alcuni sistemi
controllato,
cio
si
considera
assente
qualsiasi
processo
Supervisione
La supervisione lattivit per mezzo della quale un sistema SCADA rende
possibile losservazione dello stato e dellevoluzione degli stati di un
processo
controllato.
Con
tale
funzionalit
prendono
corpo:
la
sistema nel senso che un sistema che non permetta di accedere alle
63
Controllo
La funzione di controllo rappresenta la capacit di un sistema di prendere
decisioni relative allevoluzione dello stato del processo controllato in
funzione dellevoluzione del processo medesimo. La modalit con la quale
le
procedure
di
controllo
vengono
realizzate
nellambito
dellintera
La
dei
quali
caratterizzato
da
un
determinato,
di
esercizio
realizzazione
considerazione
di
un
del
componente
sistema
laffidabilit
dei
medesimo.
necessario
singoli
Nella
tenere
componenti
in
per
in
stato
di
fermo
manutenzioni,aggiornamenti o
causa
di
guasti,
altro. La disponibilit pu
per
produzione
lasciandolo
in
stati
potenzialmente
molto
la
realizzazione
dellinterazione
denominati
tra
gli
interfacce
di
operatori
sottosistemi
e
il
uomo-macchina
sistema
(in
responsabili
medesimo
inglese
si
usa
Gli attuatori
La caratteristica
funzione 24 ore su 24, per 365 giorni all'anno, su impianti che non
possono fermarsi mai. La struttura del PLC viene adattata in base al
processo da automatizzare. Durante la progettazione del sistema di
controllo, vengono scelte le schede adatte alle grandezze elettriche in gioco.
Funzionamento
La prima cosa che il PLC compie la lettura degli ingressi e con questo si
intende tutti quelli digitali che analogici, on board o su bus di campo
(schede remote collegate al PLC o con una rete di comunicazione). Lo stato
degli ingressi, una volta letto, viene memorizzato in una memoria che
definita "Registro immagine degli ingressi". A questo punto le istruzioni di
comando vengono elaborate in sequenza dalla CPU e il risultato viene
memorizzato nel "Registro immagine delle uscite".
Infine, il contenuto
dell'immagine delle uscite viene scritto sulle uscite fisiche ovvero le uscite
vengono
attivate.
Poich
l'elaborazione
delle
istruzioni
si
ripete
per
una
singola
elaborazione
viene
detto
tempo
di ciclo
68
Cpu
La CPU il cervello del PLC.
69
bus dati, comando, indirizzi per la veicolazione dei dati fra le varie
parti e con l'esterno della CPU.
Schede di comunicazione
Il PLC durante il suo funzionamento pu comunicare con computer, con
altri PLC oppure con altri dispositivi come le macchine CNC (i torni e/o le
frese a controllo numerico delle aziende). La comunicazione con computer e
altri dispositivi avviene tramite tipi di connessione standard come:
RS422/RS485
TCP/IP,UDP/IP
USB
Profibus
DeviceNet
TCP/IP
Fins, C-command
70
utilizzati
in
altri
ambiti,
ma
devono
accentuare
particolari
caratteristiche per far si che lo scopo per cui vengono creati sia raggiunto
nei migliori dei modi. Nel nostro studio ci siamo soffermati solo ad
analizzare particolari protocolli, in particolare quelli utilizzati per la
comunicazione tra Pc e Plc o tra vari Plc e precisamente su due protocolli,
proprietari di Omron, i C-Command e Fins. Sono stati incontrati, ma non
approfonditi, anche altri protocolli come ModBus, o alcuni proprietari di
Vago (altra nota marca di Plc) e Simens. Tutti soddisfano ed enfatizzano
caratteristiche comuni tra le quali:
Velocit ed immediatezza:
dove
la
sincronizzazione
di
apparati
meccanici
deve
71
tra
vari
plc,
per
cui
devono
essere
semplici
poich
la
101
100
Unit Number
Text
Header code
FCS
CR
Teminator
@:
Unit Number :
Header Code :
Text :
parametri
di
ogni
comando
specificato
nellheader code
FCS :
Terminator :
Header
Descrizione
Code
I/O lettura
RR
memoria
RL
Lettura memoria LR
RH
Lettura memoria HR
RC
RG
RD
Lettura memoria DM
RJ
Lettura memoria AR
RE
Lettura memoria EM
I/O scrittura
WR
memoria
WL
Scrittura memoria LR
WH
Scrittura memoria HR
WC
WD
Scrittura memoria DM
WJ
Scrittura memoria AR
WE
Scrittura memoria EM
R#
Lettura timer 1
Timer/Counter R$
Lettura Timer 2
R%
Lettura Timer 3
Lettura
74
Scrittura
W#
Scrittura Timer 1
Timer/counter
W$
Scrittura Timer 2
W%
Scrittura Timer 3
Stato Unit
MS
CPU
SC
MF
Lettura di errori
Forzatura
KS
Forzatura a 1
settaggio
KR
Forzatura a 0
resettaggio bit
FK
KC
Modello PLC
MM
Testaggio
TS
Test
Modalit
RP
lavoro
WP
Creazione
MI
Creazione
QQMR
registri
QQIR
Processi di
XZ
tabella
comunicazione **
Inizializzazione
IC
End code
160 160 *
FCS
CR
Teminator
75
Unit Number
FCS
CR
Teminator
Fins
Rappresenta lultimo protocollo nato in casa OMRON. E molto affidabile ed
efficiente. Supporta la comunicazione via porta seriale o tramite Ethernet
(mediante socket UDP). Come fatto per il precedente C-Command si
illustrano di seguito la semantica e la sintassi del protocollo:
ICF
00
02
RSV
GCT
160 160
DNA
DA1
DA2
SNA
160 MR SR
SA1
SA2
SID
Text
Command
76
ICF
(Information
control
field)
Configurato
per
mostrare
la
GCT
DNA
DA1
DA2
SNA
SA1
SA2
SID
Command
Code
Tipo
MR
Descrizione
SR
Accesso memoria 01
01
Lettura memoria
01
02
Scrittura memoria
01
03
01
04
01
05
Trasferimento
copiatura
blocchi
di
memoria
Parametri
di 02
01
02
02
02
03
Area di memoria 03
06
del programma
03
07
03
08
Modalit
04
01
Modalit Run
operativa
04
02
Modalit Stop/Program
Configurazione
05
01
dispositivo
05
02
dello 06
01
stato
06
20
Sincronizzazione
07
01
07
02
09
20
Periferiche
0C
01
esterne
0C
02
0C
03
accesso memoria
Lettura
Messaggio
display
78
Errori
21
01
21
02
21
03
Errori protocollo 21
40
FINS
21
41
Memoria
22
01
Lettura File
riservata ai File
22
02
22
03
22
04
Cancellazione File
22
05
Formattazione Memoria
22
07
Copiatura File
22
08
22
0A
22
0B
22
0C
22
15
Creazione\Cancellazione Directory
22
20
23
01
Forzatura Bit
23
02
Eliminazione Forzature
Forzature
ICF
00
02
RSV
GCT
160 160
DNA
DA1
DA2
SNA
160 MR SR
SA1
SA2
SID
Command
Text
End Code
79
bridge
ethernet-seriale.
Questo
dispositivo
permette
la
80
Quando
Gli
81
82
mediante
modulo
Ethernet
con
protocollo
Fins.
CPM2A
continuamente
interrogare
Plc,
soprattutto
quelli
connessi
con
I sistemi controllati
Dopo aver mostrato larchitettura generale del sistema, abbiamo svolto una
breve e semplice analisi, dalla quale sono emerse le entit coinvolte
meritevoli di considerazione.
Qui sotto si propone un piccolo e breve elenco per capirle comprenderle al
meglio.
I PLC: Sono 6 e precisamente di due famiglie : 4 sono CP1A egli ultimi 2
C200HS. I primi comunicano solo ed esclusivamente mediante porta
seriale, mentre gli ultimi 2 comunicano tramite Ethernet e/o porta seriale.
Le caratteristiche tecniche e logiche di queste entit sono gi state
illustrate nei capitoli precedenti.
85
gi largamente utilizzata in
azienda sia per gestire la contabilit, che come base dati per
altri
restanti PLC, quelli facenti parte della famiglia CP1A, tale modulo ETN-11,
non era pi in produzione, pertanto la comunicazione poteva avvenire solo
ed esclusivamente mediante porta seriale. E stato quindi necessario
ricorrere ad un bridge ethernet seriale, in grado di ricevere in input un
segnale ethernet, convertirlo in un segnale seriale, inviarlo al plc
mezzanotte
88
89
90
91
Visione di insieme
Il disegno sottostante illustra la struttura generale dell architettura da noi
realizzata:
93
Come si pu notare sono presenti i sei plc dei quali due collegati
direttamente alla rete ethernet, mentre i restanti collegati mediante il
bridge ethernet-seriale. La base dati oracle accessibile da ogni Pc o
dispositivo collegato.
brevemente
elencare
pacchetti
presenti
nellapplicativo
da
me
95
IL LAVORO OPERATIVO
Difficolt incontrate
Dopo aver mostrato nei vari capitoli precedenti tutto ci che riguarda
lapplicativo, visto sia dal punto di vista teorico sia dal punto di vista di
implementazione e progettazione vorrei soffermarmi sulle difficolt avute e
incontrate in corso dopera. Dal punto di vista di progettazione non
abbiamo
incontrato
particolari
difficolt
perch
il
sistema
era
questo
che
avendo
riscontrato
lo
stesso
problema,
si
proceduto
98
CONCLUSIONI
Il sistema in esecuzione
Dopo una prima fase di test eseguita in ufficio si portato lapplicativo in
azienda, procedendo in questo modo: si mantenuto lapplicativo vecchio e
si installato a fianco il nostro nuovo. La situazione rimarr tale per circa
quattro mesi, cos da poter avviare una approfondita fase di collaudo in
azienda e, nel caso di riscontrassero problemi, non venga interrotta la
normale esecuzione del sistema. In questa prima fase si constatato che il
programma abbastanza affidabile per quanto riguarda la comunicazione
con il PLC. Sono emerse delle normali incongruenze dovute a piccoli errori
di programmazione o dei vari parametri, che impostati durante la fase di
sviluppo, avevano un determinato valore diverso da quello rilevato in
azienda. Questa tipologia di errore si sa che inevitabile ed sempre da
tenere in considerazione per questo motivo, come spiegato si scelto di
mantenere in parallelo le due soluzioni.
di
avere
delle
fondamenta
solide
per
evitare
spiacevoli
La vera e propria
Si
parte
infatti
dalla
creazione
di
codice
atto
alla
101
Il modello client-server
1-2
1-3
1-4
1-5
1-6
1-7
Topologie di interconnessione
1-8
1-9
1-10
Interconnessione di reti
1-11
1-12
1-13
1-14
1-15
1-16
1-17
Modello OSI
1-18
1-19
1-20
1-21
1.22
1-23
Codifica Manchester
102
1-24
1-25
2-1
2.2
Piramide CIM
2.3
3-1
3-2
3-3
3-4
3-5
3-6
Comandi Fins
3-7
3-8
Bridge Ethernet-seriale
4-1
4-2
Diagramma
4-3
Nuova architettura
4-4
Schermata principale
4-5
Schermata sincronizzatore
103
BIBLIOGRAFIA
[1] G.Destri : Introduzione ai sistemi informativi aziendali, Mup Editore,
Parma, 2007
[2] G.Destri : UML nella progettazione software 2003 ,slide per il corso di
ingegneria del software
[3] C.Chiodelli :Sistema Intelidomus IP,2005
[4] C.chiodelli :Building & home Automation 2004
[5] Tanenbaum Andrew S. : Reti di Calcolatori , Addison Wesley ,2003
[6] G.Bongiovanni : sistemi di elaborazione Universit di Roma 2000
[7] Omron : manuali operativi Cp1x, 1996 http://www.omron.com/
[8] Omron : manuali Operativi C200H, 1999 http://www.omron.com/
[9] Moxa : manuali Operativi Nport 5110, 2005
[10] I.Bacchi : Progettazione di applicativi per la super visione domotica
2005
[11] Wikipedia : Standard Seriale
[12] Wikipedia : Rumore ed interferenze elettromagnetiche.
104
105