SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Introduzione
                                          all’utilizzo del
                                           CompactRIO
                                              rev. 0.1.0




            Introduzione all’utilizzo
            di NI CompactRIO
            Redatto da: Gabriele Melani




Autore Gabriele Melani                               Pagina   1 di 24
Introduzione
                                                                                                         all’utilizzo del
                                                                                                          CompactRIO
                                                                                                                rev. 0.1.0



                                                               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




Autore Gabriele Melani                                                                                                  Pagina    2 di 24
Introduzione
                                                                                       all’utilizzo del
                                                                                        CompactRIO
                                                                                             rev. 0.1.0


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




Autore Gabriele Melani                                                                              Pagina   3 di 24
Introduzione
                                                                                       all’utilizzo del
                                                                                        CompactRIO
                                                                                             rev. 0.1.0


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…




Autore Gabriele Melani                                                                              Pagina   4 di 24
Introduzione
                                                                                  all’utilizzo del
                                                                                   CompactRIO
                                                                                       rev. 0.1.0




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




Autore Gabriele Melani                                                                        Pagina   5 di 24
Introduzione
                                                                                  all’utilizzo del
                                                                                   CompactRIO
                                                                                       rev. 0.1.0




                                   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.




Autore Gabriele Melani                                                                        Pagina   6 di 24
Introduzione
                                                                                      all’utilizzo del
                                                                                       CompactRIO
                                                                                            rev. 0.1.0




                                      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:


Autore Gabriele Melani                                                                             Pagina   7 di 24
Introduzione
                                                                                   all’utilizzo del
                                                                                    CompactRIO
                                                                                         rev. 0.1.0

                                       Tab. 1. Status di CompactRIO

 Lampeggi del led                                            Situazione

  Lampeggi continui      CompactRIO non è configurato; usare MAX per le operazioni di configurazione.
ogni due secondi circa

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




Autore Gabriele Melani                                                                          Pagina   8 di 24
Introduzione
                                                                                 all’utilizzo del
                                                                                  CompactRIO
                                                                                       rev. 0.1.0




                         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




Autore Gabriele Melani                                                                        Pagina   9 di 24
Introduzione
                                                                                        all’utilizzo del
                                                                                         CompactRIO
                                                                                            rev. 0.1.0

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




Autore Gabriele Melani                                                                           Pagina   10 di 24
Introduzione
                                                                                all’utilizzo del
                                                                                 CompactRIO
                                                                                     rev. 0.1.0

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




Autore Gabriele Melani                                                                    Pagina   11 di 24
Introduzione
                                                                                  all’utilizzo del
                                                                                   CompactRIO
                                                                                       rev. 0.1.0




                              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




Autore Gabriele Melani                                                                      Pagina   12 di 24
Introduzione
                                                                                     all’utilizzo del
                                                                                      CompactRIO
                                                                                           rev. 0.1.0

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



Autore Gabriele Melani                                                                          Pagina   13 di 24
Introduzione
                                                                                    all’utilizzo del
                                                                                     CompactRIO
                                                                                          rev. 0.1.0

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




Autore Gabriele Melani                                                                         Pagina   14 di 24
Introduzione
                                                                                   all’utilizzo del
                                                                                    CompactRIO
                                                                                         rev. 0.1.0

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


Autore Gabriele Melani                                                                        Pagina    15 di 24
Introduzione
                                                                                     all’utilizzo del
                                                                                      CompactRIO
                                                                                          rev. 0.1.0

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




Autore Gabriele Melani                                                                         Pagina   16 di 24
Introduzione
                                                                                all’utilizzo del
                                                                                 CompactRIO
                                                                                     rev. 0.1.0

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




Autore Gabriele Melani                                                                    Pagina   17 di 24
Introduzione
                                                                                       all’utilizzo del
                                                                                        CompactRIO
                                                                                             rev. 0.1.0

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




Autore Gabriele Melani                                                                            Pagina   18 di 24
Introduzione
                                                                                     all’utilizzo del
                                                                                      CompactRIO
                                                                                           rev. 0.1.0

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


Autore Gabriele Melani                                                                          Pagina   19 di 24
Introduzione
                                                                                     all’utilizzo del
                                                                                      CompactRIO
                                                                                          rev. 0.1.0


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.


Autore Gabriele Melani                                                                         Pagina   20 di 24
Introduzione
                                                                                    all’utilizzo del
                                                                                     CompactRIO
                                                                                          rev. 0.1.0

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




Autore Gabriele Melani                                                                         Pagina   21 di 24
Introduzione
                                                                                     all’utilizzo del
                                                                                      CompactRIO
                                                                                          rev. 0.1.0

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


Autore Gabriele Melani                                                                         Pagina   22 di 24
Introduzione
                                                                                 all’utilizzo del
                                                                                  CompactRIO
                                                                                       rev. 0.1.0

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:




Autore Gabriele Melani                                                                      Pagina   23 di 24
Introduzione
                                                                                      all’utilizzo del
                                                                                       CompactRIO
                                                                                            rev. 0.1.0




                               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.




Autore Gabriele Melani                                                                           Pagina   24 di 24

Contenu connexe

Similaire à Introduzione all'utilizzo del compact rio

Cloud Computing e Modelli di Business
Cloud Computing e Modelli di Business Cloud Computing e Modelli di Business
Cloud Computing e Modelli di Business Andrea Cavicchini
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerAlessandro Mascherin
 
Il mercato degli strumenti Web per il supporto alle Reti di Innovazione
Il mercato degli strumenti Web per il supporto alle Reti di Innovazione Il mercato degli strumenti Web per il supporto alle Reti di Innovazione
Il mercato degli strumenti Web per il supporto alle Reti di Innovazione Nicola Cerami
 
Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...
Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...
Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...MassimoPalmisano
 
Il modello di Cloud della PA
Il modello di Cloud della PAIl modello di Cloud della PA
Il modello di Cloud della PAMassimo Talia
 
Aiscon Presentazione Sistema Scada
Aiscon   Presentazione Sistema ScadaAiscon   Presentazione Sistema Scada
Aiscon Presentazione Sistema ScadaEdoardo Cappi
 
Relazione Progetto cRio
Relazione Progetto cRioRelazione Progetto cRio
Relazione Progetto cRioDario Mazza
 
Digitalizzazione di un processo industriale
Digitalizzazione di un processo industrialeDigitalizzazione di un processo industriale
Digitalizzazione di un processo industrialeGiulioDeBiasio2
 
UTILIZZO DELLE TECNOLOGIE VIRTUAL SERVER PER LA MIGRAZIONE DI SERVER DI PRODU...
UTILIZZO DELLE TECNOLOGIE VIRTUAL SERVER PER LA MIGRAZIONE DI SERVER DI PRODU...UTILIZZO DELLE TECNOLOGIE VIRTUAL SERVER PER LA MIGRAZIONE DI SERVER DI PRODU...
UTILIZZO DELLE TECNOLOGIE VIRTUAL SERVER PER LA MIGRAZIONE DI SERVER DI PRODU...guest9c49851
 
Sviluppo di un hub di comunicazione in un applicazione per porti con Biztalk ...
Sviluppo di un hub di comunicazione in un applicazione per porti con Biztalk ...Sviluppo di un hub di comunicazione in un applicazione per porti con Biztalk ...
Sviluppo di un hub di comunicazione in un applicazione per porti con Biztalk ...gwalter85
 
Sistemi domotici integrati per la gestione intelligente d’ambiente
Sistemi domotici integrati per la gestione intelligente d’ambienteSistemi domotici integrati per la gestione intelligente d’ambiente
Sistemi domotici integrati per la gestione intelligente d’ambientefreedomotic
 
Latest Issue of OMET Archipelago Digital Magazine for the Tissue sector
Latest Issue of OMET Archipelago Digital Magazine for the Tissue sectorLatest Issue of OMET Archipelago Digital Magazine for the Tissue sector
Latest Issue of OMET Archipelago Digital Magazine for the Tissue sectorRaffaella Comunetti
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGiacomoZorzin
 

Similaire à Introduzione all'utilizzo del compact rio (20)

Tesi Todone
Tesi TodoneTesi Todone
Tesi Todone
 
Cloud Computing e Modelli di Business
Cloud Computing e Modelli di Business Cloud Computing e Modelli di Business
Cloud Computing e Modelli di Business
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computer
 
Il mercato degli strumenti Web per il supporto alle Reti di Innovazione
Il mercato degli strumenti Web per il supporto alle Reti di Innovazione Il mercato degli strumenti Web per il supporto alle Reti di Innovazione
Il mercato degli strumenti Web per il supporto alle Reti di Innovazione
 
Manuale sicurnet
Manuale sicurnetManuale sicurnet
Manuale sicurnet
 
Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...
Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...
Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...
 
Il modello di Cloud della PA
Il modello di Cloud della PAIl modello di Cloud della PA
Il modello di Cloud della PA
 
Aiscon Presentazione Sistema Scada
Aiscon   Presentazione Sistema ScadaAiscon   Presentazione Sistema Scada
Aiscon Presentazione Sistema Scada
 
Relazione Progetto cRIO
Relazione Progetto cRIORelazione Progetto cRIO
Relazione Progetto cRIO
 
Relazione Progetto cRio
Relazione Progetto cRioRelazione Progetto cRio
Relazione Progetto cRio
 
BACnet: il protocollo per gestire il tuo edificio in un'unica piattaforma
BACnet: il protocollo per gestire il tuo edificio in un'unica piattaformaBACnet: il protocollo per gestire il tuo edificio in un'unica piattaforma
BACnet: il protocollo per gestire il tuo edificio in un'unica piattaforma
 
Digitalizzazione di un processo industriale
Digitalizzazione di un processo industrialeDigitalizzazione di un processo industriale
Digitalizzazione di un processo industriale
 
UTILIZZO DELLE TECNOLOGIE VIRTUAL SERVER PER LA MIGRAZIONE DI SERVER DI PRODU...
UTILIZZO DELLE TECNOLOGIE VIRTUAL SERVER PER LA MIGRAZIONE DI SERVER DI PRODU...UTILIZZO DELLE TECNOLOGIE VIRTUAL SERVER PER LA MIGRAZIONE DI SERVER DI PRODU...
UTILIZZO DELLE TECNOLOGIE VIRTUAL SERVER PER LA MIGRAZIONE DI SERVER DI PRODU...
 
Tesi Tamiazzo09
Tesi Tamiazzo09Tesi Tamiazzo09
Tesi Tamiazzo09
 
Esperienze di gestione del sw lifecycle in Telecom Italia
Esperienze di gestione del sw lifecycle in Telecom ItaliaEsperienze di gestione del sw lifecycle in Telecom Italia
Esperienze di gestione del sw lifecycle in Telecom Italia
 
Sviluppo di un hub di comunicazione in un applicazione per porti con Biztalk ...
Sviluppo di un hub di comunicazione in un applicazione per porti con Biztalk ...Sviluppo di un hub di comunicazione in un applicazione per porti con Biztalk ...
Sviluppo di un hub di comunicazione in un applicazione per porti con Biztalk ...
 
Algoritmo di Dijkstra
Algoritmo di DijkstraAlgoritmo di Dijkstra
Algoritmo di Dijkstra
 
Sistemi domotici integrati per la gestione intelligente d’ambiente
Sistemi domotici integrati per la gestione intelligente d’ambienteSistemi domotici integrati per la gestione intelligente d’ambiente
Sistemi domotici integrati per la gestione intelligente d’ambiente
 
Latest Issue of OMET Archipelago Digital Magazine for the Tissue sector
Latest Issue of OMET Archipelago Digital Magazine for the Tissue sectorLatest Issue of OMET Archipelago Digital Magazine for the Tissue sector
Latest Issue of OMET Archipelago Digital Magazine for the Tissue sector
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptx
 

Introduzione all'utilizzo del compact rio

  • 1. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 Introduzione all’utilizzo di NI CompactRIO Redatto da: Gabriele Melani Autore Gabriele Melani Pagina 1 di 24
  • 2. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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 Autore Gabriele Melani Pagina 2 di 24
  • 3. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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 Autore Gabriele Melani Pagina 3 di 24
  • 4. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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… Autore Gabriele Melani Pagina 4 di 24
  • 5. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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). Autore Gabriele Melani Pagina 5 di 24
  • 6. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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. Autore Gabriele Melani Pagina 6 di 24
  • 7. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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: Autore Gabriele Melani Pagina 7 di 24
  • 8. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 Tab. 1. Status di CompactRIO Lampeggi del led Situazione Lampeggi continui CompactRIO non è configurato; usare MAX per le operazioni di configurazione. ogni due secondi circa 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). Autore Gabriele Melani Pagina 8 di 24
  • 9. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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 Autore Gabriele Melani Pagina 9 di 24
  • 10. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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 Autore Gabriele Melani Pagina 10 di 24
  • 11. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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): Autore Gabriele Melani Pagina 11 di 24
  • 12. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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 Autore Gabriele Melani Pagina 12 di 24
  • 13. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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”. Autore Gabriele Melani Pagina 13 di 24
  • 14. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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 Autore Gabriele Melani Pagina 14 di 24
  • 15. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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 Autore Gabriele Melani Pagina 15 di 24
  • 16. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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 Autore Gabriele Melani Pagina 16 di 24
  • 17. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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 Autore Gabriele Melani Pagina 17 di 24
  • 18. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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 Autore Gabriele Melani Pagina 18 di 24
  • 19. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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”. Autore Gabriele Melani Pagina 19 di 24
  • 20. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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. Autore Gabriele Melani Pagina 20 di 24
  • 21. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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 Autore Gabriele Melani Pagina 21 di 24
  • 22. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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 Autore Gabriele Melani Pagina 22 di 24
  • 23. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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: Autore Gabriele Melani Pagina 23 di 24
  • 24. Introduzione all’utilizzo del CompactRIO rev. 0.1.0 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. Autore Gabriele Melani Pagina 24 di 24