Upload
agata-savino
View
225
Download
1
Embed Size (px)
Citation preview
SVILUPPO E GESTIONE DI SISTEMI DI MISURA BASATI SU PCMatteo Lancini - UniBS
SVILUPPO E GESTIONE DI SISTEMI DI MISURA BASATI SU PC
L’acquisizione digitale I trasduttori La scheda DAQ Il task di acquisizione Il salvataggio dati L’analisi dei segnali
Tempistiche e prestazioni Problemi comuni
Buone pratiche di programmazione
L’ACQUISIZIONE DIGITALE
Perché l’acquisizione digitale? Offre notevoli vantaggi:
Bassa sensibilità al rumore elettrico Alta accuratezza a basso costo Elaborazione automatica possibile Combinazione immediata di segnali diversi Integrazione con sistemi di controllo Trasmissione, registrazione e riproduzione dei
segnali senza alcuna perdita di informazione
Ma esistono anche una serie di problemi da non sottovalutare che spesso sono trascurati…
L’ACQUISIZIONE DIGITALE Criticità intrinseche
nel dominio dell’ampiezza: Risoluzione Saturazione
nel dominio del tempo: Aliasing Leakage Risoluzione spettrale
Problemi di implementazione Prestazioni computazionali limitate:
Concorrenza tra salvataggio, acquisizione, analisi e visualizzazione
Memoria di massa limitata: Risoluzione numerica Numerosità di canali e campioni
Affidabilità del sistema: Perdita di dati
una grandezza continua è rappresentata da un valore discreto
usiamo un PC come elemento della catena di misura
ANALISI PRELIMINARE
È importante non cominciare a sviluppare alla cieca, ma identificare fin da subito l’obiettivo finale del sistema di misura e la strumentazione a disposizione, in particolare: L’oggetto della misura I trasduttori da usare La scheda DAQ da usare La configurazione del campionamento La durata ed il tipo di prova Il dato finale da produrre come risultato
I TRASDUTTORI
Informazioni da raccogliere: Tipologia
condizionatori necessari Segnale in uscita (tensione, corrente, impulsi…)
il numero ed il tipo di canali richiesti Alimentazione (a ponte, raziometrico, fissa)
eventuali canali aggiuntivi e condizionatori Sensibilità statica
riconversione del segnale Banda passante
frequenza di campionamento Campo di misura e campo di lettura
range dei canali di acquisizione Collegamento (a 2, 3, 4, 6 fili..)
eventuali canali aggiuntivi e condizionatori
LA SCHEDA DAQ Caratteristiche dei canali:
Eventuale condizionatore integrato(IEPE, TC, RTD, ponte…)
Range di lettura e tipo(tensione, corrente…)
Connessione (pigtail, BNC, subD…)
Caratteristiche del convertitore: Risoluzione digitale
(numero di bit) Frequenza di campionamento massima
(globale o per canale) Bus di collegamento
(USB, RS232, WiFi, SCSI…) Eventuale integrazione con altre schede in un unico rack
(cDAQ, cRIO, PXI)
IL TASK DI ACQUISIZIONE
Combina le impostazioni dei vari canali fisici e della sessione di acquisizione, fornendo una controparte software alla configurazione hardware dell’acquisizione.
Le modalità di configurazione del task dipendono fortemente dalle capacità dell’hardware e dal driver
IL TASK DI ACQUISIZIONE
Sessione di acquisizione Tipologia di campionamento Durata dell’acquisizione Frequenza di campionamento
Canali virtuali Canale fisico associato Configurazione di collegamento Range di input Scala di conversione Eventuali impostazioni di condizionamento
IL TASK DI ACQUISIZIONE
Tipologia di campionamento FINITE SAMPLES
il sistema acquisisce n campioni, quindi l’acquisizione si arresta e l’intero array di valori viene messo a disposizione Da usare quando l’acquisizione è di breve durata
oppure quando dati discontinui sono ammessi CONTINUA
il sistema acquisisce n campioni, e li rende disponibili senza però interrompere l’acquisizione, sfruttando un buffer a bordo della scheda Da usare quando l’acquisizione non tollera dati
discontinui >> sviluppo più complesso
Durata e frequenza di campionamento hanno significati diversi nelle due opzioni
IL TASK DI ACQUISIZIONE
Canali virtuali Canale fisico associato
Indica il nome univoco ed anche la tipologia di canale usato Configurazione di collegamento
A ponte di wheatstone, raziometrico, differenziale… Range di input
Assieme alla risoluzione della scheda ed alla sensibilità del trasduttore dà la risoluzione di misura della grandezza
Scala di conversione Contiene le informazioni del diagramma di taratura del
trasduttore collegato sul canale, in modo da visualizzare ed elaborare già i dati della grandezza fisica direttamente
Eventuali impostazioni di condizionamento IEPE, ICP, TC, ed altri condizionatori standard
IL SALVATAGGIO DEI DATI
Ricordarsi l’obiettivo finale per cui si sta effettuando la misura in modo da scegliere la modalità di salvataggio ed il tipo adeguato
Formato del salvataggio Testuale, per facilitare l’integrazione con altri
software e la lettura diretta Binaria, per ottimizzare il salvataggio e la
lettura rapidi dei dati Database, per gestire grosse quantità di dati
Modalità di salvataggio Singola Continua
IL SALVATAGGIO DEI DATI
Formato del salvataggio Testuale
Facilmente integrabile con altri software Può facilmente assumere dimensioni rilevanti Può dipendere dalla localizzazione Introduce un problema di risoluzione numerica
Binaria Può essere letto e scritto solo dal software proprietario Dimensioni relativamente ridotte Neutrale rispetto alla localizzazione Viene letto e scritto in maniera molto rapida
Database Richiede una struttura dati ed un dbms di appoggio Consente facilmente analisi statistiche sui dati Può accumulare facilmente solo dati in forma sintetica
IL SALVATAGGIO DEI DATI
Modalità di salvataggio Singola
Un numero finito di campioni viene mantenuto in memoria e salvato solo al termine dell’acquisizione
Attenzione all’uso della memoria, rischio di perdita di dati!
Continua Ogni volta che sono disponibili dei campioni vengono
aggiunti al file già aperto senza poi chiuderlo In caso di errore si ha un salvataggio parziale Richiede attenzione nella pianificazione della sequenza
Discontinua Blocchi finiti di dati vengono aggiunti ad un file
esistente, senza però garantire alcuna continuità nel flusso
È necessario corredare i dati con informazioni temporali
L’ANALISI DEI SEGNALI
Analisi in post processing: Tutte le elaborazioni ed i calcoli per le misure
indirette sono svolte al termine della misura Non è possibile intervenire in caso di problemi Nel caso di analisi complesse può essere
necessario parcellizzare l’analisi per via dei limiti di memoria
Analisi on the run: Tutte le elaborazioni sono svolte durante
l’acquisizione, sfruttando il buffer della scheda Consente di intervenire durante la misura Può costringere ad un’acquisizione rallentata Se l’analisi non è più che consolidata richiede
comunque il salvataggio dei dati originari
TEMPISTICHE E PRESTAZIONI
Visualizzazione Anche la semplice visualizzazione richiede un notevole
carico computazionale, quindi è necessario valutare attentamente quanti dati visualizzare
Visualizzazione a misura finita Evita problemi di concorrenza con acquisizione ed analisi In caso di errore non è possibile intervenire Adatta a prove di breve durata
Visualizzazione continua Consente di monitorare il fenomeno ed identificare problemi Aumenta le probabilità di catene di errori bloccanti Costringe ad un’esecuzione rallentata dell’acquisizione
Visualizzazione discontinua Visualizzazione di brevi sequenze ad intervalli regolari senza
garantire la continuità Ha solo funzione diagnostica
TEMPISTICHE E PRESTAZIONI
Prove di breve durata: Acquisizione a campioni finiti Visualizzazione a misura finita Analisi in post processing Salvataggio singolo
Prove di lunga durata: Acquisizione in continua Visualizzazione in continua Analisi on the run Salvataggio in continua
ma la scelta dipende anche dalla frequenza
TEMPISTICHE E PRESTAZIONI
Breve durata Lunga durata
Bassa frequenza
Acquisizione finitaVisualizzazione a fine misuraAnalisi on the runSalvataggio singolo
Acquisizione continuaVisualizzazione continuaAnalisi on the runSalvataggio continuo
Alta frequenza
Acquisizione finitaVisualizzazione a fine misuraAnalisi in post-processingSalvataggio singolo
Acquisizione continuaVisualizzazione discontinuaPost-processing parcellizzatoSalvataggio continuo
PROBLEMI COMUNI
Dimensioni del file Spesso è un problema trascurato! Es. 12 ch, 10 kHz per 10 minuti (salvando in binario dati
DBL a 2byte) => 12x10000x600x2 = 412 Mbyte File troppo grossi risultano spesso ingestibili!
Risoluzione numerica Se si sceglie un formato di salvataggio testuale è
necessario convertire un numero nella sua rappresentazione letterale
POSSIBILE PERDITA IRREVERSIBILE DI DATI Incompatibilità tra salvataggio e post-
processing Probabile se vengono sviluppati separatamente
PROBLEMI COMUNI
Dimensioni del file Salvare i dati in formato binario preferibilmente Se indispensabile parcellizzare salvataggio ed
analisi Risoluzione numerica Incompatibilità tra salvataggio e post-
processing Valutare attentamente il formato di esportazione Mantenere una copia in binario dei dati grezzi è
sempre consigliabile come tutela! Effettuare una prova a vuoto del sistema di
salvataggio ed analisi fino a raggiungere il formato finale desiderato
BUONE PRATICHE DI PROGRAMMAZIONE
Approccio TARGET-ORIENTED In primo luogo definire il risultato della misura:
Valore sintetico Time history Analisi complessa
Consentire durante la prova una rappresentazione della misura il più possibile vicina alla sua rappresentazione finale
Pianificazione del progetto Capire il problema a fondo prima di iniziare Testare ogni step di sviluppo in modo singolo Fare prove preliminari a vuoto che producano un
risultato finale
BUONE PRATICHE DI PROGRAMMAZIONE
Scegliere uno dei due approcci : BOTTOM-UP:
identificare i compiti più difficoltosi del progetto, sviluppare un modulo che li assolve, quindi integrarlo in step successivi nel progetto
utile solo se il progetto è semplice, ma il risultato è dubbio e si vuole valutarne la fattibilità
TOP-DOWN: definire in linea di massima il funzionamento del
progetto, partendo da uno schema logico di funzionamento, e delegare i vari compiti a template (moduli definiti solo in input-output) che verranno realizzati in seguito
Utile quando il progetto non prevede vincoli di fattibilità tecnica, anche in casi non complessi!
BUONE PRATICHE DI PROGRAMMAZIONE
Mantenere il codice pulito ed intuitivo Scrivere sempre da sinistra a destra Non andare oltre le dimensioni dello schermo Disegnare icone intuitive ed usare nomi estesi Commentare i passaggi meno espliciti
Sfruttare al massimo librerie e progetti Se si pensa che una serie di funzioni sia
correlata,usare una libreria Se si pensa che qualcosa potrebbe essere
riusato, metterlo in una libreria Mantenere il progetto ordinato con cartelle
virtuali e librerie