Un module de code est un module de programme (une DLL Microsoft Windows ou un VI LabVIEW, par exemple) qui contient une ou plusieurs fonctions qui effectuent un test spécifique ou une autre action. Vous pouvez créer un module de code dans différents environnements de programmation qui contiennent des opérations de commutation qui peuvent être appelées à partir de TestStand.
Figure 1 : Insertion d'une nouvelle étape à partir de la palette Insertion
Figure 2 : Spécification du module de code à exécuter à partir de l'onglet Step Settings Module
Vous pouvez créer des modules de code pour contrôler les matrices de commutation NI en utilisant les API NI-Switch. Dans les anciennes applications, l'API NI-DAQmx peut avoir été utilisée pour les opérations de commutation, mais les fonctions de commutation NI-DAQmx ne sont pas recommandées pour les nouvelles conceptions et ne prennent plus en charge tous les modules de commutation NI. Pour en savoir plus sur les différences entre les deux APIs, reportez-vous à :
Article 43CFNUAY de la base de connaissances : Différences entre les API NI-SWITCH et NI-DAQmx Switch pour les applications de commutation
Figure 3 : API NI-Switch dans LabVIEW
Si vous contrôlez des matrices de commutation de tiers, vous pouvez créer des modules de code qui contiennent des appels aux fonctions du driver d'instrument de votre matrice. Reportez-vous à la base de drivers d'instruments sur www.ni.com/idnet, pour en savoir plus sur les drivers d'instruments et pour rechercher et télécharger des drivers d'instruments compatibles avec les logiciels NI.
Si votre matrice de commutation est certifiée IVI, vous pouvez créer des modules de code qui contiennent des appels au driver IVI Switch Class. Tous les modules de commutation NI sont certifiés IVI. Reportez-vous à www.ni.com/ivi pour en savoir plus sur la norme IVI.
Remarque : Vous devez utiliser le driver spécifique à l'instrument pour appeler des fonctions de driver qui ne sont pas supportées par le driver IVI Switch Class, pour les instruments qui ne sont pas certifiés pour une classe IVI et pour les instruments pour lesquels aucun driver IVI n'existe.
Si votre matériel de commutation est certifié IVI, vous pouvez aussi le programmer en utilisant l'API NI Switch Executive. Pour en savoir plus sur NI Switch Executive, reportez-vous à :
Tutoriel sur Developer Zone : Qu'est-ce que NI Switch Executive ?
Figure 4 : API Switch Executive
L'étape IVI Switch, illustrée ci-dessous, fournit une couche de programmation de haut niveau pour les instruments conformes à la classe IVI Switch et les périphériques virtuels NI Switch Executive. Insérez une étape IVI Switch à partir de la palette Insertion.
Figure 5 : Insertion d'une étape IVI Switch
Cliquez sur le bouton Edit Switch de l'onglet Switch dans la boîte de dialogue Step Properties.
Figure 6 : Cliquez sur le bouton « Edit Switch... » de l'étape IVI Switch.
De plus, le type d'étape IVI Switch dispose des deux modes suivants :
Le mode sélectionné détermine les opérations disponibles lorsque vous utilisez le type d'étape IVI Switch.
Le mode IVI Switching permet d'utiliser les drivers de commutation IVI pour contrôler les matrices de commutation NI et de tiers. Vous pouvez utiliser ce mode pour connecter et déconnecter des chemins et des routes, pour déterminer la connectivité de deux commutateurs ou l'état d'une route, et pour demander l'état de la matrice de commutation ou du périphérique virtuel. Pour en savoir plus sur les opérations de commutation IVI supportées par le mode IVI Switch du type d'étape IVI Switch : mode IVI Switching, reportez-vous à :
Aide NI TestStand : Boîte de dialogue Edit IVI Switch Step - Mode IVI Switching
Figure 7 : Étape IVI Switch : Mode IVI Switching
NI Switch Executive est une application intelligente de gestion de la commutation et du routage qui repose sur IVI. Switch Executive vous permet de créer un périphérique virtuel Switch Executive préconfiguré qui peut contenir une ou plusieurs matrices de commutation IVI. De plus, vous pouvez créer des alias de voies et configurer des routes d'un bout à l'autre graphiquement (même entre plusieurs matrices de commutation) dans un environnement de type pointer-et-cliquer. Pour en savoir plus sur les fonctionnalités de NI Switch Executive, reportez-vous à :
Tutoriel sur Developer Zone : Qu'est-ce que NI Switch Executive ?
L'installation d'une version payante du logiciel NI Switch Executive vous permet d'utiliser le mode Switch Executive de l'étape IVI Switch. À partir de la boîte de dialogue Edit IVI Switch Step, vous pouvez sélectionner un périphérique virtuel NI Switch Executive préconfiguré pour connecter et déconnecter les routes ou groupes de routes créés pour votre système de commutation. De plus, vous pouvez spécifier si la route doit exister jusqu'à ce qu'elle soit déconnectée plus tard manuellement ou jusqu'à ce que l'étape, la séquence, le thread ou l'exécution soit terminé.
Remarque : Pour en savoir plus sur les opérations de commutation IVI supportées par le mode IVI Switch du type d'étape IVI Switch : mode Switch Executive, reportez-vous à :
Aide NI TestStand : Boîte de dialogue Edit IVI Switch Step - Mode Switch Executive
Figure 8 : Étape IVI Switch : Mode Switch Executive
Outre l'utilisation du mode Switch Executive de l'étape IVI Switch, l'installation d'une version payante de NI Switch Executive vous permet d'effectuer des actions de commutation pendant l'exécution d'une étape. Vous pouvez configurer les actions de commutation sur le panneau Switching de l'onglet Properties de la fenêtre Step Settings.
Figure 9 : Insertion d'une étape à partir de la palette Insertion. Panneau Switching de l'onglet Properties de Step Settings.
Comme le traite ce document, il existe plusieurs options pour contrôler des matrices de commutation à partir de TestStand. La section suivante décrit les avantages et les inconvénients de chacune.
1. Module de code
L'écriture de séquences de test qui effectuent des opérations de commutation à partir de modules de codes constitue la méthode recommandée pour contrôler des matrices de commutation à partir de TestStand. Cette option représente l'approche la plus modulaire, car elle permet aux développeurs de tests de modifier le code qui effectue les opérations de commutation avec un effet minimal sur le reste de la séquence de test. L'utilisation d'un driver spécifique à l'instrument ou l'API Switch Executive dans les modules de code permet d'accéder aux sessions IVI de bas niveau ainsi qu'à d'autres fonctionnalités qui ne sont pas disponibles avec les autres options. Utilisez NI Switch Executive pour simplifier la configuration et le contrôle de vos matrices de commutation IVI.
Remarque : Vous devez acheter et installer le logiciel NI Switch Executive pour pouvoir utiliser l'API NI Switch Executive.
L'inconvénient de cette méthode est le risque accru d'erreurs de l'utilisateur. Les développeurs de tests doivent bien connaître le driver d'instruments ou l'API NI Switch Executive, et ils doivent prendre soin d'implémenter l'architecture appropriée au système de test pour créer des séquences de test qui peuvent être maintenues et étendues. Par exemple, niSE Connect et Disconnect devraient être utilisés pour accélérer la commutation et augmenter la durée de vie des périphériques des systèmes de test automatisé.
Figure 10 : Utilisation de niSE Connect et Disconnect pour spécifier les routes ou groupes de routes à contrôler à partir des modules de code.
2. Propriété Switching d'une étape
L'installation de NI Switch Executive permet aux développeurs de test d'ajouter des fonctionnalités de commutation à n'importe quelle étape d'une séquence TestStand en utilisant la propriété Switching d'une étape. Un net avantage de la propriété Switching est du code réutilisable. Supposons, par exemple, que vous ayez un test qui nécessite la connexion de plusieurs routes. Si vous effectuez ce test dans plusieurs sous-programmes de test différents, il vous suffit de créer un modèle d'étape et de le réutiliser dans les autres séquences. Toutes les propriétés incluses dans l'étape (y compris la commutation) sont incluses également dans le modèle d'étape. Pour ajouter une étape à la liste de modèles, Templates, il suffit de faire glisser l'étape du panneau Steps pour la déposer dans la liste Templates.
Figure 11 : La liste Templates fait partie du panneau de la palette Insertion. Faites glisser une étape du panneau Steps pour la déposer dans la liste Templates et pouvoir la réutiliser dans une autre séquence.
La propriété Switching d'une étape a l'inconvénient potentiel de réduire la lisibilité des séquences de test. Lorsque vous utilisez la propriété Switching, prenez soin de documenter vos séquences TestStand. Lorsque vous modifiez les propriétés d'étape et qu'elles ne correspondent plus au comportement par défaut, TestStand documente automatiquement ces modifications dans le panneau Steps. Par exemple, si vous activez la commutation pour une étape Action de LabVIEW, TestStand entrera Switch dans la catégorie Settings de cette étape dans le panneau Steps.
Figure 12 : Enable Switching a été sélectionné pour cette étape Action de LabVIEW. Remarquez que TestStand a inséré automatiquement Switch dans la catégorie Settings pour l'étape Action dans le panneau Steps.
Vous pouvez aussi documenter vos séquences en utilisant le champ Comment de l'étape et des étapes Label.
Figure 13 : Entrée de commentaires dans le champ Comment du panneau General de l'onglet Properties de Step Settings
Figure 14 : Documentation supplémentaire de l'étape en la précédant d'une étape Label et avec des commentaires (visibles au dessus du nom de l'étape)
L'étape IVI Switch en mode Switch Executive a une fonctionnalité très similaire à celle de la propriété Switching d'une étape. Mais l'étape IVI Switch a l'avantage de pouvoir utiliser l'opération Get Information pour trouver les routes et déterminer si le périphérique virtuel s'est stabilisé.
Figure 15 : Opération Get Information de l'étape IVI Switch : Mode Switch Executive
Les développeurs de test peuvent aussi spécifier les propriétés d'étapes disponibles pour les autres types d'étapes intégrés (Preconditions, Looping, etc.).
Remarque : Vous ne pouvez pas utiliser la propriété Switching d'une étape avec le type d'étape IVI Switch.
De plus, l'étape IVI Switch a l'avantage de se documenter automatiquement, puisque les utilisateurs peuvent déterminer en un coup d'oeil si la séquence de test implique une commutation. Cependant, la propriété Switching d'une étape est généralement préférée à l'étape IVI Switch. Utilisez les conseils de documentation de la section précédente pour créer des séquences de test lisibles lorsque vous utilisez la propriété Switching d'une étape.
Le plus gros inconvénient des options Switch Executive dans TestStand (propriété Switching d'une étape et étape IVI Switch) est que vous n'avez pas un accès complet à l'API Switch Executive (vous ne pouvez pas importer ou exporter les configuration Switch Executive et générer des rapports XML par programmation, par exemple). Pour développer des séquences de test en optimisant les capacités de personnalisation et d'extension, utilisez des modules de code qui appellent l'API NI Switch Executive.
L'étape IVI Switch en mode IVI Switching donne accès aux opérations de base supportées par le driver IVI Switch Class. Pour en savoir plus sur les fonctionnalités disponibles avec l'étape IVI Switch en mode IVI Switching, reportez-vous à :
Aide NI TestStand : Boîte de dialogue Edit IVI Switch Step - Mode IVI Switching
Le mode IVI Switching pour l'étape IVI Switch a ses désavantages. Si votre application emploie plusieurs matrices de commutation, vous devez utiliser une étape distincte pour chaque matrice. Vous ne pouvez donc pas utiliser cette méthode pour créer des routes complètes qui s'étendent sur plusieurs matrices de commutation. De plus, vous devez utiliser plusieurs étapes pour créer la configuration de commutation désirée. En général, il est préférable de contrôler des matrices de commutation à partir de modules de code ou des options Switch Executive plutôt que d'utiliser l'étape IVI Switch : mode IVI Switching.
Remarque : Les handles d'instruments créés par les types d'étapes IVI de TestStand ne peuvent pas être utilisés dans les modules de code qui s'exécutent dans leur environnement de développement respectif. Le handle C sous-jacent ne peut être utilisé que dans le processus TestStand. Si votre séquence de test inclut des modules de code qui appellent des VIs ou des fonctions de classe IVI ou spécifiques au driver, NI vous déconseille d'utiliser les types d'étapes IVI de TestStand en même temps.