controllo remoto di apparati dell'esperimento graal - tesi di laurea danilo lo presti -...
Post on 12-Aug-2015
114 Views
Preview:
TRANSCRIPT
Indice
1
INDICE
1 INTRODUZIONE. ........................................................................................................................................................ 3
2 ESPERIMENTO GRAAL ....................................................................................................................................... 10
2.1 CARATTERISTICHE E UTILITÀ DEL FASCIO GRAAL ........................................................................................... 10 2.2 DIFFUSIONE COMPTON INVERSA: ENERGIA DEL FASCIO DI FOTONI ................................................................... 11 2.3 L’INTERAZIONE CON GLI ELETTRONI DELL’ANELLO ESRF E LA POLARIZZAZIONE DEL FASCIO ...................... 13 2.4 APPARATO SPERIMENTALE PER LA PRODUZIONE DEL FASCIO GRAAL ............................................................. 14 2.5 PROGRAMMA DI FISICA DELL’ESPERIMENTO GRAAL .......................................................................................... 16
3 CENNI SULLE TECNOLOGIE DI TELECONTROLLO ..................................................................................... 18
3.1 CONTROLLORI A LOGICA PROGRAMMABILE (PLC) ............................................................................................ 18 3.1.1 La Central Processing Unit (CPU) del PLC ................................................................................................. 20 3.1.2 Schede di ingresso e di uscita ...................................................................................................................... 23 3.1.3 Schede di comunicazione .............................................................................................................................. 24
3.2 INTERNET E IL TRANSFER CONTROL PROTOCOL (TCP) PER IL TRASPORTO DEI DATI ...................................... 25 3.2.1 La pila protocollare Ethernet ......................................................................................................................... 26 3.2.2 Realizzazione della connessione tra client e server ....................................................................................... 29 3.2.3 La protezione delle reti .................................................................................................................................. 32
3.3 SISTEMI EMBEDDED (O INCAPSULATI) .................................................................................................................. 35 3.3.1 Un po’ di storia ............................................................................................................................................. 36 3.3.2 Le Caratteristiche ........................................................................................................................................... 38 3.3.3 La programmazione ...................................................................................................................................... 39
4 IL MICRO WEB SERVER EMBEDDED: RECS 101 ............................................................................................ 42
4.1 GENERALITÀ .......................................................................................................................................................... 42 4.1.1 Indipendenza dalla piattaforma hardware: la tecnologia JAVA .................................................................. 43
4.2 CARATTERISTICHE DI RECS 101 ......................................................................................................................... 45 4.3 CONNESSIONE A RECS 101 ................................................................................................................................. 56
5 SISTEMI DI VIDEO CONTROLLO ANALOGICI ................................................................................................ 58
5.1 IMPLEMENTAZIONE DI UN SISTEMA DI VIDEO CONTROLLO ANALOGICO ............................................................. 58 5.2 LE TELECAMERE .................................................................................................................................................... 59
5.2.1 Il sensore .................................................................................................................................................... 60 5.2.2 Sensibilità e altre caratteristiche delle telecamere ....................................................................................... 64
5.3 IL SEGNALE VIDEO COMPOSITO............................................................................................................................. 65 5.3.1 L’interlacciamento e gli standard video ...................................................................................................... 66 5.3.2 La sincronizzazione ....................................................................................................................................... 68 5.3.3 Il segnale video composito ............................................................................................................................. 71
5.5 IL TRASPORTO DEL SEGNALE VIDEO COMPOSITO ......................................................................................... 72 5.4.1 Simulazione col codice di simulazione SPICE del cavo RG59 .................................................................... 74
5.5 VANTAGGI E LIMITI DI UN SISTEMA VIDEO ANALOGICO ...................................................................................... 78
6 SISTEMI DI VIDEO CONTROLLO DIGITALE OVER IP (INTERNET PROTOCOL) .................................. 80
6.1 I CODEC.................................................................................................................................................................. 80 6.1.2 Alta qualità: Motion-JPEG o MPEG4 ? ....................................................................................................... 85
6.2 NETWORK CAMERA E SUO UTILIZZO IN UN SISTEMA VIDEO DIGITALE ................................................................ 85 6.3.1 Trasporto del video digitale su rete internet .................................................................................................. 86 6.3.2 Sistemi di protezione e accesso ad una network camera .............................................................................. 88
Indice
2
7 UN CASO REALE: IL TELECONTROLLO DEGLI APPARATI DELLA SALA LASER
DELL’ESPERIMENTO GRAAL ................................................................................................................................. 91
7.1 DESCRIZIONE DELL’APPLICAZIONE ...................................................................................................................... 91 7.2 ARCHITETTURA DEL SISTEMA DI CONTROLLO. .................................................................................................... 93 7.3 INTERFACCIA DI POTENZA CON GLI APPARATI CONTROLLATI ............................................................................ 95
CONCLUSIONI.............................................................................................................................................................. 98
RINGRAZIAMENTI .................................................................................................................................................. 100
BIBLIOGRAFIA ........................................................................................................................................................... 101
1 Introduzione
3
1 Introduzione.
Nel corso degli anni compresi tra il 1970 e il 1995 sono stati realizzati fasci di fotoni di
energia sino a 1.5 GeV, etichettati e polarizzati, prodotti dalla deflessione a 180° della luce
di un laser da parte degli elettroni di alta energia, sino a 6 GeV, di un anello di
accumulazione.
Il primo di tali fasci è stato il Ladon [1], dal nome del fiume nella mitologia greca,
realizzato sull’anello di accumulazione ADONE (grande Anello Di Accumulazione), a
Frascati; l’esperimento ha subito un successivo perfezionamento con la realizzazione sullo
stesso anello del fascio TALADON [2] (TAgged LADON). Il secondo è stato il fascio
Light Electron Gamma Source [3] , sull’anello NSLS (National Synchrotron Light Source),
a Brookhaven (USA). Infine il terzo è il fascio GRAAL (GRenoble Anneau Accelerateur
Laser), sull’anello ESRF (European Synchrotron Radiation Facility), a Grenoble. Occorre
ancora ricordare, per completezza di trattazione che sono stati realizzati a Novosibirsk
anche altri fasci polarizzati: ROKK-2 avente un’energia massima di 149 MeV e ROKK-4
con un’energia massima di 900 MeV.
Come verrà esposto in modo più dettagliato nel primo capitolo, il procedimento consiste
nel far incidere a 180° la luce polarizzata di un raggio laser (avente energia di pochi
elettronVolt) sugli elettroni ultrarelativistici di un anello di accumulazione: in tal modo i
fotoni, diffusi all’indietro per effetto Compton, acquistano un’energia che può andare da
decine di MeV a qualche GeV, in funzione dell’energia degli elettroni urtati, dell’angolo di
diffusione e della lunghezza d’onda del laser adoperato. I fotoni diffusi sono distribuiti,
1 Introduzione
4
pertanto, secondo un certo spettro di energia e hanno energia massima quando sono emessi
ad un angolo di 0° rispetto alla direzione degli elettroni incidenti.
All’interno dell’anello ADONE, per esempio, sono accumulati elettroni di 1.5 Gev e i γ
diffusi dall’urto possono avere un’energia massima di 80 MeV. Gli elettroni di NSLS
hanno energia di 2.5 Gev e il fascio LEGS prodotto può giungere fino a 320 MeV. Infine
l’anello ESRF di Grenoble, avente elettroni circolanti da 6 Gev, permette la produzione
di γ aventi energia massima Emax=1500 MeV.
Nel capitolo 2 saranno descritte le caratteristiche e le utilità del fascio GRAAL
partendo dalle nozioni di diffusione Compton inversa per arrivare al suo programma di
fisica. Nei capitoli successivi si valorizzeranno gli aspetti riguardanti essenzialmente le
applicazioni ed i vantaggi delle tecniche di telecontrollo remoto, con applicazione alle
attrezzature usate per la produzione del fascio GRAAL.
Nel capitolo 3 analizzeremo alcune di queste tecnologie che possono avere come
componenti i PLC e i sistemi embedded. Soffermandoci su questi ultimi accenneremo all’
utilizzo delle reti Ethernet basate sull’IP e al più diffuso dei suoi protocolli di trasporto: il
TCP, alla base di tutti i sistemi di controllo remoto che saranno analizzati in questo lavoro
di tesi. Lo scopo del capitolo è quello di fornire, da un lato un’introduzione ai sistemi di
automazione, dall’altro, alcuni strumenti necessari per i capitoli successivi in cui si parlerà
dei sistemi di controllo remoto che sono stati utilizzati all’interno dell’esperimento
GRAAL.
Da diversi anni ormai esistono sistemi di video controllo installati in parecchi siti per vari
motivi: sicurezza, controllo, monitoraggio di processi, etc… La tecnologia impiegata nei
sistemi di video controllo ha subito, negli anni, una certa evoluzione e ogni passo in avanti
è contrassegnato da nuove problematiche emergenti, ma anche da notevoli vantaggi.
Riguardo alle problematiche, è naturale che allorquando si migliora l’efficienza di un
sistema, spesso se ne aumenta anche la complessità e dunque nascono nuovi problemi da
risolvere ovvero ostacoli legati alla nuova tecnologia impiegata. Per esempio
un’automobile di un tempo per “funzionare” bastava che “partisse” e la sua manutenzione
era davvero alla portata di tutti, nel senso che i passi da seguire per un check-up completo
erano molto limitati. Per contro una moderna autovettura incorpora una tecnologia molto
1 Introduzione
5
avanzata che unisce diverse discipline come meccanica, elettronica, informatica e
telecomunicazioni.
Alla luce di ciò, nel capitolo 4 descriveremo le parti che compongono un sistema di video
controllo analogico e vedremo come esse interagiscono. Vedremo come si genera
l’immagine all’interno di una telecamera e in che modo viene trasmessa. Introdurremo
degli standard di trasmissione del segnale video e analizzeremo alcune problematiche
legate alla risoluzione dell’immagine. Infine vedremo quali sono i limiti di un sistema di
video controllo analogico e accenneremo come essi possano essere superati cambiando
tecnologia. L’era dell’analogico infatti non è ancora definitivamente tramontata ed è
pertanto interessante vedere cosa cambia nel migrare dalla tecnologia analogica a quella
digitale, da un sistema di video controllo analogico a un sistema di video controllo
digitale con tecnologia IP .
Un sistema di video controllo analogico, sebbene più semplice nella sua implementazione,
presenta molte limitazioni di diversa natura. Nel capitolo 5 vedremo come queste si
possano superare cambiando radicalmente la tecnologia impiegata. Nello specifico
analizzeremo una possibile implementazione di un sistema di video controllo digitale,
partendo dalla descrizione di una network camera e della sua funzionalità. Particolare
attenzione dedicheremo al sistema di trasmissione del segnale elaborato da una network
camera su rete internet; infatti tale tecnica comporta molti vantaggi in termini di
versatilità ed una riduzione di cablaggi e costi.
Tuttavia, a differenza dei sistemi analogici, il percorso che va dalla generazione delle
immagini alla trasmissione e ricezione delle stesse è più complesso. Nel capitolo 6,
partendo da un’analisi dettagliata della generazione delle immagini su di un CCD (Charge
Coupled Device) e della loro trasmissione in un sistema analogico si descriverà un sistema
digitale, che a differenza del primo, prevederà una conversione del segnale analogico in
digitale, seguito da una fase di compressione effettuata tramite opportuni algoritmi
matematici. Nel contempo si descriveranno i vantaggi derivanti dall’impiego di una
network camera, controllata da remoto all’interno di una sala sperimentale.
Poiché gli apparati utilizzati negli esperimenti di fisica nucleare sono spesso molto
complessi e coinvolgono un gran numero di dispositivi di misura quali sensori ed attuatori,
la possibilità di gestire questi dispositivi attraverso un controllo remoto, che viene
1 Introduzione
6
presentata nel nostro caso pratico con il fascio GRAAL al capitolo 7, presenta due
vantaggi:
1) permette agli operatori di modificare alcuni parametri dell’esperimento senza che
questi debbano direttamente accedere alle sale sperimentali;
2) permette di monitorare un gran numero di variabili fondamentali per il buon esito
dell’esperimento.
Il tipo d’informazione presente nel sistema può essere suddiviso in due categorie:
La supervisione dell’impianto ed il controllo dei dati, necessari per il corretto
funzionamento del sistema.
Questa informazione viene utilizzata per mettere a punto le condizioni operative che
meglio si prestano per la corretta esecuzione dell’esperimento. La relativa dinamica è
modesta, perciò può essere gestita tramite controllo remoto utilizzando un sistema
distribuito.
L’acquisizione dei dati sperimentali.
I segnali sono solitamente ottenuti a frequenze aleatorie e sono caratterizzati da una
durata molto piccola (generalmente pochi nanosecondi o meno); di conseguenza essi
devono essere memorizzati in loco, richiedendo l’utilizzo di sistemi di acquisizione
dedicati in tempo reale, risultando difficilmente implementabile l’eventuale
trasferimento attraverso un sistema di comunicazione .
Gli apparati sperimentali a cui ci si riferisce vengono normalmente utilizzati per studiare
nuclei e particelle. In genere sono necessarie adeguate strutture protette e sicure alloggiate
all’interno dei laboratori di ricerca per la fisica nucleare, il cui accesso è rigorosamente
regolato da sistemi di protezione molto sofisticati e sicuri. Dopo un’attenta analisi dei vari
modi di funzionamento di svariati apparati sperimentali, la nostra attenzione è stata
focalizzata sul problema di monitorare i sistemi di controllo tipici dell’esperimento
GRAAL. In effetti abbiamo osservato che questa parte dell’esperimento viene
tradizionalmente gestita adoperando soluzioni semplicistiche spesso dettate da regole
euristiche. Sovente negli esperimenti di fisica nucleare ci si concentra molto di più sui
1 Introduzione
7
sistemi di acquisizione dei dati sperimentali che sui sistemi di gestione dell’esperimento
stesso trascurando, a volte, tutta una serie di complicazioni puramente operazionali che
potrebbero limitarne la corretta esecuzione. L’insorgere di problemi di questo tipo può
limitare l’effettivo tempo di acquisizione dati, poiché a volte è necessario sospendere il
fascio e quindi rifare una nuova messa a punto dell’esperimento stesso.
Più specificatamente, in funzione della nostra esperienza, sono state fatte le seguenti
osservazioni:
I sistemi di supporto potrebbero essere attivabili solo manualmente all’interno delle
sale sperimentali;
Durante ogni esperimento la presenza delle radiazioni (pericolosa sia per gli essere
umani che per la strumentazione) richiede di mettere le sale sperimentali nello stato
cosiddetto di “Safety Control”; il che si traduce nella necessità di dover sospendere
il fascio ogni qualvolta un operatore deve intervenire all’interno di tali sale;
Le connessioni dedicate tra le sale sperimentali e le sale di acquisizione sono
spesso di tipo punto-punto con dispendio di cablaggi.
Quando, in una sala sperimentale, le apparecchiature elettroniche per il controllo ed il
monitoraggio dei processi, sono in numero elevato, torna utile una tecnologia di supporto
per eseguire operazioni di inizializzazione, setup, etc… Tali operazioni vengono eseguite
in remoto, cioè da una postazione fisicamente differente da quella dello strumento da
controllare, dalla quale è anche possibile il controllo di tutte le altre apparecchiature.
Tipicamente per effettuare ciò si utilizzano delle interconnessioni in rete che spaziano da
quella seriale a quella basata su “internetworking”. Inoltre inequivocabili vantaggi sono
l’espandibilità e la scalabilità dei sistemi.
Sulla base di queste considerazioni, abbiamo identificato un punto chiave che influiva
negativamente sui tempi di setup degli apparati GRAAL:
· Il sistema di supporto per la gestione del laser e delle ottiche che permette di
generare i raggi gamma.
In particolare nell’esperimento GRAAL, tale sistema comprende un laser di elevata
potenza che, tramite un periscopio ottico di precisione va a colpire gli elettroni accelerati
provenienti dall’anello ESRF. Punto chiave di tale sistema è che di volta in volta è
1 Introduzione
8
necessario eseguire la regolazione delle ottiche mediante un complesso software scritto in
codice LabView, che s’interfaccia a più moduli GPIB (General Purpose Interface Bus),
posti in cascata per un percorso totale di circa 100 m, che va dalla sala sperimentale alla
sala di acquisizione dati. Spesso a causa dei problemi di sincronizzazione dei vari moduli,
l’intera catena GPIB collassa per cui è necessario fare il reset manuale di tutti i moduli
secondo una particolare sequenza.
Altro punto importante riguarda proprio la sala dedicata al Laser. Per ovvie ragioni di
sicurezza dovute alle elevate potenze emesse dal laser che possono raggiungere i 6 W è
tassativamente vietato rimanere in tale sala quando il laser è operativo. Con l’ausilio di una
particolare network camera di seguito dimostreremo come sia possibile virtualizzare la
presenza di un operatore all’interno della sala, evitando così inutili sospensioni del fascio.
Il capitolo 7 costituisce la parte innovativa della tesi, poiché partendo dalle nozioni e
problematiche esposte in tutti i capitoli precedenti, verrà mostrata un’applicazione reale di
tali tecniche che hanno apportato all’esperimento GRAAL un valido ausilio che può essere
riassunto nei seguenti vantaggi:
Riduzione dei costi dei cavi e della loro installazione, di conseguenza riducendo il
numero delle scatole di giunzione, delle barriere di isolamento di sicurezza, senza
trascurare il problema di eventuali cortocircuiti dovuti ad una cattiva posa in opera;
Facile addizione o rimozione di dispositivi del sistema senza la necessità di nuovi
cavi. Questo è un punto chiave nell’arrangiamento degli esperimenti scientifici, che
diversamente dagli impianti industriali sono strutture dinamiche continuamente in
evoluzione, dove l’addizione o la rilocazione di sensori è una frequente occorrenza;
Riduzione in numero di connessioni per i dispositivi montati su parti mobili.
Questo è un innegabile vantaggio in apparati (per es. nelle braccia dei robots o nei
supporti mobili dei sistemi di misura) i quali usano un largo numero di dispositivi
collegati e per i quali matasse di cavi di interconnessione potrebbero rendere più
pesanti e più rigide le articolazioni;
Riduzione degli errori di installazione. Nei sistemi complessi il problema degli
errori umani nei dispositivi cablati non dovrebbe essere sottovalutato. Quando sono
1 Introduzione
9
usate centinaia di connessioni può capitare che una connessione risulti errata
(causata per esempio dalla confusione tra due differenti conduttori), e non sempre è
possibile rivelare l’errore anche quando il sistema è stato testato. Se è usato un
sistema a bus (Binary Unit System), d’altro canto, i vari dispositivi sono connessi
in parallelo, sullo stesso bus o in differenti bus, e solo la configurazione del sistema
e l’applicazione software sono responsabili per la corretta esecuzione del flusso di
informazioni. E’ possibile implementare moduli software che controllano la
corretta messa a punto del sistema;
Riduzione dei costi di documentazione. Benché questo non sia una voce importante
nella totalità dei costi di un progetto, la fase di produzione della documentazione è
una delle più delicate (in vista di possibili aggiornamenti del progetto). Quando
l’aggiornamento (come già menzionato un esperimento di fisica nucleare è
altamente dinamico) coinvolge variazioni nella configurazione di un certo numero
di dispositivi, gli schemi precedenti ed i disegni richiedono considerevoli
modificazioni.
In conclusione mostreremo come i risultati ottenuti siano incoraggianti per concreti
sviluppi futuri. Infatti il punto di forza delle soluzioni mostrate è rappresentato dalla
facilità con cui i vari sistemi possono essere espansi ed integrati, senza essere condizionati
da quanto preesiste. Dimostreremo come tali applicazioni sono un valido supporto per i
moderni esperimenti di fisica nucleare, andando ad affiancare i sistemi d’acquisizione dati
e l’elettronica dei rivelatori di particelle, già adoperati.
2 Esperimento GRAAL
10
2 Esperimento GRAAL
2.1 Caratteristiche e utilità del fascio GRAAL
Il fascio GRAAL rappresenta uno strumento particolarmente indicato per lo studio delle
reazioni nucleari per diverse ragioni:
Può essere adoperato come sonda nucleare, in quanto permette di esplorare la struttura
interna del nucleone attraverso la fotoproduzione dei suoi stati eccitati. Infatti se l’energia
del γ assume valori nell’intervallo 500 Mev<Eγ<1500 Mev la minima distanza che è
possibile risolvere è 0.13 fm, da confrontarsi con la dimensione rp=0.81 fm, ottenuta dalla
radice quadrata del raggio quadratico medio del protone misurato da esperimenti di
elettrodiffusione.
L’interazione elettromagnetica che il fotone ha con il nucleone o con i quark che lo
compongono è conosciuta e pertanto può essere facilmente fattorizzata nella sezione d’urto
in modo da evidenziare la parte legata alle sole interazioni forti.
I γ prodotti hanno la stessa polarizzazione dei fotoni del laser, in quanto per urti relativistici
l’elicità è un buon numero quantico; essa può essere quindi modificata cambiando la
polarizzazione del laser; in tal modo si possono studiare gli effetti legati alla polarizzazione,
limitando gli errori sistematici.
2 Esperimento GRAAL
11
I fotoni polarizzati hanno il campo elettrico e magnetico orientati secondo una direzione
precisa. Questo introduce effetti angolari in funzione dell’azimut φ, che permettono di
distinguere meglio i diversi multipoli che contribuiscono alle varie transizioni nucleoniche.
2.2 Diffusione Compton inversa: energia del fascio di fotoni
Tramite la diffusione Compton ricaviamo, adesso, l’energia dei fotoni uscenti.
Supponiamo di avere, un elettrone di quadrimpulso (pe, Ee), e un fotone di energia Eγ
(figura 2.1).
Figura 2.1: Cinematica della diffusione Compton inversa
L’energia del fotone diffuso è univocamente determinata dall’angolo a cui esso viene
emesso rispetto alla traiettoria dell’elettrone incidente. La sezione d’urto che descrive il
processo è quella di Klein-Nishina, che è calcolata nel sistema di riferimento in cui
l’elettrone è a riposo e nel caso in cui i fotoni incidenti non sono polarizzati. Se l’elettrone
è ultrarelativistico, la trasformazione di Lorentz che fa passare al sistema di riferimento
del laboratorio provoca un forte restringimento dell’angolo fotone diffuso = inc ; pertanto la
distribuzione angolare dei fotoni diffusi è fortemente piccata in avanti rispetto alla
2 Esperimento GRAAL
12
direzione degli elettroni incidenti. La sezione d’urto per fotoni incidenti non polarizzati è
data dall’espressione:
dove :
è il fattore di Lorentz dell’elettrone;
;
.
Nel caso ultrarelativistico, in cui si possono considerare solo i termini proporzionali a
, l’espressione che fornisce l’energia del fotone diffuso in funzione dell’angolo a cui
esso emerge dall’urto è data da:
(1.1)
Nel caso in cui i due fasci iniziali siano allineati e cioè il fotone venga fatto incidere
sull’elettrone con un angolo , la relazione (1.1) si riduce all’espressione
seguente:
(1.2)
Dalla relazione (1.2) si può vedere che l’energia del fotone diffuso è molto più elevata di
quella del fotone entrante. Pertanto la diffusione Compton inversa può essere adoperata
per produrre un fascio di fotoni di alta energia partendo dai fotoni di pochi elettronVolt di
un laser. Il fascio prodotto avrà uno spettro di energia, il cui valore massimo viene
raggiunto nel caso di diffusione del γ all’indietro .
2 Esperimento GRAAL
13
Per determinare l’energia del fotone prodotto la tecnica adoperata nel fascio GRAAL,
consiste nell’etichettare il fascio γ, misurando l’energia dell’elettrone che ha interagito
con il fotone di energia . L’energia del γ etichettato sarà data dalla semplice relazione:
(1.3)
2.3 L’interazione con gli elettroni dell’anello ESRF e la
polarizzazione del fascio
I fotoni emessi dal laser sono polarizzati linearmente da due finestre di Brewster e
possono essere polarizzati circolarmente con una lamina a quarto d’onda. Questa
polarizzazione si trasmette quasi inalterata ai fotoni uscenti dalla retrodiffusione Compton.
Ricordiamo infatti che questi elettroni sono ultrarelativistici ( GevEe 6 ) e quindi
l’elicità rappresenta per essi un buon numero quantico. Questo implica che nell’urto tra i
fotoni e gli elettroni, è del tutto trascurabile il contributo dato dalla diffusione con spin-flip
dell’elettrone, in seguito alla quale il fotone cambierebbe la sua polarizzazione. Inoltre
nello scattering all’indietro cioè per quei che vengono diffusi con un angolo 0
rispetto alla direzione del fascio di elettroni, il momento angolare relativo tra le due
particelle è nullo, pertanto l’elettrone non può modificare la polarizzazione del neanche
per scambio di momento angolare orbitale. In prima approssimazione la percentuale di
polarizzazione del fascio può essere così espressa in funzione dell’angolo formato
rispetto a 0 :
41 P
Definiamo il parametro x come il rapporto tra l’energia E del diffuso e quella
massima maxE che il raggiunge per 0 . Tale andamento è illustrato nella seguente
figura 2.2:
2 Esperimento GRAAL
14
Figura 2.2: Polarizzazione del fascio di fotoni
Come si vede il risultato è diverso per i due tipi di polarizzazione. Tuttavia per un’energia
dei fotoni diffusi vicina a quella massima, il grado di polarizzazione è prossimo al 100%
in entrambi i casi, cioè il fascio mantiene la sua polarizzazione originaria.
2.4 Apparato sperimentale per la produzione del fascio
GRAAL
Passiamo, adesso, ad una descrizione sommaria dell’apparato sperimentale per la
produzione del fascio GRAAL.
Figura 2.3 : Apparato sperimentale GRAAL
2 Esperimento GRAAL
15
Come si vede nella sovrastante figura 2.4, i fotoni emessi dal laser urtano nella regione di
interazione con gli elettroni ultrarelativistici, provenienti in direzione opposta. Come
abbiamo visto nel paragrafo precedente, per determinare l’energia del fotone emesso si
misura sperimentalmente l’energia '
eE dell’elettrone diffuso. A tale scopo viene impiegato
un rivelatore che andiamo a descrivere insieme alla tecnica cosiddetta di etichettamento
interno alla macchina.
Una possibilità pratica per etichettare il fotone di alta energia prodotto nell’urto,
misurando la posizione dell’elettrone diffuso è quella di un etichettamento interno: il
rivelatore di “tagging” deve essere estremamente compatto e posizionato all’interno della
camera a vuoto dell’anello di accumulazione, il più vicino possibile all’orbita principale
dell’elettrone. Inoltre il rivelatore lavora nell’ambiente dell’anello dove è pure presente
una radiazione di sincrotrone, che crea un forte rumore di fondo. Esso è costituito da 10
scintillatori plastici per dare il via agli impulsi elettrici da acquisire, e da 128 microstrip al
silicio per misurare la posizione d’impatto dell’elettrone diffuso. Con questa tecnica si
ottiene una risoluzione dell’energia dei fotoni uscenti di 16 Mev (Full Width Half
Maximum) tra 500 e 1500 MeV di fotone. Per lo studio dei canali di fotoproduzione il
fascio γ viene indirizzato su di un bersaglio. Le particelle prodotte vengono rivelate da un
rivelatore.
Il rivelatore adronico GRAAL copre l'intero angolo solido a parte due piccole finestre di
entrata e uscita lungo l'asse del fascio. E' essenzialmente costituito da tre parti: Nella parte
centrale, tra 25° e 155° le particelle che emergono passano attraverso due camere a filo
cilindriche ed un barile di 32 sottili scintillatori plastici, poi entrano in un calorimetro fatto
di 480 cristalli di BGO, ciascuno lungo 24 cm, e alloggiati, come un'arancia, in 32 settori
di 15 cristalli ognuno.
Le particelle emesse ad angoli minori di 25° attraversano due camere a filo planari e tre
muri di scintillatori plastici. Le prime due pareti sottili sono usate per misurare la specifica
ionizzazione delle particelle. Poi una barriera spessa, con strati alternati di scintillatori
plastici e piombo, misura l’energia totale delle particelle cariche e rivela neutroni e raggi
gamma. Tutte e tre le barriere insieme offrono una misurazione della posizione e del
tempo di volo delle particelle rivelate.
Le particelle emesse all' indietro incontrano due dischi di scintillatori plastici separati da
piombo. Ogni disco ha un foro centrale di 5 cm di raggio per il passaggio del fascio ed è
visto da 12 fotomoltiplicatori per ricostruire la posizione e il tempo d’impatto di una
2 Esperimento GRAAL
16
particella rivelata. La risposta combinata dei due dischi permette la discriminazione tra i
raggi gamma e le particelle cariche.
2.5 Programma di fisica dell’esperimento Graal
Come abbiamo visto la collaborazione GRAAL dispone di un fascio di γ con elevato
grado di polarizzazione, di energia compresa tra 500 Mev e 1500 Mev. Tale fascio viene
inviato contro un bersaglio (per esempio idrogeno). L’urto tra il γ e il nucleone avviene
pertanto con una certa energia totale nel sistema del centro di massa che rende accessibili
le risonanze barioniche di tipo N e di tipo Δ, almeno fino a quelle con spin J ≤ 5/2 che
intervengono nei processi di fotoproduzione dei mesoni isoscalari π e η. Si aprono, poi,
anche processi che coinvolgono il quark s, attraverso la foto produzione di mesoni strani K
e di barioni strani di tipo Λ.
Una caratteristica saliente del fascio GRAAL è legata alla possibilità di utilizzare un
fascio di fotoni ed un bersaglio entrambi polarizzati: quest’ultimo ha polarizzazione
fissa, mentre quella del fascio può essere rapidamente cambiata nel corso della medesima
presa dati variando la polarizzazione iniziale del laser. Questo assicura che la misura delle
asimmetrie legate ad effetti di polarizzazione non sia affetta da errori sistematici.
Le misure che vengono realizzate dall’esperimento GRAAL si concentrano
principalmente sui seguenti punti:
Spettroscopia delle risonanze barioniche: GRAAL ha le caratteristiche
necessarie per determinare il contributo dinamico di almeno i primi tre multipoli
E1, M1, E2, agli stati eccitati del nucleone, la conoscenza dei quali ha
implicazioni per la comprensione dell’interazione tra i quark costituenti.
Fotoproduzione di η: GRAAL può evidenziare quelle strutture che possono
emergere solo selezionando particolari stati di spin. Vengono, inoltre, effettuate
misure dei parametri del mesone η.
2 Esperimento GRAAL
17
Fotoproduzione di stranezza: Attraverso le reazioni Kp e
0 Kp si può dare una stima delle costanti di accoppiamento dei
vertici forti NKg
e NKg
.
Vengono studiate anche altre reazioni e inoltre le misure di asimmetrie di fascio
hanno, in linea di principio, la sensibilità sufficiente per discriminare tra modelli
esistenti.
3 Cenni sulle tecnologie di telecontrollo
18
3 Cenni sulle tecnologie di telecontrollo
3.1 Controllori a logica programmabile (PLC)
Automatizzare un processo vuol dire determinarne l’inizializzazione o lo spegnimento, in
maniera automatica, sulla base di certe informazioni fornite. In generale, di fatto, un
sistema automatico è composto da tre blocchi fondamentali:
1. Dispositivo di lettura ( legge le informazioni e le invia al blocco di
elaborazione)
2. Unità di elaborazione ( elabora le informazioni e comanda il dispositivo di
uscita)
3. Dispositivo di uscita ( porta fisicamente a livello alto o basso attuatori,
relais, ect…)
Il mercato oggi offre parecchie soluzioni per l’automazione industriale. Una di queste è il
PLC, acronimo di Programmable Logic Controller.
Esso è definito come “computer industriale specializzato nella gestione dei processi”. Più
precisamente un PLC non fa altro che eseguire un programma ed elaborare i segnali
digitali ed analogici provenienti da sensori e diretti agli attuatori presenti in un impianto
industriale.
Potrebbe essere definito come un oggetto hardware componibile o modulare la cui
caratteristica fondamentale è la sua robustezza. Di norma un PLC viene installato
all’interno di quadri industriali tipicamente ubicati in ambienti rumorosi elettricamente,
3 Cenni sulle tecnologie di telecontrollo
19
con temperature elevate o con grande umidità. In certi casi esso rimane in funzione
permanentemente, su impianti che non possono fermarsi mai, come ad esempio le
raffinerie o le centrali elettriche.
La struttura intrinseca 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. Le varie schede sono quindi inserite all’interno di un BUS di
comunicazione presente all’interno di uno chassis contenente il PLC. Un BUS non è altro
che un canale di comunicazione parallelo che permette l’interconnessione di più entità di
un sistema a microprocessore.
Esso è composto da un alimentatore, dalla CPU che in certi casi può avere interna o
esterna una memoria RAM (Random Memory Address) o Flash o EPROM (Electronically
Programmable Read Only Memory), da un certo numero di schede di ingressi digitali e
uscite digitali, e nel caso in cui sia necessario gestire grandezze analogiche, il PLC può
ospitare delle schede di ingresso analogiche o di uscita analogiche.
I moderni PLC inoltre integrano al loro interno tutte le funzionalità che gli permettono di
operare in rete con altri PLC semplicemente adoperando delle schede di comunicazione
compatibili col protocollo di comunicazione implementato sugli altri. Un protocollo di
comunicazione consiste di una semantica e di una sintassi definite a priori dal progettista
che permette il completo dialogo tra due entità di una rete.
Chiaramente un sistema basato sui PLC può ospitare una moltitudine di schede
d’interfacciamento che si differenziano da un’applicazione all’altra. Ad esempio, nel caso
di operazioni di movimentazione, come nel campo della robotica, il PLC ospita delle
schede acquisizione controllo assi, cioè delle schede molto veloci e sofisticate che
permettono di gestire spostamenti e posizionamento. Nei prossimi paragrafi entreremo nei
dettagli delle parti componenti di un classico PLC, illustrandone le varie proprietà.
3 Cenni sulle tecnologie di telecontrollo
20
3.1.1 La Central Processing Unit (CPU) del PLC
Il compito di elaborare le informazioni di un PLC è affidato alla CPU. Questa è la “parte
pensante” di un PLC; viene anche chiamata microprocessore o microcontrollore.
Un microcontrollore è un circuito integrato spesso racchiuso in package di tipo DIP
(Dual In-line Package)(figura 3.1).
Figura 3.1: Raffigurazione di un comune microcontrollore in versione DIP
Tipicamente possiede un sistema operativo proprietario e una zona di memoria a
disposizione del programma utente, cioè del programma di automazione. La memoria
utente è spesso esterna come ad esempio nel caso di memoria EPROM. Il vantaggio di una
memoria esterna è legata alla sua semplicità di programmazione o di modifica poiché
essendo facilmente asportabile è possibile effettuare degli aggiornamenti in termini di
nuove funzionalità del sistema stesso o risoluzione di casistiche software precedentemente
non contemplate. La CPU durante il funzionamento a regime, colloquia con tutte le schede
connesse sul BUS del PLC, trasferendo dati e comandi sia verso il mondo esterno, sia dal
mondo esterno.
3 Cenni sulle tecnologie di telecontrollo
21
Una delle caratteristiche peculiari delle CPU dei PLC è la loro capacità di poter gestire le
modifiche del programma di gestione del processo durante il normale funzionamento.
Questa possibilità è estremamente utile nel caso di impianti che devono essere sempre
attivi.
All'interno della CPU trovano posto varie parti, tra cui:
Unità di gestione, ovvero informazioni di gestione del PLC stesso, impostate dal
costruttore e trasparenti all'utente;
Archivio di temporizzatori e contatori, funzionali all'operatività del PLC;
Memorie immagine del processo, cioè le informazioni in ingresso ed i comandi in
uscita del processo;
Memoria utente, in cui vengono scritti i programmi che il PLC deve eseguire;
Interfaccia per il dispositivo di programmazione, che comunica con gli strumenti
di programmazione;
Bus dati, comando, indirizzi per la trasmissione dei dati fra le varie parti e con
l'esterno della CPU.
Nella figura 3.2 di seguito riportata, è mostrato un esempio di schema a blocchi di un
PIC16F84, un microcontrollore ad 8 bit prodotto dalla Microchip.
Figura 3.2: Schema a blocchi del PIC16F84
3 Cenni sulle tecnologie di telecontrollo
22
Non ci dilunghiamo in una descrizione approfondita di tutta l’architettura del sistema
raffigurato, teniamo piuttosto a mettere in luce la sua struttura globale: come tutti i
microprocessori, esso possiede un unità aritmetico-logica (ALU) a cui spetta il compito di
interpretare, e successivamente eseguire le istruzioni in maniera sequenziale. La ALU del
PIC16F84A e' in grado di operare su valori ad 8 bit, ovvero valori numerici non più grandi
di 255. Esistono microprocessori con ALU a 16, 32, 64 bit e oltre. La famiglia Intel©
80386©, 486© e Pentium© ad esempio dispone di una ALU a 32 bit. Le potenze di calcolo
raggiunte da questi micro sono notevolmente superiori a scapito della complessità della
circuiteria interna ed accessoria e conseguentemente dello spazio occupato.
Le istruzioni sono memorizzate su una memoria EEPROM (Electrical Erasable
Programmable Read Only Memory).
In basso a destra nello schema troviamo le porte di input-output: 4 porte RA (da RA0 a
RA3) e 8 porte RB (Da RB0 a RB7). Ciascuna di queste, nella fase di programmazione,
viene impostata come porta di ingresso o di uscita a seconda delle esigenze di
programmazione. Sono direttamente connesse ai pin del chip (figura 3.3).
Figura 3.3: Piedinatura del microcontrollore PIC16F84
La programmazione di un microprocessore è svolta in più fasi. Il programma viene
scritto con un normale PC utilizzando dei linguaggi di programmazione a basso livello
(come l’Assembler) o ad alto livello (come Basic, C, Fortran etc…). Dopo aver scritto il
programma, ad esempio, in assembler con un normale editor di testo, lo si compila: Il
compilatore assembler analizza il programma scritto e se non ci sono errori lo traduce in
linguaggio macchina. Il file generato che ha un’estensione .hex ora può essere scaricato
sulla memoria EEPROM del microcontrollore. Per far ciò si utilizza una semplice scheda
di interfaccia che ospita il chip. Questa è connessa al PC tramite la porta seriale o parallela
3 Cenni sulle tecnologie di telecontrollo
23
o USB (Universal Serial Bus) e con dei software applicativi come IC-PROG o MPLAB si
trasferisce il programma sul microcontrollore. Successivamente il chip può essere estratto
dal suo zoccolo (generalmente viene utilizzato uno speciale zoccolo chiamato ZIF “Zero
Insertion Force” per facilitarne l’inserimento e la rimozione) e inserito sul PLC. Tuttavia
qualora si abbia la necessità di riprogrammare rapidamente e frequentemente la EEPROM
del microprocessore si può dotare il PLC di una scheda aggiuntiva per scaricare il
programma direttamente senza estrarre il chip. Questa tecnica è chiamata In Circuit
Programming. Dotare un PLC per la programmazione IC è importante in quanto una
caratteristica fondamentale di queste apparecchiature è proprio la loro riprogrammabilità
che li rende universali e adatti a qualunque processo di automazione industriale.
3.1.2 Schede di ingresso e di uscita
In un PLC le porte di uscita e di ingresso del microprocessore sono connesse a opportune
schede elettroniche per il pilotaggio di apparecchiature esterne. Ricordiamo che un PLC
generalmente non viene progettato ad hoc per una applicazione specifica, per cui deve
mantenere il suo carattere generale di applicabilità in ogni tipo di processo automatico.
Così si avranno schede di ingresso e uscita sia analogiche che digitali.
Le schede di ingresso digitali sono utilizzate per il controllo di grandezze "digitali", cioè
di tensioni a due valori (ad esempio 0 V o 24 V, oppure 0 V 110 V). Ogni scheda può
gestire da 4 a 32, o 64 ingressi digitali differenti. I segnali vengono fatti arrivare con
opportune linee fino alla morsettiera della scheda.
Le schede di uscita digitali sono utilizzate per i comandi di attuatori digitali. Ad
esempio un relais è un attuatore digitale, in quanto può avere soltanto due stati stabili:
diseccitato, o eccitato. Altro esempio di attuatore è una valvola digitale a due stati: aperta,
chiusa. Anche nel caso di schede di uscita digitali, si possono gestire da un minimo di 4 ad
un massimo di 64 uscite digitali differenti.
3 Cenni sulle tecnologie di telecontrollo
24
Le schede di ingresso analogiche permettono il controllo di grandezze elettriche il cui
valore può variare entro un intervallo. Le grandezze in gioco sono in tensione o in corrente.
Ad esempio sono disponibili schede di ingresso analogiche in corrente, con un intervallo
variabile tra 4 mA e 20 mA. Ad esempio molti produttori di PLC rendono disponibili
schede con ingressi analogici per sonde di temperatura. Queste schede sono disponibili con
varie risoluzioni (8-12-14-16 bit) e con 1 o più ingressi distinti disponibili in morsettiera o
connettore.
Le schede di uscita analogiche permettono di controllare degli attuatori variabili.
Possono essere in corrente o in tensione ed avere una determinata soluzione esprimibile in
bit. Ad esempio è possibile comandare un motore elettrico tramite un inverter variandone
la velocità, tramite la frequenza, da zero alla sua massima velocità. Oltre all'esempio sopra
citato servono per regolazioni di temperatura variando l'intervallo di uscita, regolazioni di
luce ecc. Ad ogni aumento o diminuzione di luce corrisponde un equivalente segnale in
corrente o in tensione.
3.1.3 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 ad esempio:
RS232 (Recommended Standard 232)
RS422/RS485 (Recommended Standard 422)/ (Recommended Standard 485)
TCP/IP (Trasmission Control Protocol)/(Internet Protocol)
La comunicazione con altri PLC avviene tramite protocolli standard, ad esempio:
3 Cenni sulle tecnologie di telecontrollo
25
Profibus
DeviceNet
TCP/IP
Modbus
Modbus Plus
Modbus TCP/IP
Controlnet
UDP/IP (User Datagram Protocol)/(Internet Protocol)
ecc.
In particolare nel prossimo paragrafo verranno analizzate le tecniche che prevedono
l’utilizzo di Internet e del protocollo TCP per il trasporto dei dati.
3.2 Internet e il Transfer Control Protocol (TCP) per il
trasporto dei dati
In questo paragrafo vogliamo introdurre alcuni concetti base come l’architettura a strati
del TCP, metodi di connessione, “handshaking” ed altri ancora, che ci serviranno in
seguito.
Tali nozioni sono di fondamentale importanza per i sistemi di telecontrollo remoto, come
RECS101 (Remote Ethernet Control System) prodotto dalla Intellisystem Technologies
S.r.l. (di cui parleremo più avanti in questo capitolo), e le network camere (telecamere
speciali che permettono di veicolare le loro riprese attraverso una rete Ethernet ed
Internet), utilizzati all’interno dell’esperimento GRAAL, a Grenoble in Francia.
3 Cenni sulle tecnologie di telecontrollo
26
L’utilizzo di internet, fino a qualche anno fa, era limitato alla navigazione sul web per
reperire informazioni, all’uso della posta elettronica, e a tutte quelle applicazioni che non
richiedevano elevate velocità di trasporto dei dati. Con l’avvento dell’ADSL, prima, e di
FASTWEB, dopo, la rete internet è diventata un mezzo di comunicazione su larga scala.
Con una larghezza di banda in continua crescita le applicazioni sono diventate davvero
innumerevoli. Tra queste, purtroppo, trovano posto anche quelle illecite. Così il problema
della sicurezza è, più che mai, un fattore cruciale. Vedremo come il protocollo TCP rende
sicura una connessione tra due host nella rete.
Vedremo, infine, come si progetta e realizza una connessione tra client e server, per
esempio tra un PC e una network camera.
3.2.1 La pila protocollare Ethernet
Se si volesse tradurre il termine “internet”, potremmo dire che si tratta di una rete di
reti. Di fatto il percorso fisico che compie un messaggio, dalla locazione di partenza a
quella di destinazione, incontra dei nodi, e da questi viene instradato su percorsi di rete
specifici; in questo senso internet è una rete mondiale che mette in collegamento le sue
sottoreti. Orientarsi, sarebbe un impresa ardua senza l’ausilio di una architettura
protocollare che, stabilisca delle regole per l’invio e la ricezione dei messaggi, garantisca
l’integrità degli stessi, e ne controlli i percorsi.
Un protocollo è un insieme di regole e codifiche che tutti i terminali devono riconoscere,
per applicarle ad ogni pacchetto di dati pervenuto. Facciamo inoltre un’osservazione:
supponiamo di codificare un messaggio per inviarlo ad un determinato ricevitore (host). Il
messaggio viene così diviso in pacchetti, rispettando delle regole protocollari,
successivamente i pacchetti possono essere instradati su differenti percorsi. Anche questa
3 Cenni sulle tecnologie di telecontrollo
27
operazione è soggetta a delle “regole”, cioè ad un protocollo che definisca gli
indirizzamenti. Per usare un paragone, il postino che deve consegnare una lettera segue
delle regole per individuare l’indirizzo di destinazione; lui, però, non conosce il contenuto
della lettera né è tenuto a sapere quali regole grammaticali, per esempio, sono state
impiegate per scriverla. È come se il “protocollo per la grammatica” fosse incapsulato nel
protocollo per l’instradamento.
La rete internet allora è organizzata in protocolli che possono contenere altri protocolli. In
altri termini esiste una pila protocollare organizzata in strati. Possiamo rappresentare il
tutto con una figura:
Figura 3.4: Gli strati della pila protocollare
Lo strato di applicazione è responsabile del supporto delle applicazioni della rete.
Queste applicazioni comprendono molti protocolli, inclusi l’HTTP (Hyper Text Transfer
Protocol) che supporta il WEB (World Electronic Broadcast), SMTP (Simple Mail
Trasport Protocol) che supporta le posta elettronica e l’FTP (File Transfer Protocol) che
supporta il trasferimento dei files.
Lo strato di trasporto fornisce il servizio di trasporto dei messaggi dello strato di
applicazione fra le estremità client e server di un’applicazione. In internet ci sono due
protocolli di trasporto, TCP e UDP; entrambi possono trasportare i messaggi dello strato di
applicazione. Il TCP fornisce alle sue applicazioni un servizio orientato alla connessione.
Questo servizio comprende la garanzia di consegna a destinazione dei messaggi dello
3 Cenni sulle tecnologie di telecontrollo
28
strato di applicazione e un controllo di flusso (cioè l’adattamento tra le velocità di mittente
e destinatario). Il TCP frammenta anche i messaggi più lunghi in segmenti più corti e
fornisce un meccanismo di controllo della congestione, in modo che una sorgente limiti la
sua velocità di trasmissione quando la rete è congestionata. Il protocollo UDP fornisce alle
sue applicazioni un servizio senza connessione: i dati vengono inviati senza eseguire
controlli sulla congestione e sugli errori.
Lo strato di rete è responsabile dell’instradamento dei datagram (più comunemente
definiti come pacchetti dati) da un host (entità presente all’interno di una rete in grado di
dialogare con altre) all’altro. Questo strato in internet ha due componenti principali. Ha un
protocollo che definisce i campi nel datagram IP e come i terminali e i router (dispositivi
atti ad accoppiare due reti di natura diversa) agiscono su questi campi: il protocollo IP.
Esiste un solo protocollo IP, e tutti i componenti di Internet che hanno uno strato di rete lo
devono impiegare. Lo strato di rete contiene anche i protocolli di instradamento che
determinano il percorso che i datagram devono seguire fra sorgente e destinazione.
Come abbiamo visto Internet è una rete di reti, e l’amministratore della rete può,
all’interno della rete, far funzionare qualunque protocollo di istradamento desideri.
Sebbene lo strato di rete contenga sia il protocollo IP sia numerosi protocolli di
instradamento, spesso ci si riferisce a questo strato come allo strato IP, per il fatto che IP è
il collante che tiene insieme Internet. Qualunque tecnologia che vede l’impiego di Internet
per il trasporto dei dati viene, pertanto, definita over IP. Il lavoro di questa tesi è
focalizzato sulle tecnologie di controllo remoto over IP.
I protocolli dello strato di trasporto (TCP e UDP) in un host sorgente passano un
segmento dello strato di trasporto e un indirizzo di destinazione allo strato IP (questa
operazione corrisponde a quella, forse più familiare, della consegna di una lettera, con
l’indirizzo del destinatario, al servizio postale). Lo strato di rete fornisce quindi il servizio
di instradare il segmento verso la sua destinazione. Quando il pacchetto arriva a
destinazione, IP passa il segmento allo strato di trasporto all’interno della destinazione.
Strato di collegamento. Lo strato di rete instrada un pacchetto attraverso una serie di
commutatori di pacchetto (detti router) fra la sorgente e la destinazione. Per muovere un
pacchetto da un nodo (che può essere un computer host o un router) al successivo sul
percorso, lo strato di rete deve delegare il servizio allo strato di collegamento. In
particolare ciascun nodo IP passa il datagram allo strato di collegamento, che lo invia al
3 Cenni sulle tecnologie di telecontrollo
29
nodo successivo lungo il percorso. A questo punto, lo strato di collegamento ripassa il
datagram allo strato di rete.
Strato fisico. Mentre il compito dello strato di collegamento è di muovere interi frame da
un elemento della rete a quello adiacente, il compito dello strato fisico è di muovere singoli
bit da un nodo al successivo. Tutti i protocolli dello strato fisico dipendono dal mezzo
trasmissivo del link ( per esempio doppino, cavi LAN, Local Aarea Network, cavi
coassiali, fibre ottiche etc..). Ethernet, ad esempio, possiede molti protocolli per questo
strato: uno per il doppino, uno per il cavo coassiale e così via. In ciascun caso il bit si
muove attraverso il link in modo diverso.
In altri termini questo strato della pila protocollare si occupa della trasmissione digitale
dei dati a livello fisico; a livello, cioè, di impulsi elettrici di tensione sulle linee di
trasmissione.
3.2.2 Realizzazione della connessione tra client e server
Il protocollo IP è il protocollo di comunicazione attualmente più usato, poiché costituisce
il protocollo di base usato per le comunicazioni tramite Internet, compresi la posta
elettronica, il Web e le applicazioni multimediali. Una delle ragioni della sua popolarità
risiede nella sua scalabilità. Ciò significa, in altre parole, che questo protocollo può essere
usato sia per le piccole installazioni che per quelle di dimensioni maggiori, perché è in
grado di garantire prestazioni elevate, costi ridotti e un’ampia compatibilità con
attrezzature e tecnologie consolidate.
La maggior parte dei computer attualmente installati negli ambienti di lavoro utilizza
generalmente il protocollo TCP/IP ed è collegato ad altri sistemi tramite l’ormai nota rete
Ethernet che consente di disporre di una rete veloce a un costo ridotto. La maggior parte
dei computer attualmente in commercio ha un’interfaccia Ethernet integrata o è predisposta
per l’installazione di una scheda di interfaccia di rete (NIC “Network Interface
3 Cenni sulle tecnologie di telecontrollo
30
Controller”). Tutti i sistemi di telecontrollo di cui parleremo ne sono forniti. Elenchiamo
alcuni standard:
10 Mbit/s (10 Mbps) Ethernet
Questo standard, raramente utilizzato per le reti a causa della sua ridotta capacità, è stato
sostituito alla metà degli anni ’90 con lo standard 100 Mbit/s Ethernet. La tipologia più
comunemente utilizzata con il protocollo 10 Mbit/s Ethernet era nota con il nome di
10BASE-T. Questa tipologia prevede l’uso di 4 fili (due fili a doppino incrociato)
alloggiati all’interno di un cavo Cat. 3 o Cat. 5. Al centro viene installato un hub o switch,
che dispone di una porta per ciascun nodo. La stessa configurazione viene usata anche per
Fast Ethernet e Gigabit Ethernet.
Fast Ethernet (100 Mbit/s)
Fast Ethernet, che supporta velocità di trasmissione dati fino a 100 Mbit/s, è il tipo di
protocollo Ethernet più comunemente usato nelle reti di oggi. Lo standard principale
prende il nome di 100BASE-T. Pur essendo più recente e più veloce rispetto allo standard
10 Mbit Ethernet, questo protocollo ne condivide tutte le caratteristiche di base. Lo
standard 100 Mbit/s può essere diviso in:
100BASE-TX: che prevede l’uso di cavi in rame a doppino incrociato
(Cat. 5).
100BASE-FX: che assicura velocità di trasmissione 100 Mbit/s Ethernet su cavi in
fibre ottiche.
Nota: la maggior parte degli switch di rete 100 Mbit supporta sia lo standard 10 che 100
Mbit per garantire la compatibilità con i sistemi esistenti (generalmente chiamati switch di
rete 10/100).
Gigabit Ethernet (1000 Mbit/s)
3 Cenni sulle tecnologie di telecontrollo
31
È lo standard corrente utilizzato dai produttori di computer desktop collegati in rete.
Tuttavia, questo standard viene soprattutto utilizzato per le dorsali che collegano i server
agli switch di rete. 1000BASE-T è ampiamente utilizzato e può essere suddiviso in:
1000BASE-T: velocità di trasmissione pari a 1 Gbit/s su cavi in rame Cat. 5 o
Cat. 6.
1000BASE-SX: velocità di trasmissione pari a 1 Gbit/s su cavi in fibre Multi-
mode (fino a distanze massime di 550 m).
1000BASE-LX: velocità di trasmissione pari a 1 Gbit/s su cavi in fibre Multi-
mode (fino a distanze massime di 550 m); se utilizzato con cavi in fibre Single-
mode, può essere ottimizzato anche per distanze più lunghe (fino a 10 km).
1000BASE-LH: velocità di trasmissione pari a 1 Gbit/s su cavi in fibre Single-
mode (fino a distanze massime di 100 km); questa è la soluzione più idonea per
le grandi distanze.
10 Gigabit Ethernet (10,000 Mbit/s)
Questo nuovo standard viene sempre più diffusamente utilizzato per le dorsali di reti
aziendali. Lo standard 10 Gigabit Ethernet utilizza sette diversi tipi di supporti per le reti
LAN, WAN e MAN (Metropolitan Area Network). I suoi requisiti sono attualmente stati
raggruppati in uno standard supplementare, IEEE 802.3ae, che verrà integrato nella nuova
versione dello standard IEEE 802.3.5.2.
Per connettersi ad un host basta aprire un comune browser e immettere, nella barra degli
indirizzi, un “numero” che definiamo indirizzo IP (Internet Protocol Address). Questo è
univoco ed è utilizzato dalle periferiche per identificarsi e comunicare in reti che utilizzano
il protocollo IP. Ciascun indirizzo IP è costituito da quattro numeri separati da un punto
(“.”). Ciascun numero deve essere compreso tra 0 e 255. Un esempio tipico di indirizzo
potrebbe essere “192.36.253.80”.
L‘indirizzo IP è ulteriormente diviso in due sezioni che identificano rispettivamente la rete
e l‘host. Il limite tra queste due sezioni è la cosiddetta netmask o lunghezza del prefisso.
Una netmask con il numero 255.255.255.0 indica che i primi 3 byte sono riservati
3 Cenni sulle tecnologie di telecontrollo
32
all‘indirizzo di rete e che l‘ultimo byte è riservato all‘indirizzo dell‘host. L‘indirizzo può
anche essere delimitato tramite la lunghezza del prefisso. Nel caso dell‘esempio
precedente, la lunghezza del prefisso sarebbe equivalente a 24 bit (ad esempio
192.36.253.80/24).
Alcuni blocchi di indirizzi sono riservati per l‘uso su reti private:
10.0.0.0/8 (netmask 255.0.0.0)
172.16.0.0/12 (netmask 255.240.0.0)
192.168.0.0/16 (netmask 255.255.0.0)
Questi indirizzi vengono usati su reti Internet private, e non possono essere usati sulla rete
Internet pubblica.
3.2.3 La protezione delle reti
Utilizzare la rete Internet o Ethernet per la comunicazione tra due terminali, o per accedere
ad un qualche dispositivo di controllo remoto, abbiamo visto che porta a numerosi
vantaggi. Riduzione dei cablaggi, indipendenza dal tipo di informazione che si vuole
trasmettere, abbattimento dei costi etc… Tuttavia la sicurezza delle connessioni diventa un
fattore cruciale. È necessario proteggere la rete impedendo gli accessi da parte di personale
non autorizzato.
Esistono molti modi per rendere protette le comunicazioni tra la rete e i client. È
possibile controllare e proteggere tutto ciò che è connesso alla rete, a partire dai dati
trasmessi sino all’uso e l’accessibilità di tali dati.
Le comunicazioni protette comportano tre diversi passaggi:
3 Cenni sulle tecnologie di telecontrollo
33
Autenticazione
Autorizzazione
Privacy
Autenticazione.
Il primo passaggio richiesto è l’identificazione dell’utente o del dispositivo in rete sul lato
remoto. Questa operazione viene effettuata fornendo un elemento di identificazione alla
rete/al sistema; ad esempio un nome utente e una password, un certificato X509 (SSL
“Secure Sockets Layer”) e l‘uso dello standard 802.1x. (nota a)
Autorizzazione.
Il passaggio successivo consiste nel far autorizzare e accettare l’autenticazione, ossia nel
verificare che il dispositivo corrisponda effettivamente ai dati di identificazione forniti.
Questa operazione viene effettuata confrontando i dati di identificazione forniti con le
identità valide e approvate contenute nel database o in un apposito elenco. Al termine della
fase di autorizzazione, il dispositivo viene collegato e attivato nel sistema.
Nota: a)
Funzionamento della modalità di autenticazione IEEE 802.1x
Introdotto per rispondere alla necessità della comunità wireless di disporre di metodi di protezione più sicuri, lo
standard 802.1x è uno dei metodi di autenticazione più comunemente usati. IEEE 802.1X autentica le periferiche
connesse a una porta LAN stabilendo una connessione punto a punto oppure impedendo l‘accesso dalla porta in
caso di errore di autenticazione.
Come funziona
I client e i server delle reti 802.1x si autenticano utilizzando certificati digitali forniti da un ente di certificazione.
Questi certificati vengono quindi convalidati da una terza parte, come un server di autenticazione, chiamato
server RADIUS (Remote Authentication Dial In User Server), come Microsoft Internet Authentication Service.
Le periferiche network video della ditta Axis inviano il certificato allo switch di rete, che a sua volta lo inoltra al
server RADIUS. Il server RADIUS convalida o respinge il certificato inviando una risposta allo switch, che a
sua volta autorizza o meno l‘accesso in rete tramite la porta preconfigurata.
Grazie a questo approccio, i sockets (in gergo definiti come canali in cui virtualmente avviene la comunicazione
tra due entità della rete) vengono lasciati aperti e disponibili, il che significa che il punto di accesso autorizza il
collegamento alla rete solo dopo che la periferica è stata identificata correttamente.
3 Cenni sulle tecnologie di telecontrollo
34
Privacy.
Il passaggio finale consiste nell’applicare il livello di privacy richiesto. Questa operazione
viene effettuata crittografando le comunicazioni per impedire che utenti non autorizzati
possano usare/leggere i dati. L’uso della crittografia può ridurre significativamente le
prestazioni, a seconda del tipo di implementazione e crittografia usato. La privacy può
essere assicurata in molti modi. Due dei metodi più comunemente usati sono:
VPN (Virtual Private Network)
SSL/TLS (Transport Layer Security)
VPN (Virtual Private Network)
Le reti VPN permettono di creare un tunnel protetto tra i singoli punti della rete VPN e di
consentire quindi l’accesso solo ai dispositivi in possesso della “chiave” corretta (figura
2.4). Quindi, i dispositivi di rete situati tra il client e il server non saranno in grado di
accedere o visualizzare i dati. Le reti VPN permettono di collegare più siti tramite Internet
in modo sicuro e in modalità protetta.
Figura 3.5: schematizzazione di una rete privata virtuale
3 Cenni sulle tecnologie di telecontrollo
35
SSL/TLS
Un altro sistema per garantire la riservatezza dei dati consiste nell’applicare la crittografia
ai dati stessi. In questo caso non viene adottato un collegamento basato su un canale
protetto come per le reti VPN, poiché la protezione viene applicata ai dati stessi. Esistono
molti metodi di crittografia; ad esempio SSL ( Secure Socket Layer), WEP (Wireless
Equivalent Privacy) e WPA (Wireless Protected Access). Gli ultimi due metodi vengono
principalmente usati per le reti wireless. Con il metodo SSL, che viene spesso chiamato
HTTPS (Hyper Text Transfer Protocol Secure sockets), il dispositivo o il computer
installano un certificato nell’unità. Il certificato può essere emesso localmente dall’utente o
da un ente esterno come Verysign.
Figura 3.6: Sistema di protezione SSL/TLS
3.3 Sistemi embedded (o incapsulati)
In informatica, con il termine sistema embedded (sistema incapsulato) si identificano
genericamente dei sistemi elettronici a microprocessore progettati appositamente per una
determinata applicazione, spesso con una piattaforma hardware ad hoc, integrati nel
sistema che controllano e in grado di gestirne tutte o parte delle funzionalità.
3 Cenni sulle tecnologie di telecontrollo
36
In questa area si collocano sistemi di svariate tipologie e dimensioni, in relazione al tipo di
microprocessore, al sistema operativo, ed alla complessità del software che può variare da
poche centinaia di byte a parecchi megabyte di codice.
Contrariamente ai computer generici, un sistema embedded ha dei compiti conosciuti già
durante lo sviluppo, che eseguirà dunque grazie ad una combinazione hardware/software
specificamente studiata per l’applicazione. Grazie a ciò l'hardware può essere ridotto ai
minimi termini di spazio occupato, consumi e costo di fabbricazione. Inoltre l'esecuzione
del software é spesso in tempo reale (real-time), per permettere se possibile un controllo
deterministico dei tempi di esecuzione.
Un esempio diffuso di Sistema embedded sono le centraline elettroniche installate a bordo
degli autoveicoli per il controllo del motore e dell'ABS (Anti Block System).
3.3.1 Un po’ di storia
Il primo sistema embedded moderno fu l'Apollo Guidance Computer, sviluppato da
Charles Stark Draper al MIT (Massachusetts Institute of Technology) che venne utilizzato
nel primo volo lunare per la gestione del sistema di guida inerziale.
In seguito, i sistemi embedded hanno subito una riduzione dei costi così come una
enorme crescita della capacità di calcolo e delle loro funzionalità. Il primo microprocessore
progettato per essere messo in commercio è stato l'Intel 4004, che venne montato su
calcolatrici ed altri sistemi di piccole dimensioni. Esso richiedeva, comunque, dei chip di
memoria esterni ed altra logica di supporto esterna. Verso la fine degli anni settanta, i
microprocessori ad 8 bit erano la norma, ma necessitavano sempre di memoria esterna,
logica di decodifica e di un interfaccia con il mondo esterno. In ogni caso, i prezzi erano in
caduta libera e sempre più applicazioni cominciarono ad adottare questo approccio,
piuttosto che metodologie di progetto di circuiti logici personalizzati.
3 Cenni sulle tecnologie di telecontrollo
37
Verso la metà degli anni ottanta, un maggiore grado di integrazione permise il montaggio
di altre componenti, in precedenza collegate esternamente, sullo stesso chip del processore.
Con un così basso costo per componente, questa alternativa divenne molto più interessante
che costruire interamente circuiti logici dedicati. Ci fu un'esplosione del numero di sistemi
embedded distribuiti sul mercato, così come delle componenti fornite da vari produttori per
facilitare la progettazione di tali sistemi. Per esempio, vennero prodotti molti circuiti
integrati con un’interfaccia seriale (piuttosto che quella parallela, più tradizionale) che
potevano essere interfacciati con microcontrollori con meno connettori. In questo contesto
apparve il bus I²C (Intelligent Interface Controller). Verso la fine degli anni ottanta, i
sistemi embedded rappresentavano già la regola piuttosto che l'eccezione per quasi tutti i
dispositivi elettronici, tendenza che continua tuttora.
Riportiamo di seguito, a titolo di esempio, alcune applicazioni di sistemi embedded:
Sportelli Bancomat e apparecchi POS (Point Of Sales).
Elettronica aeronautica, come sistemi di guida inerziale, hardware/software di
controllo per il volo e altri sistemi integrati nei velivoli e nei missili.
Telefoni cellulari.
Centralini telefonici.
Apparecchiature per reti informatiche come router, timeserver e firewall.
Stampanti e Fotocopiatrici.
Sistemi di stoccaggio di dati come hard disk, floppy disk o compact disc.
Sistemi di automazione casalinghi come termostati, condizionatori e altri
sistemi di monitoraggio della sicurezza.
Apparecchiature biomedicali come ecografi, scanner medici per risonanza
magnetica.
Equipaggiamento medici.
Strumenti di misura come oscilloscopi digitali, analizzatore logico, e
analizzatore di spettro.
Centraline di controllo dei motori automobilistici e degli ABS.
3 Cenni sulle tecnologie di telecontrollo
38
3.3.2 Le Caratteristiche
Dunque un sistema embedded possiede delle caratteristiche comuni ad un PLC: è un
sistema a microprocessore, esegue un programma memorizzato in una memoria ROM
programmabile, ecc… Tuttavia, a differenza di un PLC un sistema “incapsulato” come
abbiamo visto è stato progettato ad hoc per quella specifica operazione. Così esso risulta
più compatto, presenta meno componenti hardware e di conseguenza un costo più
contenuto.
La maggior parte di questi sistemi, ma non tutti, ha dei vincoli di performance che
devono essere rispettati, come ad esempio la necessità di operare in tempo reale. Può
accadere anche che un sistema debba essere molto veloce nell'esecuzione di alcune
funzioni, ma possa tollerare velocità inferiori per altre attività. Questi sistemi rispettano i
vincoli di performance con una combinazione di hardware e software appositamente
progettati.
Risulta difficile caratterizzare la velocità o i costi di un sistema embedded generico,
anche se, soprattutto per sistemi che devono processare una grande quantità di dati, il
progetto stesso assorbe la maggior parte dei costi. Fortunatamente, la maggior parte dei
sistemi embedded ha delle necessità di performance che possono essere soddisfatte con una
combinazione di hardware dedicato ed una quantità limitata di software ad alte prestazioni.
Per avere un'idea, basti pensare ad un decoder per una televisione satellitare. Nonostante
un sistema come questo deve processare decine di megabit di dati al secondo, la maggior
parte del lavoro è svolta da hardware dedicato che separa, regola e decodifica il flusso
digitale multicanale in un'uscita video. Alla CPU embedded spetta determinare i percorsi
dei dati nel sistema, o gestire gli interrupt, generare e disegnare la grafica, e così via.
Spesso, quindi, la gran parte dell'hardware di un sistema embedded deve sottostare a dei
requisiti di performance molto meno severi di quelli che, invece, deve rispettare l'hardware
primario del sistema stesso.
Nel caso di sistemi che devono essere commercializzati in massa, come un lettore di
musica portatile, ridurre i costi diventa una priorità. Sistemi di questo genere, infatti,
spesso sono dotati di alcuni chip, una CPU altamente integrata, un chip dedicato a tutte le
altre funzioni ed un singolo banco di memoria. In questo caso ogni componente è
selezionato e progettato per ridurre il più possibile i costi.
3 Cenni sulle tecnologie di telecontrollo
39
Il software scritto per molti sistemi embedded, in particolare quelli senza hard disk, è
talvolta chiamato firmware.
I sistemi embedded spesso richiedono di essere attivi continuamente per anni senza errori
così si evita di incorporare componenti con parti meccaniche in movimento (come gli hard
disk), poiché essi sono meno affidabili rispetto a componenti allo stato solido come le
memorie Flash.
Infine tali sistemi per la loro locazione potrebbero non essere fisicamente accessibili
(come per le trivelle dei pozzi di petrolio, oppure i componenti lanciati nello spazio),
pertanto il sistema deve essere capace di resettarsi autonomamente in caso di perdita o
corruzione dei dati. Questa funzionalità è molto spesso ottenuta con l'inserimento di un
componente elettronico chiamato watchdog, che resetta il sistema a intervalli regolari; il
software, periodicamente, provvede a riazzerare il timer interno del componente.
Inoltre con l’incremento dei circuiti a larghissima scala di integrazione (VLSI “Very Large
Scale Integration), una configurazione comune per sistemi embedded ad alto volume di
produzione è il "system on a chip" (SoC), un circuito integrato per applicazioni specifiche
(dall'inglese ASIC: Application-Specific Integrated Circuit), per il quale la CPU è
acquistata come Proprietà Intellettuale da aggiungere al progetto del circuito integrato. Un
altro comune metodo di progetto prevede l'utilizzo di FPGA (Field-Programmable Gate
Array), con la programmazione di tutta la logica interna, inclusa la CPU. La maggior parte
di FPGA sono progettate proprio per questo scopo.
3.3.3 La programmazione
Riguardo alla programmazione della EEPROM del microprocessore nulla di nuovo rispetto
ai PLC: vengono utilizzati compilatori, assembler e debugger per sviluppare i software
relativi al sistema. Tuttavia, un sistema embedded, a seconda dell’applicazione, spesso
3 Cenni sulle tecnologie di telecontrollo
40
richiede una maggiore interazione con il PC per essere riprogrammato rapidamente e con
maggiore semplicità. Pertanto si possono adottare alcune soluzioni hardware unitamente a
programmi più specifici:
un in-circuit emulator (ICE) che, come abbiamo visto, è un dispositivo hardware che
sostituisce o si interfaccia con il microprocessore, ed offre funzionalità per caricare
velocemente e effettuare il debugging (controllo degli errori) di codice di prova all'interno
del sistema. Alcune utility aggiungono un controllo di ridondanza (checksum) o un
Cyclic Redundancy Check (CRC) al programma, in modo da permettere al sistema
embedded di controllare la validità del programma. Per sistemi che utilizzano Digital
Signal Processor (DSP), i progettisti possono usare uno strumento algebrico come
MathCad o Mathematica per simularne la matematica.
Compilatori e linker specifici possono essere utilizzati per migliorare l'ottimizzazione di
hardware particolari.
Tutto ciò porta ad una programmazione più dinamica: una volta scritto il firmware è
possibile modificarlo rapidamente per tenere conto, per esempio, di una situazione che non
era stata prevista. Il software di un sistema embedded diventa più corposo, ma a tutto
vantaggio della sicurezza ed affidabilità. In fase di programmazione è possibile prevedere
un’auto-verifica interna. Gran parte dei sistemi embedded hanno infatti capacità native
di auto-verifica delle proprie funzionalità. Ci sono diversi tipi principali di verifiche, divise
in base alla funzione o componente controllata:
1. Verifica Calcolatore: CPU, RAM e memoria programmabile. Spesso si effettua
una volta all'accensione. Nei sistemi di importanza critica si effettua anche
periodicamente o continuamente.
2. Verifica Periferiche: Simula ingressi e misura uscite. Un sorprendente numero di
sistemi di comunicazione, analogici o di controllo possono fare queste verifiche,
spesso a costo molto basso.
3. Verifica Alimentazione: Solitamente misura ogni linea di potenza, e può
controllare anche qual è l'ingresso (batterie o rete). Le alimentazioni sono spesso
sfruttate al massimo, con poco margine di scarto.
4. Verifica Comunicazione: Verifica la ricezione di semplici messaggi da parte delle
altre unità connesse. Internet, ad esempio, usa il messaggio ICMP "ping".
3 Cenni sulle tecnologie di telecontrollo
41
5. Verifica Cablaggi: Solitamente usano un cavo sistemato a serpentina tra punti
rappresentativi dei cavi che devono essere collegati. I sistemi di comunicazione
sincroni, come la telefonia, spesso usano "sync test" a questo scopo. Le verifiche
dei cavi sono economiche, e estremamente utili quando l'unità ha dei connettori.
6. Verifica Regolazione: Spesso un sistema dev'essere regolato quando viene
installato. Questa verifica fornisce indicazioni alla persona che installa il sistema.
7. Verifica Consumi: Misura le risorse che il sistema utilizza, e avvisa quando le
quantità sono basse. L'esempio più comune è la lancetta della benzina di un'auto.
Gli esempi più complessi possono essere i sistemi di analisi medica automatica che
gestiscono inventari di reagenti chimici.
8. Verifica Operativa: Misura varie cose che interessano all'utente lavorando sul
sistema. Notare che si effettua mentre il sistema è in funzione. Esempi sono gli
strumenti di navigazione aereonautici, il contachilometri di un'auto, le lucine di un
disk-drive.
9. Verifica di Sicurezza: Eseguita periodicamente secondo un 'intervallo di
sicurezza, assicura che il sistema sia ancora affidabile. La durata dell'intervallo è in
genere appena inferiore al tempo minimo entro cui un malfunzionamento può
causare danni.
4 Il micro web server embedded: RECS 101
42
4 Il micro web server embedded: RECS
101
4.1 Generalità
Abbiamo già descritto i sistemi embedded e le loro applicazioni in campo scientifico e
industriale; abbiamo visto come essi siano, per la loro struttura hardware e software, dei
sistemi molto affidabili nei processi di automazione e di controllo.
Passiamo adesso a descrivere le caratteristiche, la struttura ed il funzionamento di un
dispositivo per il telecontrollo remoto over IP impiegato all’interno dell’esperimento
GRAAL.
Un web server embedded è un web server, integrato all’interno di un sistema embedded
caratterizzato da risorse di calcolo limitate, ma capace di gestire documenti ed applicazioni
web. L’applicazione della tecnologia Web ad un sistema embedded permette la creazione
di interfacce utente mediante il linguaggio HTML. Aggiungendo a tale dispositivo la
tecnologia del linguaggio di programmazione JAVA si ottiene un sistema capace di gestire
vere e proprie applicazioni che possono essere facilmente programmate sfruttando le
potenzialità tipiche di un linguaggio ad alto livello. Viene presentato un sistema la cui
architettura fornisce un’interfaccia API (Application Program Interface) semplice e, al
tempo stesso, potente. In particolare si discute la progettazione e l’implementazione di
RECS 101 (Remote Ethernet Control System), un sistema web server embedded,
sviluppato al fine di poter gestire applicazioni di controllo remoto mediante l’utilizzo di
reti Ethernet.
4 Il micro web server embedded: RECS 101
43
4.1.1 Indipendenza dalla piattaforma hardware: la tecnologia JAVA
RECS 101 è stato progettato per lavorare sia con un’interfaccia HTML che mediante
l’utilizzo della tecnologia JAVA. Il concetto della Virtual Machine di JAVA è
particolarmente indicato per questo approccio permettendo l’uso di una strategia di
controllo indipendente dalla piattaforma hardware del sistema in cui viene gestita.
Diversamente dai comuni compilatori che producono codice per CPU specifiche, il Java
produce codice per una CPU virtuale. Al fine di rimanere indipendente da specifiche
piattaforme hardware il sistema runtime di Java fornisce un’interfaccia universale per
qualsiasi applicazione che si desidera sviluppare. Tale interfaccia denominata JVM (Java
Virtual Machine) è una sorta di processore virtuale che si interpone tra il processore fisico
del PC e l’applicazione scritta in Java. Tuttavia, l’indipendenza dalla piattaforma non è
sufficiente per assicurare il successo di un linguaggio di programmazione. La JVM è da
diverso tempo inclusa all’interno dei browser più popolari quali, ad esempio, Microsoft
Explorer e Netscape. Alcuni sistemi operativi real-time includono al loro interno la
tecnologia Java e tutto ciò permette di giungere alla seguente conclusione: la JVM è una
risorsa universale.
Questa metodologia è stata da tempo adoperata nelle applicazioni Internet dove non sono
richiesti stringenti vincoli di real-time. L’uso del linguaggio di programmazione Java per le
applicazioni di controllo remoto fornisce il vantaggio di integrare sistemi “general
purpose” con internet permettendo la supervisione ed il controllo di sistemi. Oggigiorno i
sistemi che si basano su web server embedded richiedono applicazioni sempre più
complesse, anche se facili da programmare, al fine di eseguire compiti di supervisione e
gestione. Con l’incessante sviluppo della microelettronica i sistemi embedded sono stati
applicati a molteplici prodotti industriali ed elettronici, poiché presentano le caratteristiche
di essere economici, affidabili e con buone performance se comparati con il software
utilizzato nei Personal Computers. Il vantaggio delle tecnologie Internet permette di
interconnettere tra loro dispositivi e sistemi all’interno della rete Internet. Tutto questo
facilita l’accesso ai dispositivi permettendo di effettuare operazioni di monitoraggio, di
4 Il micro web server embedded: RECS 101
44
controllo, di reporting e start up di qualsiasi dispositivo, semplicemente adoperando un
interfaccia GUI (Interfaccia Grafica Utente) gestita da un comune browser. Il nuovo
concetto introdotto nell’esperimento GRAAL si basa sull’esecuzione di Applet Java per
l’implementazione di operazioni di controllo o monitoraggio di dispositivi remoti. In
questo tipo di sistemi, il controllo distribuito si ottiene mediante il trasferimento di pagine
HTML e l’esecuzione di applet Java (figura 4.1).
Figura 4.1: Esecuzione di Applet Java per eseguire operazioni di controllo o di monitoraggio di dispositivi remoti
Questo nuovo concetto permette di espandere le comuni capacità dei sistemi di controllo
fornendo un sistema remoto distribuito per il controllo di apparecchiature elettroniche. La
progettazione di sistemi embedded richiede l’integrazione e lo sviluppo di componenti
hardware e software: spesso queste sono particolarmente difficili da realizzare poiché ogni
controller possiede la sua piattaforma hardware e software. Anziché adoperare linguaggi
differenti e non standard per l’implementazione del software nella maggior parte dei casi è
preferibile adoperare un linguaggio comune. Il Java rappresenta una scelta ottimale per
differenti motivi: è un linguaggio standard completo di librerie, è un linguaggio molto
semplice che riduce le problematiche inerenti l’analisi dei programmi, la loro
ottimizzazione e trasformazione.
Embedded
System
Pagine richieste
Testo/Applet
Browser
TCP/IP
4 Il micro web server embedded: RECS 101
45
4.2 Caratteristiche di RECS 101
Passiamo adesso a descrivere caratteristiche e funzionalità di questo dispositivo per il
controllo remoto over IP. La sottostante tabella 3.1 ne illustra le specifiche:
Specifica RECS 101
CPU Ubicom SX52BD (8 bit microprocessor, 50 MIPS)
Memoria 512 Kb flash memory (Utilizzata per contenere le pagine web
dell’utente)
Connessione di Rete Interfaccia Ethernet 10 Base-T (IEEE802-3)
Connessione Utente 16 Ingressi digitali / 16 Uscite digitali
Protocolli Internet Supportati HTTP / BOOTP / TCP / UDP / IP
ICMP / ARP
Ethernet 802.3
Software di Utilità Piattaforma Windows
Web page uploader e cambio indirizzo IP
Tab 4.1 Specifiche del dispositivo RECS 101.
RECS 101 integra al suo interno un network processor dotato di interfaccia di rete Ethernet
per connettersi direttamente a qualsiasi rete locale sia Internet sia Intranet. Ciò permette di
connettere dispositivi direttamente ad Internet attraverso una rete LAN e, di conseguenza,
di gestire da remoto il controllo totale dei dispositivi attraverso interfacce grafiche utente
personalizzabili, direttamente accessibili mediante i comuni browsers. RECS 101 si basa
sullo schema hardware presentato nella sottostante figura 4.2.
4 Il micro web server embedded: RECS 101
46
Figura 4.2: Schema funzionale di RECS 101
RECS 101 è stato programmato in modo tale da contenere una pagina web precaricata
all’interno della memoria flash del dispositivo che può essere modificata a piacimento in
modo da personalizzarne le applicazioni.
Figura 4.3: Home page personalizzabile del dispositivo RECS 101.
4 Il micro web server embedded: RECS 101
47
RECS 101 contiene un web server integrato capace di gestire fino a 512k di documenti ed
applicazioni web: tali risorse sono state precaricate all’interno della memoria flash del
dispositivo. La Fig. 4.3 è un esempio di una pagina web gestita da RECS 101 che può
essere utilizzata per fornire informazioni statiche sul dispositivo quali, ad esempio,
immagini, testi, files etc. La pagina visualizzata può essere personalizzata a piacimento
mediante l’uso dei più comuni editor di pagine HTML. Le pagine web possono contenere
al loro interno file di immagini del tipo JPG, GIF, BMP, file video tipo SWF di Flash e
qualsiasi altro file si ritenga opportuno che l’HTTP server di RECS 101 debba gestire.
Selezionando il link “RECS 101 Control Panel” si accederà alla pagina web dedicata al
controllo dell’applicazione. La caratteristica che rende unico tale sistema consiste
nell’utilizzare un web server all’interno di un’applicazione embedded con la possibilità di
eseguire del codice Java per la gestione dell’interfaccia relativa al controllo delle 16 porte
di input e delle 16 porte di output (Fig. 4.4). Tale caratteristica permette di poter gestire
l’interfaccia utente tramite un’Applet Java parametrica: in questo modo l’utente finale può
sviluppare la propria applicazione di controllo in modo molto veloce e sicuro senza dover
essere in grado di programmare in Java.
Figura 4.4: Esempio di una possibile interfaccia GUI implementata in RECS 101.
All’interno del pannello di controllo (Fig. 4.4) si può notare un LED aggiuntivo
denominato “Network”. La sua funzionalità è quella di fornire all’utente lo stato della rete:
una connessione senza problemi provoca il suo continuo lampeggiare. Nel caso di perdita
momentanea del collegamento il LED non lampeggerà e, se la connessione non si
4 Il micro web server embedded: RECS 101
48
ristabilisce entro qualche minuto il sistema chiuderà la connessione con RECS 101.
Problematiche di questo tipo normalmente non sorgono in reti Intranet ma possono capitare
se si collega RECS 101 alla rete Internet .
RECS 101 è un sistema progettato in modo tale da essere totalmente personalizzabile.
Al suo interno è possibile modificare ed aggiornare il firmware di sistema in modo tale da
poter sviluppare rapidamente delle applicazioni in maniera facile e sicura. In particolare è
stato sperimentato un software contenente alcuni files ed un’APPLET (RECS.jar) di
controllo che possono essere personalizzati mediante i parametri riportati di seguito:
PDFOOK : Stringa d’inizializzazione Applet. Non è possibile effettuare nessuna
modifica
host : Indirizzo IP associato a RECS 101(Es. host value="172.16.10.103" vuol
dire che l’indirizzo IP di RECS è 172.16.10.103
port : Porta TCP adoperata dall’ applicazione per comunicare con RECS 101. Il
valore di tale porta è fisso e pertanto non modificabile (Es. port value=6001)
polling : Intervallo di polling. Ha una risoluzione di 10 ms e può essere prefissato
in funzione dell’applicazione. Per es. “polling value=1” significa che il check
dello stato I/O del dispositivo sarà controllato ogni 10 ms .
NumLed : Numero ingressi da monitorare mediante LED bicolore (Es. NumLed
value=16, verranno visualizzati 16 LED indicatori di stato)
NumB : Numero di pulsanti di comando per la modifica dello stato delle uscite
(Es. NumB value=16, verranno visualizzati 16 pulsanti)
Per comodità del lettore la Tab. 4.1 riassume tutti i parametri gestiti dall’applet in
questione.
Tab. 4.1: Parametri di configurazione dell’Applet
4 Il micro web server embedded: RECS 101
49
Di seguito si riporta il frammento del codice HTML del file index.html relativo alla
personalizzazione dell’Applet in cui si evidenzia il setup dei parametri di inizializzazione.
L’esempio in questione prevede l’utilizzo di tutte le 16 uscite e di tutti i 16 ingressi messi a
disposizione dall’hardware di RECS 101.
<APPLET CODE=Applicazione.class ARCHIVE=RECS.jar WIDTH=850
HEIGHT=500>
<param name=PDFOOK value="Intellisystem Technologies Device">
<param name=host value="172.16.10.103">
<param name=port value=6001>
<param name=polling value=1>
<param name=NumLed value=16>
<param name=NumBot value=16>
</APPLET>
La Fig. 4.4 rappresenta l’interfaccia utente che si ottiene applicando il codice appena
esposto. Le limitazioni di quest’Applet consistono nel fatto che non è possibile modificare
i testi ed i colori dei vari componenti che formano l’interfaccia utente.
Per superare questa limitazione è stata messa a punto una Applet più elaborata che
permette di personalizzare ulteriormente l’interfaccia grafica utente mediante altri
parametri che permettono di definirne colori e testi (Fig. 4.5).
Figura 4.5: Interfaccia GUI avanzata implementata in RECS 101.
4 Il micro web server embedded: RECS 101
50
Di seguito si riassumono i parametri che permettono la personalizzazione dell’Applet in
questione (RECS.jar versione avanzata):
PDFOOK : Stringa d’inizializzazione Applet. Non è possibile effettuare nessuna
modifica;
host : Indirizzo IP associato a RECS 101(Es. host value="172.16.10.103". Vuol dire
che l’indirizzo IP di RECS è 172.16.10.103;
port : Porta TCP adoperata dall’ applicazione per comunicare con RECS 101. Il
valore di tale porta è fisso e pertanto non modificabile (Es. port value=6001) ;
polling :Intervallo di Polling. Ha una risoluzione di 10 ms e può essere settato in
funzione dell’applicazione. Per es. “polling value=1” significa che il controllo dello
stato d’ I/O del dispositivo verrà controllato ogni 10 ms;
Title : Stringa intestazione applicazione. (Es. Title value="RECS I/O DEMO ") ;
ColTit : Colore da associare alla stringa impostata nel parametro “Titolo”. (Es.
ColTit value="green" , il testo verrà stampato in verde) ;
CAPL : Colore di sfondo Applet. (ES. CAPL value="yellow", lo sfondo sarà giallo)
;
NumLed : Numero ingressi da monitorare mediante LED bicolore (Es. NumLed
value=16, verranno visualizzati 16 LED indicatori di stato) ;
NumB : Numero di pulsanti di comando per la modifica dello stato delle uscite (Es.
NumB value=16, verranno visualizzati 16 pulsanti) ;
TBT* : Testo da associare al pulsante * relativo all’uscita * (Es. TBT1
value="Comando 10" è il testo da associare al pulsante 10 per modificare lo stato
dell’ uscita 10) ;
CTBT* : Colore del testo associato al titolo del pulsante *. (Es. CTBT10
value="red", il colore associato al testo relativo al pulsante 10 è rosso) ;
CLBF* : Colore associato al LED di stato dell’ uscita * quando quest’ultima è nello
stato “OFF” (Es. CLBF10 value="gray", il colore del LED associato allo stato
“OFF” dell’ uscita 10 sarà grigio) ;
CLBT* : Colore associato al LED di stato dell’ uscita * quando quest’ultima è nello
stato “ON” (Es. CLBT10 value="blue", il colore del LED associato allo stato “ON”
dell’ uscita n.10 sarà blu) ;
4 Il micro web server embedded: RECS 101
51
TLD*: Testo da associare al LED * relativo all’ ingresso *. (Es. TLD1 value="Luce
Camera" è il testo da associare al LED 1 per effettuare la lettura dello stato dell’
ingresso 1) ;
CTLD* : Colore del testo associato al titolo del LED * relativo all’ingresso *. (Es.
CTLD1 value="black", il colore associato al testo relativo al LED 1 sarà nero) ;
CLIF* : Colore associato al LED di stato dell’ ingresso * quando quest’ultimo è
nello stato “OFF” (Es. CLIF10 value="green", il colore del LED associato allo stato
“OFF” dell’ ingresso 10 sarà verde) ;
CLIT* : Colore associato al LED di stato dell’ ingresso * quando quest’ultimo è
nello stato “ON” (Es. CLIT10 value="red", il colore del LED associato allo stato
“ON” dell’ ingresso 10 sarà rosso) ;
Per comodità del lettore la tab. 4.2 riassume in forma tabulare i parametri personalizzabili
dell’Applet per la gestione avanzata di RECS 101.
Tab. 4.2: Parametri di configurazione dell’Applet per la gestione avanzata di RECS 101
Di seguito si riporta il frammento del codice HTML del file index.html relativo alla
personalizzazione dell’Applet in cui si evidenzia il setup dei parametri di inizializzazione.
4 Il micro web server embedded: RECS 101
52
<APPLET CODE=Applicazione.class ARCHIVE=RECS.jar WIDTH=850
HEIGHT=500>
<param name=PDFOOK value="Intellisystem Technologies Device">
<param name=host value="172.16.10.103">
<param name=port value=6001>
<param name=polling value=1>
<param name=Title value="RECS 101 I/O Demo">
<param name=ColTit value="black">
<param name=CAPL value="white">
<param name=NumLed value=16>
<param name=NumBot value=16>
Un esempio di personalizzazione dei pulsanti e degli indicatori LED è rappresentato dal
seguente codice contenuto all’interno del file index.html:
<param name=TBT1 value="Comando 1">
<param name=CTBT1 value="red">
<param name=CLBF1 value="gray">
<param name=CLBT1 value="blue">
<param name=TLD1 value="Ingresso 1">
<param name=CTLD1 value="black">
<param name=CLIF1 value="green">
<param name=CLIT1 value="red">
La Fig. 4.6 riassume quanto detto in precedenza, ovvero:
1. La pagina 101.html rappresenta la home page del sito web contenuto in RECS 101.
Al suo interno è presente un collegamento alla pagina Index.html;
2. La pagina Index.html contiene al suo interno i parametri di setup dell’Applet per la
gestione degli ingressi e delle uscite di RECS 101;
3. Tramite l’applet RECS.jar si interviene sulle porte d’input e di output per la gestione
dell’hardware che si intende controllare.
4 Il micro web server embedded: RECS 101
53
Figura 4.6: Files necessari per la personalizzazione dell'interfaccia utente di RECS 101
Implementazione delle interfacce HW per le porte di I/O
RECS 101 si interfaccia con l’impianto o dispositivo da controllare mediante due porte a
16 bit digitali, rispettivamente, una di Input ed un’altra di Output poste sul frontalino
posteriore. La fig. 4.7 riporta la piedinatura dei connettori Cannon a 25 poli che ospitano
tali porte. Il progettista che intende interfacciare RECS 101 deve predisporre delle
interfacce che permettano il corretto rispetto delle caratteristiche elettroniche della logica
TTL implementata nelle due porte. Di seguito distingueremo due tipi di interfacce
rispettivamente una per la porta di Input ed un’altra per la porta di Output.
Internet
Applet
Hardware da
controllare
101.htm
l
Index.html
ml
4 Il micro web server embedded: RECS 101
54
Digital Input
Digital Output
LED Pin Note Tasto Pin Note
1 2 1 2
2 15 2 15
3 3 3 3
4 16 4 16
5 4 5 4
6 17 6 17
7 5 7 5
8 18 8 18
9 6 9 6
10 19 10 19
11 7 11 7
12 20 12 20
13 8 13 8
14 21 14 21
15 9 15 9
16 22 16 22
1 Vcc +5v 1 Vcc +5v
14 Vcc +5v 14 Vcc +5v
10 GND 10 GND
23 GND 23 GND
12, 13, 24, 25 Non usati 12, 13, 24, 25 Non usati
Figura 4.7: Piedinatura dei connettori di I/O di RECS 101
4 Il micro web server embedded: RECS 101
55
Unità d’Input
Poiché l’interfaccia di I/O di RECS 101 lavora con livelli logici TTL il dispositivo da
interfacciare alla porta d’ingresso deve presentare anch’esso un interfaccia di tipo TTL. I
16 bit d’ingresso per l’applicazione fornita sono stati progettati per funzionare in logica
TTL “Low Active”. Non sempre però i dispositivi hanno delle porte TTL e perciò, in
questo caso, è opportuno adoperare un circuito che interponendosi tra RECS 101 e il
dispositivo da interfacciare possa connettere i due dispositivi senza che essi corrano il
rischio di danneggiarsi. Il circuito suggerito utilizza dei fotoaccopiatori che, garantendo un
totale isolamento galvanico tra i due dispositivi, ne assicurano il corretto funzionamento.
La Fig. 4.8 mostra una possibile realizzazione del circuito proposto.
Figura 4.8: Interfaccia per la connessione di un dispositivo alla porta d’ingresso di RECS 101
Unità d’Output
RECS 101 è dotato 16 uscite che lavorano con livelli logici TTL progettati per funzionare
in logica “High Active”. Affinché RECS 101 possa essere correttamente interfacciato con
un altro dispositivo che lavora con tensioni diverse si consiglia l’uso di fotoaccoppiatori
che garantendo un totale isolamento galvanico tra i due dispositivi, ne assicurano il corretto
4 Il micro web server embedded: RECS 101
56
funzionamento. La Fig. 4.9 mostra lo schema elettrico di un circuito d’esempio per la
realizzazione di un’interfaccia d’uscita da collegare a RECS 101. Tale circuito si presta
benissimo per tutte quelle applicazioni nelle quali è necessario effettuare un controllo di
tipo ON/OFF di carichi di qualunque tipo. Poiché il circuito contiene dei relais assieme
agli optoisolatori si ottiene un circuito doppiamente isolato sia galvanicamente (per mezzo
dei relais) che otticamente (mediante l’uso di fotoaccoppiatori). Questa proprietà è da non
sottovalutare per prevenire possibili rischi di danneggiamento di RECS 101 o peggio
ancora di tutti i sistemi presenti nella rete a cui è connesso RECS 101: in questo modo si è
sicuri che per qualsiasi operazione errata compiuta a valle dell’interfaccia, il danno è
comunque confinato al danneggiamento dell’interfaccia stessa.
Figura 4.9: Interfaccia per la connessione di un dispositivo mediante relay alla porta d’uscita di RECS 101
4.3 Connessione a RECS 101
Nel capitolo precedente abbiamo introdotto alcune tecnologie di rete. In questo paragrafo
vedremo come connettersi a RECS 101 utilizzando il protocollo IP. Per identificare un
host nella rete ed accedervi, si utilizza il suo indirizzo IP. Se, ad esempio, in una sala di
controllo si vuole accedere a RECS 101 (ubicato per es. in una sala sperimentale), basta
4 Il micro web server embedded: RECS 101
57
interconnettere RECS 101 ed un Personal Computer ad uno Switch di rete Ethernet. Se si
vuole accedere da una postazione remota ( da qualunque parte del mondo) ci si connetterà
a RECS 101 tramite Internet; un router farà da tramite tra la rete Ethernet locale e Internet
(figura 4.10).
Riepilogando, RECS 101 rappresenta un ottimo sistema di telecontrollo remoto over IP
in quanto unisce in sé semplicità di utilizzo, e un’ottima dinamicità (ricordiamo la
possibilità di modificare il firmware senza dover riprogrammare a basso livello). Questo
dispositivo, è stato impiegato per il controllo e il setup di una serie di strumenti (per
esempio la loro inizializzazione in sequenza) all’interno dell’esperimento GRAAL a
Grenoble.
Figura 4.10: Possibile scenario per il controllo di RECS 101
5 Sistemi di video controllo analogici
58
5 Sistemi di video controllo analogici
5.1 Implementazione di un sistema di video controllo analogico
Una classica implementazione di un sistema di video controllo è mostrata in figura 5.1.
Esso è costituito da quattro telecamere, un multiplexer (uno strumento che miscela i
quattro segnali, provenienti dalle telecamere, in un unico segnale video), un VCR
(VideoCassetteRecorder) per la registrazione delle immagini ed un monitor per
visualizzare il video complessivo. Un cavo coassiale mette in comunicazione le parti del
sistema.
Le quattro telecamere catturano le immagini e dopo averle convertite in un segnale
elettrico, le trasmettono attraverso il cavo coassiale al multiplexer. Questo strumento ha il
compito di “unire” i quattro segnali in uno solo, che verrà inviato al monitor e al VCR.
Figura 5.1: implementazione di un sistema di video controllo
5 Sistemi di video controllo analogici
59
Questo, in maniera molto schematica, è il principio di funzionamento di un sistema di
video controllo interamente analogico.
Naturalmente questa soluzione non è unica: si possono utilizzare, ad esempio, più
telecamere, e un multiplexer con più entrate per i segnali; il principio di funzionamento è
lo stesso ma, come si vedrà nei prossimi paragrafi, la risoluzione non può che peggiorare.
Passiamo, adesso, a descrivere più nei dettagli il principio di funzionamento del sistema
di figura 5.1 ponendo particolare attenzione alle telecamere e alla visualizzazione delle
immagini sul monitor.
5.2 Le telecamere
La telecamera, in un sistema di video controllo, ha il compito di catturare le immagini
dall’esterno e trasmetterle, attraverso la sua uscita coassiale, ad un monitor o multiplexer
che sia. In figura 5.2 è mostrata la parte di una telecamera che si occupa della generazione
dell’immagine: l’obiettivo cattura l’immagine esterna e la focalizza su un sensore posto
all’interno della telecamera. Il sensore ha il compito di trasformare l’immagine proveniente
dall’obiettivo in un segnale elettrico che contenga tutte le informazioni (luce, colore,
posizione degli oggetti). Il segnale viene poi elaborato per poter essere trasmesso.
Il sensore ha dunque un ruolo molto importante perché da esso dipende la qualità
dell’immagine e vale la pena soffermarsi un po’ a descriverne il funzionamento.
5 Sistemi di video controllo analogici
60
Figura5.2: obiettivo e sensore di una telecamera
5.2.1 Il sensore
Esistono due possibili tecnologie per i sensori delle telecamere:
CCD (Charged Coupled Device)
CMOS (Complementary Metal Oxide Semiconductor)
Il sensore CCD (figura 5.3) è un’ invenzione relativamente recente (Boyle e Smith 1970)
che ha rivoluzionato il mondo delle telecamere trasformandole da ingombranti e costosi
apparati a sempre più compatti ed economici prodotti di consumo.
Figura 5..3: Sensore CCD
5 Sistemi di video controllo analogici
61
Il CCD può essere del tipo “bianco e nero” oppure “a colori”. Esso è composto da milioni
di elementi fotosensibili (pixel) che vengono esposti alla luce simultaneamente. Ogni pixel
reagisce alla luce che lo investe immagazzinando una certa carica elettrica, tale carica
viene letta da un circuito di processo del segnale a intervalli di breve durata, stabilita
dall’AES (Automatic Electronic Shutter o Otturatore Elettronico Automatico).
Quest’ultimo è un vero e proprio “temporizzatore”, che determina il tempo di esposizione,
ovvero il tempo durante il quale luce e colori dovranno arrivare al sensore prima che la
carica di ogni pixel venga letta. In situazioni molto luminose questo tempo sarà
estremamente breve, altrimenti l’immagine sarà sovraesposta, mentre in situazioni di
penombra questo tempo sarà più lungo per evitare la sottoesposizione.
Nel caso di un CCD in bianco e nero, il circuito trasforma la quantità di carica
immagazzinata, nel corrispondente valore della scala di grigi; facendo questo lavoro su
ogni pixel, l’immagine viene ricostruita perfettamente.
In un CCD a colori non ci si può limitare a captare la luminosità di ogni singolo punto
ma bisogna andare a valutare le componenti cromatiche di questi punti.
Le videocamere professionali hanno 3 sensori CCD per captare le componenti cromatiche
in 3 sedi separate (figura 5.4), in ognuna di esse arriva solo la componente cromatica
voluta, tramite uno splitting effettuato da un prisma.
Figura 5.4: Separazione della luce in tre componenti
5 Sistemi di video controllo analogici
62
Questa soluzione permette un’elevata qualità di ripresa, ma i costi sono elevatissimi per cui
nelle telecamere a circuito chiuso si adotta una tecnica secondaria che permette di ottenere
una qualità di ripresa comunque buona, abbassando notevolmente i costi.
Nelle videocamere a circuito chiuso c’è un solo sensore, i raggi luminosi che arrivano
dalla lente, prima di raggiungere il sensore attraversano una griglia filtrante con righe del
tipo rosso-verde che si alternano a quelle del tipo verde-blu (figura 5.5). Ad ogni filtro
(quadratino della griglia) corrisponde un pixel.
Figura 5.5: Griglia filtrante
Con questo sistema, le aree verdi occupano il 50% della superficie del filtro, mentre l’altro
50% è diviso in parti uguali fra le aree rosse e quelle blu, questo perché l’occhio umano è
più sensibile alle variazioni della componente cromatica verde piuttosto che alle altre due.
Quello che in un sensore in bianco e nero era un pixel diventa, in un CCD a colori, un’area
di rilevazione, detta quadrante (un quadrante è formato da 4 filtri rosso-verde, verde-blu),
dove il colore finale è determinato dalla combinazione delle 3 componenti.
Nei sensori in bianco e nero, la gradazione di grigio viene determinata per ogni singolo
pixel tramite una conversione, in un sensore a colori il calcolo si fa una volta per 4 pixel,
per cui il risultato medio è sicuramente meno preciso di un sensore in bianco e nero.
Questo spiega perché le immagini in bianco e nero sono molto più nitide di quelle a colori.
Un’altra caratteristica dei CCD è la dimensione. Essa si misura in pollici lungo la
diagonale del sensore stesso e la parte sensibile (la regione effettivamente colpita dalla
luce proveniente dall’obiettivo) ha una forma rettangolare con un rapporto di 4 sulla
5 Sistemi di video controllo analogici
63
larghezza e 3 sull’altezza (norma video). Ne esistono di varie dimensioni ma nei sistemi di
video controllo se ne utilizzano 5:
CCD 1" 2/3" 1/2" 1/3" 1/4"
Altezza [mm] 9,6 6,6 4,8 3,6 2,7
Larghezza [mm] 12,8 8,8 6,4 4,8 3,6
I CCD da 1” , 2/3” e 1/2” ormai sono utilizzati poco. Nei sistemi moderni il mercato si
divide tra CCD da 1/3” e da 1/4” . La necessità di miniaturizzazione di lenti e circuiti
elettronici, nonchè la continua ricerca di abbattimento dei costi, ha portato l'industria a
sviluppare gradualmente CCD sempre più piccoli fino agli “ultimi nati” da ¼”. I CCD di
ultima generazione presentano un maggiore numero di pixel, a cui corrisponde una
maggiore risoluzione ed inoltre è stato introdotto l’utilizzo di microlenti che amplificano
la luce incidente su ogni singolo pixel.
La seconda categoria di sensori è quella a tecnologia CMOS.
Figura 5.4: Sensore CMOS
I sensori CMOS sono più economici dei CCD in quanto la loro fabbricazione è basata su
una tecnologia standard già ampiamente utilizzata per la costruzione di circuiti integrati,
memorie per computer e tutti i dispositivi a tecnologia MOS. Invece i sensori CCD sono
prodotti usando una tecnologia sviluppata appositamente per l’industria della telecamera.
5 Sistemi di video controllo analogici
64
Tuttavia i sensori CMOS hanno un assorbimento minore di energia e questo permette di
realizzare batterie (per l’alimentazione della telecamera) di peso e dimensioni minori. In
condizioni di scarsa luminosità, però, i CCD operano meglio dei CMOS e questo, in un
mercato orientato sempre più alla ricerca della qualità, è un fattore molto determinante. In
conclusione i CCD, anche se più costosi, restano in assoluto i sensori più utilizzati.
5.2.2 Sensibilità e altre caratteristiche delle telecamere
Passiamo a descrivere altre caratteristiche delle telecamere come la sensibilità e la
risoluzione.
La sensibilità è il più basso livello di luce in corrispondenza del quale la telecamera
produce un reale segnale video di 1V picco-picco. Può essere misurata in due modi:
A livello del sensore: si effettua la misura supponendo che tutta la luce cada
direttamente sulla superficie del sensore. In effetti una frazione di energia
luminosa si perde nell’attraversare l’obiettivo.
Con l’obiettivo: in questo caso si tiene conto anche della percentuale di luce
persa attraverso l’obiettivo. È un sistema più reale per misurare la sensibilità.
Il valore di sensibilità è normalmente specificato in lux. Ci sono dei parametri che possono
modificare la sensibilità di una telecamera quali l’apertura dell’obiettivo, e l’AGC
(Controllo Automatico del Guadagno). È noto, infatti, che un’apertura di diaframma F=1,2
permette un passaggio di luce maggiore rispetto ad un diaframma F=1,4 e minore rispetto
ad un diaframma F=0,8, con conseguenti valori diversi di sensibilità. Riguardo l’AGC, in
pratica, esso amplifica il segnale video in condizioni di scarsa luminosità. Il livello di
amplificazione si traduce in un apparente aumento si sensibilità.
Altre caratteristiche come la risoluzione e la sincronizzazione delle telecamere,
necessitano dell’introduzione di altri concetti. Ne parleremo nel prossimo paragrafo dopo
aver descritto il segnale video composito, l’interlacciamento, la scansione interlacciata
e quella progressiva, i vari standard PAL, SECAM, NTSC.
5 Sistemi di video controllo analogici
65
5.3 Il segnale video composito
Come abbiamo visto il CCD genera un segnale video, ma questo segnale, è
effettivamente quello che poi viene posto sulla porta di uscita coassiale della telecamera?
Certo che no. In realtà il CCD mentre trasforma l’energia luminosa in energia elettrica, lo
fa contemporaneamente “per tutti i suoi pixel”. A noi, invece, serve un segnale che possa
viaggiare su di un unico cavo coassiale e contenere tutta l’informazione del filmato
catturato dal CCD.
In realtà, all’interno della telecamera, si trova un circuito elettronico di processo che ha il
compito di creare questo tipo di segnale video, per poterlo trasmettere su un cavo coassiale
per metri e metri di distanza. Il circuito di processo “esegue” una scansione del CCD, riga
per riga, dividendo l’immagine in un certo numero standardizzato di righe orizzontali.
Ogni riga orizzontale è, in realtà una piccola immagine la cui risoluzione dipende,
ovviamente, dal numero di pixel del CCD che compongono la riga: in altre parole
maggiore è il numero di pixel del sensore, più chiara e definita sarà la riga dell’immagine.
Ora, mentre il numero di righe orizzontali è fissato dagli standard (di cui ora parleremo), il
numero di righe verticali distinguibili dipende dal numero di pixel del CCD: maggiore è il
numero di pixel maggiore sarà il numero di righe verticali. Questo numero determina la
risoluzione di una telecamera (il numero di righe verticali viene anche definito risoluzione
orizzontale).
L’immagine, così, dopo essere stata divisa in tante righe orizzontali viene trasmessa, una
riga alla volta, con una cadenza regolata standardizzata.
Prima di definire il segnale video composito dobbiamo introdurre altri concetti come
l’interlacciamento e gli standard televisivi, e il problema della sincronizzazione.
5 Sistemi di video controllo analogici
66
5.3.1 L’interlacciamento e gli standard video
Nella televisione a circuito chiuso (TVCC) sono stati implementati degli standards per la
trasmissione e la ricezione del segnale video. Tali standards sono inoltre utilizzati anche
nella trasmissione e ricezione televisiva.
Definiamo fotogramma (frame) una fotografia dell’immagine catturata in un certo
istante. Se immaginiamo l’intero filmato come un treno di fotogrammi in rapida
successione, possiamo facilmente intuire che maggiore è il numero di fotogrammi
trasmessi in un secondo, e più scorrevole e realistico sarà il filmato. Ogni fotogramma,
ricordiamo, è composto da tante righe orizzontali pertanto, quando trasmetto un frame,
trasmetto in maniera sequenziale le tante righe orizzontali che lo compongono.
La tecnica dell’interlacciamento consiste nel separare le righe pari da quelle dispari, e
trasmettere, prima la sequenza delle righe pari, e successivamente la sequenza delle righe
dispari o viceversa. L’insieme delle righe pari o di quelle dispari si chiama campo (field).
Così per trasmettere un fotogramma occorrono 2 campi. Questo tipo di interlacciamento si
chiama interlaccio 2:1. Tra la trasmissione del primo e del secondo campo di un
fotogramma, l’occhio umano non “si accorge” di questa transizione (dalle righe pari a
quelle dispari) purchè l’immagine non cambi apprezzabilmente da un campo all’altro
infatti l’interlaccio 2:1 sebbene sia stato sviluppato per trasferire meno dati senza
significative perdite della qualità, presenta degli inconvenienti: se la telecamera “riprende”
un oggetto in rapido movimento, tra il campo delle linee pari e quello delle linee dispari si
crea una distorsione con conseguente peggioramento della qualità. Gli effetti negativi
dell’interlacciamento possono essere attenuati con delle tecniche di de-interlaccio. È
chiaro, però, che la soluzione migliore è quella di non interlacciare e trasmettere le linee
orizzontali che compongono il fotogramma in un unico campo (es. 25frames/sec con 625
lines/frame). Con l’avvento degli schermi LCD (Liquid Crystal Display), dei DVD (Digital
Versatile Disk) e delle telecamere digitali, l’interlacciamento non è più in uso e sui pixel
dei CCD (nel caso delle telecamere) viene eseguita una scansione progressiva (il
fotogramma viene trasmesso riga per riga senza la separazione delle linee orizzontali) al
posto di una scansione interlacciata.
5 Sistemi di video controllo analogici
67
A questo punto possiamo definire i tre formati PAL NTSC e SECAM.
Il formato PAL(Phase Alteration Line) è quello utilizzato in Europa e prevede la
separazione del fotogramma in 625 righe orizzontali (linee) e la trasmissione di 25
fotogrammi al secondo (fps) e quindi un numero di campi doppio (50 campi al secondo).
Questo numero non è casuale, ma è legato alla frequenza della tensione di rete che in
Europa è di 50Hz. Le telecamere, infatti, sfruttano le oscillazioni della tensione di
alimentazione per creare la trasmissione dei 50 campi al secondo (25 fps).
Il formato NTSC(National Television Systems Committee) è invece utilizzato in
America e prevede 525 linee con 30 fps (pari a 60 campi al secondo). Anche in questo caso
si sfrutta la frequenza della tensione di rete che in America è di 60Hz.
Infine il formato SECAM (Systeme Electronique Couleur Avec Memoire) è utilizzato in
Francia ed in numerosi paesi dell'Est Europeo. Ha gli stessi parametri di fotogrammi al
secondo e risoluzione del sistema PAL anche se differisce sia dal PAL che dal NTSC nella
gestione del colore. In passato la risoluzione SECAM era di 819 linee, oggi è la stessa del
PAL.
Riassumendo:
Formato video Fotogrammi al secondo Risoluzione verticale dei
fotogrammi
PAL (Europa)
25 fotogrammi/sec.
(50 campi/sec.) 625 linee
NTSC
(USA, Giappone)
30 fotogrammi/sec.
(60 campi/sec.) 525 linee
SECAM
(Francia, Grecia, Europa Est)
25 fotogrammi/sec.
(50 campi/sec.) 625 linee
Nei sistemi di video controllo, come quello di figura 1, è necessario che telecamere,
monitor, etc, utilizzino lo stesso formato: se usassimo una telecamera NTSC e un monitor
PAL probabilmente vedremmo una immagine in bianco e nero o addirittura nulla.
5 Sistemi di video controllo analogici
68
5.3.2 La sincronizzazione
Come abbiamo visto nel paragrafo precedente, un filmato viene prima scomposto in
fotogrammi, ogni singolo fotogramma in linee orizzontali e, a seconda che si usi o no
l’interlacciamento, le singole linee vengono trasmesse in maniera sequenziale rispettando
le cadenze regolate dagli standard televisivi. Mettendo insieme tutte le linee TV il monitor
ricostruisce il fotogramma che è il mattone fondamentale di qualsiasi filmato.
Una volta trasmesso il segnale, in che modo un monitor riesce a visualizzarlo
correttamente? Come fa il monitor a distinguere la prima linea dalla seconda o un
fotogramma dal successivo? È chiaro che monitor e telecamera devono essere
sincronizzati: quando viene trasmessa una linea, il monitor deve “sapere” quando inizia e
quando finisce; deve sapere anche quando inizia e finisce un fotogramma. Senza queste
informazioni non si potrebbe ricostruire l’immagine.
Allora, a tale scopo, nel segnale in uscita vengono inserite delle informazioni aggiuntive
tali che, una volta ricevute dal monitor, lo mettono in grado di distinguere una riga dalla
successiva e un fotogramma (o un campo nel caso di video interlacciato) dal suo
successivo. Queste informazioni aggiuntive si chiamano blanking intervals (periodi si
silenzio) e sono segnali di sincronismo.
I blanking intervals sono di due tipi:
Blanking intervals verticali. Essi determinano l’inizio e la fine di un
fotogramma o di un campo nel caso di video interlacciato.
Blanking intervals orizzontali. Essi determinano l’inizio e la fine di una
linea.
Un blanking interval verticale viene posto prima e dopo ogni fotogramma (figura 5.5).
5 Sistemi di video controllo analogici
69
Figura 5.5: Blanking interval verticale
Nell’esempio di figura 5.5 si sta considerando un segnale video non interfacciato. Il
blanking interval è composto da un segnale iniziale (front porch) e uno finale (back porch)
che racchiudono fra loro il vero e proprio segnale di sincronizzazione. Il blanking interval
verticale “dice” al monitor che dopo essere stato trasmesso il fotogramma 0, deve
prepararsi a tradurre in una sola schermata le 625 linee del nuovo fotogramma 1 che
verranno trasmesse da lì in avanti.
Un blanking interval orizzontale viene posto prima e dopo ogni linea orizzontale
(figura 5.6).
Figura 5.6: Blanking interval orizzontale
Esso è composto dal segnale di chiusura della linea precedente (Back Porch) e dal segnale
di inizio della linea TV successiva (Front Porch); in mezzo è racchiuso il segnale di
sincronizzazione orizzontale. Il blanking interval orizzontale "dice" al monitor che è
terminata una linea TV e che ne sta per arrivare un'altra. Ricevuto il "front porch" il
5 Sistemi di video controllo analogici
70
monitor inizia a visualizzare il contenuto della linea sul monitor da sinistra a destra.
Ricevuto il "back porch" il monitor termina la linea e ricomincia da sinistra con un’altra.
Se vengono inviati 50 campi/sec con 312,5 linee/campo (sistema PAL interlacciato),
significa che il segnale video deve contenere 50 blanking intervals verticali ogni secondo.
Il numero di blanking intervals verticali che transitano lungo il cavo ogni secondo si
definisce frequenza di sincronizzazione verticale. Ogni campo contiene poi 312,5 linee
orizzontali (stiamo considerando sempre il sistema PAL interlacciato) quindi, in un
secondo, transiteranno 50 campi da 312,5 linee ciascuno per un totale di 312,5x50=15625
linee. Questo significa che il segnale deve contenere 15625 blanking intervals orizzontali
in ogni secondo. Si definisce quindi frequenza di sincronizzazione orizzontale il numero
di blanking intervals orizzontali ogni secondo.
La frequenza di sincronizzazione che, come abbiamo visto, può essere verticale o
orizzontale, fa parte delle caratteristiche di ogni standard televisivo e se ne deve tenere
conto quando si progetta un sistema di video controllo. Nel sistema PAL abbiamo:
Frequenza verticale: 50Hz
Frequenza orizzontale: 15625Hz
Per concludere questo argomento sulla sincronizzazione analizziamo un’ultima
problematica legata alle telecamere e alla trasmissione simultanea di più filmati. Ogni
telecamera possiede un suo generatore di sincronismi il quale manda in uscita, all’interno
del segnale video, i segnali di sincronismo (blanking intervals) di cui si è parlato. Se più
telecamere trasmettono i loro segnali video da inviare, per esempio, al multiplexer (figura
1) è importante che i rispettivi segnali di sincronismo siano allineati, cioè l’inizio di un
fotogramma, per esempio, deve coincidere in tutte le telecamere. Sebbene i dispositivi di
controllo video di nuova generazione sono in grado di auto-sincronizzare segnali non
allineati, quando ciò non sia possibile è necessario ricorrere a dei sistemi di
sincronizzazione alternativi. Per esempio se tutte le telecamere sono alimentate con
tensione alternata, l’allineamento avviene in maniera automatica in quanto i loro generatori
di sincronismo interni sfruttano la frequenza di rete per allinearsi. Essendo la fonte di
alimentazione comune a tutte le telecamere, l’allineamento è garantito purchè tutte le
alimentazioni non vengano prelevate da fasi diverse. In tal caso le telecamere dovrebbero
5 Sistemi di video controllo analogici
71
essere munite di un trimmer per la regolazione di fase. Questo sistema di sincronizzazione
si chiama line-look e ne sono munite quasi tutte le telecamere alimentate in alternata.
Qualora si usino telecamere alimentate in continua questo sistema non può funzionare. In
tal caso si manda alla telecamera, tramite un ulteriore cavo coassiale un segnale di
sincronismo esterno, di solito generato da un apposito generatore di sincronismo. Le
telecamere predisposte per questo tipo di sincronizzazione dispongono di un ulteriore
ingresso BNC (denominato GEN-LOCK) posteriore a cui collegare il coassiale che porta il
sincronismo. In piccoli impianti, dove si voglia evitare di installare un generatore di
sincronismo, è anche possibile collegare l'ingresso GEN-LOCK di una telecamera con
l'uscita video di un'altra telecamera. La seconda telecamera si allineerà alla componente di
sincronismo della prima. Questo sistema di allineamento si chiama sincronizzazione
esterna GEN-LOOK.
5.3.3 Il segnale video composito
A questo punto possiamo dare una definizione completa di segnale video composito.
Abbiamo già visto che il segnale video trasmesso da una fonte (per esempio una
telecamera) contiene varie informazioni, tra cui i segnali di sincronismo.
Il video composito o Composite Video Blanking and Sync (CVBS) è un tipo di segnale
analogico (figura 5.10) di ampiezza 1Vpp che permette di inviare tutte le componenti del
segnale (luminosità, colore, audio e sincronismi) su un unico conduttore. In realtà esistono
anche altre tecniche di trasmissione del video come l'RGB utilizzato dai monitor per PC o
l'S-Video, che divide il segnale di luminosità dal colore, ma non hanno attinenza con il
mondo della TVCC e non verranno trattati.
5 Sistemi di video controllo analogici
72
Figura 5.7: Esempio di segnale video composito visto all’oscilloscopio
I vari tipi di informazione necessari a definire il filmato sono distinti dalla loro banda di
frequenza, per questo il video composito contiene un ampio spettro di frequenze da 50Hz a
6 MHz. È trasmesso attraverso cavi coassiali tipo RG59 o equivalenti, aventi impedenza
caratteristica di 75Ω.
5.5 Il trasporto del segnale video composito
Un altro aspetto molto importante da analizzare in un sistema di video controllo analogico
è legato alla trasmissione del segnale lungo una linea. Nei paragrafi precedenti abbiamo
definito il segnale video composito, abbiamo visto che esso contiene tutte le informazioni
necessarie a definire il filmato e che pertanto contiene un ampio spettro di frequenze.
Per via di questo ampio spettro sorgono dei problemi legati alla qualità dell’immagine
durante il processo di trasmissione dovuti al comportamento da filtro passa basso della
linea.
Il problema è legato alla geometria stessa del cavo: nella figura 5.8 è mostrato il circuito
equivalente di un tratto infinitesimo dx di cavo. Il ramo superiore rappresenta il conduttore
interno, mentre quello inferiore la calza di schermatura. Anche se il cavo è di ottima
5 Sistemi di video controllo analogici
73
qualità, per cui possiamo trascurare le resistenze serie-parallelo, rimangono la capacità
per unità di lunghezza posta in parallelo e l’ induttanza per unità di lunghezza posta in
serie.
Figura 5.8: Circuito equivalente di un tratto infinitesimo di un cavo coassiale
Condensatori e induttori, a differenza dei resistori, non sono dispositivi lineari e inoltre la
relazione corrente-tensione (v-i) dipende dalla frequenza:
Riv dt
diLv
dt
dvCi
RZ 0 LZ 0
C
Z
10
Resistore Induttore Condensatore
Tabella 1: relazione v-i dei tre dispositivi e relative impedenze
5 Sistemi di video controllo analogici
74
Le frequenze più alte sono quelle che subiscono maggiormente l'effetto del trasporto che il
cavo coassiale taglierà in modo proporzionale alla sua lunghezza. Ma vediamo meglio i
dettagli con una simulazione.
5.4.1 Simulazione col codice di simulazione SPICE del cavo RG59
Il cavo coassiale RG59 è tra i più utilizzati per il trasporto del video composito. Per
osservare più da vicino in che modo la lunghezza della linea di trasmissione influisce
negativamente sul segnale eseguiamo una simulazione con il programma di calcolo SPICE
(Simulation Program with Integrated Circuit Emphasis).
Essendo la lunghezza del cavo la maggiore causa di problemi legati alla trasmissione,
facciamo delle simulazioni per diverse lunghezze della linea. La simulazione è del tipo
analisi in frequenza. Il generatore è di 1 volt picco-picco.
Riportiamo il grafico della prima simulazione con una lunghezza della linea di soli 2
metri:
Figura 5.9: Risposta in frequenza con cavo RG59 lungo 2 metri
5 Sistemi di video controllo analogici
75
Come si vede in figura 5.9, utilizzando un cavo di soli 2 metri, nella banda di frequenze di
nostro interesse non ci sono problemi e il comportamento in frequenza è molto lineare
(niente distorsione).
Facciamo, adesso, una simulazione nelle stesse condizioni ma utilizzando un cavo di 80
metri.
Figura 5. 10: Risposte in frequenza con cavo RG59 lungo 80 metri
In questo caso, (figura 5.10) intorno ai 400 KHz il comportamento in frequenza inizia a
non essere più lineare. Nella banda da 1 a 6 MHz (alte frequenze nel video composito) si
ha già distorsione. Da notare inoltre, anche alle basse frequenze, una attenuazione di quasi
100 mV.
Adesso portiamo la lunghezza della linea a 200 metri. Otteniamo la seguente risposta
(figura 5.11):
Figura 5.11: Risposta in frequenza con cavo RG59 lungo 200 metri
5 Sistemi di video controllo analogici
76
Come si vede, in questo caso, la curva di frequenza è quella di un vero e proprio filtro
passa basso. Da 10KHz in poi inizia una forte attenuazione: l’ampiezza passa da quasi
600mV, alle basse frequenze, a circa 160mV per le alte frequenze che, comunque, si
trovano all’interno della banda del segnale video composito. Il segnale, già alle basse
frequenze, sebbene mantenga un comportamento lineare, risulta attenuato di circa 400mV.
Vediamo infine la risposta a 400 metri (figura 5.12) e 1000 metri (figura 5.13).
Figura 5.12: Risposta in frequenza con cavo RG59 lungo 400 metri
Figura 5. 13: Risposta in frequenza con cavo RG59 lungo 1000 metri
L’andamento in frequenza è simile in entrambi i casi ma, a 1000 metri di distanza, il
segnale è quasi assente anche alle basse frequenze.
5 Sistemi di video controllo analogici
77
La perdita delle frequenze alte genera un globale impoverimento dell'immagine. Sul
monitor non si riconoscono più le strutture fini. Nel caso di superfici adiacenti bianche e
nere, il passaggio non è più immediato, ma si vede una zona di grigio che sembra rendere
l'immagine non a fuoco. Anche la variazione dei colori, nel passaggio ad esempio da chiaro
a scuro, risulta più lenta e meno definita. Tutti questi sono i risultati dell'attenuazione
introdotta dal cavo. Un'attenuazione veramente eccessiva porta infine ad un deterioramento
totale del segnale video con perdita dei colori e della definizione.
Esistono in commercio cavi coassiali con attenuazione più bassa dell'RG59
comunemente utilizzato. I più noti sono l'RG6 e l'RG11. Si tratta però di cavi di grossa
sezione, spesso più rigidi del cavo RG59 e per questo di utilizzo meno confortevole. Come
pro l'attenuazione di un cavo RG6 è di circa il 20-25% inferiore all'RG59, mentre l'RG11
può essere anche meno della metà dell'RG59. Di conseguenza un cavo del tipo RG6
permette cablaggi fino a 300 metri, ed un RG11 fino a circa 500 metri.
Se, a seconda della distanza che si vuole coprire, si avesse come effetto collaterale solo un
segnale troppo debole ma poco distorto, una soluzione potrebbe essere inserire un
amplificatore di segnale.
L'amplificatore amplifica il segnale video consentendo di compensare le perdite del cavo.
Come in tutti i processi di amplificazione viene anche introdotta un'inevitabile percentuale
di rumore e l'immagine risulterà sempre un po' meno qualitativa di quella ottenibile con un
cablaggio corto.
In generale, qualora si volesse trasmettere un segnale video composito a chilometri di
distanza, questi sistemi sono improponibili e ciò pone un limite non indifferente alla
trasmissione analogica del video composito via cavo. Come vedremo nel prossimo
capitolo, con la tecnologia digitale, questi limiti saranno praticamente soppressi.
5 Sistemi di video controllo analogici
78
5.5 Vantaggi e Limiti di un sistema video analogico
In questo ultimo paragrafo vogliamo mettere in rilievo quelli che sono i limiti di un sistema
video analogico, cosa si può lasciare inalterato e cosa, invece, andrebbe un po’ modificato.
E’ da premettere che il mondo dell’analogico non è “vecchio o superato”: molti audiofili,
per esempio, lo prediligono rispetto al digitale, soprattutto nella manipolazione dei segnali,
che produce risultati più “caldi” (nel gergo dei musicisti un suono caldo è un suono più
presente, in contrapposizione al suono freddo che la tecnica digitale alle volte produce). Il
problema è che nel passaggio dall’analogico al digitale si hanno delle inevitabili perdite di
informazione (errori di quantizzazione) passando, pertanto da un segnale di tipo continuo
a un segnale di tipo quantizzato. Il sistema di trasmissione digitale però indubbiamente ha
i suoi vantaggi, come per esempio un miglioramento del rapporto segnale-rumore, ed altri
che vedremo in seguito.
Nel nostro sistema video analogico una delle problematiche più importanti è la
trasmissione del segnale. Come abbiamo visto la distanza tra i vari componenti del sistema
può diventare un problema: immaginiamo di dover monitorare a distanza un certo
processo, per esempio in una sala sperimentale. Anche lavorando ad alta risoluzione, come
abbiamo visto, il segnale, nella fase di trasmissione, subisce attenuazione e distorsione;
così si rende necessario l’impiego di amplificatori lungo la linea. Ancora, l’impiego di più
telecamere comporta necessariamente un cablaggio più sostenuto, la presenza di
multiplexer e quindi una perdita di qualità.
Allora, l’idea è quella di campionare il segnale analogico, trasformarlo in una sequenza di
impulsi elettrici binari, stabilire un protocollo di comunicazione, codificare e decodificare
il segnale digitale. Uno dei vantaggi più importanti è quello che possiamo utilizzare la rete
internet per la trasmissione; si tratta di realizzare interfacce per la comunicazione.
Certo è che la tecnica digitale rappresenta già un’ottima soluzione ai problemi legati alla
trasmissione, ma se facciamo in modo che il sistema di comunicazione coincida con quello
della rete internet allora abbiamo fatto il “salto di qualità”: abbiamo creato un sistema di
video controllo digitale over IP.
Nel prossimo capitolo ci occuperemo di questo nuovo sistema introducendo nuovi
concetti come la conversione analogico-digitale, la compressione video, il protocollo
5 Sistemi di video controllo analogici
79
TCP/IP ed altri ancora. Analizzeremo, poi, i tanti vantaggi che ne derivano come la
riduzione di cablaggi e costi, maggiore flessibilità, integrazione con altre strutture ed altri
ancora.
6 Sistemi di video controllo digitale over IP
80
6 Sistemi di video controllo digitale over IP
(Internet Protocol)
6.1 I Codec
In un sistema di video controllo digitale over IP il dispositivo che si occupa
dell’acquisizione, elaborazione e trasmissione delle immagini è comunemente denominato
network camera (o telecamera di rete). Il principio di funzionamento di tale dispositivo si
basa sul fatto che l’immagine catturata dall’obiettivo viene proiettata all’interno del CCD e
quindi transcodificata in segnali elettrici su una serie di linee dati di tipo parallelo; tali
segnali successivamente vengono elaborati da un elettronica di elaborazione tipicamente
caratterizzata da un DSP (Digital Signal Processor, processore dedicato all’elaborazione
digitale dei segnali). Il DSP si occupa quindi della digitalizzazione, e compressione delle
immagini nonché della loro trasmissione in seriale nel rispetto dei protocolli di
comunicazione.
Quest’ultima operazione è svolta ad opera dei codec, ovvero, un programma o un
dispositivo che si occupa di codificare e/o decodificare digitalmente un segnale audio o
video secondo uno standard definito dal codec stesso. Oltre alla digitalizzazione del
segnale, i codec effettuano anche una compressione (e/o decompressione in lettura) dei dati
ad esso relativi, in modo da poter ridurre lo spazio di memorizzazione occupato a
vantaggio anche della trasmissione del flusso codificato.
6 Sistemi di video controllo digitale over IP
81
A prima vista sembrerebbe che la tecnica digitale non presenti inconvenienti e che sia da
preferire in ogni circostanza. In realtà ci sono degli aspetti da tenere in considerazione i
quali determinano una sorta di perdita di informazione del segnale che è stato convertito.
Tra i codec più comunemente adoperati citiamo i più importanti:
Il fomato JPEG
Questo formato non riguarda la compressione di una sequenza video, bensì di un’ unica
immagine statica come per esempio una fotografia.
JPEG, un metodo di compressione molto conosciuto, fu originariamente trasformato in uno
standard verso la metà degli anni ’80 per iniziativa del Joint Photographic Expert
Group. La compressione JPEG permette all’utente di specificare il livello di compressione
desiderato, ossia di stabilire in che misura deve essere compressa l’immagine. Il livello di
compressione è direttamente correlato alla qualità dell’immagine richiesta. Tuttavia, il
rapporto di compressione è influenzato non solo dal livello di compressione, ma anche
dall’immagine stessa. Se l’immagine, per esempio, è un semplice foglio bianco, dopo la
compressione, il file risultante avrà dimensioni molto ridotte (rapporto di compressione
alto). Al contrario, lo stesso livello di compressione applicato a una scena molto complessa
e ricca di dettagli genera un file di maggiori dimensioni (rapporto di compressione basso)
Motion JPEG (o M-JPEG)
Una soluzione per ottenere una sequenza video di tipo digitale è quella di generare un
flusso di fotogrammi codificati e compressi nel formato JPEG. Una telecamera digitale,
acquisisce e comprime, ad esempio, 30 immagini al secondo ( 30 fps – fotogrammi per
secondo ) e le trasmette sotto forma di sequenze digitali. L’occhio umano non è in grado di
distinguere il singolo fotogramma se la velocità è pari o superiore a 16 fps. In questo modo
il segnale video digitale risulterà, in generale, compresso perché costituito da immagini
compresse di tipo JPEG. Va osservato, però, che se tra un frame e i successivi soltanto un
oggetto è in movimento su uno sfondo statico, avremo tutta una sequenza di fotogrammi
(che vengono memorizzati occupando, ciascuno, lo spazio di un immagine JPEG)
praticamente identici ad eccezione dell’oggetto in movimento.
6 Sistemi di video controllo digitale over IP
82
Figura 6.1 : Una sequenza MJPEG
La qualità del video è buona ma si può avere un notevole consumo di banda.
I formati MPEG-2 e MPEG4.
Una delle tecnologie di streaming audio e video più note è indubbiamente il cosiddetto
formato MPEG (creato da Motion Picture Expert Group alla fine degli anni ‘80). Il
principio base di questo formato consiste nel confronto di due immagini compresse da
trasmettere. La prima immagine compressa viene usata come fotogramma di riferimento
per le immagini successive; verranno, poi, trasmesse solo le differenze con i successivi
frames. In ricezione, è compito del codec ricostruire tutte le immagini utilizzando quella di
riferimento e i dati degli elementi diversi (figura 6.2).
Figura 6.2 : Una sequenza MPEG
6 Sistemi di video controllo digitale over IP
83
Nonostante l’apparente complessità, il formato MPEG offre il vantaggio di ridurre in modo
significativo il volume di dati trasmesso rispetto al formato M-JPEG.
Nel 1994 è stato introdotto il formato MPEG-2. Si tratta di una efficiente codifica per il
video digitale in quanto si ottengono delle immagini di buona qualità con un bitrate
compreso tra 4 e 9 Mbit/s.
Il principio base del formato MPEG-2, come accennato in precedenza, è quello di
confrontare due frames compressi. Il primo dei quali è chiamato frame di tipo I (intracoded
frame) e non è altro che un normale frame compresso in JPEG. I frames di tipo I vengono
codificati senza essere confrontati, per esempio, con i successivi o con i precedenti, ma
vengono usati come riferimento per i successivi e sono dei punti di accesso alla sequenza
codificata, in corrispondenza dei quali può iniziare la decodifica. In altre parole, una volta
codificato un frame I, il successivo conterrà soltanto la differenza dal precedente. Questo
(il successivo) è chiamato frame di tipo P ( Predicatively coded frame) e può riferirsi a un
frame di tipo I o di tipo P . A sua volta un frame di tipo P è usato come riferimento per una
terza tipologia (speciale) di frames denominati di tipo B (Bidirectionally coded frames).
Questi frames possono contenere le differenze dai precedenti, ma anche dai successivi o da
entrambi. Il tutto è schematizzato nella seguente figura 6.6.
Figura 6.3 : Esempio di una sequenza di frames I, P e B
Questi frames, di diverse tipologie, in pratica sono degli oggetti del codec MPEG che
vengono definiti VOP (Video Object Plane). Si hanno, allora, sequenze di I-VOP, P-VOP
e B-VOP che nell’insieme formano un GOV (Group Of Video object planes). Un GOV,
così, è una sequenza video di tipo digitale che contiene un numero di campioni ottimizzato.
6 Sistemi di video controllo digitale over IP
84
Osserviamo la seguente figura 4.7 in cui è mostrato il rapporto tra le dimensioni di ogni
frame in un GOV.
Figura 6.4 : Dimensioni relative dei diversi tipi di frames in un GOV
Si nota immediatamente una cospicua riduzione globale dei numero dei campioni (e quindi
dei bit) che, nell’unità di tempo, devono essere elaborati. In altri termini, il bitrate
diminuisce conservando una buona qualità delle immagini. Facciamo osservare che, in una
sequenza MJPEG, lo spazio occupato dall’equivalente di un GOV è uguale a quello che si
avrebbe se tutti i VOP fossero di tipo I.
Com’è noto, un segnale digitale, essendo costituito da una sequenza di bit, si può
manipolare facilmente con un PC. Di fatto il codec MPEG2 esegue delle operazioni tra i
bit dei campioni memorizzati (dei Frames I), per fare delle “predizioni” sul frame
successivo e creare così i Frames P e così via…
Queste operazioni sono stabilite da certi algoritmi di compressione contenuti nel codec.
Per esempio l’MPEG2 contiene il DCT (discrete cosine trasform) che si occupa di stimare
le differenze tra i frames, di cui si è parlato prima (DC prediction).
Le strutture GOV, il DC-prediction e tutti gli algoritmi impiegati nella compressione (i
tools) definiscono il formato MPEG. La differenza tra i formati MPEG1, MPEG2 e
MPEG4 sta proprio nel set di tools impiegati nella compressione: l’MPEG1 (ormai poco
utilizzato), per esempio, non fa uso del B-VOP e il rapporto tra la qualità dell’immagine e
il bitrate peggiora.
Di contro, l’MPEG4 contiene dei tools aggiuntivi che l’MPEG2 non possiede con il
risultato di avere un ottima qualità dell’immagine e un bitrate ancora più basso. Il tutto si
traduce nella possibilità di trasportare il segnale video digitale compresso ad alta qualità
con un consumo di banda relativamente basso.
6 Sistemi di video controllo digitale over IP
85
6.1.2 Alta qualità: Motion-JPEG o MPEG4 ?
La struttura molto complessa del codec MPEG4 comporta un certo tempo di elaborazione;
ciò introduce dei tempi di latenza in fase di codifica e decodifica del segnale. In altri
termini, la ricezione in tempo reale di un filmato codificato e trasmesso in MPEG4 non è
garantita. Al contrario, il formato Motion-JPEG, data la sua semplicità di elaborazione,
garantisce la ricezione in tempo reale con una ottima qualità, ma con un dispendio di banda
non indifferente.
Entrambi i formati garantiscono un’ottima qualità dell’immagine, pertanto in fase di
codifica sarebbe opportuno disporre di entrambi i codec e della possibilità di sceglierne
uno o l’altro o entrambi a seconda delle necessità. Come vedremo la network camera IT
350 di intellisystem istallata a Grenoble, nella sala laser, può eseguire lo streaming sia in
M-JPEG che in MPEG4.
6.2 Network camera e suo utilizzo in un sistema video digitale
Nel corso degli anni sono stati prodotti vari modelli di Network Camera a seconda della
necessità di utilizzo. Un esempio è la PTZ network camera IT350 (figura 6.5) prodotta
da Intellisystem Technologies S.r.l.. La sua principale caratteristica è la sua funzione PTZ
(Pan, Tilt, Zoom) che da remoto permette di far ruotare ed inclinare l’obiettivo di ripresa
nonché d’ingrandire l’immagine catturata. La IT350 è dotata di web server integrato.
6 Sistemi di video controllo digitale over IP
86
Figura 6.5 : Network Camera IT350 prodotta da Intellisystem Technologies S.r.l.
A differenza di un classico sistema video di tipo analogico, un sistema interamente digitale
over IP che impiega delle telecamere di rete non possiede una struttura fissa ben definita.
Queste, infatti, possono essere istallate in qualunque parte del mondo adoperando la rete
internet come veicolo di trasporto per i dati digitali contenenti il video.
Figura 6.6: Esempio di implementazione di un sistema video digitale over IP
6.3.1 Trasporto del video digitale su rete internet
Come abbiamo visto nel capitolo 3, il Protocollo Internet IP con la suite di protocolli TCP
sono largamente utilizzati per il trasporto dei dati. Questi, a loro volta, sono incapsulati in
6 Sistemi di video controllo digitale over IP
87
pacchetti e codificati mediante altri tipi di protocolli alcuni dei quali vengono usati per il
trasporto del video digitale. Nella tabella 6.1 si riportano alcuni protocolli utilizzati da una
Network Camera.
Protocollo
Protocollo
di
trasporto
Porta Utilizzo comune Utilizzo per il video in rete
FTP
File Transfer
Protocol
TCP 21 Trasporto file su
Internet/intranet
Trasporto di immagini o video da una
network camera a un server FTP o ad
un‘applicazione
SMTP
Send Mail
Transfer
Protocol
TCP 25 Protocollo per l‘invio di
Una network camera può inviare
immagini o notifiche di allarme usando
il client email integrato
HTTP
Hyper Text
Transfer
Protocol
TCP 80 Usato per navigare sul
web
Il modo più comune per trasferire
video da una network camera dove il
dispositivo di video in rete lavora
essenzialmente come web server
HTTPS
Hypertext
Transfer
Protocol over
Secure
Socket Layer
TCP 443
Usato per offrire l‘accesso
sicuro alle pagine web
tramite crittografia
Trasmissione sicura di video da una
network camera può anche essere
usato per inviare certificati digitali
X.509
RTP
Real Time
Protocol
UDP/TCP Non
definita
RTP rende standard la
trasmissione di video e
audio su Internet. Spesso
usato per streaming e
videoconferenza
La trasmissione può essere sia unicast
(one to one) che multicast (one to
many)
RTSP
Real Time
Streaming
Protocol
TCP 554 Utilizzato per configurare e monitorare le sessioni multimediali su
RTP
Tabella 6.1: Protocolli tipicamente impiegati da una Network Camera
6 Sistemi di video controllo digitale over IP
88
Ogni protocollo di quelli enunciati in tabella 6.1 viene impiegato per scopi specifici, a
seconda del tipo di informazione da trasportare.
Facciamo alcune considerazioni: se vengono inviati dei dati utilizzando, per esempio,
l’HTTP trasportato dal protocollo TCP, quest’ultimo aggiunge al pacchetto dati una serie
di informazioni aggiuntive. Il protocollo TCP, infatti, prevede che quando un pacchetto
viene ricevuto, venga eseguito un controllo sullo stesso. In questo modo si ha la certezza
che non ci sono stati errori durante la trasmissione. Tutto questo, se da un lato garantisce
affidabilità e sicurezza, dall’altro appesantisce il trasporto incrementando il consumo di
banda pertanto, a seconda di ciò che si trasmette, si introducono dei tempi di latenza.
Un video in MJPEG, per esempio, ha un alto bitrate e una ingente quantità di dati da
inviare. L’insieme di tutti i dati viene suddiviso in pacchetti e ogni pacchetto deve essere
controllato dal protocollo TCP. Così per la visione in tempo reale si potrebbe usare il
formato MPEG2 (o MPEG4) il quale, tuttavia, richiede una elaborazione più complessa
che come abbiamo visto può introdurre una leggera latenza.
Per il video in tempo reale si fa spesso uso del protocollo UDP il quale come sappiamo
non esegue nessun controllo sul flusso dei dati. La trasmissione è molto più veloce ma una
volta inviati i dati non si ha notizia del loro arrivo a destinazione. Tuttavia uno standard per
lo streaming video è il protocollo RTP (Real Time Protocol) trasportato dall’UDP.
Riassumendo, se siamo interessati alla ricezione di immagini in tempo reale possiamo
usare l’RTP su UDP a tutto vantaggio di uno streaming video fluido.
Se, invece, si vuole semplicemente eseguire un trasferimento di dati video una soluzione
potrebbe essere il File Transfer Protocol (FTP) su protocollo TCP.
6.3.2 Sistemi di protezione e accesso ad una network camera
Come abbiamo visto nel terzo capitolo, la suite di protocolli TCP prevede un sistema di
protezione attraverso le procedure descritte di autenticazione, autorizzazione e accesso.
Per accedere ad una network camera, dal proprio browser si immette, nella barra degli
indirizzi, l’indirizzo IP della telecamera:
6 Sistemi di video controllo digitale over IP
89
Figura 6.7 : Esempio di accesso a una network camera
Successivamente occorre autenticarsi immettendo nome utente e password. Ai pacchetti
scambiati tra client e server secondo le modalità stabilite dal TCP viene applicato un
protocollo di protezione (crittografia dati e certificati digitali): il flusso dei dati è protetto
da intrusioni accidentali.
Per interagire, controllare e configurare la network camera occorre utilizzare un comune
browser internet (tipo Netscape o Microsoft Explorer) che permetta di navigare all’interno
delle pagine web gestite dal sistema embedded contenuto nella network camera stessa
(figura 6.8).
6 Sistemi di video controllo digitale over IP
90
Figura 6.8 : Home page della IT350PTZ network camera
Dalla figura 6.8 si evince come sia possibile utilizzare l’interfaccia web per movimentare
la telecamera.
7 Un caso reale: il telecontrollo degli apparati della sala laser dell’esperimento GRAAL
91
7 Un caso reale: il telecontrollo degli
apparati della sala Laser dell’esperimento
GRAAL
7.1 Descrizione dell’applicazione
Come abbiamo accennato in precedenza, il sistema RECS 101 è stato progettato per
applicazioni di Telecontrollo e Teleassistenza di ultima generazione. Tale dispositivo, che
utilizza la suite di protocolli TCP/IP, è un sistema che permette di ottimizzare le risorse
logistiche, riducendo il numero delle connessioni ed i costi di gestione con conseguente
maggiore concentrazione di risorse sul lavoro primario. Il sistema RECS 101 è stato
inserito nell’esperimento GRAAL e rappresenta un valido strumento per la gestione delle
apparecchiature per il controllo del fascio laser, collegate tra loro tramite una catena GPIB
estesa.
Inoltre il sistema RECS 101, con il controllo di 16 ingressi e di 16 uscite in
combinazione con una network camera IT350, permette il monitoraggio della sala
sperimentale, offrendo una soluzione sicura e professionale nettamente superiore alle
soluzioni analogiche. Infatti, utilizzando tale combinazione vincente, è stato possibile
avere a disposizione una postazione di Telecontrollo capace di gestire non solo immagini
ma anche di controllare lo stato di dispositivi esterni, quali sensori, e di manovrarne altri,
quali ad esempio attuatori.
In particolare per la prima volta è stato testato il dispositivo RECS 101 come sistema di
reset in automatico della catena GPIB che interfaccia l’intero sistema di allineamento del
raggio laser, nonché la gestione del laser stesso mediante una workstation che adopera un
sistema complesso scritto in LabView. La Fig. 7.1 mostra un modello semplificato di tale
schema di funzionamento.
7 Un caso reale: il telecontrollo degli apparati della sala laser dell’esperimento GRAAL
92
Figura 7.1: Schema di funzionamento della catena GPIB presente nell’esperimento GRAAL per la gestione degli
apparati della sala laser.
In realtà, come si vede dalla figura 7.2 il sistema è più complesso poiché comprende altri
servomeccanismi come ad esempio quello che gestisce l’inserimento di un bolometro per
la misura dell’intensità del raggio laser ottenuto dopo l’allineamento.
Figura 7.2: Sistema Laser-Periscopio presente nella sala laser GRAAL
L'integrazione del sistema RECS 101 con la network camera IT350 (di cui la figura 7.3
mostra l’installazione all’interno della sala laser GRAAL) ha ridotto drasticamente i tempi
d'intervento degli operatori durante le varie fasi dell'esperimento, con una riduzione dei
rischi da esposizione a radiazioni nucleari a cui normalmente gli operatori sono soggetti.
Motori
periscopio
laser
Laser Work
Station
LabView
BUS GPIB
7 Un caso reale: il telecontrollo degli apparati della sala laser dell’esperimento GRAAL
93
Inoltre più ricercatori da ogni parte del mondo hanno potuto connettersi alla sala
sperimentale via Internet e controllare la movimentazione delle lenti del periscopio ottico.
Figura 7.3: Particolare della network camera IT350, installata nella sala laser GRAAL
7.2 Architettura del sistema di controllo.
La Fig. 7.4 mostra l’architettura adoperata nella realizzazione del test sperimentale di
controllo remoto per il reset della catena GPIB, adoperata nella gestione della sala laser
dell’esperimento GRAAL. Essa consiste: 1) del microwebserver RECS 101, che gestisce
l’accensione e lo spegnimento di strumenti di misura, posti lungo la catena GPIB e
dislocati all’interno e all’esterno della sala laser, campionandone gli ingressi e verificando
lo stato degli strumenti ogni 200 ms; 2) una scheda d’interfaccia per la gestione di carichi
di potenza, progettata e realizzata appositamente per controllare gli strumenti di misura; 3)
una network camera IT350, che invia le immagini ad una consolle di comando.
7 Un caso reale: il telecontrollo degli apparati della sala laser dell’esperimento GRAAL
94
Figura 7.4: Architettura del sistema di controllo remoto
Il sistema sperimentale ha permesso di poter controllare da remoto la corretta sequenza di
accensione e spegnimento di tutti gli strumenti presenti nella catena GPIB ovvero il laser, i
vari motori di posizionamento delle lenti del periscopio ed il motore di gestione
dell’inserimento del bolometro. Le problematiche inerenti questa soluzione sono state
dettate dall’esigenza di poter gestire da remoto direttamente dalla consolle laser il reset di
tale strumentazione, secondo una sequenza temporale ben definita. In questo modo
adoperando un semplice browser quale ad esempio Internet Explorer o Netscape è stato
possibile gestire l’intero sistema tramite Internet (fig. 7.5). Ciò ha permesso di far
risparmiare notevolmente in tempo per il reset manuale e la sincronizzazione dei vari
strumenti della catena GPIB.
Figura 7.5: Strumenti della catena GPIB controllati in remoto
7 Un caso reale: il telecontrollo degli apparati della sala laser dell’esperimento GRAAL
95
7.3 Interfaccia di potenza con gli apparati controllati
Poiché RECS 101 dispone di 16 ingressi e 16 uscite digitali di tipo TTL indirizzabili
singolarmente, è stato necessario progettare e realizzare una scheda elettronica
d’interfaccia che fosse capace di gestire carichi di potenza e che al tempo stesso fosse
totalmente disaccoppiata da RECS 101.
La scheda d'interfaccia, di seguito chiamata RECS Relay, rispetta rigorosi criteri di
sicurezza che permettono a questi dispositivi un totale isolamento del carico dal sistema di
controllo grazie ai diversi livelli d'isolamento in essi implementati: isolamento ottico,
galvanico, protezione delle uscite relay tramite variatori (fig. 7.6).
Figura 7.6: Interfaccia RECS Relay
Utilizzandola unitamente a RECS 101 si ottiene un sistema di controllo basato su
tecnologia TCP/IP, che può comandare l'azionamento di carichi e sistemi di potenza. Nel
caso dell’esperimento GRAAL questa scheda è stata direttamente interfacciata ai vari
strumenti presenti nella catena GPIB (fig 7.7 e 7.8).
7 Un caso reale: il telecontrollo degli apparati della sala laser dell’esperimento GRAAL
96
Figura 7.7: Particolare della sala sperimentale relativo all’istallazione di RECS 101 e della sua scheda RECS- relay
Figura. 7.8: Sistema di controllo TCP/IP per il comando di carichi di potenza
In conclusione le caratteristiche tecniche del sistema si possono riassumente nei seguenti
punti:
• 16 ingressi;
• comando di carichi con corrente max di 10A e tensione max di 250 V AC o 30V
DC;
• pilotaggio delle interfacce in continua con ingressi positivi TTL (la tensione di
pilotaggio può essere variata inserendo dei resistori negli opportuni pad della
scheda);
7 Un caso reale: il telecontrollo degli apparati della sala laser dell’esperimento GRAAL
97
• Corrente di pilotaggio ~20 mA;
• Relay ad estrazione rapida con zoccolo;
• Grado di protezione IP00;
• Fissaggio a scatto rapido su profilato DIN35.
Figura 7.9: Schema elettrico
Figura 7.10: Connettore d’ingresso
Nelle figure 7.9 e 7.10 sono riportati, rispettivamente, lo schema elettrico e la piedinatura
del connettore d’ingresso della scheda RECS Relay.
Conclusioni
98
Conclusioni
Nel presente lavoro di tesi sono stati presentati alcuni risultati relativi all’applicazione di
nuove tecnologie di Telecontrollo in ambienti di ricerca nel campo della fisica nucleare,
precisamente per la messa in opera dell’esperimento GRAAL.
In particolare sono state studiate ed introdotte delle particolari architetture per
l’integrazione di controlli distribuiti.
L’applicazione descritta ha visto come protagonista l’utilizzo del microwebserver RECS
101, un dispositivo tecnologicamente avanzato, che ha permesso di gestire tramite Internet
apparati elettronici posti all’interno della sala sperimentale laser all’ESRF di Grenoble
durante l’esperimento GRAAL.
Tale dispositivo ha mostrato grandi prestazioni in termini di robustezza, versatilità ed
immunità ai disturbi. Esso è risultato particolarmente flessibile per gli “ultimi adattamenti”
immancabili durante gli esperimenti di fisica nucleare, che non sono mai standard pur
dovendosi eseguire sempre in tempi ben schedulati e rigidi.
Gli incoraggianti risultati ottenuti, aprono la strada a concreti sviluppi futuri. La facilità
con cui i vari sistemi possono essere espansi ed integrati, senza influenzare quelli
preesistenti, incoraggia un’ottimistica previsione di perfezionamento di tali soluzioni
all’interno della ricerca che si svolge presso i laboratori di fisica nucleare : le intrinseche
garanzie di integrità dei dati offerte, in un ambiente altamente nocivo per l’uomo e
caratterizzato da intense sorgenti elettromagnetiche e radioattive, ed i vantaggi di
semplificazione dei cablaggi, laddove tradizionalmente il controllo remoto prevede
l’impiego di complessi collegamenti dedicati punto-punto, consentiranno l’afflusso
contemporaneo di dati sperimentali e di messaggi di controllo su di un unico mezzo
trasmissivo o bus di campo.
Conclusioni
99
Si può pertanto concludere affermando che tale lavoro rappresenta un significativo passo
avanti nell’impiego di recenti tecnologie di reti di calcolatori in applicazioni di supporto
alla ricerca nel campo della fisica nucleare.
Ringraziamenti
100
Ringraziamenti
Durante un lavoro di tesi si attraversano varie fasi: da quella di studio fino alla
realizzazione e stampa del lavoro finale. Ognuna di queste è contrassegnata da certe
problematiche, stati d’animo, a volte, un po’ altalenanti, ma anche da nuove esperienze e
soddisfazioni. Così è doveroso, per me, porre dei ringraziamenti a tutti coloro che mi sono
stati vicino e a chi ha contribuito alla realizzazione del suddetto lavoro di tesi.
Ringrazio il mio Relatore Prof. Vincenzo Bellini che ha permesso la realizzazione di questa
tesi, i miei due correlatori: la dottoressa Concetta Maria Sutera per la sua tanta disponibilità
e professionalità e l’ingegnere Cristian Randieri per il suo impegno in prima linea e per la sua
simpatia mantenuti anche nei momenti di maggiore stress. Ringrazio la mia fidanzata Mariarita
Sotera, nonché mia collega universitaria, per la sua inesauribile allegria e vicinanza. Un
ringraziamento anche ad Aldo Vinci, mio collega di studio, con cui ho attraversato gli ultimi
anni della vita universitaria. Ringrazio i miei amici, coinquilini, Francesco Ricca, Silvio
Castrianni, Fabrizio Andreaggi per tutti i momenti di gioia e allegria che abbiamo vissuto.
Un ringraziamento speciale ai miei genitori Antonello Lo Presti e Nellina Urrata che mi
hanno permesso di studiare fino al conseguimento del titolo dandomi fiducia anche quando agli
anni di studio ordinari se ne aggiungeva qualcuno in più!! Ringrazio, infine, mio fratello Carlo Lo
Presti, con cui abbiamo diviso molte esperienze, soprattutto la musica, per avermi sempre
tirato su il morale con la sua allegria.
Bibliografia
101
Bibliografia
[1] L Federici et al. “Lettere a nuovo cimento B27 (1980) 339”
[2] A.M Sandorfi et al. “IEEE Transaction on Nucl. Science NS”
[3] D. Babusci et al. “ Nucl. Instr. And Meth. A305 (1991) 19”
[4] D. Babusci et al. “ Il Nuovo Cimento A103 (1990) 1555”
[5] Drell, Hearn e Gerasimov “J. Nucl. Phis. USRR 2 (1996) 908”
[6] Microchip Techonology: “Microcontrollers datasheet”
[7] James F. Kurose, Keith W. Ross: “Internet e Reti di calcolatori”
[8] Fare Elettronica: “RECS 101: un web server embedded per applicazioni di
controllo remoto tramite TCP/IP”
[9] Axis Communication: “Technical guide to network video”
[10] Intellisystem Technologies: “Apparati per il networking”
[11] Richard C. Jaeger , Travis N. Blalock: “Elettronica analogica”
[12] Intellisystem Technologies: “Introduzione allo stack TCP/IP”
[13] Wilson, A.,”The Challenge of embedded Internet”, Electronic Product Design,
January 1998, pp. 31-2,34.
[14] D. Mulchandani, “Java for Embedded Systems”, in IEEE Computer Magazine,
pp. 30-39, May June 1998.
[15] O. Mirabella, V. Bellini, C. Randieri, C. Spitale, ”A Profibus-based Control
System for Nuclear Physics Applications”, The 6th World Multi-Confernce on
Systemics, Cybernetics and Informatics SCI 2002, July 2002, Orlando, Florida.
Bibliografia
102
[16] McCombie, B.,”Embedded Web server now and in the future” Real-Time
Magazine, no.1 March 1998, pp. 82-83.
[17] Aptronix, “Bring Embedded System to the Internet”, http://www.aptronix.com.
[18] J. Gosling, B. Joy, G. Steele,”The Java Laguage Specification”, http://java.sun.com
[19] J.S. Young et All., “Design and specification of embedded system in java using
Successive, formal Refinement”, Proceedings of DAC’98, 1998 Design
Automation Conference. San Francisco, C.A.,june 15-19.
[20] T. Lindholm, F. Yellin “The Java Virtual Machine Specification”, 1996.
http://java.sun.com
[21] Netid Managed Services, Information technology, Northwestern Technology,
http://gradeswww.acns.nwu.edu/ist/snap/doc/sniffing.html
[22] V. Bellini, O. Mirabella, C. Randieri, “An X10 based intelligent gateway for
Process Control Applications” Accepted for the The 7th World Multi-Confernce on
Systemics, Cybernetics and Informatics SCI 2003, July 27-30 2003, Orlando,
Florida.
[23] G. Benincasa et all, Final report on the uniform equipment access at CERN, CERN /
PS 93-16.
[24] Intellisystem Technologies: “Network Camera IT350 User Manual”
top related