Document original : NIDays 2013 : Cas concrets d'utilisation de NI TestStand en R&D, production et maintenance (PDF, 2,2 Mo, 35 pages)

Cas concrets d’utilisation de NI TestStand
en R&D, production et maintenance
Principes d'architecture et phases de mise en œuvre
Sommaire

TestStand : Vue d’ensemble
TestStand : Critères de choix
Cas concrets
Principes d’architecture
Phases de mise en œuvre
Conclusion
TestStand : Vue d’ensemble (1)

Exigences communes en test automatisé
Architecture de test ouverte et flexible Ne pas redévelopper le noyau d’exécution Réutilisation de code Maintenance simplifiée Réduction des temps de développement Système performant
TestStand : Vue d’ensemble (2)

Composants d’un système de test
Opérations différentes pour chaque unité à tester :
Opérations répétées pour chaque unité à tester :
- Calibration
- Configuration
- Acquisition
- Mesures
- Analyse
- Stratégie de test
- Interface opérateur
- Gestion utilisateur
- Suivi unité sous test
- Flux d’exécution
- Résultats d’archivage
- Rapports de test
TestStand : Vue d’ensemble (3)

Architecture générale
Editeur
séquences
Interface opérateur * Facultatif
TestStand API
TestStand Engine (Server)
GPIB/Serial and VXI
Data
Modular Instrument. Motion
PXI
Distributed
Acquisition Vision
I/O PLCs
TestStand : Vue d’ensemble (4)

Composants
Éditeur
Interface opérateur
de séquences
Bien plus qu’un simple séquenceur…
API NI TestStand
Moteur NI TestStand
Mémoire &
DB
variables partagées
Rapports
Propriétés Étape 1
Propriétés Étape 2
Propriétés Étape 3
Propriétés Étape 4
Propriétés Étape 5
Test Module Étape 1
Test Module Étape 2
Test Module Étape 3
Test Module Étape 4
Test Module Étape 5
Exécution
Modèles de processus
Séquentiel Parallèle par Lot
TestStand : Vue d’ensemble (5)

Composants visibles
Editeur de séquences + Outils
API TestStand
TestStand : Vue d’ensemble (6)

TestStand add-ons
Test Program Set Wizard Distributed Data Management Display & Video Test Boundary Scan Switch Management Configuration Management Requirements Management Functional Test Systems Statistical Analysis Semiconductor
Characterization Analysis
…
TestStand : Critères de choix (1)

Alternatives à NI TestStand
Coder la séquence de test dans l’application du banc
LabVIEW LabWindows/CVI .NET
Utiliser un langage permettant le scripting
Python Ruby
Le choix d’un séquenceur de test s’impose :
si la séquence de test dépend du produit à tester si la séquence de test doit évoluer
TestStand : Critères de choix (2)

Les avantages de TestStand
Modularité qui facilite le « re-use » Evolutivité et pérennité Formalisme structurant, gestion des erreurs « Noyau » robuste et personnalisable Parallélisme, multi-thread, multi-execution Login, gestion des privilèges, gestion des UUTs Rapport d’exécution, logging résultats en database Fichiers ressources multi-langues Compatibilité/systèmes d’exploitations assurée par NI Nouvelles fonctionnalités avec chaque release
TestStand : Critères de choix (3)

Les inconvénients de TestStand
Nécessite Microsoft Windows Licence run-time pour chaque poste Palette Step Types native « insuffisante » Apparente complexité
En laboratoire R&D

Banc de caractérisation Banc de validation
nombreux résultats
à exploiter
En production
Banc de contrôle d’entrée Banc d’assemblage Banc de test fonctionnel
FAIL
PASS
En maintenance
Diagnostic produit SAV Diagnostic équipement
R&D STMicroelectronics : Banc TELMIX

Editeur
de séquence
Moteur TestStand
(Serveur ActiveX et API)
My SQL
Database Résultats
LabVIEW DUT
Device Under Test
LabVIEW
DAQmx
Instruments et Switchs
IVI
R&D STMicroelectronics : Banc caractérisation RFTS

Loop on environnement : > Temperature > Power Supply > module parameters
TestStand Step Database
TestStand
Results
LabVIEW
Raw data
Data Extraction
Graphics
Step Module
Loop on module : > variable (within script)
UNLE
Existing
R&D Renault : Banc PowerHIL

TestStand
+ VeriStand
Liaison automate Gestion diversité
Produit Banc
Production SODIMAS : Banc de test armoire ascenseur

Initialement prévu
sous LabVIEW
Un seul Step Type
générique
Création séquences
par un technicien
Production : Banc assemblage et test fonctionnel de sous-ensembles

Automate + testeur 3 UUTs en parallèle
Montage Test fonctionnel Test vision
packaging
Vidéos d’aide pour
opérateur novice
Production VALEO : Banc montage et test fonctionnel

Lancement en parallèle de séquences différentes Indication et contrôle des composants saisis par l’opérateur Remplacement de trois automates Pilotage station vision et acoustique
Production RADIALL : Banc de test commutateurs RF

jusqu’à 32 produits
sur 2 sockets
Visu. mesures
pendant test
Génération auto
rapport PDF
Production RADIALL : Banc de test commutateur spatial

Liaison
bidirectionnelle avec classeur Excel
Plan de test
modifiable hors ligne
Diversité bancs
Auto Semi-Auto Manuel
Qualité AREVA T&D : Banc contrôle réception capteurs

Défi impossible : à réaliser en cinq jours
Utilisation de pas génériques configurables
Sauvegarde données du lot de capteurs en fichier ASCII
puis exploitation résultats sous Excel
Maintenance : Valise de test SAV

Tablet PC Interface matériel
interchangeable
Messages
et vidéos d’aide
Liaison 3G Vérification garantie Bordereau expédition
Démo stand Mesulog
Principes d’architecture (1)

Choix structurants
Pilotage matériel
Accès concurrent au matériel ?
Dans la séquence de test Depuis l’interface opérateur Dans des utilitaires de maintenance ou calibration
Drivers disponibles (VISA, IVI-C, IVI-Com, DLL) Besoin interchangeabilité (IVI-C) ? Optimisation du temps d’accès ? Gestion diversité instrumentation et équipement ?
Langage complémentaire utilisé
Développement de l’interface opérateur Développement de Steps ou fonctions
Principes d’architecture (2)

Choix structurants
Process model
Sequential (mono UUT) Parallel (multi UUT indépendantes) Batch (multi UUT en lot)
Liaison Database
Paramètres des tests (configuration) Limites des tests (spécifications) Résultats de test ( rapport)
Génération de rapport
Trace d’exécution Depuis le banc de test À partir du logging database Outil utilisé (HTML, XML, Excel, Diadem)
Principes d’architecture (3)

Operator interface
TS : UIMessage
Interface Opérateur
UIMessage
Moteur TestStand
(Serveur ActiveX et API)
Sequence
Serveur additionnel
Shared Variable Engine
Interface Opérateur
Moteur TestStand
(Serveur ActiveX et API)
Sequence
Phases de mise œuvre

Phase 1. Architecture
Choix structurants Besoin en Custom Step Types (CST) Règles de développement Gestion code source Formation développeurs
Assistance éventuelle partenaire NI
Phases de mise œuvre

Phase 2. Développement StepTypes
Création de « pas » unitaires configurables Chaque pas comprend :
un module d’exécution un module de configuration (boîte de dialogue)
Intégration des pas créés dans TestStand
Nouvelles « briques » personnalisées venant
enrichir la palette TestStand.
Phases de mise œuvre

Phase 3. Connectivité
Validation CST pilotage instrumentation Liaisons databases Rapport de test Paramétrage externe
Phases de mise œuvre

Phase 4. Edition séquences
Création séquences et sous-séquences avec NI SeqEdit
Insertion de « pas standard » TestStand Insertion de « pas personnalisés génériques » configurables Insertion de « pas personnalisés spécifiques » non configurables
Données
Variables locales ou globales Paramètres d’entrées et de sortie
Relations entre les pas
Exécution conditionnelle Boucles Synchronisation
Mais qui fournit le ciment ?
Phases de mise œuvre

Phase 5. Création interface opérateur
Personnalisation d’un des 2 modèles (Simple ou Full-Featured)
Ajout d’indicateurs de suivi d’exécution Ajouts de commandes Localisation des messages et indicateurs
Phase optionnelle :
si l’on utilise l’éditeur de séquence NI SeqEdit en exécution si l’on utilise une interface opérateur standard
Phases de mise œuvre

Phase 6a. Déploiement
Création de distributions Processus de validation Gestion de configuration
Phase 6b. Exploitation
Exploitation et analyse des résultats (R&D) Publication statuts bancs Mise en place outils de monitoring Gestion des anomalies (tracker)
Phases de mise œuvre

Phase 7. Evolutions
Modification des séquences existantes
Changement de l’ordre des tests Modification des conditions limites Duplication et modification de certains pas
Création de nouvelles séquences
Duplication et modification d’une séquence existante Réutilisation des pas génériques
Évolutions possibles sans connaissance poussée de TestStand
Conclusion

NI TestStand est un outil puissant que l’on peut adapter à
chaque besoin en test automatisé
Pas d’architecture universelle
Avec une architecture adaptée et une bonne méthodologie,
TestStand est toujours un bon choix.
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 2012
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 avancee 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
Questions



