SlideShare a Scribd company logo
1 of 102
Download to read offline
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 :
 4
1 P
Definiamo il parametro x come il rapporto tra l’energia E del  diffuso e quella
massima maxE 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
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it
Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore  Cristian Randieri - www.intellisystem.it

More Related Content

What's hot

Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...michael_mozzon
 
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMTesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMDavide Ciambelli
 
Il mio libro - My book (intro)
Il mio libro - My book (intro)Il mio libro - My book (intro)
Il mio libro - My book (intro)pls3d
 
Tesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPTesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPFabio Pustetto
 
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGPTesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGPFabio Pustetto
 
Risorse infrastrutturali area vasta di Torremaggiore
Risorse infrastrutturali area vasta di TorremaggioreRisorse infrastrutturali area vasta di Torremaggiore
Risorse infrastrutturali area vasta di Torremaggioregifanta
 
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Alberto Scotto
 
Abstract Domenico Brigante
Abstract   Domenico BriganteAbstract   Domenico Brigante
Abstract Domenico Brigantedox82
 
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari ...
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari ...Valutazione di descrittori per il rilevamento automatico di nuclei cellulari ...
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari ...paoloUser
 

What's hot (13)

Manuale sicurweb
Manuale sicurwebManuale sicurweb
Manuale sicurweb
 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
 
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMTesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
 
Il mio libro - My book (intro)
Il mio libro - My book (intro)Il mio libro - My book (intro)
Il mio libro - My book (intro)
 
Tesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPTesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMP
 
Tesi
TesiTesi
Tesi
 
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGPTesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
 
Risorse infrastrutturali area vasta di Torremaggiore
Risorse infrastrutturali area vasta di TorremaggioreRisorse infrastrutturali area vasta di Torremaggiore
Risorse infrastrutturali area vasta di Torremaggiore
 
Tesi Paolo Menegatti
Tesi Paolo MenegattiTesi Paolo Menegatti
Tesi Paolo Menegatti
 
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
 
Abstract Domenico Brigante
Abstract   Domenico BriganteAbstract   Domenico Brigante
Abstract Domenico Brigante
 
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari ...
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari ...Valutazione di descrittori per il rilevamento automatico di nuclei cellulari ...
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari ...
 
Totale 2
Totale 2Totale 2
Totale 2
 

Similar to Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore Cristian Randieri - www.intellisystem.it

Assoautomazione guida encoder
Assoautomazione guida encoderAssoautomazione guida encoder
Assoautomazione guida encoderLika Electronic
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiorevaleriodinoia35
 
Sintesi non tecnica sia
Sintesi non tecnica   siaSintesi non tecnica   sia
Sintesi non tecnica siaridivita
 
Manuale rwx62
Manuale rwx62Manuale rwx62
Manuale rwx62Rui Silva
 
Realizzazione di un modello di router ottico in ambiente open source.
Realizzazione di un modello di router ottico in ambiente open source.Realizzazione di un modello di router ottico in ambiente open source.
Realizzazione di un modello di router ottico in ambiente open source.Raul Cafini
 
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...GabrieleGandossi
 
Caratterizzazione di un rivelatore a piatti resistivi (RPC)
Caratterizzazione di un rivelatore a piatti resistivi (RPC)Caratterizzazione di un rivelatore a piatti resistivi (RPC)
Caratterizzazione di un rivelatore a piatti resistivi (RPC)Gerardo Di Iorio
 
Inoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxInoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxCe.Se.N.A. Security
 
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Daniele Ciriello
 
Comunicazioni Obbligatori 2010
Comunicazioni Obbligatori 2010Comunicazioni Obbligatori 2010
Comunicazioni Obbligatori 2010Antonio Palmieri
 
Allegato 27773 regione campania
Allegato 27773 regione campaniaAllegato 27773 regione campania
Allegato 27773 regione campaniaMaddalena D'Anna
 
Tecnologie per la traccibilità
Tecnologie per la traccibilitàTecnologie per la traccibilità
Tecnologie per la traccibilitàLie Chen
 
Pattern Recognition Lecture Notes
Pattern Recognition Lecture NotesPattern Recognition Lecture Notes
Pattern Recognition Lecture NotesRobertoMelfi
 
Tesi laurea triennale giovanni sferrazza
Tesi laurea triennale giovanni sferrazzaTesi laurea triennale giovanni sferrazza
Tesi laurea triennale giovanni sferrazzaGiovanni Sferrazza
 

Similar to Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore Cristian Randieri - www.intellisystem.it (20)

Assoautomazione guida encoder
Assoautomazione guida encoderAssoautomazione guida encoder
Assoautomazione guida encoder
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiore
 
Sintesi non tecnica sia
Sintesi non tecnica   siaSintesi non tecnica   sia
Sintesi non tecnica sia
 
Manuale rwx62
Manuale rwx62Manuale rwx62
Manuale rwx62
 
Realizzazione di un modello di router ottico in ambiente open source.
Realizzazione di un modello di router ottico in ambiente open source.Realizzazione di un modello di router ottico in ambiente open source.
Realizzazione di un modello di router ottico in ambiente open source.
 
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
Telecontrollo di un sistema cartesiano a 2 g.d.l. mediante interfaccia aptica...
 
Caratterizzazione di un rivelatore a piatti resistivi (RPC)
Caratterizzazione di un rivelatore a piatti resistivi (RPC)Caratterizzazione di un rivelatore a piatti resistivi (RPC)
Caratterizzazione di un rivelatore a piatti resistivi (RPC)
 
Sat howto
Sat howtoSat howto
Sat howto
 
Andrea_Gangemi_tesi
Andrea_Gangemi_tesiAndrea_Gangemi_tesi
Andrea_Gangemi_tesi
 
Inoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxInoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linux
 
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
 
Rapporto cantieri IMAT
Rapporto cantieri IMATRapporto cantieri IMAT
Rapporto cantieri IMAT
 
Tesi Nicola Pretto
Tesi Nicola PrettoTesi Nicola Pretto
Tesi Nicola Pretto
 
Comunicazioni Obbligatori 2010
Comunicazioni Obbligatori 2010Comunicazioni Obbligatori 2010
Comunicazioni Obbligatori 2010
 
Allegato 27773 regione campania
Allegato 27773 regione campaniaAllegato 27773 regione campania
Allegato 27773 regione campania
 
Tecnologie per la traccibilità
Tecnologie per la traccibilitàTecnologie per la traccibilità
Tecnologie per la traccibilità
 
Pattern Recognition Lecture Notes
Pattern Recognition Lecture NotesPattern Recognition Lecture Notes
Pattern Recognition Lecture Notes
 
Tesi laurea triennale giovanni sferrazza
Tesi laurea triennale giovanni sferrazzaTesi laurea triennale giovanni sferrazza
Tesi laurea triennale giovanni sferrazza
 
2080-um002_-it-e.pdf
2080-um002_-it-e.pdf2080-um002_-it-e.pdf
2080-um002_-it-e.pdf
 
Monitoraggio di rete con nagios
Monitoraggio di rete con nagiosMonitoraggio di rete con nagios
Monitoraggio di rete con nagios
 

More from Cristian Randieri PhD

IT-ISS 3000 CONTROLLER - Accessories & Controller
IT-ISS 3000 CONTROLLER - Accessories & ControllerIT-ISS 3000 CONTROLLER - Accessories & Controller
IT-ISS 3000 CONTROLLER - Accessories & ControllerCristian Randieri PhD
 
IT-VCHD90-PRO - Videoconference & Telemedicine – Video System
IT-VCHD90-PRO - Videoconference & Telemedicine – Video SystemIT-VCHD90-PRO - Videoconference & Telemedicine – Video System
IT-VCHD90-PRO - Videoconference & Telemedicine – Video SystemCristian Randieri PhD
 
148 La comunicazione via satellite per la business continuity ed il disaster ...
148 La comunicazione via satellite per la business continuity ed il disaster ...148 La comunicazione via satellite per la business continuity ed il disaster ...
148 La comunicazione via satellite per la business continuity ed il disaster ...Cristian Randieri PhD
 
147 Industria 4.0: L’automazione per l’eccellenza del settore alimentare - I ...
147 Industria 4.0: L’automazione per l’eccellenza del settore alimentare - I ...147 Industria 4.0: L’automazione per l’eccellenza del settore alimentare - I ...
147 Industria 4.0: L’automazione per l’eccellenza del settore alimentare - I ...Cristian Randieri PhD
 
146 63° Congresso del CNI - Aggregazione e Comunicazione: Facciamo Rete con l...
146 63° Congresso del CNI - Aggregazione e Comunicazione: Facciamo Rete con l...146 63° Congresso del CNI - Aggregazione e Comunicazione: Facciamo Rete con l...
146 63° Congresso del CNI - Aggregazione e Comunicazione: Facciamo Rete con l...Cristian Randieri PhD
 
145 Internazionalizzazione ed innovazione: le chiavi per uscire dalla crisi c...
145 Internazionalizzazione ed innovazione: le chiavi per uscire dalla crisi c...145 Internazionalizzazione ed innovazione: le chiavi per uscire dalla crisi c...
145 Internazionalizzazione ed innovazione: le chiavi per uscire dalla crisi c...Cristian Randieri PhD
 
144 Green Energy - Intervista a Cristian Randieri - I figli di Archimede N. 2...
144 Green Energy - Intervista a Cristian Randieri - I figli di Archimede N. 2...144 Green Energy - Intervista a Cristian Randieri - I figli di Archimede N. 2...
144 Green Energy - Intervista a Cristian Randieri - I figli di Archimede N. 2...Cristian Randieri PhD
 
139 Tavola Rotonda “Edge e Cloud Computing” - Automazione Oggi N. 399 – Giugn...
139 Tavola Rotonda “Edge e Cloud Computing” - Automazione Oggi N. 399 – Giugn...139 Tavola Rotonda “Edge e Cloud Computing” - Automazione Oggi N. 399 – Giugn...
139 Tavola Rotonda “Edge e Cloud Computing” - Automazione Oggi N. 399 – Giugn...Cristian Randieri PhD
 
138 Identificazione e tracciabilità nell’era dell’IoT: unconventional, smart ...
138 Identificazione e tracciabilità nell’era dell’IoT: unconventional, smart ...138 Identificazione e tracciabilità nell’era dell’IoT: unconventional, smart ...
138 Identificazione e tracciabilità nell’era dell’IoT: unconventional, smart ...Cristian Randieri PhD
 
136 Packaging: riprende la corsa delle tecnologie Made in Italy - Automazione...
136 Packaging: riprende la corsa delle tecnologie Made in Italy - Automazione...136 Packaging: riprende la corsa delle tecnologie Made in Italy - Automazione...
136 Packaging: riprende la corsa delle tecnologie Made in Italy - Automazione...Cristian Randieri PhD
 
133 Tavola Rotonda “Marcia indietro" - Automazione Oggi N. 396 – Marzo 2017 -...
133 Tavola Rotonda “Marcia indietro" - Automazione Oggi N. 396 – Marzo 2017 -...133 Tavola Rotonda “Marcia indietro" - Automazione Oggi N. 396 – Marzo 2017 -...
133 Tavola Rotonda “Marcia indietro" - Automazione Oggi N. 396 – Marzo 2017 -...Cristian Randieri PhD
 
132 Soluzioni satellitari integrate per il controllo remoto dei sistemi TV Br...
132 Soluzioni satellitari integrate per il controllo remoto dei sistemi TV Br...132 Soluzioni satellitari integrate per il controllo remoto dei sistemi TV Br...
132 Soluzioni satellitari integrate per il controllo remoto dei sistemi TV Br...Cristian Randieri PhD
 
131 Curarsi con la tecnologia - Il punto di vista di Intellisystem Technologi...
131 Curarsi con la tecnologia - Il punto di vista di Intellisystem Technologi...131 Curarsi con la tecnologia - Il punto di vista di Intellisystem Technologi...
131 Curarsi con la tecnologia - Il punto di vista di Intellisystem Technologi...Cristian Randieri PhD
 
130 FN 90 Febbraio 2017 - Tavola Rotonda L'analisi tanto attesa - Fieldbus & ...
130 FN 90 Febbraio 2017 - Tavola Rotonda L'analisi tanto attesa - Fieldbus & ...130 FN 90 Febbraio 2017 - Tavola Rotonda L'analisi tanto attesa - Fieldbus & ...
130 FN 90 Febbraio 2017 - Tavola Rotonda L'analisi tanto attesa - Fieldbus & ...Cristian Randieri PhD
 
129 Automazione e manutenzione predittiva nell’era del cloud - Automazione Og...
129 Automazione e manutenzione predittiva nell’era del cloud - Automazione Og...129 Automazione e manutenzione predittiva nell’era del cloud - Automazione Og...
129 Automazione e manutenzione predittiva nell’era del cloud - Automazione Og...Cristian Randieri PhD
 
128 Tavola Rotonda Lavorare ‘mobile’: potenzialità e criticità - Fieldbus & N...
128 Tavola Rotonda Lavorare ‘mobile’: potenzialità e criticità - Fieldbus & N...128 Tavola Rotonda Lavorare ‘mobile’: potenzialità e criticità - Fieldbus & N...
128 Tavola Rotonda Lavorare ‘mobile’: potenzialità e criticità - Fieldbus & N...Cristian Randieri PhD
 
124 SISTEMI DI SICUREZZA SEMPRE PIÙ “VERSO LA NUVOLA” - Safety & Security N. ...
124 SISTEMI DI SICUREZZA SEMPRE PIÙ “VERSO LA NUVOLA” - Safety & Security N. ...124 SISTEMI DI SICUREZZA SEMPRE PIÙ “VERSO LA NUVOLA” - Safety & Security N. ...
124 SISTEMI DI SICUREZZA SEMPRE PIÙ “VERSO LA NUVOLA” - Safety & Security N. ...Cristian Randieri PhD
 
122 Ispezione di linee aeree - Automazione Oggi N. 393 – Ottobre 2016 - Cris...
122 Ispezione di linee aeree - Automazione Oggi N. 393 – Ottobre 2016  - Cris...122 Ispezione di linee aeree - Automazione Oggi N. 393 – Ottobre 2016  - Cris...
122 Ispezione di linee aeree - Automazione Oggi N. 393 – Ottobre 2016 - Cris...Cristian Randieri PhD
 

More from Cristian Randieri PhD (20)

IT-ISS 3000 CONTROLLER - Accessories & Controller
IT-ISS 3000 CONTROLLER - Accessories & ControllerIT-ISS 3000 CONTROLLER - Accessories & Controller
IT-ISS 3000 CONTROLLER - Accessories & Controller
 
It 2 x-2hdmi-datasheet
It 2 x-2hdmi-datasheetIt 2 x-2hdmi-datasheet
It 2 x-2hdmi-datasheet
 
IT-VCHD90-PRO - Videoconference & Telemedicine – Video System
IT-VCHD90-PRO - Videoconference & Telemedicine – Video SystemIT-VCHD90-PRO - Videoconference & Telemedicine – Video System
IT-VCHD90-PRO - Videoconference & Telemedicine – Video System
 
148 La comunicazione via satellite per la business continuity ed il disaster ...
148 La comunicazione via satellite per la business continuity ed il disaster ...148 La comunicazione via satellite per la business continuity ed il disaster ...
148 La comunicazione via satellite per la business continuity ed il disaster ...
 
147 Industria 4.0: L’automazione per l’eccellenza del settore alimentare - I ...
147 Industria 4.0: L’automazione per l’eccellenza del settore alimentare - I ...147 Industria 4.0: L’automazione per l’eccellenza del settore alimentare - I ...
147 Industria 4.0: L’automazione per l’eccellenza del settore alimentare - I ...
 
146 63° Congresso del CNI - Aggregazione e Comunicazione: Facciamo Rete con l...
146 63° Congresso del CNI - Aggregazione e Comunicazione: Facciamo Rete con l...146 63° Congresso del CNI - Aggregazione e Comunicazione: Facciamo Rete con l...
146 63° Congresso del CNI - Aggregazione e Comunicazione: Facciamo Rete con l...
 
145 Internazionalizzazione ed innovazione: le chiavi per uscire dalla crisi c...
145 Internazionalizzazione ed innovazione: le chiavi per uscire dalla crisi c...145 Internazionalizzazione ed innovazione: le chiavi per uscire dalla crisi c...
145 Internazionalizzazione ed innovazione: le chiavi per uscire dalla crisi c...
 
144 Green Energy - Intervista a Cristian Randieri - I figli di Archimede N. 2...
144 Green Energy - Intervista a Cristian Randieri - I figli di Archimede N. 2...144 Green Energy - Intervista a Cristian Randieri - I figli di Archimede N. 2...
144 Green Energy - Intervista a Cristian Randieri - I figli di Archimede N. 2...
 
IT-SSA5F-IR
IT-SSA5F-IRIT-SSA5F-IR
IT-SSA5F-IR
 
139 Tavola Rotonda “Edge e Cloud Computing” - Automazione Oggi N. 399 – Giugn...
139 Tavola Rotonda “Edge e Cloud Computing” - Automazione Oggi N. 399 – Giugn...139 Tavola Rotonda “Edge e Cloud Computing” - Automazione Oggi N. 399 – Giugn...
139 Tavola Rotonda “Edge e Cloud Computing” - Automazione Oggi N. 399 – Giugn...
 
138 Identificazione e tracciabilità nell’era dell’IoT: unconventional, smart ...
138 Identificazione e tracciabilità nell’era dell’IoT: unconventional, smart ...138 Identificazione e tracciabilità nell’era dell’IoT: unconventional, smart ...
138 Identificazione e tracciabilità nell’era dell’IoT: unconventional, smart ...
 
136 Packaging: riprende la corsa delle tecnologie Made in Italy - Automazione...
136 Packaging: riprende la corsa delle tecnologie Made in Italy - Automazione...136 Packaging: riprende la corsa delle tecnologie Made in Italy - Automazione...
136 Packaging: riprende la corsa delle tecnologie Made in Italy - Automazione...
 
133 Tavola Rotonda “Marcia indietro" - Automazione Oggi N. 396 – Marzo 2017 -...
133 Tavola Rotonda “Marcia indietro" - Automazione Oggi N. 396 – Marzo 2017 -...133 Tavola Rotonda “Marcia indietro" - Automazione Oggi N. 396 – Marzo 2017 -...
133 Tavola Rotonda “Marcia indietro" - Automazione Oggi N. 396 – Marzo 2017 -...
 
132 Soluzioni satellitari integrate per il controllo remoto dei sistemi TV Br...
132 Soluzioni satellitari integrate per il controllo remoto dei sistemi TV Br...132 Soluzioni satellitari integrate per il controllo remoto dei sistemi TV Br...
132 Soluzioni satellitari integrate per il controllo remoto dei sistemi TV Br...
 
131 Curarsi con la tecnologia - Il punto di vista di Intellisystem Technologi...
131 Curarsi con la tecnologia - Il punto di vista di Intellisystem Technologi...131 Curarsi con la tecnologia - Il punto di vista di Intellisystem Technologi...
131 Curarsi con la tecnologia - Il punto di vista di Intellisystem Technologi...
 
130 FN 90 Febbraio 2017 - Tavola Rotonda L'analisi tanto attesa - Fieldbus & ...
130 FN 90 Febbraio 2017 - Tavola Rotonda L'analisi tanto attesa - Fieldbus & ...130 FN 90 Febbraio 2017 - Tavola Rotonda L'analisi tanto attesa - Fieldbus & ...
130 FN 90 Febbraio 2017 - Tavola Rotonda L'analisi tanto attesa - Fieldbus & ...
 
129 Automazione e manutenzione predittiva nell’era del cloud - Automazione Og...
129 Automazione e manutenzione predittiva nell’era del cloud - Automazione Og...129 Automazione e manutenzione predittiva nell’era del cloud - Automazione Og...
129 Automazione e manutenzione predittiva nell’era del cloud - Automazione Og...
 
128 Tavola Rotonda Lavorare ‘mobile’: potenzialità e criticità - Fieldbus & N...
128 Tavola Rotonda Lavorare ‘mobile’: potenzialità e criticità - Fieldbus & N...128 Tavola Rotonda Lavorare ‘mobile’: potenzialità e criticità - Fieldbus & N...
128 Tavola Rotonda Lavorare ‘mobile’: potenzialità e criticità - Fieldbus & N...
 
124 SISTEMI DI SICUREZZA SEMPRE PIÙ “VERSO LA NUVOLA” - Safety & Security N. ...
124 SISTEMI DI SICUREZZA SEMPRE PIÙ “VERSO LA NUVOLA” - Safety & Security N. ...124 SISTEMI DI SICUREZZA SEMPRE PIÙ “VERSO LA NUVOLA” - Safety & Security N. ...
124 SISTEMI DI SICUREZZA SEMPRE PIÙ “VERSO LA NUVOLA” - Safety & Security N. ...
 
122 Ispezione di linee aeree - Automazione Oggi N. 393 – Ottobre 2016 - Cris...
122 Ispezione di linee aeree - Automazione Oggi N. 393 – Ottobre 2016  - Cris...122 Ispezione di linee aeree - Automazione Oggi N. 393 – Ottobre 2016  - Cris...
122 Ispezione di linee aeree - Automazione Oggi N. 393 – Ottobre 2016 - Cris...
 

Tesi di Laurea Danilo Lo Presti: CONTROLLO REMOTO DI APPARATI DELL'ESPERIMENTO GRAAL - Correlatore Cristian Randieri - www.intellisystem.it

  • 1. 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
  • 2. 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
  • 3. 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,
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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 è
  • 8. 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
  • 9. 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.
  • 10. 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.
  • 11. 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
  • 12. 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 .
  • 13. 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 :  4 1 P Definiamo il parametro x come il rapporto tra l’energia E del  diffuso e quella massima maxE che il  raggiunge per  0 . Tale andamento è illustrato nella seguente figura 2.2:
  • 14. 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
  • 15. 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
  • 16. 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 η.
  • 17. 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.
  • 18. 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,
  • 19. 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à.
  • 20. 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.
  • 21. 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
  • 22. 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
  • 23. 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.
  • 24. 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:
  • 25. 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.
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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)
  • 31. 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
  • 32. 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:
  • 33. 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.
  • 34. 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
  • 35. 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à.
  • 36. 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.
  • 37. 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.
  • 38. 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.
  • 39. 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
  • 40. 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".
  • 41. 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.
  • 42. 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.
  • 43. 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
  • 44. 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
  • 45. 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.
  • 46. 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.
  • 47. 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
  • 48. 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
  • 49. 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.
  • 50. 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) ;
  • 51. 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.
  • 52. 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.
  • 53. 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
  • 54. 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
  • 55. 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
  • 56. 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
  • 57. 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
  • 58. 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