Variables locales et globales en LabVIEW pour FRC

Cet exemple sert d’introduction aux variables locales et globales, comment elles sont utilisées dans un projet LabVIEW FRC® par défaut, et comment vous pouvez les utiliser dans votre projet.

Les variables locales et les variables globales peuvent être utilisées pour transférer des données entre les emplacements à l’intérieur du même VI (variables locales) ou dans différents VI’s (variables globales), brisant le conventionnel Paradigme de flux de données pour lequel LabVIEW est reconnu. Ainsi, ils peuvent être utiles lorsque, pour une raison quelconque, vous ne pouvez pas transférer la valeur directement sur le nœud à un autre nœud.

Note: Une raison possible peut être que vous devez transmettre des données entre les itérations consécutives d’une boucle ; Miro_T l’a couvert dans cette publication.  Il convient également de noter que le nœud de rétroaction dans LabVIEW peut être utilisé comme un équivalent au registre à décalage, bien que cela puisse être un sujet pour un autre jour!

Introduction aux variables locales et globales

Les variables locales peuvent être utilisées dans le même VI. Créez une variable locale en cliquant avec le bouton droit sur un contrôle ou un indicateur sur votre panneau frontal :

../../../../_images/11.png

Vous pouvez également créer une variable locale à partir de la Structures palette du diagramme bloc. Lorsque vous avez plusieurs variables locales dans un VI, vous pouvez cliquer à gauche pour choisir la bonne variable:

../../../../_images/22.png

Les variables globales sont créées de manière légèrement différente. Ajoutez-y un diagramme bloc à partir de Structures palette et remarquez que lorsque vous cliquez deux fois, il ouvre un panneau avant séparé. Ce panneau avant n’a pas de diagramme bloc, mais vous pouvez ajouter autant d’entités au panneau avant que vous souhaitez et enregistrez-le sous forme de fichier *.vi :

../../../../_images/32.png

Note

Soyez très prudent afin d’éviter les conditions de course lorsque vous utilisez des variables locales et globales! Essentiellement, assurez-vous que vous n’écrivez pas accidentellement à la même variable dans plusieurs endroits sans avoir un moyen de savoir à quel endroit elle a été écrite pour la dernière fois. Pour une explication plus approfondie, consulter ce document d’aide

Comment elles sont utilisées dans un projet de robot FRC LabVIEW par défaut

Des variables globales pour « Enable Vision » et « Image Size » sont écrites à chaque itération de Robot Main VI…

../../../../_images/41.png

… Et puis lire à chaque itération de l’instrument virtuel Vision Processing VI:

../../../../_images/5.png

Ce qui permet à l’utilisateur, lors du déploiement sur Robot Main VI à partir de l’environnement de développement LabVIEW, d’activer/désactiver la vision et de modifier la taille de l’image à partir du panneau avant de Robot Main.

Comment pouvez-vous les utiliser dans votre projet?

Consultez le diagramme bloc de l’instrument virtuel Periodic Tasks VI. Il existe peut-être y a-t-il une valeur, par exemple un booléen, qui peut être écrite à une variable globale dans le Teleop VI, puis lue dans Periodic Tasks VI. Vous pouvez ensuite décider quel code ou valeurs utiliser dans Periodic Tasks VI, selon la variable globale booléenne :

../../../../_images/6.png