Schede Standard

Come già osservato, in molte applicazioni la soluzione complessivamente più economica consiste nella realizzazione di sistemi basati su sotto-sistemi standard, ovvero schede disponibili sul mercato, per i quali, dunque, l’utilizzatore deve sviluppare “soltanto” il software applicativo.

Questa scelta è caratterizzata da un alto costo dei componenti (sotto-sistemi), ma da ridotti costi e tempi di sviluppo.

Perciò, è adatta a prodotti da sviluppare in un numero ridotto di esemplari e da caratteristiche “standard”, quindi non “ottimizzate” per quanto attiene a prestazioni, consumo, ingombro, …

Peraltro, è adatta ad ambienti con know-how relativamente modesto per quanto riguarda le componenti hardware dei sistemi (che in questo caso sono disponibili sul mercato). In buona sostanza, la soluzione rinuncia a una parte del valore aggiunto del sistema (ed anche alla sua originalità) in cambio di una facile e rapida realizzazione.

Un esempio particolarmente significativo di questo tipo di soluzioni è costituito dal settore della strumentazione e delle misure elettroniche, che hanno necessità di soluzioni molto professionali più facilmente realizzabili in forma standard da ambienti con grande competenza in materia. Il campo delle soluzioni di questo tipo porta alla realizzazione di “strumentazione virtuale”, come descritto nel seguito.



PLC

Hardware dei PLC

Evoluzione dell'automazione industriale

 

Il PLC (Programmable Logic Controller) è un processore che esegue un programma ed elabora i segnali digitali ed analogici provenienti da sensori e diretti agli attuatori presenti in un impianto industriale.
Lo Standard IEC 1131 definisce il PLC come: Sistema elettronico a funzionamento digitale, destinato all' uso in ambito industriale, che utilizza una memoria programmabile per l' archiviazione interna delle istruzioni orientate all' utilizzatore per l' implementazione di funzioni specifiche, come quelle logiche, di sequenziamento, di temporizzazione, di conteggio e di calcolo aritmetico, e per controllare, mediante ingressi ed uscite sia digitali che analogiche, vari tipi di macchine e processi.
A partire dalla fine degli anni '60 il PLC ha sostituito gli schemi a relé, che venivano utilizzati in precedenza per realizzare processi di automazione della produzione. Tali schemi erano appunto costituiti da una rete di relé elettromeccanici opportunamente collegati a ingressi provenienti da sensori di processo, che realizzavano funzioni booleane, perciò direttamente sostituibili dalla logica digitale, come si può vedere dal confronto in tabella 1.


Tab.1: Confronto tra Relè e Memorie
Elettrotecnica
Elettronica
Relè eccitato
1 logico
Relè diseccitato
0 logico
Collegamento in serie di contatti
Logica AND
Collegamento in parallelo di contatti
Logica OR

 

Ruolo del controllore di processo nell'azienda

L'organizzazione di un'azienda può essere descritta dalla struttura a piramide di figura 1, secondo il concetto della CIM (Computer Integrated Manufacturing), che indica l'integrazione di calcolatori nelle diverse fasi di produzione.


Fig.1:Piramide aziendale.

Alla base della piramide si trovano macchinari e dispositivi per la produzione, che vengono opportunamente governati da un'unità di controllo (che puµo essere un PC, un PLC ...) e vanno a formare una cella di lavoro. Una cella di lavoro comprende macchine utensili, linee di lavorazione e robot industriali. Si possono osservare alcuni esempi di celle di lavoro, robot e linee di lavorazione nella figura 2.

Fig.2:Cella di lavoro robotizzata e linea di produzione.

L'unità di governo può essere un PC o un PLC. Il PC ha una struttura generale, e può risultare spesso sovradimensionato per l'applicazione; un PLC invece è sì dotato di microprocessore, ma questo è dedicato al comando di dispositivi elettrici e risulta meno fleessibile ma meglio dimensionato rispetto al PC. La tabella 2 confronta PC e PLC sotto diversi aspetti.


Tab.2:Confronto PC e PLC.
Caratteristiche PC PLC
Frequenza microprocessore
>1 GHz
<100 MHz
Operazioni binarie tipiche
a 32 bit
a 1 bit
Immunità ai disturbi
scarsa
elevata
Programmazione
Alto livello
Basso livello

A differenza del PC, un PLC è progettato per interfacciarsi non principalmente con l'uomo, ma con circuiti elettrici. Un esempio di utilizzo del PLC è il servocontrollo di figura 3. Per dare una descrizione generale dei


Fig.3: Servocontrollo.
PLC occorre descrivere l'hardware che lo compone, ma anche il linguaggio di programmazione utilizzato. Ai possibili linguaggi di programmazione è dedicato il capitolo seguente.
La struttura modulare del PLC
Dal punto di vista hardware, il PLC µe una struttura componibile con appositi moduli, scelti a seconda dell'applicazione (figura 4).



Fig.4: Struttura Modulare del PLC.

Questi blocchi vengono tutti inseriti in un armadio o rack, come si può
vedere in figura 5.
Il rack deve assicurare:
Modulo alimentatore
Il modulo alimentatore serve a tutti gli altri moduli e deve fornire tutte le tensioni e correnti necessarie al funzionamento della CPU e dei moduli aggiuntivi.
Modulo processore e memorie
Per la CPU è possibile utilizzare microprocessori comuni o appositamente orientati alla gestione dei singoli bits. Quindi i PLC possono essere distinti in due grandi famiglie:

La prima soluzione comporta tipicamente un costo minore; nel secondo caso, a fronte di un costo maggiore si hanno vantaggi notevoli in fase di programmazione, con istruzioni ottimizzate che fanno risparmiare risorse di memoria nel PLC. Questa seconda opzione è tipicamente seguita solo dalle grandi case produttrici, che possono permettersi di impiegare risorse per progettare un microprocessore adatto alle esigenze della loro clientela.

La memoria distinta in varie aree:


Fig.5:PLC Siemens S7.
La RAM è in genere limitata a centinaia di KBytes.
Moduli di I/O
L'indirizzamento dei moduli I/O è basato sulla loro posizione nell'armadio. Tutti i moduli di ingresso presentano isolamento galvanico tramite fotoaccoppiatori o trasformatori per proteggere il PLC da impulsi di tensione, come si può vedere in figura 6 che riporta lo schema del Siemens S7.

Fig.6: PLC Siemens S7.
Moduli di ingresso digitale
Acquisiscono segnali provenienti da contatti, pulsanti, termostati... I livelli di tensione acquisiti sono 0-24 V. Ogni scheda può gestire da 4 a 32, o 64 ingressi digitali differenti. I segnali dal campo vengono fatti arrivare con cavi elettrici fino alla morsettiera della scheda.
Modulo di ingresso analogico

Acquisiscono segnali provenienti da trasduttori di pressione, portata, o termometri, analizzatori chimici, e altri strumenti che trasducono la grandezza fisica analizzata in un segnale elettrico proporzionale (± 5 V,± 10 V, 0-5 V, 0-10 V, 4-20 mA). Questo tipo di schede di ingresso quindi, permettono il controllo di grandezze il cui valore può variare entro un intervallo, e le grandezze in gioco sono in tensione o in corrente. Molti produttori di PLC rendono disponibili schede con ingressi analogici per sonde di temperatura sia Pt100 che termocoppie. Queste schede sono disponibili con varie risoluzioni (8-12-14-16 bit) e con 1 o più ingressi distinti disponibili in morsettiera o connettore.

Modulo di uscita digitale
Sono schede con le quali il PLC comanda (tramite ad esempio relé ausiliari) gli attuatori, quali elettrovalvole, segnalazioni, ed altri circuiti attuatori digitali. Ad esempio un relé è un attuatore digitale, in quanto può avere soltanto due stati stabili: diseccitato, o eccitato. Altro esempio di attuatore è una valvola digitale a due stati: aperta, chiusa. Anche nel caso di schede di uscita digitali, si possono gestire da un minimo di 4 ad un massimo di 64 uscite digitali differenti.
Modulo di uscita analogico
Sono schede atti a pilotare valvole proporzionali, strumenti indicatori, registratori, Regolatori di Velocitµa per motori (Drives o Inverter), e altre apparecchiature regolatrici. Ad esempio è possibile comandare un motore elettrico tramite un inverter variandone la velocità da zero alla sua massima velocità.
Interfaccia con l'operatore

I dispositivi di I/O che vengono collegati ai moduli descritti possono essere interfacce grafiche, display o più semplici push buttons e dispositivi di segnalazione (spie, sirene, lampeggiatori) come si vede in figura 7.


Fig.7: Push buttons e segnalatori.
Moduli di comunicazione

Il PLC durante il suo funzionamento puµo comunicare con computer altri PLC oppure con altri dispositivi. La comunicazione con computer e altri dispositivi avviene tramite tipi di connessione standard, come ad esempio l'RS232. La comunicazione con altri PLC avviene anch'essa tramite protocolli standard.

Moduli speciali

Qualunque PLC di livello medio alto, oltre le consuete schede di ingres- so/uscita analogiche/digitali, ha a catalogo moduli dedicati a particolari compiti di automazione. Ad esempio, µe possibile connettere:

Terminali di programmazione
Possono essere di due tipi:

Fig.8:Terminale di programmazione ed esempio di stazione con PLC

Programmazione dei PLC

La quasi totalitµa dei PLC µe dotata di un piccolo selettore con il quale è possibile selezionare il modo di funzionamento. Un PLC opera tipicamente in due distinte modalità:
Linguaggi di programmazione testuali
IL (Instruction List) è praticamente il linguaggio macchina, poichè si utilizzano direttamente le istruzioni del microprocessore del PLC. Questo linguaggio rispetto a quelli grafici risulta poco pratico e intuitivo e richiede molto tempo al programmatore per la ricerca di errori nel programma o guasti all'impianto controllato; in alcuni casi, tuttavia, è indispensabile l'utilizzo di questo linguaggio per sfruttare appieno le potenzialità offerte dal PLC stesso. ST (Structured Text) µe un linguaggio di programmazione ad alto livello e ricorda ad esempio il TurboPascal.
Linguaggi di programmazione grafici
Si presentano al programmatore come veri e propri schemi elettrici o a blocchi.

Fig.9: Operazioni svolte in modalità run.

Fig. 10:Linguaggi Standard.

FBD (Function Block Diagram) e SFC (Sequential Function Chart)

FBD è un linguaggio che permette di disegnare uno schema classico dell'elettronica digitale, collegando ad esempio porte logiche. E' molto usato nei sistemi di controllo dei grossi impianti di processo come ad esempio centrali termoelettriche, impianti chimici... SFC è un linguaggio sviluppato in Francia con il nome di linguaggio Grafcet. Rappresenta il funzionamento per passi di un processo automatico in modo del tutto similare ad un Flow- chart, ma dove ogni blocco rappresenta uno stato del processo di lavorazione della macchina.

LD - Ladder Diagram

E' uno schema a contatti ed è il linguaggio di programmazione più usato, in quanto µe analogo ad uno schema elettrico funzionale. Ladder significa letteralmente scala a pioli, piochè lo schema ricorda appunto una scala; ogni ramo orizzontale sul quale lo schema si articola viene chiamato rung, ossia piolo. Il diagramma si basa su elementi di base come binari di potenza (power rail), contatti elettrici e avvolgimenti magnetici (coil), che sono riportati in figura 11.


Fig.11: Elementi di base Ladder

Ad ogni contatto viene associata una variabile binaria. Tale variabile viene solamente letta e può coincidere con un ingresso. Nel contatto normalmente aperto, la corrente fluisce da sinistra a destra se la variabile è 1. La corrente fluisce a destra per qualunque scansione del programma Ladder fino a quando la variabile diventa pari a 0. Nel contatto normalmente chiuso, la corrente fluisce da sinistra a destra se la variabile è 0. La corrente fluisce a destra per qualunque scansione del programma Ladder fino a quando la variabile diventa pari a 1. Se la variabile coincide con un'uscita fisica, può venire scritta. La variabile di uscita associata al coil è posta a 1 se c'è una corrente che fluisce da sinistra. La variabile rimane a 1 per qualunque scansione del programma Ladder fino a quando la corrente cessa di fluire da sinistra. La variabile di uscita associata al negated coil è posta a 0 se c'è una corrente che fluisce da sinistra. La variabile rimane a 0 per qualunque scansione del programma Ladder fino a quando la corrente cessa di fluire da sinistra. Un programma scritto in linguaggio Ladder viene eseguito valutando un rung alla volta. L'ordine di valutazione dei rung è quello che procede dal primo rung in alto verso l'ultimo rung in basso. Quando l'ultimo rung viene valutato, si inizia nuovamente a valutare il primo rung (dopo aver aggiornato le uscite e letti gli ingressi).

Esempi di programmi Ladder

Funzioni logiche AND e OR

Per prima cosa, si possono realizzare le funzioni logiche di base come AND e OR. Realizzare A2.2 = E0.0 AND E0.1 significa che l'uscita A2.2 deve essere attivata se e solo se entrambi gli interruttori collegati agli ingressi E0.0 e E0.1 sono chiusi. La soluzione ladder si ottiene mettendo in serie due contatti, con operandi E0.0 ed E0.1, e la bobina A2.2. Infatti la combinazione logica AND, tradotta in linguaggio ladder, equivale alla serie di due contatti: ai capi della serie si verifica la chiusura del circuito solo quando entrambi i contatti sono chiusi; questa µe l'unica condizione che attiva la bobina. Il relativo schema ladder è riportato in figura 12.


Fig.12:Realizzazione ladder di una AND e di una OR.

Realizzare A2.2 = E0.0 OR E0.1 significa che l'uscita A2.2 deve essere attivata se almeno uno degli interruttori collegati agli ingressi E0.0 o E0.1 è chiuso. La soluzione ladder si ottiene mettendo in serie alla bobina A2.2 il parallelo di due contatti, con operandi E0.0 ed E0.1. Infatti la combinazione logica OR, tradotta in schema a contatti, equivale al parallelo di due contatti: ai capi del parallelo si verifica la chiusura del circuito quando almeno uno dei contatti è chiuso; questa è la condizione che porta all'eccitazione della bobina. Il relativo schema ladder è riportato ancora in figura 12.

Set e Reset

Per realizzare queste funzioni, si utilizzano altri due coil del linguaggio ladder chiamati Set Coil e Reset Coil. Nel Set Coil, la variabile di uscita associata ad esso è posta a 1 se c'è una corrente che fluisce da sinistra. La variabile rimane a 1 per qualunque scansione del diagramma ladder fino a quando viene utilizzato un coil di tipo Reset. Analogamente, nel Reset Coil la variabile di uscita associata al coil è posta a 0 se c'è una corrente che fluisce da sinistra. La variabile rimane a 0 per qualunque scansione del diagramma ladder fino a quando viene utilizzato un coil di tipo Set. Questi coil possono essere usati ad esempio come riportato ancora in figura 12: un pulsante collegato all'ingresso E0.0 deve attivare l'uscita A3.7, mentre in seguito un secondo pulsante collegato all'ingresso E0.1 deve disattivarla.

Accensione temporizzata di lampade

Utilizzando gli elementi di base del ladder e alcuni temporizzatori, è possibile realizzare con numerose alternative un comando temporizzato, ad esempio per l'accensione di alcune lampade. Come esempio, si può valutare il caso del semaforo della Formula 1, che accende cinque lampade in questo modo: all' attivazione del pulsante di START le cinque lampade devono accendersi in progressione, una ogni secondo; un secondo dopo la completa accensione, le lampade devono spegnersi. Questo funzionamento è riassunto nel diagramma di figura 13; la sottostante tabella riporta la corrispondenza tra le label utilizzate nel diagramma temporale e quelle nel relativo grafo ladder di figura 14.
Il grafo è così organizzato: La chiusura dell'ingresso START setta l'uscita che comanda l'accensione immediata della prima lampada, indicata con L1; l'attivazione dello START attiva anche il conteggio di cinque temporizzatori T1, T2, T3, T4 ed END, che sono stati programmati per conteggiare tempi da 1 a 5 secondi attraverso le costanti KT100..KT500. Trascorso il tempo programmato, l'uscita di T2, T3, T4 ed END si porterà allo stato alto accendendo la rispettiva lampada. Il temporizzatore T1, invece, provvede allo spegnimento di tutte le lampade resettando L1 e tutti i temporizzatori, compreso se stesso (T1 è infatti inviato agli ingressi di reset di tutti i temporizzatori).


Fid.13: Esempio:Segnali di partenza della Formula 1.


Fid.13: Esempio:Realizzazione Ladder della partenza della Formula 1.

PLC e Building Automation

Come si è visto dall'ultimo esempio del capitolo precedente, con un PLC è possibile comandare lampade, o più in generale processi: il PLC si sta imponendo non solo in ambito industriale, ma anche nel campo della Domotica e della Building Automation.


Fig.15: Differenza tra Domotica e Building Automation.

Come si vede dalla tabella 15, la Domotica e la Building Automation pur effettuando servizi molto simili sono orientate ad utenti ed impianti completamente diversi. Esigere da un sistema domotico le stesse prestazioni di un sistema di Building Automation è quindi spropositato, come allo stesso modo può essere paradossale pretendere da un sistema di Building Automation di interfacciarsi con un elettrodomestico. Tuttavia, alcune semplici funzioni della domotica, come ad esempio la gestione del comfort abitativo (illuminazione e climatizzazione), possono essere realizzate con piccoli PLC del tipo di figura 16, che sono appunto chiamati Micro-PLC.


Fig.16: Smart Home,Micro-PLC e Building Automation

La Building Automation è costituita da tanti sottosistemi e impianti integrati tra loro in modo efficiente. Alcuni di questi impianti vengono controllati appunto attraverso PLC. Ogni impianto governa, controlla e regola i parametri sicurezza delle persone e dei beni (mediante controllo degli accessi, rilevazione furto, rilevazione incendio e spegnimento, rilevazione gas e areazione, rilevazione allagamento, etc.), monitoraggio video TV a circuito chiuso, diffusione sonora, energia elettrica e illuminazione (supervisione quadri e singole utenze), riscaldamento e raffreddamento, ventilazione aria, ascensori e montacarichi, gruppi frigoriferi, gruppi elettrogeni, trattamento acque, altri impianti tecnologici, comfort... (figura 16). Nella Building Automation tutti i sottosistemi operano in stretta sinergia tra di loro in modo tale che la variazione di uno dei parametri controllati dal sottosistema determina una azione di controllo, regolazione o comando di attuatori anche appartenenti anche altri sistemi. Ad esempio un locale privo di persone non deve generalmente essere illuminato, non deve avere finestre aperte e non deve avere apparecchiature elettriche alimentate. L'ingresso nel locale di una persona, riscontrata da un lettore di controllo accessi, deve invece ripristinare l'illuminazione, accendere se prestabilito il riscaldamento e alimentare le utenze elettriche. Queste soluzioni di Building automation vengono sempre più utilizzate nelle strutture pubbliche, ad esempio strutture sanitarie, trasporti; un esempio è quello della metropolitana di Copenhagen, controllata con soluzioni di Building Automation con armadi di PLC posti ad ogni stazione.

Strumentazione Virtuale

Anatomia di uno strumento digitale

Gli strumenti moderni, sono in gran parte basati su uno schema ricorrente in cui si distinguono le seguenti parti principali:

A parte forse il circuito di condizionamento, che può richiedere in taluni casi un progetto ad hoc, ed il software che dovrà rispecchiare le esigenze dell’ utilizzatore, le altre parti del sistema possono essere standardizzate.

In effetti nella maggior parte dei casi non ha senso riprogettare l’ intero sistema di misura, ma è sufficiente selezionare alcuni moduli commerciali per realizzare le funzioni necessarie, assemblarli e scrivere del codice per realizzare la funzionalità richiesta.

Questo è quindi l’ approccio seguito in molti casi. Il mercato ha risposto a questa tendenza (che si traduce in una richiesta di prodotti) ampliando i cataloghi dedicati alla strumentazione modulare e raffinando i linguaggi di programmazione specializzati (LabVIEW, VEE ecc.) e non ( visual C++, visual basic ecc.).

Ad oggi il panorama offerto dal mercato permette di coprire la maggior parte i esigenze di misura “standard” e, in alcuni casi, anche quelle speciali e di settore, come la visione, l’ analisi armonica e degli ordini, il collaudo automatico e le misure RF, tanto per citarne solo alcuni.

Dal punto di vista delle prestazioni esistono diversi approcci alla strumentazione modulare, che permettono di ottenere prestazioni diverse (e costi diversi) a seconda delle esigenze.

Una possibile classificazione in ordine crescente di prestazioni (e costi) è la seguente:
  • Schede di acquisizione ISA/PCI per PC e software di sviluppo
  • Queste schede vanno montate all’ interno di un PC cui viene richiesta la disponibilità di slot ISA e/o PCI. Sono schede generalmente di fascia medio-bassa di tipo generale. Lo strumento virtuale viene sviluppato mediante un ambiente di programmazione in grado di accedere alle risorse hardware ed elaborare i dati da esse provenienti. Generalmente la piattaforma usata è LabVIEW della National Instruments, anche se sono possibili vie alternative come il VEE della Agilent o l’ impiego di Matlab.

    La popolarità di LabVIEW è giustificata fra l’ altro dalla relativa indipendenza dallo strumento virtuale sviluppato dalla piattaforma impiegata. LabVIEW può infatti girare sia su macchine con sistemi operativi Microsoft ma anche su Mac, macchine Linux e Solaris. La portabilità è quindi notevole.

  • Schede di acquisizione PCMCIA ed esterne
  • In questo caso le schede sono orientate ad hardware di calcolo più specifici come il notebook o i computer palmari. Generalmente le prestazioni sono leggermente ridotte rispetto all’ analogo PCI o ISA a vantaggio della compattezza del modulo e quindi dello strumento finale. Questo tipo di scelta è motivata da esigenze particolari come la necessità di eseguire misure sul campo o di sviluppare uno strumento portatile o indossabile.

  • Moduli VXI e PXI
  • Questi moduli sono pensati per essere alloggiati in appositi “cestelli”, ovvero frame con diversi cassetti che possono alloggiare i moduli. L’unità di calcolo è pure realizzata in uno speciale modulo alloggiato nel cassetto (slot). Questi sistemi permettono di elevare le prestazioni del sistema di misura in quanto sono progettati per ottimizzare l’ ambiente interno allo strumento ed in particolare il rapporto segnale/rumore, l’omogeneità dei percorsi dei segnali ed il sincronismo Delle acquisizioni . Il costo di questi sistemi è evidentemente elevato e giustificato solo da scelte progettuali particolari come per esempio l’ alloggiamento in mezzi di trasporto (locomotrici) , macchine utensili, applicazioni di tipo militare,….

  • Moduli distribuiti
  • Recentemente sono comparsi sul mercato diversi elementi per la realizzazione di strumenti virtuali “distribuiti sul territorio”,, ovvero non necessariamente all’interno dello stesso ambiente fisico di misura. Questo approccio è molto innovativo: l’ hardware di misura non è infatti alloggiato in un singolo chassis e collegato ai punti di misura mediante cavi di collegamento, ma frammentato in diversi moduli disposti in prossimità dei punti di misura e collegati fra loro e a un calcolatore (che funge da controller) mediante rete o bus industriale. In questo modo si estende notevolmente il concetto di strumento virtuale rendendo possibile distribuire lo strumento sul territorio senza limitazioni se non quella della connettività. Considerato il notevole incremento della banda dei collegamenti wireless è quindi possibile pensare a sistemi di misura collocati in parte su unità mobili (autoveicoli, persone ecc.).

    Elementi chiave di uno strumento virtuale (Virtual Instuments – VI)

    Come già detto, gli elementi chiave di uno strumento virtuale sono l’ hardware di misura ed il software di sviluppo.

    E’ dall’insieme di questi due elementi che è possibile la costruzione dello strumento virtuale ed è quindi essenziale che l’ integrazione fra questi due elementi sia ottimizzata.

    In particolare parametri di merito per la scelta dell’ hardware sono :

  • numero di I/O analogici, numero di bit del convertitore, sample rate
  • numero di I/O digitali
  • eventuali canali accessori (contatori, trigger analogici, ecc.)
  • flessibilità
  • velocità di trasferimento dei campioni
  • Per quanto riguarda il software vengono considerati invece:
  • Facilità di apprendimento e sviluppo del software
  • Tools di debugging
  • Librerie
  • Velocità di esecuzione
  • Portabilità
  • Possibilità di esecuzione in real time
  • Per una integrazione ottimale fra HW e SW è inoltre necessario disporre delle driver degli elementi HW, di eventuali tools di configurazione e di librerie di istruzioni per il loro controllo e trasferimento dei dati.

    Il progetto di un sistema di misura basato su strumentazione virtuale si fonda oltre che su una oculata scelta delle parti anche su un armonico bilanciamento fra gli elementi. In particolare, è necessario scegliere oculatamente quali elementi realizzare in hardware per il condizionamento del segnale e quali elaborazioni eseguire poi sui dati per ottenere la misura voluta.

    Per esempio, se il livello del segnale di ingresso è molto basso è opportuno amplificarlo a monte del convertitore per poterne sfruttare al meglio la dinamica e poi eseguire dei filtraggi numerici sui campioni per eliminare le componenti indesiderate quale per esempio i disturbi di rete.

    La scelta delle caratteristiche dei moduli di acquisizione dipende dalle caratteristiche dei segnali da acquisire. In particolare valgono le seguenti associazioni:
  • Accuratezza /Numero di bit
  • Banda passante /Sampling rate
  • Numero di segnali /Numero di canali
  • Velocità trasferimento dati /Tipo di Bus
  • Esempio

    In figura è rappresentato lo schema di collegamento fra un sensore di deformazione (strain gauge) ed un sistema di acquisizione basato su strumentazione virtuale. Scopo del sistema è rilevare la deformazione di un oggetto in funzione del tempo, fare la FFT del segnale acquisito, visualizzare e memorizzare i dati. Inoltre il segnale acquisito dovrà essere filtrato per eliminare i disturbi di rete (50 Hz e suoi multipli).

    Le caratteristiche del sensore sono le seguenti:

    Risulta allora chiaro che se collegassimo direttamente il sensore all’ ingresso di una scheda di acquisizione a 12 bit con dinamica ±10V, l’ errore di quantizzazione commesso nella misura del massimo peso ammissibile (condizione più favorevole) sarebbe del 10%.

    È quindi necessario inserire un amplificatore di misura di guadagno adeguato fra l’ uscita del sensore e l’ ingresso del campionatore.

    Un secondo aspetto importante da considerare è la non idealità del sensore ed in particolare il fatto che l’ uscita del sensore presenta un certo offset. Questo può essere compensato misurandolo in assenza di carico e generando un livello di compensazione per l’ amplificatore del circuito di condizionamento.

    La scheda di acquisizione deve quindi essere dotata anche di uscite analogiche programmabili.

    Nella figura è rappresentato lo schema a blocchi di una tipica scheda di acquisizione definita “multifunction” ovvero in grado di offrire diverse risorse fra la più comuni. In particolare notiamo la presenza di diversi canali di ingresso, di due canali di uscita analogici, di un gruppo di uscite digitali e di canali ausiliari, come per esempio quello di trigger.

    Da notare innanzitutto che i canali di ingresso analogici (tipicamente 16) sono collegati all’ unico ADC mediante un multiplexer analogico. Questo significa che l’ acquisizione di due canali non è mai perfettamente simultanea. L’acquisizione può essere sincronizzata con un evento che si presenta su un canale digitale, su uno degli analogici oppure su un ingresso ausiliario di trigger. E’ possibile in quest’ ultimo caso scegliere il livello di soglia programmando opportunamente la scheda.

    Per quanto riguarda le uscite analogiche, i DAC in questo caso sono separati e dotati di una FIFO, ovvero una memoria a lettura sequenziale dove è possibile memorizzare i dati per la generazione continua di forme d’ onda senza la necessità di fornire alla scheda in continuazione e in tempo reale i dati necessari a questa operazione.

    Infine è da notare la presenza di numerosi generatori di riferimento sfruttati sia in fase di misura che di autocalibrazione.

    Sulla scheda sono presenti circuiti di interfacciamento con il bus PCI per il trasferimento dei dati da e verso il sistema di calcolo.

    Ed è proprio il bus del sistema di calcolo a costituire uno dei maggiori colli di bottiglia dei sistemi basati su strumentazione virtuale.

    Se infatti sarebbe possibile l’ impiego sulle schede DAQ di campionatori ad alta velocità (i campionatori usati negli oscilloscopi digitali possono avere frequenze di campionamento di decine di GSample/sec), non sarebbe però possible poi trasferire in tempo reale i campioni verso il sistema di calcolo principalmente a causa della limitata banda del bus di interfaccia.

    Una situazione lievemente migliore si ha nel caso di cestelli VXI o PXI (che si basano su una estensione del bus PCI) ma la banda rimane comunque limitata. Nel caso sia necessario elaborare segnali di banda più estesa è necessario prevedere che parte dell’ elaborazione del segnale avvenga direttamente sulla scheda e sia quindi trasferito sul bus solo il risultato dell’ elaborazione (hardware)

    Strumenti modulari

    In questa ottica va quindi vista l’ introduzione sul mercato di moduli PXI per specifiche misure in campo RF il cui costo viene giustificato proprio dalla complicazione hardware imposta per poter effetturare misure ad alta frequenza appoggiandosi al bus PXI.

    Nell’ esempio di figura è mostrato lo schema a blocchi di uno strumento modulare per misure RF fino a 2.7 GHz. La struttura dello strumento è simile a quella di un analizzatore di spettro: attenuatore, downconveter, campionatore del segnale IF.

    Una volta campionato il segnale IF, lo strumento fornisce sul bus i dati di questo segnale a (relativa) bassa frequenza che vengono elaborati da un opportuno software.

    Questo tipo di approccio è però abbastanza rigido ed in particolare, trattandosi di moduli specializzati in un tipo specifico di misura, tradisce un pò il concetto che è alla base stesso di strumentazione virtuale.

    Si tratta di moduli molto specifici per risolvere situazioni di misura altrimenti non affrontabili.

    Dal SW all HW: FPGA

    Un secondo approccio, molto più elegante e soprattutto in linea con la filosofia di strumento virtuale è rappresentato dai moduli hardware programmabili. Questi elementi contengono componenti di tipo FPGA (Field Programmable Gate Array) che possono essere configurati per eseguire una determinata funzione definita da un modello software. Una volta simulato e verificato tale modello, l’ FPGA viene programmato in modo da realizzare tale funzione.

    I vantaggi di questo approccio sono notevolissimi. In particolare:

    Esempio: caratterizzazione di un flussimetro

    Un esempio che ben si presta alla descrizione dei passi di progetto di uno strumento virtuale è rappresentato dal sistema illustrato in figura.

    Il problema è la realizzazione di un banco di prova per la caratterizzazione di un flussimetro per confronto con un analogo strumento preso come riferimento. I due flussimetri sono di tipo diverso e diverso è il segnale alla loro uscita. In particolare l’ uscita del flussimetro di riferimento è una tensione proporzionale alla portata del liquido nel condotto, mentre quello in prova fornisce in uscita un segnale digitale di periodo proporzionale alla portata.

    La caratterizzazione deve essere effettuata misurando le uscite dei due strumenti in per diversi valori di portata e di pressione nel condotto. Per variare la portata è necessario agire sul controller del motore della pompa. Il controller accetta al suo ingresso una tensione variando la quale è possibile variare il numero d giri del motore della pompa. Per variare la pressione nei condotti si agisce sulla valvola proporzionale. Per aumentare la pressione si chiude la valvola cambiando la tensione di controllo in ingresso al servomeccanismo del suo azionamento. La pressione a monte del flussimetro di riferimento ed a valle di quello in prova sono misurate medianti due manometri elettronici con uscita in tensione.

    La sequenza di operazioni per la corretta caratterizzazione del flussimetro prevede la definizione da parte dell’ operatore di un elenco di successive situazioni di test, individuate da una coppia di valori portata e pressione, che devono essere raggiunte stabilmente a meno di un certo scarto ed in corrispondenza delle quali vanno campionati i segnali di portata e quelli di pressione. Il test si conclude quando sono state applicate tutte le coppie previste. L’ algoritmo di misura prevede quindi i seguenti blocchi:

    Vengono infine salvati su disco i dati delle misure.

    Esaminiamo ora i segnali elettrici necessari per controllare e osservare il sistema. In particolare per i segnali analogici il range di variazione e la larghezza di banda, per i segnali digitali i livelli e la frequenza massima.

    Nel caso del nostro esempio individuiamo i seguenti segnali: Dall’ esame dei componenti del sistema le specifiche sui segnali sono le seguenti:

    Banda o fmax Range Range segnale Tipo Segnale

    Considerati i segnali coinvolti nella misura, valutiamo ora la possibilità di utilizzare una scheda i acquisizione PCI montata su un PC per lo sviluppo di uno strumento virtuale in grado di assolvere a tutte le funzioni richieste dal banco di misura.

    Data la varietà di segnali ci orientiamo verso una scheda mutifunction, in grado di analizzare e generare segnali analogici e digitali.

    Consideriamo per esempio la DAQ card 6024E della National Instruments.

    Questa scheda ha le seguenti caratteristiche:

    Verifichiamo ora la correttezza della scelta di questa scheda in rapporto alle specifiche del progetto.

    Segnali analogici collegati agli ingressi della scheda.

    Il progetto richiede il campionamento di quattro segnali analogici lentamente variabili nel tempo. La frequenza massima di campionamento è quindi sicuramente più che sufficiente. Anche per quanto riguarda il range dei segnali di ingresso, sicuramente gli ingressi della scheda hanno caratteristiche compatibili con quelle dei segnali da analizzare.

    Per quanto riguarda il numero di bit cerchiamo di valutare qual’è la massima risoluzione richiesta dalla misura. Le specifiche richiedono che prima della misura dell’ uscita del flussimetro sotto test la portata e la pressione siano stabilizzate entro ±2% del valore nominale. il che vuol dire che se ipotizziamo di impiegare un controllo PID la misura del segnale in tensione in uscita dal flussimetro di riferimento e dai manometri deve avere risoluzione di almeno 1 % del valore nominale.

    Il caso peggiore è evidentemente quello delle pressioni e portate minime. in questo caso si ha:

    Segnali analogici in uscita dalla scheda.

    I due canali di uscita analogici sono sufficienti per pilotare la valvola proporzionale e la pompa.

    Anche in questo caso con considerazioni analoghe alle precedenti si può dimostrare che la scheda è adatta al pilotaggio di questi due elementi. Per la pompa risulta infatti:

    Dato che la risoluzione del DAC converter è 20V/4096 = 4.88mV, rientriamo nelle specifiche richieste.

    Per quanto riguarda il controllo valvola la cosa è più complicata in quanto la pressione prodotta dalla strozzatura del condotto dipende dalla portata del fluido. Prove sperimentali hanno però evidenziato che le pressioni richieste si possono ottenere all’ interno del range 30%±75% di chiusura della valvola. Il caso peggiore risulta quindi:

    entro le specifiche.

    Segnali digitali.

    L’unico segnale digitale da analizzare risulta quello in uscita dal flussimetro sotto test.

    Questo segnale ha una frequenza che nel range di interesse può variare da 0Hz a 1KHz. Scegliamo di collegare questo segnale ad uno speciale ingresso della scheda di acquisizione detto contatore. Il circuito di misura collegato a questo terminale permette di misure direttamente la durata del periodo del segnale di ingresso come multiplo del periodo del clock interno alla scheda di acquisizione che è di 20 MHz.

    Questi dati ci permettono di calcolare la risoluzione nella misura della frequenza che nel caso peggiore (1 KHz) risulta pari a che consideriamo più che accettabile. Data l’ estrema precisione che questa misura ci consente, decidiamo di ripeterla ad intervalli regolari per valutare anche la stabilità del flussimetro.

    Sulla base dell’ hardware scelto strutturiamo ora lo strumento virtuale. Per prima cosa organizziamo sul pannello dello strumento gli indicatori ed i controlli necessari. Prevediamo inoltre alcuni campi di input che serviranno per la scelta dei passi di misura (coppie portata pressione) e per il file di uscita contenete i dati.

    Nel pannello riportato nella figura non sono riconoscibili tutti gli elementi del sistema in esame. Alcune grandezze (come la tensione di controllo della pompa) non sono direttamente accessibili ma vengono impostati dal programma LabVIEW sulla base del risultato di una elaborazione (vedi slide successive). Sono presenti invece alcuni indicatori grafici in basso dove vengono riportati i dati di misura in funzione del tempo per permettere all’ operatore di seguire il susseguirsi delle operazioni.

    La barra in alto serve per selezionare quali coppia flusso-pressione usare per le prove. Le coppie sono memorizzate in un file letto all’ avvio del test.

    Ad ogni controllo o indicatore del pannello corrisponde un elemento nel diagramma LabVIEW. Questi elementi sono rispettivamente le partenze e gli arrivi dei cammini di elaborazione dei dati che vengono rappresentati con dei fili che attraversano diversi blocchi di elaborazione.

    Una corretta programmazione prevede di definire dei macroblocchi che corrispondono a sub-vi del vi principale, analogamente a quando avviene per le chiamate di sottoprocedure nella programmazione a codice.

    In figura è riportato un esempio di sub-vi relativo al controllo PID per il raggiungimento della portata desiderata. Scopo di questo blocco è quello di raggiungere stabilmente entro una banda del ±2% il set point. La scelta dell’ impiego di questo blocco piuttosto che, per esempio, un blocco di ricerca lineare, sta nel cercare di ridurre al minimo il tempo di attesa fra una misura e l’altra, e ridurre quindi il tempo (ed il costo) del collaudo.

    Come di può notare il controllo è rappresentato da un loop che ripete il calcolo del set successivo sulla base della formula del controllo PID. Dal loop si esce quando lo scarto fra la misura di portata ed il set point rientra nella banda permessa. Il diagramma risulta facilmente leggibile considerando che un blocco viene eseguito solo se i dati a tutti i sui ingressi sono validi.

    Per quanto riguarda la gestione della scheda di acquisizione, opportuni blocchi di elaborazione ne consentono l’ inizializzazione e la lettura/scrittura dei dati

    In figura è mostrato la parte di diagramma relativa al campionamento dei canali relativi alle pressioni ed al flussimetro di riferimento.

    Nel caso in esame, la lettura dei canali analogici è eseguita come gruppo (0,1,2) e quindi, in teoria, simultaneamente. In realtà il ritardo (skew) fra il campionamento di un canale e del successivo corrisponde al tempo impiegato dal multiplexer analogico della scheda a commutare da un canale all’ altro. Lo skew minimo può essere calcolato approssimativamente come:

    Dove SR è il valore del sample rate e nCH è il numero di canali di ingresso multiplexati.