Document original : J.Tech 2017 : Retour d'expérience dans la mise en œuvre de NI TestStand (PDF, 2,4 Mo, 29 pages)

Juin 2017
@
Techniques utilisées et retour d’expérience
dans la mise en œuvre de TestStand
depuis plus de 16 ans
Jean-Louis Schricke
MESULOG
Sommaire

MESULOG en quelques mots
Origines
Diversité des réalisations
Retours d’expérience
Conclusion
MESULOG en quelques mots

SARL créée en 2000, proximité Grenoble
Développement logiciel sur plateforme NI
Partenaire de National Instruments depuis 17 ans
Prestation au forfait ou assistance
7 ingénieurs et 1 technicien
100% développeurs certifiés
3 architectes TestStand (5 en France) 4 développeurs TestStand (29 en France) 6 architectes LabVIEW (47 en France)
Origines (1)

2000 : Banc TFT-Test pour THALES LCD
Introduction d’un séquenceur dans une application LabVIEW LabVIEW 5.1 + Test Executive UUT : dalle comprenant de nombreux écrans LCD Grande diversité de produits Pilotage d’un prober Electronique spécifique Code modules externes
et paramétrables
Origines (2)

Test Executive
Editeur de séquence intégré à l’exécutable Pas de licence de déploiement !
Origines (3)

2001 : Banc caractérisation IC pour ATMEL
TestStand 2.0
+ LabVIEW 6.0
Liaison bidirectionnelle
avec MS Excel 2000
Interchangeabilité du
pilotage de 19 instruments dans 8 classes
Origines (4)

2004 : Banc test SDE pour SODIMAS
Banc initialement imaginé en LabVIEW
Origines (5)

2004 : Banc test SDE pour SODIMAS
Un seul StepType d’édition !
Diversité des réalisations (1)

Bancs réalisés par MESULOG
30 bancs TestStand réalisés en 16 ans : Taille entre 40h et 1000h, moyenne ~300h
Support et assistance
Architecture et support sur une dizaine d’autres bancs
Diversité des réalisations (2)

Bancs multi-UUTS
Process Model : Sequential
Concours d’article NIDays 2009
« instrumentation / test électronique »
Meilleure réalisation
Diversité des réalisations (3)

Bancs multi-UUTS
Process Model : Sequential
Juin 2017
Diversité des réalisations (4)

Bancs multi-UUTS
Process Model : Parallel
Diversité des réalisations (5)

Bancs multi-UUTS
Process Model : Batch
Positionnement du séquenceur

Séquenceur TestStand
Langage
Langage
(ex. LabVIEW)
(ex. LabVIEW)
Séquenceur Test Executive
Principes fondamentaux

« Coller » aux principes de TestStand
Minimiser les modifications du Process Model Callbacks Ne pas « réinventer » le fichier SEQ utiliser SeqEdit
Distinguer la stratégie de test du code bas niveau Penser « modularité » et « capitalisation » Exploiter les fonctionnalités natives
Setup / Cleanup Privilèges utilisateurs Results logging Multi-thread, multi-execution Multilingue
Mise en place de niveaux d’abstractions

Séquence de test
Dépendant du produit
Fonctions unitaires
Mesure
MAL (Measurement Abstraction Layer)
Fonctions unitaires Instrumentation
HAL (Hardware Abstraction Layer)
Instruments
Utilisation de CST (Custom Step Types)

Edition
Meilleure lisibilité de la séquence de test
Créer des palettes orientées métier

Démo
High-Level CSTs

High Level
Custom Step Type
TestStand
Low Level
Custom Step Type
LabVIEW
Driver
TestStand Idea Exchange : Sequence adapter available for substeps
Rôle de l’interface opérateur

Sélection de la référence (et/ou séquence) à tester Visualiser le contenu des variables internes TestStand Eviter la communication avec le matériel Utiliser les points d’entrée de configuration (menus) Doit permettre le debug avec SeqEdit
Editeur séquences
Interface opérateur
TestStand API
TestStand Engine (Server)
Développement de l’interface opérateur

A partir de l’exemple « Full Feature » Langage préféré : LabVIEW
Utilisation de XControls Utilisation de Sub-panels
Visualisation du contenu de l’exécution
Shared Variable Engine
Interface Opérateur
Interface Opérateur
UIMessage
Moteur TestStand
(Serveur ActiveX et API)
Moteur TestStand
(Serveur ActiveX et API)
Sequence
Sequence
Autotest

Test de la connectivité des équipements (ProcessSetup)
Vérification, calibration
Nécessite éventuellement un dispositif spécifique Intégration aisée dans un menu TestStand
Mode manuel

Pilotage instruments du banc Idéalement réutilisation du HAL (TestStand) Garantir un fonctionnement similaire au mode automatisé Comment déclencher l’exécution d’une sous-séquence avec
passage de paramètres depuis l’interface opérateur ?
Organisation du code

Dissocier ce qui est générique de ce qui est dépendant du produit Autrefois :
Generic Specific
Désormais :
Framework (cycle de vie lent) { Instruments } Products (cycle de vie court)
Déploiement et mises à jour

Création d’une distribution avec l’ensemble des dépendances ? Installation outils de développement avec licence non activée ? Création installeurs complet (avec run-times) ? Déploiement via un SCC (par ex. SVN) ? Comment ne pas écraser la configuration locale du banc ?
Recommandations
Eviter installeur complet trop lourd à mettre à jour et à diffuser Avoir au moins un banc avec le code source Privilégier le déploiement via SCC pour la partie « Products » Ajouter les versions de Framework et Products dans le rapport
Passage en run-time

Nécessaire pour minimiser le coût des licences Utiliser les CST en mode run-time (si utilisation LabVIEW) Privilégier la bascule au niveau de l’adapter LabVIEW Attention aux VIs appelés à la fois dans l’interface opérateur
LabVIEW dans un module de code
Gestion trace
Pensez à mettre l’appel de sous-séquence en « Disable Tracing »
Log des résultats
Cochez « Disable Result Recording » dans les sous-séquences
possédant une boucle
Conclusion

NI TestStand est un outil puissant que l’on peut adapter
à chaque besoin en test automatisé
N’hésitez pas à faire appel à des partenaires NI…
Ressources

Sur ni.com
Présentation TestStand : www.ni.com/teststand Produits partenaires : www.ni.com/teststand/partner.htm “NI TestStand Advanced Architecture Series” What's New in NI TestStand 2016
Sur mesulog.fr
NIDays 2006 : TestStand et LabVIEW, une association idéale pour l'automatisation de vos tests NIDays 2008 : Bâtir un projet sous TestStand : Architectures et méthodologies NIDays 2009 : NI TestStand et LabVIEW valident les commutateurs RF chez Radiall NIDays 2009 : Guide de programmation avancée NI TestStand - conseils et recommandations NIDays 2010 : Présentation NI TestStand NIDays 2011 : Introduction au séquenceur de test NI TestStand et exemple d'utilisation chez
RADIALL pour le test de commutateurs HF spatialisés
NIDays 2013 : Cas concrets d'utilisation de NI TestStand en R&D, production et maintenance NIDays 2015 : Test automatique enjeux et solutions, mise en œuvre avec NI TestStand
Questions



