Indexación a través de un cluster en LabVIEW

Actualizado el Nov 16, 2019

Reportado en

Software

  • LabVIEW Full
  • LabVIEW Professional
  • LabVIEW Base

Detalles del problema

¿Cómo itero a través de un clúster como una matriz para modificar mediante programación cada elemento de clúster en un For Loop?

Solución

Al usar los Property Nodes, puede adquirir una matriz de referencias que contiene una referencia para cada elemento del clúster. La matriz se puede utilizar para acceder a las propiedades y métodos de cada elemento en el clúster. Para hacer esto, siga los pasos a continuación:
  1. Cree un Property Nodes para el clúster. Haga clic con el botón derecho en el control o indicador de clúster y seleccione Create » Property Node      
  2. Elija la propiedad Controls[] para su nodo de propiedad de clúster. La propiedad Controls[] es una matriz de referencias a los elementos del clúster en el orden del clúster.
  3. Conecte el terminal Controls[] del nodo de propiedad de cluster a un For Loop. La matriz tendrá un túnel de indexación automática de forma predeterminada.
  4. Cree un nodo de propiedad para la matriz Controls[] . En el diagrama de bloques, haga clic con el botón derecho para abrir la paleta de funciones. Busque la subpaleta Control de aplicaciones y elija el  Property Node VI . Coloque el Property Nodes VI dentro del bucle For y conecte su terminal de entrada de referencia al túnel de bucle creado por la matriz Controls[] .

 
  • Expanda el Property Node de la matriz Controls[] para que pueda acceder a dos propiedades. Cambie la primera propiedad a ClassName . La propiedad ClassName es la clase de datos (Digital, Boolean, String, etc.) del elemento de clúster en particular. Cambia la segunda propiedad a Value . La propiedad Valor es el valor de datos del elemento de clúster en particular.
  • Puede conectar la propiedad ClassName a un selector de caso de una estructura de caso para realizar operaciones en elementos de clúster basados en la clase.
  • Utilice la Variant to Data VI . para convertir la propiedad Value de un elemento de cluster en particular en su tipo de datos apropiado. Vea la imagen de abajo para el resultado final.



    Nota: es obligatorio cambiar el nombre de los casos para que coincidan con el tipo de datos que se transferirán. Si recibe un Error 91 en Variant to Data VI, pruebe la cadena ClassName que va al selector de casos con la ejecución resaltada y asegúrese de que sus valores estén etiquetados correctamente. Los valores numéricos deben estar etiquetados como "Digital".
 
  • Si el clúster contiene una matriz, use la primitiva To More Specific Class para acceder a las propiedades que son específicas de la estructura de datos de la matriz. Luego, puede usar el nodo de propiedad para acceder al elemento de matriz refnum. Esto devolverá un refnum para un solo elemento de la matriz. Luego, puede usar otro nodo de propiedad para acceder al nombre de clase para ese elemento de matriz. Al igual que en el paso 4 anterior, puede utilizar esta información para activar un caso específico que leerá los datos de la variante correctamente.

¿FUE ESTE ARTÍCULO DE AYUDA?

No