Download - Misura, controllo e collaudo per la produzione industrialewebuser.unicas.it/misure/MASTER LANCIANO/I SISTEMI AUTOMATICI DI... · 24 Caratteristiche statiche (1) • Funzione di conversione:

Transcript

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

2

INTRODUZIONE

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

6ComputerComputer--Based InstrumentsBased Instruments

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

10

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à

12

SISTEMI AUTOMATICI DIMISURA

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).

37

Tipi di condizionamento

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

47

I SISTEMI DI CONTROLLO

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.

49

I SISTEMI DI ACQUISIZIONE DATI

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

54

Problematiche Interfacciamento

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.

73

IL LABVIEW

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)

77

Virtual Instrument (VI)

• Il Front Panel

• Il Block Diagram

• L’icona/connettore

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

81

Elementi del Block Diagram

Indicatore

Terminale

Costantenumerica

Controllo

Terminale

Nodo“Somma”

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)

85

L’ambiente di sviluppo: Le palette

I controlli fondamentali

86

L’ambiente di sviluppo: Le palette

Le funzioni fondamentali

87

L’ambiente di sviluppo: Le palette

Le funzioni fondamentali

88

L’ambiente di sviluppo: la Toolbar

DebuggingStop

Continuous Run

Run

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

92

LabViewParte 2

" Strutture di controllo" Grafici" Array e cluster" Formula node

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

94

Ciclo while: esempio

95

Waveform chart

Legenda

Palette

Label

Aggiornamento:" Strip chart" Scope chart" Sweep chart

96

Visualizzazione con waveform chart

• Ad ogni iterazione il waveform chart riceve uno scalare

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

103

Shift Registers: esempio

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

105

Esempio: Running average

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

117

Waveform GraphTracciano un array di valori numerici rispetto all'indice

Palette

Legenda

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)

120

XY Graph Traccia un array rispetto ad un altro

Multi-plot XY Graph

Single-plot XY Graph

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

122

Modifica di un elementodi un Cluster:

Altre funzioni per i Cluster

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

125

Menu di scelta" I controlli “List & Ring” associano un intero ad una voce selezionabile

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

131

Formula Node: Variabili temporanee

" Si definiscono come uscite, ma non vengono collegate

132

La generazione dei segnali

133

La generazione dei segnali:esempio

134

Le misure sui segnali:esempio

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)

140

Scan From String( è resizable )

Funzioni per le stringhe (3)

Format Into String( è resizable )

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

147

I BUS DI COMUNICAZIONE SERIALI

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

155

Connettori

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

163

Funzioni LabView per la seriale

I comandi VISA

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

168

Esempio di I/O su RS232

Fase II: Scrittura

*RST;VDC\n\r

169

Esempio di I/O su RS232

Fase II: Lettura

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

171

Attesa dell'invio dei dati

Seconda soluzione: attendere per un intervallo di tempo sufficiente