Introduzione
all’utilizzo del CompactRIO
rev. 0.1.0
Autore Gabriele Melani Pagina 1 di 24
Introduzione all’utilizzo di NI CompactRIO Redatto da: Gabriele Melani
Introduzione
all’utilizzo del CompactRIO
rev. 0.1.0
Autore Gabriele Melani Pagina 2 di 24
Indice
Indice ................................................................................................................................... 2
Introduzione ..................................................................................................................... 3
A chi é indirizzato ............................................................................................................. 3
Convenzioni e organizzazione ......................................................................................... 3
1. I sistemi PAC............................................................................................................. 4
2. La piattaforma CompactRIO ..................................................................................... 5
3. Configurazione della scheda di rete del dispositivo Host .......................................... 7
4. Collegare CompactRIO al pc .................................................................................... 7
5. Realizzare un VI in modalità Scan Interface ........................................................... 11
6. Realizzare un VI in modalità LabVIEW FPGA Interface .......................................... 20
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 3 di 24
Introduzione
L’uso di sistemi operativi Real-Time acquista sempre più importanza nella realizzazione di soluzioni di
controllo automatico dove la precisione temporale (determinismo) e l’alta velocità di esecuzione dei comandi
sono requisiti indispensabili. La piattaforma CompactRIO offre i vantaggi di un computer industriale dotato di sistema operativo
Real-Time e moduli di Input e Output con dimensioni contenute e caratteristiche di robustezza proprie degli strumenti industriali (fattore di forma, protezione dalla polvere e da altri agenti esterni, resistenza agli urti e
agli shock…). La presenza di un FPGA a bordo permette la personalizzazione delle proprie applicazioni e
assicura elevata frequenza di lavoro e robustezza propria della programmazione hardware.
A chi é indirizzato
A tutti coloro che desiderano muovere i primi passi nella programmazione di CompactRIO: saranno illustrate
le operazioni di configurazione e connessione ad un pc e verranno realizzati alcuni semplici VI.
Convenzioni e organizzazione
Per facilitare la lettura e l’ apprendimento, sono inserite note distinte per il contorno esterno nero e al termine dei capitoli una sezione di riepilogo degli argomenti trattati.
Note
Riassunti di fine capitolo
Installazioni, connessioni e osservazioni sull’Hardware.
Collegamenti a risorse sul web
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 4 di 24
1. I sistemi PAC
Quando si parla di sistemi di acquisizione dati e controllo dei processi si è soliti fare una grande distinzione
tra sistemi “per laboratorio” e sistemi “per l’industria”. Mentre in laboratorio ci si può permettere caratteristiche fisiche degli strumenti meno severe in termini di
resistenza agli agenti esterni (per esempio la polvere) e stress meccanico, in ambito industriale queste caratteristiche diventano fondamentali per la possibilità di utilizzare lo strumento.
Le prestazioni richieste in termini di precisione, affidabilità e ripetibilità delle operazioni sono elevate in
entrambi gli ambiti di impiego. Per i sistemi industriali si è soliti ricorrere a PLC (Programmable Logic Controller), strutture meccanicamente
ed elettricamente affidabili ma dotate di funzioni limitate e caratterizzate da linguaggi di programmazione dedicati e di basso livello.
Negli ultimi anni si è assistito all’introduzione dei PAC (Programmable Automation Controller), sistemi in
grado di combinare affidabilità e robustezza dei PLC con prestazioni e flessibilità proprie di sistemi di controllo avanzati. L’utilizzo dei circuiti FPGA (Field Programmable Gate Array), dispositivi digitali
programmabili, ha ulteriormente aumentato le possibilità di misura e gestione. Il risultato è la possibilità di combinare la sicurezza intrinseca dei sistemi PLC con le funzioni personalizzabili
di sistemi configurabili attraverso un comune pc.
I principali limiti dei software di misura e controllo sviluppati con pc sono i seguenti:
- Stabilità: i sistemi operativi general-purpose installati a bordo dei pc comuni non sono in grado di offrire stabilità e sicurezza di funzionamento a livelli sufficientemente alti per sistemi di controllo
industriale; - Sicurezza: i componenti utilizzati in ambito industriale presentano particolari caratteristiche che li
rendono adatti all’uso prolungato in condizioni ambientali spesso difficili; i componenti presenti nei
pc non possono offrire questi elevati livelli di robustezza fisica; - Linguaggio di programmazione di alto livello: se questo può essere un vantaggio perché consente la
realizzazione di funzioni di diverso tipo, è al tempo stesso un limite perché i tecnici sono abituati a lavorare con interfacce tradizionali che consentono l’immediata variazione dei parametri dei sistemi
(chiusura o apertura di interruttori, circolazione di corrente elettrica in determinati rami di impianto, comando di apparecchi e macchine…).
Solitamente si preferisce utilizzare PLC (o sistemi simili) per la parte di acquisizione dati e controllo dei processi e si demanda ai pc l’elaborazione, l’analisi e la presentazione dei risultati.
I sistemi PAC combinano i vantaggi delle diverse tecnologie per ottenere un prodotto unico in grado di gestire l’intero processo di acquisizione – elaborazione – controllo del fenomeno oggetto di studio.
I sistemi PAC possono combinare varie tipologie di acquisizione dati con la generazione di segnali di controllo
per strumenti diversi; i software di alto livello (più intuitivi da programmare e utilizzare) richiamano elementi conosciuti quali pulsanti, interruttori, manopole… attraverso librerie grafiche e immagini fotografiche;
l’architettura del sistema è aperta e può essere modificata in fasi successive aggiungendo o togliendo singoli moduli di I/O; le interfacce di alto livello consentono di collegare i sistemi alla rete Ethernet, ad Internet, ai
database relazionali, alle periferiche USB, alle connessioni wireless…
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 5 di 24
Fig. 1. Piattaforme PAC
All’indirizzo http://zone.ni.com/devzone/cda/tut/p/id/3755 vengono confrontati PLC e PAC.
2. La piattaforma CompactRIO
Lo strumento denominato CompactRIO appartiene alla categoria “PAC”; è un sistema embedded per il controllo avanzato e l'acquisizione dati progettato per applicazioni che richiedono alte prestazioni ed
affidabilità. CompactRIO presenta un’architettura aperta ed è un sistema compatto, robusto e flessibile; si
possono integrare hardware commerciali e moduli proprietari per realizzare velocemente sistemi personalizzati. Combina un processore Real-Time embedded, un chip FPGA ad alte prestazioni e moduli di
I/O con relativo condizionamento di segnale a bordo per connessione diretta a sensori ed attuatori; ciascun modulo I/O è connesso con il chip FPGA (Fig. 2).
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 6 di 24
Fig. 2. Schema struttura CompactRIO
Il chip FPGA è connesso al processore Real-Time embedded attraverso un bus PCI ad alta velocità. CompactRIO può essere programmato con LabVIEW, in particolare con i toolbox aggiuntivi dei moduli Real-
Time ed FPGA: LabVIEW offre meccanismi integrati per il trasferimento dati dai moduli I/O al chip FPGA e dal chip FPGA al processore Real-Time embedded per analisi, elaborazioni, data-logging o comunicazioni via
rete verso un computer Host.
CompactRIO può operare come un pc industriale dotato di sistema operativo Real-Time: a bordo possono
essere caricati VI programmati come su un comune pc e mandati in esecuzione stand-alone. Il chip FPGA installato nello chassis di CompactRIO può essere programmato e consente:
- la comunicazione con i moduli I/O installati;
- tempi di elaborazione ridotti e aumento delle prestazioni del sistema in termini di velocità.
Si possono individuare alcuni soggetti fondamentali nella programmazione di CompactRIO (Fig. 3): - Host: di solito è il pc con il quale si programma CompactRIO; viene identificato come Host il sistema
esterno a CompactRIO collegato durante la fase di programmazione ed eventualmente durante la
fase di analisi dei dati (per esempio un’interfaccia esterna verso la quale CompactRIO può inviare i dati acquisiti per essere presentati e con la quale può comunicare per ricevere segnali di input e
comando); - Controllore Real-Time: sistema Real-Time a bordo di CompactRIO utilizzabile come un computer
industriale per l’esecuzione di VI; - FPGA: dispositivo digitale programmabile attraverso il quale comunicare con i moduli I/O installati e
a bordo del quale implementare le operazioni a più alta priorità.
Il controllore Real-Time e il dispositivo FPGA vengono indicati anche come Target della programmazione.
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 7 di 24
Fig. 3. Soggetti della programmazione
All’indirizzo http://zone.ni.com/devzone/cda/tut/p/id/2856 si può trovare una descrizione più
dettagliata di CompactRIO e dei singoli elementi.
3. Configurazione della scheda di rete del dispositivo Host
La scheda di rete del computer Host deve essere configurata prima della connessione con CompactRIO; inizialmente si possono utilizzare i seguenti valori:
Indirizzo IP: 192.168.0.1 Subnet: 255.255.0.0 o 255.255.255.0
Sono valori indicativi; CompactRIO dispone di un proprio indirizzo IP che può essere modificato dopo la
prima connessione direttamente da MAX, nel pannello delle opzioni. È necessario configurare computer e
CompactRIO con indirizzi IP statici e assegnarli ad una medesima rete locale. Se CompactRIO viene avviato con l’interruttore “IP Reset” in posizione ON, le impostazioni dello strumento
(in particolare indirizzo IP e Subnet) vengono azzerate e devono essere modificate durante la prima connessione.
4. Collegare CompactRIO al pc
Dopo aver acceso CompactRIO è possibile connetterlo al pc per iniziare le operazioni di configurazione.
Di seguito verranno illustrati i passaggi da compiere per interfacciare CompactRIO con LabVIEW attraverso MAX (Measurement & Automation Explorer), aggiornare il sistema operativo e i componenti software a bordo
di CompactRIO e realizzare il primo VI.
Queste operazioni possono non essere sempre necessarie: dopo la prima connessione le impostazioni di configurazione impostate vengono mantenute in memoria da CompactRIO e richiamate ad ogni avvio.
Durante l’accensione (e in qualsiasi fase operativa) il led n.° 3 presente sul controller fornisce indicazioni riguardanti lo status del dispositivo secondo le regole riportate in Tab. 1:
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 8 di 24
Tab. 1. Status di CompactRIO
Lampeggi del led Situazione
Lampeggi continui
ogni due secondi circa
CompactRIO non è configurato; usare MAX per le operazioni di configurazione.
2 CompactRIO ha rilevato errori nel software a bordo; questo può verificarsi durante
i tentativi di aggiornamento. Installare nuovamente il software a bordo del
controller.
3 CompactRIO sta operando in modalità “Safe mode”.
4 Si sono verificate due situazioni di crash senza fase di reboot intermedia. Questo
può verificarsi in seguito ad errori di “out of memory”. Controllare l’uso della memoria da parte dei VI in funzione.
Lampeggi continui Si è verificato un errore non ripristinabile. Provare a riavviare CompactRIO o
contattare National Instruments.
Luce fissa La memoria flash a bordo di CompactRIO è corrotta: formattare il drive del
controller.
CompactRIO viene collegato al pc Host tramite cavo Ethernet incrociato; in MAX, nella sezione “Remote
Systems” viene rilevato CompactRIO (Fig. 4).
Fig. 4. Rilevamento CompactRIO in MAX
È possibile visualizzare il software a bordo di CompactRIO, controllare la presenza di aggiornamenti (il
controllo avviene tramite connessione Internet dal pc Host collegato; per aggiornare i moduli software è necessario che la stessa tipologia di modulo, per esempio Real-Time ed FPGA, sia già installata a bordo del
pc Host) e procedere con l’installazione tramite il comando “Add/Remove” nella sezione “Software” (Fig. 5).
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 9 di 24
Fig. 5. Aggiunta e rimozione software a bordo di CompactRIO
Viene visualizzata la lista dell’eventuale software da aggiornare (Fig. 6):
Fig. 6. Software da aggiornare
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 10 di 24
Prima di procedere con l’aggiornamento del software può essere necessario disinstallare i programmi
attualmente presenti a bordo di CompactRIO (Fig. 7):
Fig. 7. Disinstallare il software attualmente installato
Dopo aver selezionato il software da aggiornare vengono proposti eventuali pacchetti aggiuntivi (Fig. 8):
Fig. 8. Software aggiuntivo
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 11 di 24
A questo punto inizia il processo di installazione (Fig. 9):
Fig. 9. Installazione aggiornamenti
Al termine viene visualizzato un messaggio (Fig. 10):
Fig. 10. Installazione conclusa
5. Realizzare un VI in modalità Scan Interface
A questo punto CompactRIO è pronto per essere programmato; creare un nuovo progetto con LabVIEW,
cliccare su “Project” con il tasto destro del mouse e selezionare “New Targets and Devices” (Fig. 11):
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 12 di 24
Fig. 11. Aggiungere CompactRIO ad un progetto
Tra le categorie di strumenti che possono essere aggiunti al progetto selezionare la voce “Real-Time
CompactRIO” (Fig. 12):
Fig. 12. Categoria relativa a CompactRIO
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 13 di 24
Viene avviata la ricerca di dispositivi connessi al computer appartenenti alla categoria selezionata (Fig. 13):
Fig. 13. Ricerca CompactRIO connessi
Selezionare il CompactRIO collegato (Fig. 14):
Fig. 14. Selezione CompactRIO
Viene richiesta la modalità di comunicazione con lo strumento; sono possibili due tipologie di comunicazione
(Fig. 15):
Fig. 15. Modalità di comunicazione tra Host e CompactRIO
All’indirizzo http://zone.ni.com/devzone/cda/tut/p/id/7729 si trova una descrizione approfondita
della modalità “Scan Interface”.
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 14 di 24
Inizialmente selezionare la modalità “Scan Interface”: viene avviata la ricerca dei moduli di acquisizione
collegati al CompactRIO utilizzato (Fig. 16):
Fig. 16. Ricerca moduli I/O collegati a CompactRIO
Questa modalità di comunicazione non supporta tutti i moduli I/O presenti sul mercato; in caso vengano
rilevati moduli non impiegabili con la modalità di comunicazione “Scan Interface” viene visualizzato un messaggio di avviso (Fig. 17):
Fig. 17. Rilevamento moduli non supportati
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 15 di 24
Per completare l’inserimento di CompactRIO nel progetto LabVIEW selezionare l’opzione “Connect” dal menù
contestuale (Fig. 18):
Fig. 18. Connessione del CompactRIO
In seguito ad errori di comunicazione viene visualizzato un avviso con relative proposte di soluzione
(Fig. 20):
Fig. 19. Errori di comunicazione
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 16 di 24
Se la connessione è andata a buon fine, nel progetto si può notare l’accensione di un led vicino a
CompactRIO (Fig. 20):
Fig. 20. Connessione avvenuta
Nel progetto vengono aggiunti tutti i moduli installati in CompactRIO (e correttamente rilevati) e le relative
variabili (Fig. 21):
Fig. 21. Moduli I/O riconosciuti
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 17 di 24
Si può procedere creando un nuovo VI a bordo del pc Host (Fig. 22) o di CompactRIO (Fig. 23):
Fig. 22. Nuovo VI a bordo del dispositivo Host
Fig. 23. Nuovo VI a bordo di CompactRIO
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 18 di 24
Per utilizzare i canali dei moduli I/O installati a bordo di CompactRIO è sufficiente trascinare le variabili
corrispondenti dal progetto al VI (Fig. 24):
Fig. 24. Inserire un canale I/O nel VI
In questo esempio vengono collegati un canale di Analog Output (modulo NI 9264) con un canale di Analog
Input (modulo NI 9205); il Block Diagram del VI è rappresentato in Fig. 25:
Fig. 25. VI a bordo di CompactRIO: Block Diagram
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 19 di 24
Premendo il pulsante “Run” il VI viene scaricato a bordo di CompactRIO e successivamente avviato
(Fig. 26):
Fig. 26. Deploy del VI a bordo di CompactRIO
Il VI di esempio consente di generare un valore di tensione e acquisirla attraverso il canale di input (Fig. 27):
Fig. 27. VI di esempio: generazione e acquisizione tensione
Tramite la modalità di comunicazione “Scan Interface” si ha la possibilità di comunicare in maniera
semplice con i moduli installati a bordo di CompactRIO. Tuttavia le prestazioni in termini di velocità operativa, seppur elevate, sono inferiori a quelle ottenibili programmando direttamente il chip FPGA con la
modalità “LabVIEW FPGA Interface”.
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 20 di 24
6. Realizzare un VI in modalità LabVIEW FPGA Interface
Selezionando la modalità “LabVIEW FPGA Interface” durante la fase di connessione a CompactRIO si ha a
disposizione un maggior numero di funzioni e la possibilità di programmare direttamente il dispositivo FPGA sfruttandone le potenzialità in termini di velocità e prestazioni (Fig. 28).
All’interno del progetto sono disponibili più informazioni relative a CompactRIO e viene esplicitata la presenza del circuito FPGA e dei canali I/O collegati (Fig. 29). Inoltre questa modalità permette di lavorare
con tutte le tipologie di moduli I/O presenti sul mercato:
Fig. 28. Modalità LabVIEW FPGA Interface
Fig. 29. Rilevamento FPGA
Per lavorare con il circuito FPGA è necessario preparare un VI aggiuntivo incaricato di rendere disponibili i
canali I/O agli altri VI; questo passaggio non è richiesto con la modalità “Scan Interface” perché viene realizzato in maniera trasparente all’utente.
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 21 di 24
La possibilità di preparare questo VI di interfaccia con il dispositivo FPGA permette al programmatore di
gestire cicli ad elevata priorità e operazioni di acquisizione o generazione/controllo sfruttando pienamente le elevate frequenze di funzionamento. In Fig. 30 viene mostrata la creazione di un nuovo VI a bordo del
circuito FPGA e il relativo Block Diagram (Fig. 31) ottenuto trascinando i canali disponibili dal progetto al
Block Diagram stesso:
Fig. 30. Nuovo VI a bordo del FPGA
Fig. 31. VI a bordo del FPGA: Block Diagram
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 22 di 24
Da notare:
- i canali di Input e Output che con la modalità “Scan Interface” potevano essere inseriti nel Block Diagram del VI a bordo di CompactRIO o del sistema Host, devono essere specificati tramite questo
VI a bordo del FPGA. La temporizzazione dei cicli a bordo del circuito FPGA determina gli intervalli di
tempo ai quali i singoli dati (e i relativi canali) sono disponibili per gli altri VI; - per programmare il circuito FPGA l’utente deve utilizzare una libreria di comandi introdotta dal
modulo LabVIEW FPGA: si tratta di comandi particolari appositamente preparati.
Una volta avviato, il VI viene scaricato a bordo del FPGA: si avvia il server FPGA (Fig. 32) e la conversione in
formato VHDL; al termine della procedura, che può durare molto tempo a seconda della complessità del VI, viene visualizzato un riassunto delle caratteristiche del VI compilato ed eventuali errori (Fig. 33).
Particolare interesse assume l’indicazione relativa alle tempistiche di funzionamento richieste dal VI compilato e i limiti del dispositivo FPGA installato: se la frequenza di funzionamento del VI è troppo elevata
rispetto alla frequenza operativa del FPGA il programma non è in grado di soddisfare le richieste del programmatore a causa dei limiti hardware.
Fig. 32. Compilazione VI per FPGA
Fig. 33. Riepilogo informazioni riguardanti il VI compilato per FPGA
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 23 di 24
A questo punto il circuito FPGA si occupa dell’interazione con i canali I/O e può essere comandato da VI
esterni, per esempio il VI a bordo di CompactRIO. Come nella modalità “Scan Interface” il programmatore deve realizzare un VI a bordo di CompactRIO o del
pc Host incaricato di comunicare con il VI a bordo del FPGA e operante sui canali I/O in esso specificati.
In Fig. 34 viene visualizzato il Block Diagram del VI a bordo di CompactRIO:
Fig. 34. VI a bordo di CompactRIO: Block Diagram e comunicazione con FPGA
Il VI a bordo di CompactRIO presenta:
a. Un primo blocco di connessione al VI caricato precedentemente a bordo del FPGA (“Open FPGA VI Reference”):
Fig. 35. Open FPGA VI Reference
Questo blocco deve essere configurato per indicare al VI a bordo di CompactRIO o del sistema Host
con quale VI a bordo del FPGA deve interfacciarsi; la procedura di configurazione permette la scelta del codice VHDL compilato nel FPGA:
Introduzione all’utilizzo del
CompactRIO rev. 0.1.0
Autore Gabriele Melani Pagina 24 di 24
Fig. 36. Selezione file compilato a bordo del FPGA
È possibile scegliere un VI precedentemente compilato tramite “FPGA Compile Server” (viene
visualizzata la lista dei VI disponibili) o un file compilato memorizzato sul computer in uso; b. I blocchi “Read/Write Channel” per la lettura o la scrittura di variabili: i canali I/O installati vengono
resi disponibili tramite il VI a bordo del dispositivo FPGA e possono essere letti e scritti come qualsiasi variabile utilizzata in LabVIEW; è possibile collegare ai canali elementi di controllo (costanti,
inserimento numeri, slide, manopole…) ed elementi indicatori (visualizzatori numerici, grafici…);
c. Al termine delle operazioni si consiglia di chiudere il collegamento con il circuito FPGA.
È importante notare che la programmazione avviene secondo le normali regole di LabVIEW, con qualche attenzione particolare richiesta dal dispositivo FPGA. Le abitudini di programmazione possono essere
considerate e impiegate per realizzare VI a bordo di CompactRIO con le stesse modalità seguite per
realizzare un VI a bordo del pc. La comunicazione con i moduli I/O assomiglia ad altre tipologie di comunicazione implementate in LabVIEW
(porta seriale, TCP-IP…): si utilizza un blocco di connessione e avvio della comunicazione, si possono leggere e scrivere variabili e, al termine del ciclo, si inserisce nel VI un blocco per terminare la comunicazione.
Il Front Panel del VI creato a bordo di CompactRIO in modalità “LabVIEW FPGA Interface” coincide con
quello mostrato in Fig. 27.
Tramite la modalità di comunicazione “LabVIEW FPGA Interface” è possibile programmare
direttamente il circuito FPGA; è necessario creare un VI a bordo del FPGA nel quale vengono specificati i canali utilizzati. Questo VI compilato a bordo del FPGA sarà utilizzato dagli altri VI caricati a bordo di
CompactRIO e dei sistemi Host per interfacciarsi con i moduli I/O.
Top Related