J.Tech 2017 : Retour d'expérience dans la mise en œuvre de NI TestStand

Par MESULOG · juin 2017

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

Télécharger le PDF Ouvrir dans le navigateur

@ – diapositive 1

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

Sommaire – diapositive 2

 MESULOG en quelques mots

 Origines

 Diversité des réalisations

 Retours d’expérience

 Conclusion

MESULOG en quelques mots

MESULOG en quelques mots – diapositive 3

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

Origines (1) – diapositive 4

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

Origines (2) – diapositive 5

 Test Executive

 Editeur de séquence intégré à l’exécutable  Pas de licence de déploiement !

Origines (3)

Origines (3) – diapositive 6

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

Origines (4) – diapositive 7

 2004 : Banc test SDE pour SODIMAS

 Banc initialement imaginé en LabVIEW

Origines (5)

Origines (5) – diapositive 8

 2004 : Banc test SDE pour SODIMAS

 Un seul StepType d’édition !

Diversité des réalisations (1)

Diversité des réalisations (1) – diapositive 9

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

Diversité des réalisations (2) – diapositive 10

 Bancs multi-UUTS

Process Model : Sequential

Concours d’article NIDays 2009

« instrumentation / test électronique »

Meilleure réalisation

Diversité des réalisations (3)

Diversité des réalisations (3) – diapositive 11

 Bancs multi-UUTS

Process Model : Sequential

Juin 2017

Diversité des réalisations (4)

Diversité des réalisations (4) – diapositive 12

 Bancs multi-UUTS

Process Model : Parallel

Diversité des réalisations (5)

Diversité des réalisations (5) – diapositive 13

 Bancs multi-UUTS

Process Model : Batch

 Positionnement du séquenceur

 Positionnement du séquenceur – diapositive 14

Séquenceur TestStand

Langage

Langage

(ex. LabVIEW)

(ex. LabVIEW)

Séquenceur Test Executive

 Principes fondamentaux

 Principes fondamentaux – diapositive 15

 « 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

 Mise en place de niveaux d’abstractions – diapositive 16

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)

 Utilisation de CST (Custom Step Types) – diapositive 17

 Edition

 Meilleure lisibilité de la séquence de test

 Créer des palettes orientées métier

 Créer des palettes orientées métier – diapositive 18

Démo

 High-Level CSTs

 High-Level CSTs – diapositive 19

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

 Rôle de l’interface opérateur – diapositive 20

 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

 Développement de l’interface opérateur – diapositive 21

 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

 Autotest – diapositive 22

 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

 Mode manuel – diapositive 23

 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

 Organisation du code – diapositive 24

 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

 Déploiement et mises à jour – diapositive 25

 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

 Passage en run-time – diapositive 26

 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

Conclusion – diapositive 27

 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

Ressources – diapositive 28

 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

Questions – diapositive 29