Da 9:00 AM - 12:00 PM CDT on Saturday, June 6th saranno effettuati degli aggiornamenti su ni.com che potrebbero provocare una temporanea interruzione dei servizi. Ci scusiamo per l'inconveniente.

Utilizzare NI CompactRIO Scan Mode con NI LabVIEW

Panoramica

Il modulo LabVIEW 8.6 Real-Time Module è dotato di nuove funzionalità per la programmazione dell’hardware CompactRIO in grado di ridurre il tempo di sviluppo e la complessità nonché di fornire uno strumento per il monitoraggio e la manutenzione delle applicazioni CompactRIO. Il CompacRIO è un controller per l’automazione programmable (PAC) ad elevate prestazioni che si contraddistingue per la presenza di un chip FPGA come elemento fondamentale della sua architettura. Ad alto livello, un FPGA è un chip in silicio riprogrammabile. Gli FPGA offrono le prestazioni e l'affidabilità dell’hardware custom mantenendo la flessibilità di un sistema programmabile. Generalmente, l’utilizzo di chip FPGA è stato una prerogativa di progettisti hardware esperti in VHDL; nonostante ciò, LabVIEW consente di sfruttare i vantaggi della programmazione per FPGA senza bisogno di una tale esperienza. LabVIEW è un potente e intuitivo linguaggio di programmazione grafica che integra centinaia di funzioni di controllo, analisi, comunicazione e registrazione. Con LabVIEW è possibile interamente programmare il CompactRIO, come pure il chip FPGA, il processore real-time e la human machine interface (HMI). Utilizzando CompactRIO Scan Mode, la nuova funzione del modulo LabVIEW 8.6 Real-Time Module, è possibile accedere ad ogni modulo di I/O da LabVIEW FPGA, per ottenere la massima flessibilità e prestazioni, oppure direttamente da LabVIEW Real-Time e dalle applicazioni sviluppate sul PC host, senza dover procedere ad alcuna programmazione FPGA. Con CompactRIO Scan Mode si possono inoltre utilizzare pannelli di test e la funzionalità “I/O forcing” per consentire un avvio e un’esecuzione più rapida, un debugging avanzato e maggiori prestazioni del sistema di monitoraggio.

Contenuti

Ridurre il tempo di sviluppo e la complessità

 

Figura 1. CompactRIO Scan Mode fornisce l'accesso agli I/O direttamente da LabVIEW Real-Time e dai VI sviluppate sul PC host senza bisogno di programmazione o compilazione FPGA.

Tradizionalmente l’accesso agli I/O del CompactRIO avveniva tramite la programmazione FPGA e, solo successivamente, utilizzando i VI di interfaccia di LabVIEW FPGA, tramite LabVIEW Real-Time. CompactRIO Scan Mode rileva automaticamente i moduli di I/O e li aggiunge al LabVIEW Project. È possibile trascinare le variabili degli I/O sul proprio diagramma a blocchi del VI in LabVIEW Real-Time e nel PC host in modo da leggere e scrivere istantaneamente i dati scalati e calibrati degli I/O, senza alcuna programmazione e compilazione FPGA (vedi figura 2).

Figura 2. Accesso agli I/O direttamente tramite LabVIEW Real-Time trascinando le variabili degli I/O sul proprio diagramma a blocchi.

Un nuovo componente di LabVIEW Real-Time chiamato NI Scan Engine aggiorna i valori delle variabili di I/O alla frequenza specificata dall’utente (fino a 1 kHz). Tutte le scansioni dei canali sono temporizzati via hardware con sincronizzazione modulo-modulo. È possible configurare lo scan engine dal LabVIEW Project oppure, in maniera programmatica, con una libreria di VI inclusa. Lo scan engine fornisce inoltre una sorgente di temporizzazione timed-loop, in modo da sincronizzare il codice con gli aggiornamenti degli I/O per applicazioni di controllo a jitter ridotto. È possibile creare alias delle variabili di I/O per fornire un ulteriore livello di astrazione dal canale fisico di I/O. Inoltre, la scala lineare è disponibile sulle variabili e alias di I/O.

CompactRIO Scan Mode aggiunge, senza bisogno di programmazione, la funzionalità di contatore, encoder in quadratura e la funzionalità di modulazione di ampiezza di impulso (PWM) a qualsiasi modulo esistente della Serie C a 8 canali. L'utente può configurare queste funzionalità digitali esclusive dal LabVIEW Project, di fatto quest’ultime eseguono sul chip FPGA per permettere una maggiore accuratezza e velocità. Senza la necessità di compilazione è ora possibile effettuare misure di edge counting, ampiezza degli impulsi e frequenza, fino a 1MHZ; nonché effettuare deconding in quadratura e controllo di PWM.

Caratteristiche specifiche del contatore

• 1 MHz continuo su otto canali
• Count register a 32 bit, con terminal count programmabile
• Terminal count configurabile e monitoraggio del comportamento
• Fronte di segnale configurabile (salita, discesa o entrambi), sorgente e gate
• Misura di periodo, PWM e frequenza con timebase configurabile


Caratteristiche specifiche dell’encoder in quadratura

• Frequenza massima di 1 MHz
• Count register a 32 bit
• Registro della velocità di misura a 32-bit
• Timebase della velocità di misura configurabile (256 µs, 512 µs, ... 16384 µs, or 32768 µs)
• Codifica X4
• Due canali a quadratura con input A+B+Index per modulo
• Polarità dell’encoder selezionabile


Caratteristiche specifiche del PWM

• Otto canali di output
• Configurazione per canale del duty-cycle e del periodo
• Periodo di frequenza configurabile (1 Hz, 50 Hz, 250 Hz, 500 Hz, 1 kHz, 5 kHz, 10 kHz, o 20 kHz)

 

Setup, debugging e monitoraggio in modo semplice

NI Distributed System Manager, ulteriore nuova utility di LabVIEW 8.6, fornisce una postazione centralizzata per il monitoraggio di sistemi presenti sulla rete e la gestione dei dati pubblicati. Il nuovo sitema di gestione fornisce pannelli di test per i moduli del CompactRIO utilizzando il CompactRIO Scan Mode. Non appena il sistema è disponibile sulla rete, è possibile accedere ai valori real-time e allo storico dei trend degli I/O, in modo da verificare rapidamente la connessione e l’integrità del segnale. Oltre ai pannelli di test, NI Distributed System Manager consente di monitorare l’utilizzo della memoria e il carico di lavoro per i controller CompactRIO.

Figura 3. Il nuovo NI Distributed System Manager consente di avviare ed eseguire rapidamente il controllo, aggiungendo pannelli di test al CompactRIO.

CompactRIO Scan Mode dispone della funzione di “I/O forcing”; si tratta di uno strumento di debug in grado di sovrascrivere il valore di una variabile di I/O senza arrestare o modificare l’applicazione real-time. È possibile forzare gli input per testare la risposta della propria applicazione senza uno stimolo fisico, nonché forzare il valore di uscita dell’output. È possibile forzare i valori dei canali mediante NI Distributed System Manager o con i nuovi VI I/O forcing.

LabVIEW FPGA e CompactRIO Scan Mode

Con LabVIEW 8.6 Real-Time Module è possibile accedere a ciascun modulo con CompactRIO Scan Mode o con LabVIEW FPGA. LabVIEW FPGA consente di implementare triggering personalizzato, analisi ed elaborazione dei segnali hardware-based oppure streaming analogico ad elevata velocità. Per utilizzare i moduli di I/O in LabVIEW FPGA Mode, basta semplicemente trascinare il modulo sul target FPGA all'interno del LabVIEW Project disabilitando la funzione di scan mode. È così possibile utilizzare LabVIEW FPGA per programmare i moduli e utilizzare le variabili degli I/O per leggere e scrivere gli I/O sui restanti moduli (vedi Figura 4).

Figura 4. Questo VI accede agli I/O con CompactRIO Scan Mode mentre elabora la trasformata di Fourier di un input di accelerazione con LabVIEW FPGA.

Utilizzando LabVIEW FPGA Mode su uno o più moduli, la logica CompactRIO Scan Mode su FPGA, chiamata RIO Scan Interface (RSI), viene compilata con il VI di LabVIEW FPGA in una singola applicazione FPGA. Se nessun modulo è configurato per l'utilizzo dello scan mode, la RIO Scan Interface non viene inclusa nella compilazione.

CompactRIO Scan Mode dall’interno

CompactRIO Scan Mode è potenziato da due tecnologie, la NI Scan Engine e la RIO Scan Interface. RIO Scan Interface è un insieme di FPGA Intellectual property (IP) sviluppato da National Instruments che viene scaricato sul CompactRIO FPGA ed è responsabile delle funzioni di riconoscimento, temporizzazione, sincronizzazione e comunicazione dei moduli di I/O. RIO Scan Interface esegue uno scan loop temporizzato via hardware che aggiorna i valori fisici degli I/O. Due canali DMA vengono utilizzati per trasmettere i dati degli I/O tra FPGA e il sistema operativo real-time. Questa speciale funzionalità digitale predefinita fa parte della RIO Scan Interface. Per maggiori informazioni sulla RIO Scan Interface, consultare la sezione Risorse Correlate, in basso.

NI Scan Engine è un nuovo componente di LabVIEW Real-Time che esegue ad una priorità configurabile che va oltre il time critical o tra il time critical e le strutture temporizzate. Ogni volta che la RIO Scan Interface termina l’ultima scansione degli I/O, LabVIEW aggiunge le variabili degli I/O ad una mappa di memoria globale dello scan engine e contemporaneamente aggiorna i valori di tutti gli I/O. Tuttavia, è possibile configurare ciascun nodo delle variabile di I/O per utilizzare l’accesso tramite scanner e l’accesso diretto. Di default, LabVIEW configura i nodi delle variabili di I/O per l’utilizzo di I/O scanned che impiegano la mappa di memoria dello scan engine per eseguire operazioni di lettura e scrittura di I/O in modalità non-blocking (vedi figura 5). L’accesso diretto agli I/O bypassa la mappa di memoria dello scan engine e comunica direttamente con il driver del dispositivo di I/O per eseguire operazioni di lettura e scrittura degli I/O in modalità blocking (vedi Figura 5). NI Scan Engine pubblica inoltre le variabili di I/O sulla rete, rendendole disponibili per operazioni di lettura e scrittura in applicazioni host, pannelli di test e I/O forcing. È lo scan engine, non il LabVIEW shared variable engine, a gestire la pubblicazione in rete delle variabili di I/O ed è possibile disabilitarlo dalla pagina delle proprietà delle variabili di I/O.

Utilizzando LabVIEW FPGA con CompactRIO Scan Mode (alcuni moduli utilizzano CompactRIO Scan Mode, altri LabVIEW FPGA Mode), la RIO Scan Interface e il VI FPGA vengono compilati in un singolo bitstream e fatto il deploy sul chip FPGA. È possibile accedere ai moduli di I/O tramite LabVIEW FPGA Mode con i VI di interfaccia di FPGA in LabVIEW Real-Time e accedere ai moduli di /IO in scan mode utilizzando le variabili di I/O. Rimuovendo tutti i moduli dallo scan mode, la RIO Scan Interface non viene compilata nel bitstream. Utilizzando lo scan mode lo spazio occupato dalla RIO Scan Interface sull’FPGA diminuisce con il numero di moduli.

Figura 5 CompactRIO Scan Mode dall’interno

Quando bisogna utilizzare CompactRIO Scan Mode?

CompactRIO Scan Mode è progettato per applicazioni che richiedono aggiornamenti di I/O sincroni a frequenze di 1kHz. È possibile utilizzare la speciale funzione digitale offerta dallo scan mode per convertire qualsiasi modulo esistente di I/O digitale a otto canali in un PWM avanzato, contatore, o modulo di encoder di quadratura. Grazie alla funzionalità di I/O forcing e al pannello di test del system manager, è possibile utilizzare lo scan mode per il setup iniziale, il monitoraggio delle prestazioni di sistema e la risoluzione avanzata dei problemi. Per applicazioni che richiedono elevate prestazioni, tipo trasmissione analogica a 1 MHZ, loop di controllo PID a elevata velocità superiori a 1 kHz, analisi ed elaborazione di segnali custom via hardware, oppure moduli di I/O non supportati dallo scan mode, è possibile utilizzare LabVIEW FPGA Module con lo scan mode. È possibile inoltre snellire l’elaborazione dal controller real-time con il modulo LabVIEW FPGA Module.

Lo scan mode viene supportato dai controller con sistema operativo real time (RTOS) VxWorks dotati di chip FPGA da almeno 2M gate, a causa dei requisiti di spazio del RSI FPGA. I controller supportati sono NI 9012, NI 9014, NI 9073, and NI 9074. I backplane supportati includono NI 9103, NI 9104, NI 9073, NI 9074.

L’utilizzo di CompactRIO Scan Mode porta a delle scelte di compromesso in termini di prestazioni. La speciale funzione digitale, ad esempio, è in grado di supportare contatori fino a 1MHz a differenza dei contatori a 20 MHz di LabVIEW FPGA. Lo scan engine utilizza risorse di sistema che includono lo spazio FPGA, due canali DMA, memoria e una quantità di tempo della CPU che scala in proporzione alla frequenza di scan. Utilizzando lo scan mode, lo spazio occupato dalla RIO Scan Interface sull’FPGA diminuisce con il numero di moduli

Conclusione

LabVIEW 8.6 Real-Time Module aggiunge un insieme di potenti funzioni progettate per ridurre il tempo di sviluppo e la complessità di CompactRIO. Grazie a CompactRIO Scan Mode è possibile accedere agli I/O da LabVIEW Real-Time e da applicazioni host senza bisogno di programmazione FPGA pur mantanendo la possibilità di programmare direttamente il chip FPGA per requisiti più specifici. Con NI Distributed System Manager e l’ I/O forcing è possibile disporre di maggiori pannelli di test e funzioni avanzate di debugging sul CompactRIO, semplificando il monitoraggio e la manutenzione di applicazioni CompactRIO.

Altre risorse

C Series Modules Supported by CompactRIO Scan Mode

White Paper: Using the LabVIEW I/O Variable and NI Scan Engine