1
Management per l’Innovazione nei Sistemi Integrati di Produzione Industriale
Misura, controllo e collaudo per la produzione industriale
Luigi [email protected]
Gruppo Misure Elettriche ed Elettroniche
Facoltà di Ingegneria, DAEIMI.
Università degli Studi di Cassino
3
Le misure nel processo industriale
• Il prodotto finale si ottiene mediante azioni su materiali o grandezze fisiche.
• La corretta gestione delle azioni svolte durante il processo produttivo richiede una verifica contemporanea al loro svolgersi, attraverso opportune misurazioni.
• I risultati di tali verifiche consentono la modifica delle azioni nelle fasi successive (controllo).
• Il controllo può essere effettuato da un operatore umano oppure da un sistema automatico (controllo automatico).
4
Estrazione di informazioni di misura Il controllo di processo
Processo
Sensori
Attuatori
Interfaccia
Elaboratore
Supervisione
5
Reti difabbrica(esempio)
Attuatori
Supervisoredi fabbrica
Sensori AttuatoriAttuatori Sensori
Bus
DistributedControl System
Rete Industriale
Sensori
DistributedControl System
Rete Industriale
SensoriAttuatori
7
PROCESSOR BUS
Conditioning
TimingA/DD/A
DI/OTI/O
DISPLAY
AND
CONTROL488 PORT
µPMath
MEMORYµP
ROM
Strumento standard vs strumento virtuale
• Register-mapped I/O• Limitate capacità di
espansione• Funzionalità fisse• Interfaccia esterna
• Memory mapped I/O• Processamento Dati Veloce• Connessione Internet/intranet • Online data logging/trending• Online report generation• Memoria Espandibile
PROCESSOR BUS
Conditioning
Timing
A/D
D/A
DI/O
TI/O
DISPLAY AND
CONTROL
488 PORT
µP
Math
MEMORY
µP
ROM
Control Panel
Flow
Pressure Alarm Conditions
STOP
Temperature
Strumento basato su PC
Definito dal Costruttore! Definito dall’Utente!!!
8
Lo Strumento nel PC• L’utilizzatore può scegliere il computer• L’utilizzatore acquista solo le funzionalità che utilizza• L’utilizzatore ha il controllo TOTALE del sistema• L’utilizzatore si avvantaggia delle nuove tecnologie
Gli strumenti nel PC sono il REALE vantaggio per l’ utente, permettendo di fruire appieno della rivoluzione tecnologicadei personal computerCosti minori vs prestazioni migliori
9
Sistemi di Misura e ControlloHardware & Driver Software
MotionControl
PXIUnita’ sotto test
Software Applicativo
ImageAcquisition
VXI
DAQ
GPIBSerial
11
Requisiti per il sistema di misura
• Tempi di misura inferiori a quelli caratteristici del processo
Costante di tempo dei sensori
Velocità di trasmissione dei dati tra sensori ed unità di elaborazione / supervisione
Tempi di elaborazione del software di misura
• Elevata affidabilità
Impiego di sensori adatti alle particolari condizioni ambientali
Canale di trasmissione con rapporto S/N adeguato
Assenza di malfunzionamenti nel software di misura
• Riferibilità
13
Negli ultimi anni si è avuta una grossa diffusione di dispositivi elettronici di notevoli prestazioni con cui ognuno interagisce nella vita di tutti i giorni.
Nel mondo della strumentazione elettronica di misura esistono oggi strumenti capaci di effettuare misure anche complesse in tempi sempre minori, di accumulare quantità di informazioni sempre crescenti, e di trasmettere in qualsiasi posto del mondo e sempre piùsicuramente e velocemente le informazioni immagazzinate ed elaborate.
In questo ambito la presenza di un operatore umano (misure manali) rappresenta un notevole costo sia temporale che economico.
Grossa ricerca nello sviluppo di sistemi in grado di sostituirsi all'operatore per svolgere compiti di misura complessi dal punto di vista esecutivo (algoritmi di misura complicati) e/o ripetitivi o maggiormente affidabili (metrologia legale)
INTRODUZIONE
14
I Sistemi Automatici di MisuraDefinizione: Un sistema automatico di misura è un apparato che consente di eseguire una procedura di misura complessa senza l’intervento di un operatore umano.
Si parla quindi di sistemi automatici di misura quando la presenza di una unità di controllo consente di sollevare l’operatore da una o più delle attività a lui normalmente demandate.
I sistemi automatici di misura trovano il loro impiego nelle piùsvariate applicazioni, contribuendo in maniera notevole sia allasemplificazione dei processi di misura sia all'incremento dell'affidabilità e della precisione del risultato di misura stesso.
SENSORE SISTEMA DICONDIZIONAMENTO
SISTEMA DICONVERSIONE
SISTEMA DICONTROLLO
grandezzafisica
A B C D
15
ARCHITTETTURE DI SISTEMI AUTOMATICI DI MISURA.
Parti costituenti un generico sistema automatico di misura
SENSORE
Funzione: provvede a estrarre l'informazione d'interesse dalla grandezza fisica a cui è collegato ed a trasferirla, sotto forma di segnale (di definitecaratteristiche), al sistema successivo;
SENSORE
Elemento Sensibile Trasduttore
Trasforma la grandezza da misurare in una grandezza misurabile
Trasforma la grandezza misurabile in una grandezza elettrica
16
Le interazioni nei sensori
Grandezze di influenza:
• Sistema misurato
• Sistema utilizzatore
• Sistema ausiliario
• Ambiente
• Tempo
Sistema ambiente
Sistema misurato
Sensore trasduttore
Sistema ausiliario
Sistema utilizzatore
x(t) y(t)
17
Classificazione dei trasduttori
• Attivi / passivi
• In base alla grandezza misurata: sensori di temperatura,
umidità, illuminamento, velocità, …
• In base alla grandezza che forniscono in uscita: trasduttori
resistivi, induttivi, capacitivi, in tensione, in corrente, …
• Analogici / digitali
18
Sensori attivi e passivi
Un trasduttore può essere attivo o passivo:
• Attivo se l’effetto fisico su cui è basato assicura la trasformazione in
energia elettrica dell’energia propria del misurando (termica,
meccanica, d’irraggiamento, …).
Esempi: Termoelettrico (termocoppia), Piroelettrico (cristalli la cui
polarizzazione dipende dalla temperatura), …
• Passivo se l’effetto del misurando si traduce in una variazione
d’impedenza dell’elemento sensibile.
Esempi: estensimetri, magnetici, …
19
Descrizione di un trasduttore
Misurando: grandezza da misurare.
Principio di trasduzione: principio fisico su cui si basa la
generazione del segnale elettrico.
Proprietà significative: tipo di elemento sensibile, tipo di
costruzione, circuiteria interna, …
Range: limite superiore ed inferiore di variazione del
misurando.
20
Caratteristiche di un trasduttore
• Di progetto (specificano come il trasduttore è o dovrebbe essere)
• Prestazioni (caratteristiche metrologiche)
• Affidabilità (caratteristiche ambientali e d’uso che influenzano la vita utile del trasduttore).
21
Caratteristiche relative all’ingresso
• Specie: grandezza fisica in ingresso.
• Campo di misura (input range): intervallo di valori del misurando entro il quale il sensore funziona secondo le specifiche. Il suo limite superiore è la portata.
• Campo di sicurezza del misurando: intervallo di valori del misurando al di fuori del quale il sensore resta danneggiato permanentemente. I suoi valori estremi sono detti di overload o overrange.
22
Caratteristiche relative all’uscita
• Specie: natura della grandezza in uscita.
• Campo di normale funzionamento (output range): intervallo di valori dell’uscita quando l’ingresso varia nell’input range.
• Potenza erogabile: valore limite della potenza che il sensore può fornire al sistema utilizzatore a valle. Se l’uscita è in corrente, si precisa l’impedenza di carico.
• Impedenza di uscita
23
Caratteristiche relative all’uscita (2)
• Incertezza di uscita: larghezza della fascia comprendente tutti i valori che potrebbero essere assunti, con una certa probabilità (livello di confidenza) a rappresentare il valore della uscita corrispondente ad una certa condizione di funzionamento.
• Alimentazione ausiliaria (power supply): viene precisato il valore di tensione o corrente da fornire con una sorgente esterna.
24
Caratteristiche statiche (1)• Funzione di conversione: funzione che permette di
ricavare dall’ingresso il valore della uscita.
• Funzione di taratura: relazione che permette di ricavare da ogni valore della grandezza in uscita il valore dell’ingresso e la corrispondente fascia di incertezza.
– Curva di taratura: valore uscita => valore centrale ingresso;
– Costante di taratura: pendenza della curva di taratura, se è lineare;
– Incertezza di taratura: ampiezza della fascia di valori.
25
Caratteristiche statiche (2)
• Sensibilità (sensitivity): pendenza della curva di conversione in un certo punto:
dxdyS =
Corrisponde all’inverso della pendenza della curva di taratura.
• Stabilità: capacità di conservare inalterate le caratteristiche di funzionamento per un intervallo di tempo relativamente lungo.
26
Caratteristiche statiche (3)
y
x
• Linearità: indica di quanto la curva di taratura si discosta dall’andamento rettilineo. E’ il massimo scostamento rispetto ad una retta che può essere calcolata in modi diversi:
• Retta che rende minimo il massimo scostamento.
• Retta ai minimi quadrati.
• Retta congiungente gli estremi.
27
Caratteristiche statiche (4)
• Risoluzione: variazione del valore del misurando che provoca una variazione apprezzabile del valore della grandezza in uscita.
Se il sensore lavora vicino allo zero, si parla di soglia.
• Ripetibilità: attitudine dello strumento a fornire valori della grandezza di uscita poco differenti fra loro, quando èapplicato all’ingresso lo stesso misurando, nelle stesse condizioni operative. Si esprime in modo simile all’incertezza di taratura.
28
Caratteristiche statiche (5)
• Isteresi: massima differenza tra i valori della uscita corrispondenti al medesimo misurando, quando si considerano tutti i valori del campo di misura, ed ogni valore viene raggiunto con misurando prima crescente e poi decrescente.
y
x
29
Condizioni di riferimento
(Reference operating conditions) Insieme delle fasce dei valori delle grandezze di influenza in corrispondenza delle quali sono valide le specifiche metrologiche indicate dal contruttore.
• Funzioni di influenza (operating influence): informazione su come una grandezza di influenza agisce su una delle caratteristiche metrologiche. Può essere espressa attraverso la sensibilità della grandezza metrologica alla grandezza di influenza.
30
Caratteristiche dinamiche (1)
Nel dominio della frequenza:
• Risposta in frequenza: curve del modulo e della
fase rispetto alla frequenza (Diagrammi di Bode).
• Campo di frequenza: intervallo di frequenze nel
quale la curva di risposta in modulo non esce da una
fascia di tolleranza prefissata.
• Eventuale frequenza di risonanza.
31
Caratteristiche dinamiche (2)Nel dominio del tempo:
• Tempo morto
• Tempo di salita
• Tempo di risposta
• Costante di tempo
• Tempo di assestamento
• Sovraelongazione
• Frequenza delle oscillazioni di assestamento
• Fattore di smorzamento
32
Caratteristiche dinamiche (3)
•Limite di velocità: massima velocità di variazione del
misurando oltre la quale l’uscita non varia
corrispondentemente.
•Tempo di recupero (recovery time): intervallo di tempo
richiesto dopo un evento specificato (ad es. un
sovraccarico) affinché il sensore riprenda a funzionare
secondo le caratteristiche specificate.
33
Varietà dei sensoriPhysical principle Typical application Measurand Output
ResistiveThe variation if the sensing element electric resistance depends on the measurand.
ThermistorThermistor or resistance thermometeror resistance thermometerPotentiometerPotentiometerHot-wire anemometerResistive hygrometerChemioresistor
TemperatureDisplacement, force, pressureFlowHumidityPresence of gas
Change in resistance
CapacitiveThe sensing element capacitance depends on the measurand.
ParallelParallel--plate capacitor sensorplate capacitor sensorRotaryRotary--plate capacitor sensorplate capacitor sensorDifferential capacitorDifferential capacitorCapacitance manometerHumidity sensorCapacitive diaphragm
Displacement, force, liquid level, pressureDisplacement, force, angular position, torqueSmall displacementVery low pressureMoisturePressure
Capacitance or change in capacitance
InductiveThe sensing element inductance depends on the measurand.
Linear variable differential transformerLinear variable differential transformerSelf inductance sensorSelf inductance sensorEddy current sensorEddy current sensor
Displacement, torqueDisplacement, torque, liquid levelPosition, conductivity, thickness, cracks in materials
Inductance or change in inductance
ReluctiveThe variation in the reluctance path between two or more coil depends on the measurand.
Linear variable differential transformerLinear variable differential transformerRotary variable differential transformerRotary variable differential transformerMicrosynResolverSyncroSyncroReluctive diaphragm
Linear displacementAngular rotationAngular displacementPositionPosition, torquePressure
VoltageVoltageVoltageVoltageVoltageChange in reluctance
ElectromagneticIn any circuit capturing a magnetic flux, whenever the flux changes an electromotive force is inducted. (Faraday law)
Linear velocity sensorLinear velocity sensorFlowmeterTachometer generatorTachometer generatorTorque sensorTorque sensor
Linear velocityFlowAngular speedTorque
Voltage
Piezoresistive effectResistance of the sensing element depends on the strain.
Strain gaugeStrain gauge Stress, strain, Fluid pressure, displacement, force Change in resistance
Hall effectIf the sensing element, carrying current, is put in a magnetic field a differential in electric potential among its sides is generated.
GaussmeterGaussmeterWattmeterWattmeter
Magnetic field, displacementPower
Voltage
34
Varietà dei sensoriMagnetoresistive effectResistance of the sensing element depends on the strain.
Magnetoresistor Magnetic field, linear and angular displacement, proximity, position
Change in resistance
Piezoelectric effectSubjecting the sensing element to stress there is a generation of electric charge.
Vibration cablesActive and passive force sensorPiezoelectric microphonePiezoelectric temperature sensor
VibrationForceUltrasonic wavesTemperature
Voltage or charge
Pyroelectric effectThe sensing element generates an electric charge in response to a heat flow.
Heat flowmeterPyroelectric sensor
Change in the temperature Voltage
Thermoelectric effectWhen there is a difference in temperature between two junctions of different metals, a difference of electric potential is generated.
ThermocouplesThermocouples, thermopiles, infrared pyrometer
Difference of temperature Voltage
Ionization effectThe sensing element when exposed to the measurand becomes ionized.
Electrolytic sensorVacuum gagesChemical ionizer
Electrical conductivity, pHPressureAtomic radiation
Current
PhotoresistiveThe electric resistance of the sensing element is caused by the incidence of optical radiation.
Photoresistor, photodiode, phototransistor, photofet
Light, position, motion, sound flow, force Change in resistance
Photovoltaic effectWhen the sensing element is subject to a radiation it generates an electric potential
Flame photometerLight detectorPyrometers
Light intensityLight, position, motion, sound flow, forceTemperature
Voltage
Acoustooptic effectThe interaction of an optical wave with an acoustic wave produces a new optical wave
Acoustic optic deflection, Bragg cell Physical vibration Phase modulated voltage signal
Doppler effectThe apparent frequency of a wave train changes in dependence of the relative motion between the source of the train and the observer.
Remote sensor of linear velocity, Doppler radar, laser Doppler velocimeter
Relative velocityFrequency
Thermal radiationAn object emanes thermal radiation, which intensity is related to its temperature
Pyrometer TemperatureVoltage
35
ARCHITTETTURE DI SISTEMI AUTOMATICI DI MISURA.
Parti costituenti un generico sistema automatico di misura
SIST.CONDIZIONAMENTO
Funzione: provvede a modificare le caratteristiche dei segnale elettrici provenienti dal sensore in modo che siano ottimizzate per l’utilizzo nei sistemi successivi
SIST. CONDIZIONAMENTO
Attenuatori AmpConvertitori(V/T;V/F)
FILTRILP HP BP
36
Circuiti di condizionamento
Un trasduttore è completato dal circuito di condizionamento.
Trasduttore passivo: il circuito di condizionamento èindispensabile per la generazione del segnale elettrico (montaggio).
Trasduttore attivo: il circuito di condizionamento ha il compito di adattare i parametri dell’energia elettrica, generata dal trasduttore, alle caratteristiche d’ingresso del sistema di misura (condizionamento del segnale).
38
ARCHITTETTURE DI SISTEMI AUTOMATICI DI MISURA.
Parti costituenti un generico sistema automatico di misura
SIST.CONVERSIONE
Funzione: provvede a trasformare la natura dell'informazione da analogica a numerica, in modo che possa essere opportunamente elaborata.
SIST. CONVERSIONE
S/H A/D
39
S/H: trasforma il segnale tempo-continuo analogico di ingresso in un segnale tempo-continuo analogico “a tratti”
I Sample and Hold
Motivazioni dell’impiego di un S/H: un circuito di conversione analogico-digitale “vede” un segnale costante durante l’intervallo di conversione [nT,nT+T]
40
Segnali analogiciUn segnale analogico può essere rappresentato mediante una funzione del tempo che gode delle seguenti caratteristiche:1) la funzione è definita per ogni valore del tempo (è cioè continua nel dominio)2) la funzione è continua.
Segnali digitaliA differenza del segnale analogico quello digitale è rappresentato da una funzione "tempo discreta" e "quantizzata".Tale funzione risulta pertanto:1) definita solamente in un insieme numerabile di istanti "equispaziati"2) dotata di un codominio costituito da un insieme discreto di valori.
La conversione A/D
41
Uno dei parametri più importanti di un sistema di conversione A/D è la velocitàa cui il dispositivo ADC campiona un segnale in arrivo.
La frequenza di campionamento determina ogni quanto ha luogo unaconversione analogico-digitale (A/D). Un’elevata frequenza di campionamento acquisisce più punti in un dato intervallo di tempo e può fornire una rappresentazione migliore del segnale originale rispetto ad una bassa frequenza di campionamento. Campionare troppo lentamente può causare una rappresentazione incompleta
del segnale analogico.
. L’effetto di un sottocampionamento èche il segnale appare come se avesse una frequenza differente da quella effettiva. Tale fenomeno prende il nome di ALIASING
La conversione A/D
42
Prevenire l’ aliasing
• Incrementare la frequenza dicampionamento
• Inserire un filtro passa-basso anti alias
43
Filtri Anti-Aliasing• E’ un filtro analogico passa basso• Taglia fuori le componenti a frequenze
superiori che potenzialmente possono dare alias
44
Pregi del segnale digitale
I segnali digitali hanno una maggiore reiezione ai disturbi rispetto ai segnali analogici.
I segnali analogici sono costituiti da funzioni continue pertanto possono assumere infiniti valori: il rumore che inevitabilmente si sovrappone al segnale ha pertanto la possibilità di determinare una variazione del valore del segnale composto (segnale utile + rumore) qualunque sia la ampiezza e la potenza del rumore.I segnali digitali, invece, presentano solamente un numero finito di valori separati da una fascia "proibita". Se il rumore non ha ampiezza (e potenza) tale da determinare un superamento della fascia proibita che separa due valori contigui non si riscontra alcuna alterazione del valore.
I segnali digitali possono essere elaborati più facilmente dei segnali analogici
Per elaborare matematicamente i segnali analogici si deve ricorrere agli amplificatori operazionali mediante i quale è possibile realizzare (in modo a volte molto approssimato) semplici operazioni (somma, sottrazione, logaritmo ed esponenziale, integrale e derivata rispetto al tempo, ecc.). La realizzazione di funzioni più "elaborate" può richiedere una complessità circuitale eccessiva e tale da introdurre una incertezza non accettabile per gli scopi prefissati.
La conversione A/D
45
Pregi del segnale digitaleI segnali numerici possono invece essere elaborati mediante
microprocessori
i quali possono permettere la esecuzione di operazioni ed elaborazioni senza richiedere appesantimenti dell'hardware circuitale. Anche in questo caso, però, le operazioni non sono esenti da incertezza: i troncamenti e le approssimazioni introdotte dalla codifica utilizzata dal microprocessore per il trattamento dei dati sono infatti fonte di incertezza, ma si può ricorrere a codifiche (intero, reale a singola o doppia precisione, ecc.) tali da ridurre le incertezze introdotte in modo da renderle compatibili con gli scopi prefissati.
I segnali digitali possono essere registrati in maniera più fedele e stabile dei segnali analogici
Per registrare un segnale analogico si può fare uso di nastri magnetici entro cui il segnale viene registrato: le prestazioni delle tecniche di registrazione meno sofisticate vengono penalizzate dal fenomeno della smagnetizzazione del nastro registrato. Ricorrendo all'uso di memorie RAM oppure di dispositivi di memoria di massa a supporto magnetico (hard e floppy-disk) è possibile invece registrare i segnali digitali con estrema facilità. In questo caso, poi, la codifica usata è quella binaria e la presenza di una ampia fascia di separazione fra il livello considerato 0 e quello considerato 1 permette di garantire una stabilità del dato nel tempo e la sua reiezione pressoché totale ai disturbi.
La conversione A/D
46
ARCHITTETTURE DI SISTEMI AUTOMATICI DI MISURA
Parti costituenti un generico sistema automatico di misura
SIST.CONTROLLO
Funzione: provvede a memorizzare od elaborare l'informazione numerica ottenuta dal sistema precedente secondo una prefissata sequenza di operazioni registrata in un opportuno programma; tale sistema dicontrollo può essere, inoltre, a sua volta collegato con un sistema di attuatori.
SIST. CONTROLLO
PC PLC DSP µC
48
SISTEMA DI MISURA PER LA MISURA DI UN’UNICA GRANDEZZA FISICA
SENSORE SISTEMA DICONDIZIONAMENTO
SISTEMA DICONVERSIONE
SISTEMA DICONTROLLO
grandezzafisica
A B C D
COLLEGAMENTIA. Il collegamento fra la grandezza fisica ed il sensore è di tipo generalmente connesso alla natura
della grandezza fisica d'interesse e di lunghezza praticamente nulla: la grandezza fisica agisce direttamente sul sensore.
B,C. sono generalmente di natura analogica. Per il collegamento B, il canale di trasmissione ègeneralmente di natura elettrica e consiste, materialmente, in conduttori stesi fra il sensore ed il sistema di condizionamento. In casi particolari, quali sistemi di misura impiegati in ambienti con particolari requisiti di sicurezza o in ambienti con stringenti requisiti di immunità ai disturbi di natura elettromagnetica (EMC), il collegamento B può essere realizzato con canali di trasmissione di natura ottica (fibre ottiche) o pneumatica, con l'interposizione di opportuni dispositivi (interfacce) atti a trasformare il segnale proveniente dal sensore rispettivamente in un fascio di luce modulata o in una variazione di pressione di un gas, e viceversa. Il collegamento C, invece, ègeneralmente di natura elettrica (cavi direttamente collegati fra il sistema di condizionamento ed il sistema di conversione) o di natura elettromagnetica (onde convogliate che sfruttano il supporto della rete di alimentazione elettrica, sistemi di trasmissione basati su linee telefoniche, collegamenti realizzati mediante trasmissione di segnali radio).
D. è di tipo digitale. Generalmente tale collegamento non crea problemi riguardo le interferenze, mentre possono nascere problemi riguardanti l'attenuazione dei segnali.
50
SISTEMI DI ACQUISIZIONE DATI PER LA MISURA DI PIU’ GRANDEZZE FISICHE
Soluzione 1:Sistema ad N pre-amplificatori ed 1 sistema di conversione
51
Soluzione 1: Sistema ad N pre-amplificatori ed 1 sistema di conversione
VANTAGGI SVANTAGGISistema di conversione unico
Ogni canale è adattato al relativo sensore
N attenuatori – pre-amplificatori
Multiplexer: campionamento non contemporaneo
SISTEMI DI ACQUISIZIONE DATI PER LA MISURA DI PIU’ GRANDEZZE FISICHE
52
Acquisizione con Multiplexers
Interchannel Delay Phase Shift
Ogni segnale è ruotato sul muxRitardo di acquisizione tra canali differentiIl ritardo di fase è trascurabile per molte applicazioni
53
Campionamento Simultaneo
No Phase Shift
T/H
T/H
Il segnale di controllo del convertitore congela i campioni dei segnali analogiciDopo ciò, I segnali sono ruotati sul muxInfine I T/H “rilasciano” il valore analogico
55
MODI DI INTERCONNESSIONE NEI SISTEMI AUTOMATICI DI MISURA
Un notevole numero di sistemi automatici di misura si basa sul collegamento di uno o piùstrumenti diversi all’unità di controllo. La tecnica di collegamento più comune fa uso di un bus.
Cosa è un BUS?è un insieme di conduttori elettrici che consentono il trasferimento delle informazioni tra i diversi dispositivi.All’interno del bus vi sono linee che trasmettono dati, altre che trasmettono indirizzi, altre che trasmettono sincronizzazioni, altre interrupt, altre riferimenti elettrici (potenza e terre), ecc. Per potersi connettere al bus è necessario che ogni dispositivo sia dotato di una opportuna interfacciainterfaccia
56
MODI DI INTERCONNESSIONE NEI SISTEMI AUTOMATICI DI MISURA
Cosa è una INTERFACCIA?
Si può definire l’interfacciamento come il collegamento che si realizza tra due sistemi mediante l’uso di dispositivi, circuiti o architetture dedicate, per garantire una corretta comunicazione. Ai dispositivi fisici che realizzano questa funzione viene dato il nome di interfacce. Interfacciare dispositivi o sistemi significa realizzare collegamenti tali da garantire la compatibilità delle caratteristiche elettriche, logiche, meccaniche e funzionali di ognuno degli elementi collegati.
Compatibilità elettrica: tensioni e correnti in uscita ad un dispositivo abbiano caratteristiche ammissibili per l’altro che le vede come ingressi.
Compatibilità logica: le informazioni siano riconosciute come valide da tutti i dispositivi collegato tra loro.
Compatibilità meccanica: la circuiteria ed in particolare i connettori siano dello stesso tipo o di tipi equivalenti.
Compatibilità funzionale: tutti i dispositivi connessi al bus condividono le medesime modalità operative.
In generale l’interfacciamento può avvenire tra dispositivi, schede, macchine o sistemi multischeda
57
MODI DI INTERCONNESSIONE NEI SISTEMI AUTOMATICI DI MISURA
LE MODALITÀ DI COLLEGAMENTO
I requisiti di cui bisogna tenere conto per la scelta della topologia piùidonea per un bus di collegamento sono: il tipo di informazione da trasferire, la velocità della trasmissione richiesta ed il numero di periferiche da collegare tramite il bus.
Le topologie fondamentali sono tre:
Ad Anello (daisy-chain bus)
A Stella (star bus)
Parallelo (party-line bus)
58
Controllore Periferica 1
Periferica 5 Periferica 4
Periferica 2
Periferica 3
MODI DI INTERCONNESSIONE NEI SISTEMI AUTOMATICI DI MISURA
DAISY CHAIN BUS (bus a petalo di margherita) od AD ANELLO
59
La struttura ad anello, o ring, permette di collegare in serie e successivamente tutti i nodi della rete. Tipicamente tra un nodo ed il successivo la comunicazione èunidirezionale.Il nodo successivo si occupa di ripetere il segnale ricevuto, estraendone nel contempo le parti che lo riguardano ed immettendo al momentoappropriato le informazioni che vuole inviare.
Questa struttura presenta due vantaggi principali: innanzitutto il segnale èrigenerato in ogni nodo, per cui ogni nodo gioca anche il ruolo di repeater e permette quindi di coprire senza costi aggiuntivi delle distanze notevoli.
I due svantaggi principali di questa topologia non sono tuttavia trascurabili: dapprima si deve sottolineare la difficoltà di estendere la rete. Non è infatti possibile aggiungere un nuovo nodo senza interrompere anche solomomentaneamente la comunicazione, in quanto è indispensabile aprire l’anello per inserirvi il nuovo venuto. D’altra parte se un componente del circuito non funziona più o un segmento di rete è danneggiato, tutta la rete non funziona più!
DAISY CHAIN BUS (bus a petalo di margherita) od AD ANELLO
60
MODI DI INTERCONNESSIONE NEI SISTEMI AUTOMATICI DI MISURA
Controllore Periferica 1
Periferica 5 Periferica 4
Periferica 2
Periferica 3
DAISY CHAIN BUS (bus a petalo di margherita)
VANTAGGI SVANTAGGI
Elevato numero di periferiche collegabili
basso costo
Segnale rigenerato
Alte distanze
sensibile al cattivo funzionamento di un singolo elemento della struttura
Ogni periferica aggiunge un ritardo nella propagazione del messaggio lungo il bus.
Difficoltà ad estendere la rete
61
MODI DI INTERCONNESSIONE NEI SISTEMI AUTOMATICI DI MISURA
STAR BUS (bus a stella)
Controllore
Periferica 1
Periferica 6 Periferica 5
Periferica 2 Periferica 3
Periferica 4
62
La struttura a stella presenta delle caratteristiche diametralmente opposte a quelle della struttura ad anello. La struttura a stella si basa su di un punto centrale della rete dove si situa generalmente un nodo avente delle funzioni speciali (quali il ruolo di master o di server della rete) dal quale partono un numero di collegamenti bidirezionali pari al numero di nodi decentralizzati che la rete conta.Questa configurazione permette quindi facilmente e senza dover interrompere la comunicazione di aggiungere un nuovo nodo alla rete, ammesso che il nodo centrale disponga ancora di connessioni libere. Inoltre, in caso di guasto di un componente, gli altri nodi possono proseguire senza interruzione, dato che la comunicazione con gli altri nodi non viene perturbata, ammesso che il nodo guasto non sia proprio quello centrale.Tuttavia una centralizzazione dei cablaggi richiede una quantità notevole di cavi e non permette di coprire grandi distanze.
STAR BUS (bus a stella)
63
MODI DI INTERCONNESSIONE NEI SISTEMI AUTOMATICI DI MISURA
STAR BUS (bus a stella)Controllore
Periferica 1
Periferica 6 Periferica 5
Periferica 2 Periferica 3
Periferica 4
VANTAGGI SVANTAGGI
connessione uno ad uno (alta velocità di trasmissione)
insensibilità al guasto di una periferica
Collegamenti ad hoc per ogni periferica
Aumento dei costiNumero di interfacce
collegabili al controllore limitato
Questa struttura trova applicazione soprattutto nei sistemi in cui è richiesta un'alta velocità di trasmissione.
64
Controllore
Periferica 1
Periferica 6 Periferica 5
Periferica 2 Periferica 3
Periferica 4
MODI DI INTERCONNESSIONE NEI SISTEMI AUTOMATICI DI MISURA
PARTY LINE BUS (bus parallelo)
65
Controllore
Periferica 1
Periferica 6 Periferica 5
Periferica 2 Periferica 3
Periferica 4
MODI DI INTERCONNESSIONE NEI SISTEMI AUTOMATICI DI MISURA
PARTY LINE BUS (bus parallelo)
VANTAGGI SVANTAGGI
Buona velocitàarchitetturale
Tutti “vedono” tutti
Circuiteria di interfaccia delle periferiche alquanto complessa
Limitato numero delle periferiche collegabili (problemi di carico)
Accurata gestione dell’accesso al bus (INDIRIZZAMENTO)
Questo tipo di bus viene utilizzato principalmente per comunicazioni veloci di brevi messaggi e presenta un modesto sviluppo geometrico.
66
PRINCIPALI STANDARDS DI INTERFACCIAMENTO
1514kB/s--2seriale asincrono
controller toterminalRS 232-C
2011MB/s--2seriale asincrono
controller toterminalUSB
0,520MB/s832
Parallelo asincrono
non multiplexato
Intra-instrument
intra-cabinetVXI
0,548MB/s29-3716,32
Parallelo asincrono
non multiplexato
intra-boardintra-cabinetVME
201MB/s88Parallelo asincrono
multiplexato
Intrainstrument
IEEE-488
Lunghezza massima (m)
Velocità di comunic.
Linee indirizziLinee datiTipologiaLivello di
collegamentoBus
67
Destinatario
1
1 1
0
0 0 1 0
0
0
1
1
0
1
1 0
1° carattere
2° carattere
Sorgente
INTERFACCIAMENTO SERIALE E PARALLELO
Sorgente Destinatario11101010 00001101
1 carattere2 carattere
TRASMISSIONE BYTE SERIALE BIT SERIALE
TRASMISSIONE BYTE SERIALE BIT PARALLELO
I bit del carattere sono trasmessi uno dopo l'altro lungo la linea.Si usa per lunghe distanze e velocitàrelativamente basseN.B.: Il destinatario deve “impacchettare” in caratteri il flusso dei bit in arrivo.
La trasmissione seriale richiede il sincronismo dei bit e quello dei caratteri.
I bit del carattere codificato sono trasmessi simultaneamente su linee distinte.
Il termine trasmissione parallela si riferisce al fatto che i bit del carattere sono trasmessi in parallelo, mentre i caratteri sono trasmessi serialmente.
Si usa per trasmissioni a breve distanza, soprattutto a causa del costo di un sistema trasmissivo a canali paralleli.
68
PROBLEMI LEGATI AL SINCRONISMO DEI BIT E DEI CARATTERI.
ProblemaProblema: durante una trasmissione il destinatario deve essere in grado di interpretare correttamente i bit ricevuti e quindi deve sapere quando campionare la linea per prelevare il bit. Se il campionamento avvenisse durante la transizione di livello il risultato sarebbe indeterminato. Il punto di campionamento ideale è al centro del bit stesso.
Trasmissione AsincronaIl dispositivo ricevente ha un orologio (clock) che è sincronizzato sull'impulso di partenza (start)
all'inizio di ogni carattere. Essendo noto il numero di bit per ogni carattere, non è difficile mantenere il passo con i bit in arrivo per tutta la durata della trasmissione del carattere.
Trasmissione Sincronai blocchi di dati possono essere molto lunghi e piccole differenze di velocità tra i due orologi di
trasmissione e di ricezione possono dar luogo ad errori.
In ricezione è necessario avere un segnale di sincronismo (clock) atto a distinguere un bit dal successivo
1 0 0 1
segnale disincronismo
sequenza di bit
69
PROBLEMA:PROBLEMA: Oltre al sincronismo dei bit, bisogna effettuare il sincronismo dei caratteri, cioèriconoscere il gruppo di bit che individua il carattere nella sequenza di quelli ricevuti. Due sono i metodi più usati per determinare quale sia il primo bit del carattere.
TRASMISSIONE SINCRONA:la durata di ogni bit è la stessa e tutti i caratteri sono contigui. Il destinatario
deve individuare solo il primo bit del primo carattere e quindi, conoscendo la dimensione del carattere e la velocità di trasmissione, può contare i gruppi di bit ed impacchettare correttamente i caratteri in arrivo. Per identificare il primo bit si fa precedere ogni blocco di dati da una sequenza tipica di sincronizzazione ricorrendo ad un carattere speciale di controllo della trasmissione.TRASMISSIONE ASINCRONA:
non c'è nessuna relazione temporale tra un carattere ed il successivo, anche se possono essere al limite in sequenza come nella trasmissione sincrona. Il destinatario deve ristabilire la sincronizzazione per ogni carattere e quindi essere in grado di riconoscerne il primo bit. Per far ciò si fa precedere ogni carattere da un impulso di inizio (bit di start) che informa il destinatario dell'inizio della trasmissione. Il destinatario riconosce la transizione 1-0, aspetta per la durata di mezzo bit e poi ad intervalli di un bit campiona la linea e ricostruisce il carattere in arrivo. Alla fine del carattere viene trasmesso un bit di stop (1) per permettere al destinatario di stabilizzarsi prima che venga trasmesso un altro carattere.
PROBLEMI LEGATI AL SINCRONISMO DEI BIT E DEI CARATTERI.
70
CONTROLLO DI RIDONDANZA ORIZZONTALE (parità). Si usa principalmente nella trasmissione di caratteri singoli. Consistenell'aggiungere agli n bit di ogni carattere un ulteriore bit (P) detto di parità, in modo da portare il numero di bit di valore 1 ad un valore dispari (parità dispari) o pari (parità pari). Se ad es. il numero dei bit ad 1 è 4, il bit di parità sarà 1 se la parità è dispari e 0 altrimenti.
Il controllo e la correzione degli errori Il controllo e la correzione degli errori sono funzioni indispensabili, per la presenza del rumore in ogni canale di comunicazione che può alterare i dati trasmessi. Le tecniche di controllo più diffuse sono:
10100011
00100011
Parità PARI
Parita DISPARI
Questa tecnica non consente di riconoscere se ci sono nello stesso carattere due bit errati (o meglio un numero pari di bit errati).
71
Il controllo e la correzione degli errori CONTROLLO DI RIDONDANZA
VERTICALE. Si usa principalmente nella trasmissione di pacchetti di caratteri. Èrealizzato calcolando, in una sequenza di caratteri, l'OR esclusivo su tutti i bit che stanno nella stessa posizione all'interno di ciascun carattere (BCC). In tal caso il campo di ridondanza ècostituito da un carattere inviato alla fine della sequenza cui si riferisce.
Spesso viene usata congiuntamente con la parità orizzontale consentendo un maggiore margine di rilevamento.
72
Il controllo e la correzione degli errori CONTROLLO CICLICO DI RIDONDANZA (CRC).
Permette la rilevazione di errori multipli. Si considera il flusso di dati come una stringa di bit del tipo:
D(x) = anxn+an-1xn-1+ ... + a1 x + a0 in cui il coefficiente dell'i-esima potenza di x rappresenta la i-esima cifra binaria della stringa a partire da a0.
Tale polinomio viene diviso algebricamente per un polinomio generatore G(x): D(x) = Q(x) * G(x) +R(x)
dove Q(x) ed R(x) sono i polinomi quoziente e resto. Il CRC ècostituito dal resto R(x). Se il polinomio G(x) è del sedicesimo grado, R(x) è al più del quindicesimo, cosicché il campo di ridondanza è costituito da 2 bytes che vengono trasmessi in coda al pacchetto dati.
74
LabViewParte 1
• Introduzione• Dataflow programming• L’ambiente di sviluppo• Tecniche di debugging• I SubVI
75
LabViewAmbiente di sviluppo grafico:
- Codice- Interfaccia utente
ModulareCompilatore 32 bitElevato numero di funzioniLibrerie per la gestione della strumentazioneLibrerie per l'acquisizione datiPossibilità di includere routine in altro linguaggio
76
Librerie di funzioni• Calcolo, confronto, cicli di controllo• Operazioni su aggregati di dati (stringhe, array, ...)• I/O su file• Gestione strumentazione (RS232, 488, VXI, ...)• Acquisizione dati• Analisi (Generazione ed elaborazione segnali,
Statistica, Fitting, Algebra lineare, ...)• Comunicazione (DDE, TCP/IP, ActiveX)• Gestione applicazione (DLL, Timers, Sincronizzazione)
78
Il Front Panel– E’ l’interfaccia utente dell’applicazione
Contiene:
- Controlli(input)
- Indicatori(output)
79
Toolbar
Icona/Connettore
Controllonumericol
Etichetta
Legenda
Controllo
“Knob”
Indicatore“Chart”
Elementi del Front Panel
80
Il Block Diagram
- E’ il codice sorgente dell’applicazione (in Linguaggio G)- Controlli e indicatori del pannello appaiono come Terminali- Nodi o funzioni: ricevono dati dai connettori di ingresso e
forniscono dati su quelli in uscita
82
Dataflow programming• Un nodo è eseguito quando i dati sono disponibili a TUTTI i suoi
terminali di ingresso• Un nodo fornisce i dati ai suoi terminali di uscita quando è
terminata la sua esecuzione• Se non esiste dipendenza tra due nodi, l’ordine con cui verranno
eseguiti non è prevedibile !
83
Arancione (floating point)
Blu (interi)
Verde
Viola
Numeri
Booleani
Stringhe
Dataflow programming
• Un filo collega un’unica sorgente di dati con uno o più nodi
• Il colore e lo spessore del filo individuano il tipo di dato
Scalar Array 1D Array 2D
84
L’ambiente di sviluppo: Le palette
Palette dei Controlli(Pannello)
Palette delle Funzioni(Diagramma)
89
L’ambiente di sviluppo: i Tool
Operating: Inserimento datiPositioning: Posizionamento e ridimensionamentoLabeling: Gestione etichetteWiring: Collegamento (nel Block Diagram)Object pop-up: Menu dell'oggettoScrolling: Scorrimento della finestraBreakpoint: Inserimento stop (debug)Probe: Visualizzazione dati nei fili (debug)Color copy: Copia di un coloreColoring: Per colorare un oggetto
Tastiera:
• Tab
• Spazio
90
Combinazioni di tasti
<Ctrl-R> Esegue il VI
<Ctrl-E> Mostra pannello/diagramma
<Ctrl-H> Finestra di context help
<Ctrl-B> Cancella fili interrotti
<Ctrl-F> Contenuto della memoria
<Tab> e <Spazio> Tools
<Shift> Incremento/decremento veloce
91
Tecniche di debugging
Click sulla freccia spezzata: Info sull’errore
Highlighting button: Esecuzione animata
Probe: Mostra il valore dei datimentre scorrono lungo i fili
Breakpoint: ferma l’esecuzione quando i dati sonodisponibili sul filo
Single Step: Esecuzione passo-passo
Step Over: Esecuzione passo-passo, non entra neinodi
Step Out: Esecuzione passo-passo, esce dai nodinei quali è entrato
93
Il ciclo while
Iterationterminal
Conditionalterminal
Qui va il codice da iterare
Ripetere?
" Il ciclo termina quando si fornisce FALSE al conditional terminal" Il codice è eseguito almeno una volta" L'iteration terminal dà il numero di iterazioni raggiunto
Da Functions >> Structures
97
Comportamento dei controlli booleani
Switch - Commuta per pressione e rilascioLatch – Ritorna nello stato di default quando viene letto dal diagramma
" When pressed" When released" Until released
98
Temporizzazione
Esempio: in un loop while si aggiorna un waveform chart:
" 50000 cicli / s senza synchronous display
" 100 cicli / s con synchronous display
Sono valori effettivi?
99
Ciclo while temporizzatoEsecuzione di azioni ad intervalli prestabilitiImpegno limitato di risorseAdeguamento ai tempi di risposta dell'utente
100
• Bundle (nella palette Functions >> Cluster): assembla i suoi ingressi in un unico cluster• Un cluster è una struttura che raccoglie più elementi in un nuovo tipo di dato
Grafici multiple – plot
101
Proprietà di controlli e indicatori
Representation (tipo numerico)
Numero di cifre e notazione
Range ( o autorange )
Label e caption
Description
Display sincrono
Per i waveform chart:
History length
Update mode
Opzioni grafiche (colori, griglia, ...)
102
Shift Registers• Trasferiscono dati da una iterazione alla successiva
• Si inseriscono con un right-click sul bordo del loop
• Il terminale destro conserva il dato alla fine della iterazione
• Il terminale sinistro fornisce il dato alla iterazione successiva
Dapasso precedente
Per ilprossimopasso
Inizializzazione
104
Shift Registers
L'ultimo valoreva passato qui
Si possono aggiungere altri shift register per ottenere valori di iterazioni precedenti
1 loop prima2 loop prima3 loop prima
106
Il ciclo forNumero di iterazioni
da eseguire
Numero corrente di iterazioni
Esegue il codice al suo interno un numero prestabilito di volte
107
Arrays
Indicearray di 10 elementi 1.2 3.2 8.2 8.0 4.8 5.1 6.0 1.0 2.5 1.7
0 1 2 3 4 5 6 7 8 9
Arraybidimensionale
0 1 2 3 4 5 60 1 2 34
" Collezioni di elementi (dati) dello stesso tipo" Una o più dimensioni, fino a 231 elementi per dimensione" Si accede agli elementi con un indice per dimensione" Il primo elemento ha sempre indice 0
108
Controlli e indicatoriper gli array
Add Dimension per 2D arrays
1.
2.
Selezionare Array dalla palette dei controlli
Inserire un controllo del tipo desideratonella Array Shell
Procedura analoga per lecostanti array
109
Autoindexing•Il loop accumula l'array al suo margine
0 1 2 3 4 5
1D arr ay
Auto-Indexing abilitato
(Default nel For)
Scalare risultatodell'ultima iterazione
Auto-Indexing disabilitato
(Default nel While)
110
Creazione di array 2D
•Il loop interno crea gli elementi di ogni riga
•Il loop esterno sovrappone le righe
0 1 2 3 4 5
1D array
0123
2D array# colonne
# righe
111
Autoindexing e lettura di array
Non deve essere impostatodirettamente
Il ciclo viene eseguito per un numero di volte pari al numero di elementi dell'array collegato
112
Funzioni per gli array (1)
4
1010 10 10 10
initializedarray
elementdimensionsize
Initialize Array
Number of3 2 57 4Array Elements
113
Funzioni per gli array (2)
3 2 57 1 4 23 2 57
1 4 2Array
ArrayElemento Nuovo array
3 2 5
1 4 21D Array
1D Array3 2 51 4 2 2D Array
arrayElemento
Array con il nuovo elemento accodato
Build Array
3 2 5
1 4 21D Array
1D Array1D Array1 4 23 2 5
Dal menu di contesto: “change to element”“change to array”
La funzione Build Array₩ resizable
114
52
7 1 4 23 2 5Array
Index
Element
0Row Index
2D Array
1 4 23 52
2Column Index
5Element
arrayindex(0)
lengthsubarray
Array Subset
arrayindex
element
1 3 2 57 82
Index4
3 2 572
LengthArray Subset
Array
Index Array
Funzioni per gli array (3)
115
Estrae una riga
0
0
0
Funzioni per gli array (4)
Estrae una colonnaIndex array
Dal menu di contesto della Index Array:
" Add dimension
" Disable input
116
Polimorfismo• Ingressi delle funzioni di tipo diverso" Comportamento dipendente dal tipo degli ingressi• Tutte le funzioni aritmetiche sono polimorfiche
Scalare + Scalare
Array + Scalare
Combinazione Risultato
Scalare
Array
Array
1 4 2
2
4 6 7
5
27
Array + Array 3 2 5
1 4 2
Array + Array 1 4 2
3 2 5 7
Array3 6 4
4 6 7
118
Single-Plot Waveform Graph
1D Array
1D ArrayTerminale del WaveformGraph (è un Array 1D)
Terminale del WaveformGraph (è un Cluster)
" X0 è il valore iniziale per le ascisse" deltaX è la distanza orizzontale tra i punti del grafico
119
Multiple-Plot Waveform Graph
clusterscluster array
1D Arrays 2D array
Build Array
Terminale del Waveform Graph (è un Array 2D)
Terminale del Waveform Graph (è un Array di Cluster)
121
I Cluster" Combinano più strutture dati in un nuovo tipo dati" Possono contenere elementi di tipo diverso" Si possono definire costanti, controlli e indicatori di tipo Cluster" L'ordine degli elementi è importante
Unbundle
123
La struttura Case
Selettore booleano:if...then...else
" Solo un sottodiagramma viene eseguito" Il valore passato al selettore determina il codice da eseguire" Il selettore può essere booleano, numerico o stringa
124
La struttura Case
" Con selettori di tipo numerico o stringa si possono gestire scelte multiple
" “Add Case” dal menu di contesto per aggiungere nuove scelte
" Un Case deve essere quello di default
126
Ingressi ed uscite del case (tunnel)
Tunnel di uscita
" In TUTTI i case devono essere collegati TUTTI i tunnel
127
La struttura Sequence
" I sottodiagrammi vengono eseguiti uno dopo l'altro" Consente di fissare l'ordine di esecuzione di VI non dipendenti
128
Sequence Locals• Passano dati da un frame al solo frame successivo• Si definiscono sul bordo della Sequence
Sequence localin uscita dal
Frame 1
Dati nondisponibili
Datidisponibili
129
Formula Node
- Implementazione di equazioni complicate- Variabili create sul bordo- I nomi delle variabili sono case sensitive- Ogni istruzione deve terminare con un punto e virgola (;)- <Ctrl-H> per l'elenco delle funzioni disponibili
130
Formula Node: Conditional Branching
if (x >= 0) theny = sqrt(x)
elsey = -99999.0
end if
Condition
Conditional Operator
True Condition
False Condition
135
Corso di Strumentazione Virtuale
LabViewParte 3
• Stringhe• I/O su file• Variabili locali e globali• Property nodes• Applicazioni
136
Le Stringhe• Una stringa è una sequenza di caratteri
• Ogni carattere ha una corrispondente codifica numerica in byte (8 bit) secondo lo standard ASCII
• I primi 32 dei 256 caratteri ASCII non sono visualizzabili (controllo)
• Gli ultimi 128 caratteri costituiscono il set esteso
• Impieghi: visualizzazione di messaggi, I/O su file, controllo distrumentazione
• Esistono controlli e indicatori di tipo stringa
Stringa: V D C - 1 2 . 4 5 6# ASCII: 86 68 67 32 45 49 50 46 52 53 54
137
Display Modes per gli indicatori stringa
• Normal display
• Password display
• \ code display
• Hex display
Backslash codes per alcuni caratteri di controllo:
\b backspace\s spazio\r return (CR)\n new line (LF)\t tab
138
Funzioni per le stringhe (1)
Concatenate Strings
The quick brown fox jumped over the lazy dog.
Concatenated String
Strings
String = 20Length
String Length
139
DCOffsetLength
SubstringString
Match Pattern
String Subset
quick brownfox
Funzioni per le stringhe (2)
141
Le stringhe di formato
%d intero con segno%u intero senza segno%s stringa%f floating point (15.012)... ...
" Indicano il formato, il tipo di dato, il numero di caratteri, l'allineamento ed il numero di cifre decimali (per i floating point) con cui visualizzare un dato
" Si usano come nella funzione printf()del linguaggio C" Esempio:Risultato = %.1f
" Dal menu di contesto, “Edit Format String” apre una finestra di dialogo che facilita la preparazione della stringa di formato
Risultato = 12.5
142
Funzioni per l' I/O su File
Livello avanzato:• Gestione directory• Dipendenti dal S.O. • File dialog
Livello intermedio:Open, Read, Write, Close
Alto livello:• Read/Write to spreadsheet file• Read/Write characters to file• Read lines from file• Read/Write to binary file
143
Funzioni di alto livello per i file
• Write to Spreadsheet File
• Read from Spreadsheet File
• Write Characters to File
• Read Characters from File
• Read Lines from File
Effettuano direttamente le operazioni più frequenti di I/O su file di testoAprono e chiudono il file (non deve farlo il chiamante)Nel loro diagramma a blocchi chiamano le funzioni di livello intermedio
144
File di tipo Foglio Elettronico (Spreadsheet)
• I dati sono organizzati in righe e colonne• Le colonne sono separate da un delimitatore (TAB)• Le righe sono separate da sequenze new line (CR+LF)
Nel foglio elettronico:
0<TAB>0.4258<CR><LF>1<TAB>0.3073<CR><LF>2<TAB>0.9453<CR><LF>3<TAB>0.964<CR><LF>4<TAB>0.9517<CR><LF>
File:
145
Scrittura su spreadsheetCon funzioni di alto livello
• La funzione Write to Spreadsheet File accetta in ingresso array 1D e 2D• Se non specifica un nome di file, si apre una finestra di dialogo “Apri file..”
• Si può specificare il carattere delimitatore (TAB per default), trasporre l'array 2D, aggiungere i dati ad un file esistente (append)
Autoindexingabilitato
146
Lettura da spreadsheetCon funzioni di alto livello
Altre funzioni di alto livello:
• Write Characters to File: Scrive una stringa di caratteri in un file
• Read Lines from Files: Legge un numero specificato di linee da un file
• Binary File VIs: 4 funzioni per la lettura/scrittura di array di I16o SGL su file
148
Alcune definizioni ...- Comunicazione seriale• Bit trasmessi in sequenza• Basta una sola linea• Più lenta ed economica
- Comunicazione asincrona
Ogni sequenza di bit trasporta informazioni sufficienti alla sua decodifica (start,stop,...)
- Collegamento punto-punto
- Comunicazione parallela•Bit trasmessi su più linee•Più veloce e costosa
- Comunicazione sincrona
Sono previste linee per la trasmissione di un segnale di temporizzazione
- Collegamento multipunto
Simplex half duplex full duplex
A B A B A BA B
149
Necessità di adottare degli standard (ANSI EIA IEEE CCITT ISO)
Tipi di Trasmissione seriale Trasmissione single ended Trasmissione double ended Vantaggi : connessioni minime; basso costo per piccole distanze; richiede un solo filo per il segnale; semplice da implementare;
Vantaggi: alta immunità ai rumori di modo comune; lunghe distanze (fino a 1.2 km)
Svantaggi: bassa immunità al rumore di modo comune; alta probabilità di degradazione del segnale poiché vi è una sola massa; possibilità di cross-talk sulle linee per accoppiamenti induttivi e capacitivi; possibilità di irradiare; il costo aumenta per grandi distanze poiché bisogna utilizzare cavi schermati per tenere il valore di capacità>2500pF;
Svantaggi: costi più elevati; necessità di trasmettere utilizzando doppini e non cavi singoli; necessità di una corretta terminazione della linea;
RS232 RS422 RS485
150
TX RX
Gestione del rumore per trasmissione Single Ended
Disturbo sul Canale
TX RX
Gestione del rumore per trasmissione Differenziale
Disturbo sul Canale
151
Standard RS 232
* Consente:• Trasmission
e seriale• Trasmission
e sincrona e asincrona
• Trasmissione punto-punto
Definito dalla Electronic Industries Association (EIA) nel 1969
Nasce per l'interconnessione di un calcolatore (DTE, Data Terminal Equipment) ed un modem (DCE, Data Communication Equipment)
152
Controllo della strumentazione
Comunicazione seriale (RS232)
RS-232 Cable
Serial Port
RS-232 Instrument
• Non richiede hardware aggiuntivo• Usa una singola linea• Collegamento PC-PC o PC-Strumento
153
Tipo di trasmissione Non bilanciata
Tipo di Logica Negata
Massima velocità di Trasmissione 115200 bps
Tensione di uscita • 5 15V valore logico 0• -5 -15V valore logico 1
Livello di ricezione • >3V valore logico 0• < -3V valore logico 1
Slew rate 30 V/uS max
Capacità di carico 2500 pF maxequivalenti a circa 20m
Tipo di comunicazione Full duplex
Massimo numero di drivers 1
Massimo numero di ricevitori 1
Modem
Modem
DTE
DTE
Specifiche Tecniche
154
Connettori• I dispositivi che dispongono di porte RS232 si distinguono in due categorie:
- DTE: PC, terminali
- DCE: modem, stampanti, ...
• Esistono connettori a 9 pin (DB-9) ed a 25 pin (DB-25)
Il connettore femmina dovrebbe, di norma, essere associato a DCE (Data Communication Equipment), cioè la periferica, il connettore maschio a DTE (Data Terminal Equipment), il computer.
•I PC Macintosh seguono uno standard leggermente diverso (RS422) con trasmissione differenziale un esempio si vedrà in seguito
156
Significato dei ConnettoriProtective Ground: normalmente collegato alla struttura esterna di uno dei dispositivi, il DCE o il DTE, e opportunamente collegato a terra. L’unico scopo di tale connessione è di proteggere il sistema da shock elettrici accidentali. È considerato opzionale.
Transmit Data: linea di trasmissione dei bit di informazione dal DTE (periferica) a DCE (computer). Il DTE mantiene tale linea al valore logico 1 quando non ci sono dati da trasmettere; la trasmissione del dato su questa linea è possibile solo se i segnali Request To Send, Clear ToSend, Data Set Ready e Data Terminal Ready, quando presenti, assumono valore logico 0.
Receive Data: linea di trasmissione dei bit di informazione dal DCE (computer) a DTE (periferica).Il dato (bit) primario viene inviato su questa linea dal DCE al DTE. Questo segnale vienemantenuto ad un valore logico 1 quando DCE non trasmette dati e viene portato a 0 per un breve intervallo di tempo dopo una transizione della linea Request To Send da 1 a 0, per consentire il completamento della trasmissione.
Request To Send: abilita i circuiti di trasmissione. DTE utilizza questo segnale quando intende trasmettere dati a DCE. Questo segnale, in combinazione con Clear To Send, coordina il trasferimento dati da DTE a DCE. Un valore logico 0 su questa linea mantiene DCE in modalitàdi trasmissione; DCE riceverà i dati da DTE e li trasmetterà attraverso il canale di comunicazione. Una transizione da 1 a 0 su questa linea segnala a DCE di completare la trasmissione dati in corso e di portarsi nella modalità di ricezione.
157
Significato dei ConnettoriClear To Send: segnale di risposta a DTE. Quando attivo, indica a DTE che la trasmissione può iniziare (sulla linea Transmit Data). Se CTS è attivo contemporaneamente ai segnali RequestTo Send, Data Set Ready e Data Terminal Ready i dati provenienti da DTE vengono inviati lungo il canale di trasmissione. La non attività del segnale CTS viene interpretata da DTE come non disponibilità di DCE a ricevere dati (DTE, quindi, attende ad inviare dati).Data Set Ready: con questa linea DCE avvisa DTE che il canale di comunicazione èdisponibile, cioè che DCE è pronto a trasmettere o a ricevere.Signal Ground: riferimento di tensione per tutti gli altri segnali.Receive Line Signal Detect (or Data Carrier Detect): DCE utilizza questa linea per segnalare a DTE che sta ricevendo un “buon segnale”, cioè una portante analogica in grado di assicurare una demodulazione dei dati ricevuti priva di errori.Transmission Signal Element Timing:Segnale di clock inviato da DCE a DTE, in modo che DTE sia in grado di sincronizzare il proprio circuito di output che pilota la linea Transmitted Data. La frequenza del segnale di clock dipende dal bit- rate associato alla linea Transmitted Data. La transizione da 1 a 0 denota il punto centrale del tratto di segnale corrispondente ad un bit sulla Transmitted Data.Receiver Signal Element Timing: Segnale di clock inviato da DCE a DTE in modo che DTE sia in grado di sincronizzare il proprio circuito di ricezione che pilota la linea ReceivedData. La frequenza del segnale di clock dipende dal bit-rate della trasmissione sulla linea Received Data. La transizione da 1 a 0 indica il punto centrale del tratto di segnale corrispondente ad un bit sulla Received Data.
158
Data Terminal Ready:Se questo segnale è a livello logico 1, DCE viene informato che DTE è pronto per la ricezione. Il segnale DTR deve essere attivo prima che DCE attivi il segnale Data Set Ready, indicando così di essere connesso al canale di comunicazione. Se il segnale DTRassume il valore logico 0, DCE interrompe la trasmissione in corso.Signal Quality Detector: Linea usata da DCE per indicare se c’è o meno una elevata probabilità che si verifichi un errore nella ricezione dei dati. Viene posta ad un valore logico 0 se la probabilità di errore è elevata.Ring Indicator: Linea usata da DCE per segnalare a DTE che sta per giungere una richiesta di collegamento. Il segnale Ring Indicator viene mantenuto sempre a livello logico 0, trannequando DCE riceve un segnale di chiamata in arrivo.Data Signal Rate Selector: Linea utilizzata per selezionare il bit-rate di trasmissione del DCE. In caso di connessione sincrona il bit-rate può assumere uno tra due valori possibili; se la trasmissione è di tipo asincrono, il bit-rate può assumere un valore compreso all’interno di due intervalli specificati dallo standard.Transmitter Signal Element Timing: Linea usata da DTE per inviare a DCE un segnale di clock. La transizione da 1 a 0 indica il punto centrale del tratto di segnale corrispondente ad un bit sul Transmitted Data.
Significato dei Connettori
159
Parametri di una comunicazione RS232• Numero della porta (0 per COM1:, 1 per COM2:, ... )• Baud rate: velocità di comunicazione in bit/s (compresi i bit di start,
stop e parità). Valori tipici: 1200, 2400, 4800, 9600• Data bits: scelta tra 7 o 8 bit dati• Stop bits: scelta tra 1, 1.5 e 2 bit di stop• Parity: pari (“even”), dispari (“odd”) o nessuna• Flow control: controllo della comunicazione.
–Handshake hardware: si usano ulteriori linee (RST e CTS) per fissare inizio e fine di una sequenza di dati
–Handshake software: si racchiude il messaggio trasmesso tra due caratteri di controllo XON e XOFF
160
Il frame RS232La tensione di riposo (IDLE) della linea è negativa (= MARK)• 1 bit di START: segna l'inizio del frame con la transizione MARK > SPACE• 7 o 8 bit di dati: codifica binaria con MARK=1 e SPACE=0, bit meno significativo (LSD) trasmesso per primo• 1 bit di parità: per il controllo degli errori di trasmissione
• Parità pari: vale 0 se il numero di 1 nei bit dati è pari, 1 viceversa• Parità dispari: vale 0 se il numero di 1 nei bit dati è dispari, 1 viceversa• Nessuna parità: bit di parità assente
• 1, 1.5 o 2 bit di stop: riportano la tensione della linea a IDLETensioni: MARK tra -12V e -3V e SPACE tra +3V e +12V
Bit
parità
Start
bit 7 bit dati 2 bit
di stop
Space
Mark
161
Collegamento DTE – DCE
PC
(DTE)
Modem
(DCE)
Rx Rx
Tx Tx
Com Com
Lineatelefonica
Nota: Per un DCE
• Il connettore Rx è di output
• Il connettore Tx è di input
162
Collegamento DTE – DTE (Null modem)
Il cavo deve essere di tipo “null-modem”
Alcuni strumenti, come il Fluke 45, richiedono questo tipo di collegamento (cioè sono dei DTE)
PC(DTE)
PC(DTE)
Rx Rx
Tx Tx
Com Com
164
Funzioni LabView per la seriale (VISA)
Inizializzazione
Scrittura verso la porta
Lettura dalla porta
# caratteri nel buffer di lettura Chiusura della porta
165
Esempio: controllo di un multimetro
PASSO 1)
A) CONNETTERE IL CAVO SERIALE AL MULTIMETRO ED AL PC ASSICURANDOSI CHE IL CAVO UTILIZZATO SIA NULL-MODEM
B) IMPOSTARE IL MULTIMETRO PER LA COMUNICAZIONE REMOTA SU SERIALE SELEZIONANDO BAUD-RATE, NUMERO DI BIT, PARITA’ E CONTROLLO DI FLUSSO
C) VERIFICARE DAL MANUALE DELLO STRUMENTO SE ESSO RICHIEDE UNO O PIU’ CARATTERI DI TERMINAZIONE (‘\n’ ‘\r’)
166
Esempio: controllo di un multimetro
Configurazione
Query
Lettura del risultato di misura
*RST;VDC\n\r
VAL?\n\r
+1.2345E+0 VDC\r\n
Stringa inviata alla seriale:
Stringa letta dalla seriale:
PASSO 2) REALIZZARE IL SOFTWARE
167
Esempio di I/O su RS232
Fase I: configurazione
VISA resource name
baud rate (9600)
data bits (8)
parity (0:none)
stop bits (10: 1 bit)flow control (0:none)
10000
170
Attesa dell'invio dei datiNon si possono leggere dati che non siano ancora stati inviati
Prima soluzione: attendere il riempimento del buffer (deve essere noto il numero di byte da leggere)
Query(Richiesta di dati di
misura)
Attesa dei dati
Lettura dei dati