martedì 31 marzo 2020

NI TestStand™ - A cosa serve? Breve panoramica!

Logo NI National Instruments™
 "TestStand è un ambiente di gestione di test avanzato e pronto all'uso che ti permette di sviluppare rapidamente sistemi di test automatizzati e di validazione."
Logo NI TestStand™

  • Introduzione
  • Introduzione a NI TestStand™
  • Panoramica dell'editor NI TestStand™
  • Integrare  NI TestStand™ nei sistemi aziendali
  • La GUI per gli opertori di produzione
  • Conclusioni

Introduzione

La realizzazione di un prodotto ad alto contenuto tecnologico, come ad esempio un apparato per telecomunicazione, spesso impiega vari team per la progettazione. Ogni team potrebbe anche lavorare in un continente diverso e potrebbe utilizzare diversi tools per la validazione del progetto e il raggiungimento dell'obbiettivo: verificare che il prodotto funziona secondo le specifiche. Chi ha validato il prodotto ha probabilmente usato routine scritte in Python, chi invece ha usato librerie scritte in C#,  chi LabVIEW, ognuno il suo strumento preferito insomma! Dopo i primi prototipi si avvicina il momento di andare in produzione e vendere al mercato prodotti che rispettano i requisiti di progettazione e di fabbrica. A questo punto, ma anche prima volendo, entra in gioco TestStand di National Instruments™ , che può riutilizzare i lavori di validazione dei vari teams di progettazione e inserirli in un unico motore semplice ed automatico ideale per la fabbrica. Vediamo perché..!



Introduzione a NI TestStand 

"TestStand è un software per la gestione di test pronto all'uso che ti permette di sviluppare rapidamente sistemi di test e validazione automatizzati. Puoi utilizzare TestStand per lo sviluppo e la replica di sequenze di test. NI TestStand permette di sviluppare sequenze di test che integrano moduli di codice scritti in qualunque linguaggio di programmazione. TestStand dispone di plug-in per la generazione di report, data-logging su database e la connettività ad altri sistemi aziendali. TestStand ti permette di sviluppare, gestire ed eseguire sequenze di test scritte in qualsiasi linguaggio di programmazione."
Nella versione 2019 gli adapter integrati, che permettono di poter utilizzare "qualunque linguaggio di programmazione", sono disponibili per LabVIEW, LabWindows/CVI, C/C++ DLL, .NET (quindi C#, Visual Basic .NET, J#, e tutti quelli del framework .NET), ActiveX/COM, Python.


Davvero un'ampia scelta direi ma se devo essere proprio critico manca un adapter nativo e user friendly per MATLAB®GNU Octave.

La directory pubblica di NI TestStand™  è ricca di esempi e progetti demo realizzati con i vari adapter. In questo modo è facile capire come poterli utilizzare. 

TestStand non è un linguaggio di programmazione ma dispone comunque di vari step per le scelte condizionali (If, Else, Else if), per i loop, i cicli le iterazioni (For, For Each, While, Do While) e funzioni base per lavorare e manipolare tipi di dati come gli Array, i Numeri, le Stringhe. 

Per l'elaborazione dei numeri sono disponibili alcune funzioni, una ventina, come Abs(), Max(), Min(), Round(), Log(). Se hai bisogno di fare un calcolo scientifico occorre ricorrere all'aiuto di veri linguaggi di programmazione attraverso gli adapter e le librerie matematiche specifiche di ogni linguaggio. Ad esempio C# con Math.NET Numerics, Python con Numpy e così via. 





Panoramica dell'editor NI TestStand™

TestStand è un editor di alto livello e chi proviene dalla "programmazione classica" deve adattarsi al nuovo ambiente di sviluppo:


Nel mio layout ci sono sulla sinistra le Sequences  che volendole rapportare ad un linguaggio di programmazione potremmo definirle funzioni, routine o metodi di una classe.

A destra ci sono le Variables suddivise in base allo scope o visibilità ed facile intuire che:
  • le variabili in Parameters sono i parametri di IN/OUT di ogni singola funzione
  • le variabili in Locals sono visibili a livello di funzione locale 
  • le variabili in FileGlobals sono visibili a tutto il file, nel mio caso MainSequence.seq, e quindi a tutte le funzioni / sequenze del file stesso
  • le variabili in StationGlobals sono visibili a tutti i files .seq da cui è composto l'intero progetto
Nel riquadro al centro c'è il "Main" dove poter inserire ogni step da eseguire in sequenza. Da notare le tre sezioni Setup, Main, Cleanup.

Nella parte inferiore  ci sono i "Settings" dove poter definire ogni singola proprietà di ogni singolo step.

Le sequenze o meglio i file.seq vengono salvati di default in formato binario. Questa cosa impedisce l'utilizzo di tools esterni per visualizzare le differenze tra i vari rilasci e/o modifiche ma naturalmente l'ambiente mette a disposizione un tool proprietario TestStand File Diff/Merge che svolge questo importante compito:


Nell'esempio è stato aggiunto un loop, un'autoripetizione in caso di fail, per la misura Battery Voltage Test. Il tool di National, richiamabile dal menu Edit compara i due files, uno dei due files l'ho brutalmente versionato con V2, e visualizza le differenze correttamente.




Integrare  NI TestStand™ nei sistemi aziendali

Nelle aziende strutturate e con un sistema informatizzato che gestisce il ciclo produttivo, inevitabilmente ogni fase produttiva interagisce con il "Manufacturing Execution System"  per lo scambio di informazioni e per tenere sotto controllo l'intero processo produttivo. E' di fondamentale importanza quindi l'integrazione nel sistema aziendale e a tal proposito NI TestStand™ ci viene incontro per esempio con le "Callbacks".   

Per ogni file.seq NI TestStand™ mette a disposizione delle specifiche "Callbacks" che vanno a modificare il comportamento standard di una determinata operazione in modo da adattarla e personalizzarla e quindi anche per poter interagire con il sistema aziendale.
 

Facciamo due esempi per capire come NI TestStand™ può interagire e sfruttare il FlowControl aziendale e come è possibile adattare il TestReport agli standard aziendali.

La PreUUT ad esempio visualizza una dialog box dove l'operatore immette il Serial Number che identifica il device da testare. Si potrebbe pensare di "estendere" il suo comportamento richiamandola e modificandola in modo da controllare che il formato del Serial Number è conforme allo standard aziendale. Dalla stessa sequenza poi si potrebbe comunicare con il sistema aziendale e chiedere: ciao sono il Serial Number 123, vorrei fare un giro di test alla stazione ABC, posso? Il MES dà il via libera e il collaudo automatico viene eseguito. Questo processo descritto molto semplicemente è uno dei modi in cui si possono sfruttare le callback per interagire con il FlowControl aziendale.

Benchè NI TestStand™ abbia un potente Result Processing e quindi la possibilità di generare vari tipi di report, in formato .xml, o recordset per Sql Server, MySql, Access, Oracle, si può sempre adattare ulteriormente questa fase richiamando la callback TestReport e scrivere il test report nel formato più adatto alle nostre esigenze.





La GUI per gli operatori di produzione

Insieme all'ambiente di sviluppo viene fornito anche un'interfaccia utente pronta all'uso con i relativi source code. Ecco un esempio di come si presenta. Nella parte centrale i vari test eseguiti sul device under test ed il risultato della singola misura. C'è anche un tab che riporta il test report completo a fine collaudo. Nella parte inferiore vengono visualizzate le variabili e varie informazioni circa la sequenza corrente per tenere sotto controllo l'intero processo di collaudo.



Conclusioni

NI TestStand™ è davvero uno strumento potente e bisogna conoscerlo in modo accurato per poter sfruttare, in modo professionale, tutte le sue potenzialità.

Voglio concludere facendo degli accenni a caratteristiche che non possono non essere menzionate:

  • E' possibile eseguire test in parallelo
  • Ci sono vari tipi di loop per le autoripetizioni  
  • Ha un potente strumento di debug step by step    
  • Disponibilità dei source code delle GUI 
  • Ha un tool per la gestione utenti 
  • Integrazione con programmi per il source control
  • Tool per il deployment della stazione di collaudo 
Insomma un ambiente completo di tutto, studiato e creato dagli specialisti del settore National Instruments™ 




Riferimenti


This badge was issued to Luigi D'Alessio on 

Nessun commento:

Posta un commento