Negli ultimi 40 anni, sono stati compiuti molti progressi per migliorare l'ambiente di programmazione software per l'interfaccia IEEE-488. Miglioramenti come l'estensione IEEE-448.2 dello standard hanno definito un insieme di comandi di basso livello per strumenti e bus che uno strumento deve supportare per essere conforme. L'industria ha inoltre adottato la standardizzazione dei comandi di programmazione di livello superiore per gli strumenti, noti come Standard Commands for Programmable Instruments (SCPI), che ha portato a un notevole miglioramento nei tempi di sviluppo dei test, nonché a una riduzione dei tempi necessari per la manutenzione del software esistente. Sebbene l'implementazione di SCPI sia ampiamente accettata dai produttori di strumenti, la responsabilità di gran parte della programmazione degli strumenti rimane a carico dell'ingegnere che si occupa dell'automazione.
Gli sforzi per creare un livello di astrazione più elevato per l'automazione degli strumenti hanno portato dapprima a driver proprietari per ambienti di programmazione e successivamente a driver più interoperabili e basati su standard. Gli strumenti odierni eseguono un'ampia varietà di analisi e misurazioni complesse e molti sono progettati per funzionare come applicazioni su un sistema operativo Microsoft. L'infrastruttura .NET di Microsoft consente ai produttori di strumenti di accedere a informazioni molto più approfondite sulle misurazioni senza dover consultare la guida del programmatore SCPI o imparare a usare una suite di driver specifica. L'avvento del software driver per strumenti basato sulla tecnologia Microsoft .NET ha fornito agli ingegneri dell'automazione uno sviluppo più rapido del software di test e un accesso più semplice alle complesse informazioni di misurazione generate dallo strumento.
Questo articolo si propone di illustrare come la tecnologia .NET implementata da un produttore di oscilloscopi nel suo prodotto per il test di conformità dei trasmettitori digitali fornisca informazioni di misurazione a valore aggiunto facilmente accessibili al codice di automazione dei suoi clienti. La tecnologia .NET ha permesso la creazione di un framework comune utilizzato per costruire tutte le sue applicazioni di comunicazione dati conformi, progettate per gestire il test dei trasmettitori digitali rispetto a uno standard specifico. La tecnologia .NET non solo ha aiutato gli sviluppatori interni dei produttori di oscilloscopi, ma ha anche fornito un livello di astrazione molto elevato, consentendo ai clienti di sfruttare l'esecuzione remota e l'automazione lato client. Le misurazioni nell'attuale ecosistema dei dispositivi digitali sono diventate più complesse, man mano che i dispositivi diventano più veloci e piccoli. Fino a poco tempo fa, l'ingegnere dell'automazione era responsabile della creazione degli algoritmi di misurazione necessari per eseguire i test di conformità rispetto a uno standard specifico, come PCI Express, SAS e altri standard di comunicazione dati. Oggi i clienti semplicemente non dispongono del personale di ingegneria del software necessario per stare al passo con i continui cambiamenti degli standard di comunicazione dati. I clienti ora si aspettano che i produttori di oscilloscopi forniscano il software necessario per qualificare un dispositivo come conforme a uno standard specifico.
Nei primi oscilloscopi, gli ingegneri creavano in genere i propri algoritmi per misurare i tempi di salita e discesa dei segnali elettrici. Solo alla fine del XX secolo queste misurazioni sono state integrate nel firmware degli oscilloscopi. Negli anni '90, gli ingegneri si aspettavano che i loro oscilloscopi offrissero funzioni di misurazione di base, come la misurazione del tempo di salita. Nel XXI secolo, i clienti si aspettano che i produttori di oscilloscopi siano in grado di affrontare le sfide di test di specifici standard di comunicazione dati e di fornire una soluzione di misurazione completa, insieme a un facile accesso tramite il proprio codice di automazione. L'offerta di prodotti di un produttore di oscilloscopi deve dimostrare un investimento continuo nelle competenze di misurazione per soddisfare i requisiti degli standard di comunicazione dati attuali e futuri.
Un produttore di oscilloscopi che integra maggiori competenze di misurazione nella propria offerta di prodotti è in genere un membro attivo di organismi di standardizzazione come PCI Express, SATA, JEDEC e USB-IF. La partecipazione attiva a questi standard consente al produttore di contribuire a definire le specifiche di test progettate per garantire l'interoperabilità dei dispositivi compatibili con un particolare standard. Una volta definiti i requisiti di test, il fornitore dell'oscilloscopio può implementare le varie misurazioni definite dallo standard e integrarle nella propria offerta software. Il cliente può quindi accedere a una suite di software di test conforme allo standard, reso possibile dalla tecnologia .NET del fornitore, per verificare la conformità del proprio dispositivo a uno specifico standard di comunicazione dati. Oltre a fornire un'interfaccia grafica intuitiva per il funzionamento dell'oscilloscopio, la piattaforma software dovrebbe anche consentire l'accesso remoto completo. Un fornitore di oscilloscopi che offre pacchetti di test per un'ampia gamma di standard di comunicazione dati aumenta significativamente la produttività del personale tecnico del cliente. Il fornitore dell'oscilloscopio si assume la responsabilità di interpretare le specifiche di test di uno standard e ha il compito di sviluppare il pacchetto software di misurazione e fornire supporto tecnico. Inoltre, il fatto che il fornitore dell'oscilloscopio fornisca il pacchetto software di misurazione consente una migliore correlazione dei dati di test tra i team di ingegneri del cliente e quelli dei suoi clienti finali, sapendo che tutte le parti utilizzano test e algoritmi comuni.
La Figura 1 mostra un esempio di pacchetto software che espone i test disponibili definiti nello standard per la memoria DDR4. Il cliente seleziona i test e le misurazioni di interesse e gli algoritmi appropriati vengono implementati dal software automatizzato del fornitore dell'oscilloscopio. È importante scegliere un fornitore di oscilloscopi che offra coerenza nel suo software di misurazione basato su standard. Un pacchetto software di test DDR4 dovrebbe mantenere la coerenza con quello per PCI Express, aumentando così l'efficienza e la produttività dell'utente finale.
Un pacchetto software completo per l'esecuzione di test secondo uno standard di comunicazione dati dovrebbe produrre dati in un formato facilmente leggibile, come mostrato nell'esempio in Figura 2. Un report HTML che includa screenshot, ove applicabile, di tutti i test eseguiti con informazioni su superamento/fallimento/margine, offre un valore significativo al cliente quando lo condivide con i propri team di ingegneri e con i clienti.
Gli oscilloscopi moderni del XXI secolo sono considerati sistemi di misurazione che includono innovative funzionalità di polling per accedere a segnali non accessibili tramite un cavo RF diretto. I motori algoritmici basati su FPGA, alimentati dall'accesso a linguaggi di crittografia esterni e librerie matematiche, sono necessari per analizzare e produrre molti dei valori di misura richiesti dai moderni dispositivi digitali. Non è importante solo poter accedere ai test desiderati tramite un'interfaccia utente grafica interattiva, come mostrato in Figura 1, ma è altrettanto importante poter eseguire i test dal codice di automazione del cliente. L'ingegnere dell'automazione potrebbe anche dover monitorare gli alimentatori o le telecamere ambientali prima di eseguire un test prescritto, oltre a integrare i dati misurati in un database aziendale. Un fornitore di oscilloscopi in grado di fornire un'interfaccia di automazione integrata per le stesse funzioni esposte nell'interfaccia utente grafica interattiva non solo offre un valore significativo all'ingegnere dell'automazione, ma, soprattutto, consente un
migliore utilizzo delle risorse ingegneristiche dell'azienda. Un framework software basato sulla tecnologia .NET permette all'ingegnere dell'automazione di accedere a tutte le funzioni del software di misurazione del fornitore di oscilloscopi, progettato per uno standard di comunicazione dati. Inoltre, consente agli ingegneri di analizzare eventi di runtime asincroni per integrare l'automazione degli strumenti di supporto, ad esempio rispondendo programmaticamente al messaggio "Modificare la tensione di uscita dell'alimentatore a 1 V e fare clic su 'OK' per continuare". Questi eventi non richiedono più l'intervento manuale, spesso dispendioso in termini di tempo.
Il seguente esempio in Python su come utilizzare una suite .NET può fornire all'ingegnere dell'automazione un livello di astrazione ottimale, senza sovraccaricarlo con i dettagli relativi alla configurazione delle condizioni di test, alla gestione del flusso di test e, infine, alla gestione dei dati misurati. Il motore Common Language Runtime di Microsoft consente di caricare facilmente una suite .NET da diversi linguaggi di programmazione come Visual Basic, C# e C++, nonché da linguaggi di programmazione grafica come VeePro di Keysight e LabWindows e LabVIEW di NI. Inoltre, la tecnologia .NET può essere estesa per coprire un'ampia varietà di attività di automazione, tra cui il controllo di telecamere ambientali, la comunicazione con il dispositivo in fase di test, la commutazione di matrici e, naturalmente, altri strumenti oltre all'oscilloscopio.
import clr
clr.AddReference("Keysight.Infiniium.AppFW.Remote")
from Keysight.Infiniium.AppFW.Remote import *
Necessario per connettere l'oscilloscopio tramite una connessione Ethernet per accedere ai metodi e alle proprietà esposti nei set .NET.
remoteObj = RemoteAteUtilities.GetRemoteAte("192.168.1.107")
remoteApp = IRemoteAte(remoteObj)
L'oggetto denominato remoteApp può ora accedere a tutte le funzioni del pacchetto software di misurazione specifiche per lo standard di comunicazione dati selezionato come se fosse fatto in modo interattivo dall'interfaccia utente grafica del pacchetto di test. Di seguito è riportato il codice che l'ingegnere dell'automazione deve utilizzare per creare un nuovo progetto in modo simile a quanto avviene dall'interfaccia utente grafica del pacchetto software di misurazione tramite File->Nuovo progetto.
remoteApp.NewProject(True)
Il codice seguente recupera le stesse informazioni presentate nella Figura 1 quando si esegue il pacchetto software di misurazione in modalità interattiva. Una volta che l'ingegnere dell'automazione è a conoscenza dei test disponibili, questi possono essere selezionati a livello di programmazione, in modo simile alla selezione di una casella accanto ai nomi dei test nella Figura 1. Infatti, l'interfaccia utente grafica rifletterà ciò che l'ingegnere ha programmato da remoto, il che facilita notevolmente il debug del codice.
myAvailableTests = remoteApp.GetCurrentOptions("TestsInfo")
per ottenere informazioni su myAvailableTests: // Il seguente ciclo for estrae i nomi e gli ID dei test disponibili
myTestName = info.Name
myTestId = info.ID
testToSelect = myAvailableTests[0].ID // Il primo test tra quelli disponibili viene selezionato per l'esecuzione
remoteApp.SelectedTests = [testToSelect]
Il codice seguente esegue il test selezionato e crea il report HTML, come mostrato nella Figura 2. Il file MY_HTML viene creato nella cartella C:\data.
remoteApp.Run()
descriptionHtmlString = 'MY_HTML'
saveResultHtmlOptions = ExportHtmlOptions()
saveResultHtmlOptions.ReportName = descriptionHtmlString
saveResultHtmlOptions.OverwriteExisting = True
saveResultHtmlOptions.BasePath = "C:\data"
remoteApp.ExportResultsHtmlCustom(saveResultHtmlOptions);
Un elemento fondamentale della documentazione per un utilizzo efficiente della suite .NET è un file di aiuto completo e aggiornato fornito dal produttore dell'oscilloscopio. Un estratto del file di aiuto mostrato di seguito definisce le opzioni disponibili durante la creazione di un report HTML. Le opzioni sono implementate nell'esempio Python precedente.
Proprietà di ExportHtmlOptions Interfaccia remota Keysight DigitalTestApps per .NET
Interfaccia remota Versione 3.40
Il tipo ExportHtmlOptions espone i seguenti membri.
Proprietà
Nome e Descrizione
BasePath: Percorso in cui salvare il report. Verrà creata una sottocartella denominata ReportName.
Sovrascrivi esistente: imposta questa proprietà su true per sovrascrivere un report esistente con lo stesso nome nella posizione specificata.
Nome report: nome del report da generare.
Ancora meglio sono gli indicatori integrati nell'interfaccia utente grafica, che rispondono a domande come: "Quale comando di automazione seleziona questa casella di controllo?".
Le aziende non possono più permettersi di dedicare preziose risorse ingegneristiche alla comprensione di tutti i requisiti di test di uno specifico standard di comunicazione dati e poi finanziare lo sviluppo del software necessario per eseguire le misurazioni richieste da tale standard. Una volta che il fornitore dell'oscilloscopio diventa il fornitore del pacchetto software di misurazione per uno specifico standard di comunicazione dati, gli ingegneri del cliente possono concentrarsi più rapidamente sull'ottenimento di informazioni preziose sul loro prodotto dai dati di misurazione generati dal pacchetto software. La possibilità di correlare i dati ottenuti da diversi oscilloscopi utilizzando la stessa versione del pacchetto software di misurazione migliora la produttività del personale tecnico del cliente. I clienti continueranno a rivolgersi ai fornitori di oscilloscopi per ottenere un oscilloscopio come sistema di misurazione che includa soluzioni di connettività con il loro dispositivo, come sonde, pacchetti software di misurazione che supportano diversi standard di comunicazione dati e un elevato livello di astrazione del pacchetto software di misurazione, che consente agli ingegneri dell'automazione di controllare facilmente l'esecuzione del pacchetto software di misurazione dal loro software di automazione interno.
