Variables locales y globales en LabVIEW para FRC

Este ejemplo sirve como una introducción a las variables locales y globales, cómo se utilizan en el proyecto de robot por defecto de LabVIEW para FRC® y cómo podría querer utilizarlas en su proyecto.

Las variables locales y las variables globales se pueden usar para transferir datos entre ubicaciones dentro del mismo VI (variables locales) o dentro de diferentes VI (variables globales), rompiendo el convencional ` Paradigma de Data Flow <https://www.ni.com/getting-started/labview-basics/dataflow>`__ por el cual LabVIEW es famoso. Por lo tanto, pueden ser útiles cuando, por cualquier motivo, no puede conectar el valor directamente el nodo a otro.

Nota: Una posible razón puede ser que necesite pasar datos entre iteraciones de bucle consecutivas; Miro_T cubrió esto en éste post. También debe tenerse en cuenta que el feedback node en LabVIEW puede usarse como un equivalente al registro de desplazamiento, ¡aunque ese puede ser un tema para otro día!

Introducción a las variables locales y globales

Las variables locales se pueden usar dentro del mismo VI. Cree una variable local haciendo clic con el botón derecho en un control o indicador en su panel frontal:

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

También puede crear una variable local desde la paleta Estructuras en el diagrama de bloques. Cuando tiene múltiples variables locales en un VI, puede hacer clic izquierdo para elegir qué variable es:

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

Las variables globales se crean de forma ligeramente diferente. Agregue uno al diagrama de bloques de la paleta Estructuras y observe que cuando hace doble clic en él, se abre un panel frontal separado. Este panel frontal no tiene un diagrama de bloques, pero agrega tantas entidades al panel frontal como desee y lo guarda como un archivo *.Vi:

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

Nota

¡Tenga mucho cuidado de evitar condiciones de carrera al usar variables locales y globales! Básicamente, asegúrese de no escribir accidentalmente en la misma variable en varias ubicaciones sin una forma de saber en qué ubicación se escribió por última vez. Para obtener una explicación más detallada, consulte este documento

Cómo se utilizan en el LabVIEW predeterminado para el proyecto de robot FRC

Las variables globales para «Enable Vision» e «Image Size» se escriben durante cada iteración del Robot Main VI …

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

… Y luego lea en cada iteración del Vision Processing VI:

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

Esto permite al usuario, al implementar en Robot Main VI desde el entorno de desarrollo de LabVIEW, habilitar / deshabilitar la visión y cambiar el tamaño de la imagen desde el panel frontal de Robot Main.

¿Cómo puede utilizarlos en su proyecto?

Consulte el diagrama de bloques del VI Periodic Tasks. Quizás haya algún valor, como un booleano, que se pueda escribir en una variable global en el VI Teleop y luego leer en el VI Periodic Tasks. Luego puede decidir qué código o valores usar en el VI Periodic Tasks, dependiendo de la variable global booleana:

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