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.
Local variables and global variables may be used to transfer data between locations within the same VI (local variables) or within different VI’s (global variables), breaking the conventional Data Flow Paradigm for which LabVIEW is famous. Thus, they may be useful when, for whatever reason, you cannot wire the value directly to the node to another.
Note: One possible reason may be that you need to pass data between consecutive loop iterations; Miro_T covered this in this post. It should also be noted that the feedback node in LabVIEW may be used as an equivalent to the shift register, although that may be a topic for another day!
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:

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:

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:

Nota
Be very careful to avoid race conditions when using local and global variables! Essentially, make sure that you are not accidentally writing to the same variable in multiple locations without a way to know to which location it was last written. For a more thorough explanation, see this help document
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 …

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

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:
