Structures désactivées : Comment empêcher le code de s'exécuter
- Mise à jour2025-08-27
- Temps de lecture : 5 minute(s)
Une structure désactivée contient plusieurs sous-diagrammes, dont un seul est compilé et s'exécute. Le sous-diagramme à exécuter est déterminé au moment de la compilation. Le code que renferment les sous-diagrammes inactifs n'est ni compilé ni exécuté lors de l'exécution. Vous pouvez utiliser les structures à désactivation pour rendre inactives certaines sections de code sur le diagramme.
Structure à conditions désactivées
La structure à conditions désactivées, représentée ci-après, contient un ou plusieurs sous-diagrammes, ou conditions, dont un et un seul est utilisé par LabVIEW pendant l'exécution, en fonction de la configuration des conditions du sous-diagramme. Lors de la compilation, LabVIEW n'inclut pas de code dans les sous-diagrammes inactifs de la structure à conditions désactivées.
Utilisez la structure à conditions désactivées pour définir des conditions dans lesquelles du code spécifique est compilé et exécuté. Par exemple, si une section du VI est spécifique à une cible, vous pouvez placer ce code dans une structure à conditions désactivées et le configurer pour qu'il s'exécute sur cette cible. Vous pouvez configurer une structure à conditions désactivées pour les systèmes Windows, Mac, Unix et les cibles FPGA.
Si vous convertissez une structure à conditions désactivées en structure à diagrammes désactivés ou en structure Spécialisation de type, les conditions de la structure à conditions désactivées ne sont pas transférées à la structure à diagrammes désactivés ou à la structure Spécialisation de type.
Reportez-vous au VI Conditional Disable Structure.vi, dans le répertoire labview\examples\Structures\Disable Structures pour consulter un exemple d'utilisation de structures à conditions désactivées.
Structure à diagrammes désactivés
Dans la structure à diagrammes désactivés représentée ci-après, LabVIEW n'inclut pas de code dans les sous-diagrammes Désactivés lors de la compilation.
Utilisez une structure à diagrammes désactivés si vous voulez désactiver une section de code sur le diagramme pour qu'il ne soit pas compilé au moment de l'exécution. Par exemple, vous pouvez utiliser la structure à diagrammes désactivés comme outil de mise au point pour marquer du code en tant que commentaire, remplacer du code et compiler un VI sans supprimer le code dans le sous-diagramme désactivé de la structure.
Reportez-vous au VI Diagram Disable Structure.vi du répertoire labview\examples\Structures\Disable Structures pour consulter un exemple d'utilisation de structures à diagrammes désactivés.
Structure Spécialisation de type
La structure Spécialisation de type, illustrée ci-dessous, possède un ou plusieurs sous-diagrammes, dont un et un seul est compilé et exécuté par LabVIEW, en fonction de l'ordre et du résultat de la compilation du sous-diagramme. Lors de la compilation et de l'exécution, LabVIEW n'inclut pas de code dans les sous-diagrammes inactifs de la structure Spécialisation de type.
Utilisez la structure Spécialisation de type afin de personnaliser des sections de code d'un VI malléable.vim pour des types de données spécifiques, ou afin de forcer un VI malléable à n'accepter qu'un sous-ensemble des types de données acceptables. Par exemple, vous pouvez utiliser la structure Spécialisation de type pour configurer un VI malléable afin qu'il se comporte différemment lorsque les données en entrée sont un entier plutôt qu'un tableau d'entiers et qu'il fonctionne comme prévu pour les deux types de données.
Reportez-vous au projet labview\examples\Malleable VIs\Type Specialization Structure\Malleable VIs - Type Specialization Structure.lvproj pour voir un exemple d'utilisation de structures Spécialisation de type.
Objets définis par l'utilisateur dans les structures désactivées
Lorsque LabVIEW charge un VI avec des objets définis par l'utilisateur, comme des sous-VIs et des définitions de type, dans le sous-diagramme Désactivé d'une structure à diagrammes désactivés ou dans les sous-diagrammes inactifs d'une structure à conditions désactivées ou Spécialisation de type, LabVIEW ne charge pas ces objets en mémoire. Toutefois, lorsque vous affichez le diagramme du VI, si LabVIEW ne trouve pas certains objets, ils apparaîtront avec une icône point d'exclamation. Le VI n'est pas brisé car LabVIEW n'intègre pas le code quand il compile et exécute le VI. Par ailleurs, LabVIEW ne cherche pas automatiquement ces objets manquants lorsque vous activez le sous-diagramme contenant le sous-VI.
Pour contraindre LabVIEW à trouver les sous-VIs manquants dans une structure à diagrammes désactivés, activez le sous-diagramme contenant le sous-VI manquant et enregistrez le VI qui appelle le sous-VI. La prochaine fois que vous ouvrez le VI qui appelle le sous-VI, LabVIEW cherchera le sous-VI. Vous pouvez alors désactiver à nouveau le sous-diagramme contenant le sous-VI.
|
Remarque LabVIEW vérifie la syntaxe du code dans les sous-diagrammes désactivés. Cependant, du code cassé à l'intérieur de sous-diagrammes inactifs n'empêche pas le VI d'être compilé et exécuté. |
|
Remarque Tout comme une structure Condition, les structures désactivées supportent les tunnels. Cependant, par défaut, vous n'avez pas besoin de câbler les tunnels de sortie dans chaque condition des structures désactivées. Tous les tunnels qui ne sont pas connectés par un fil de liaison utilisent la valeur par défaut du type de données du tunnel. Vous pouvez configurer les tunnels pour câbler automatiquement les tunnels d'entrée et de sortie dans les conditions non câblées. |
Comportement des structures désactivées dans des applications construites
Les structures désactivées déterminent quelles sections de code sont incluses dans les applications construites. Si un VI n'est appelé que dans un diagramme désactivé, il sera exclu de l'application construite. LabVIEW ne réévalue pas la condition d'une structure à conditions désactivées ou le résultat de la compilation de la structure Spécialisation de type après la construction de l'application.