Las funciones de matriz nos permiten trabajar con datos en formato matricial para realizar operaciones características, como la resolución de sistemas de ecuaciones lineales.
En la siguiente imagen se muestran algunas las estructuras de funciones de matriz del diagrama de bloques más habituales.
Veamos algunos ejemplos de las estructura mostradas en la imagen 1 y para que podríamos utilizarlas.
(1) En primer lugar tenemos la estructura Array Size:
Imagen 2. Estructura de Array Size (view as icon) en el diagrama de bloques.
Imagen 3. Estructura de Array Size en el diagrama de bloques.
En el Panel de Control la estructura Array Size nos permite introducir los elementos que constituyen una matriz y nos indica el tamaño. Con el controlador de la izquierda podemos incrementar el número de posiciones disponibles para escritura; si seleccionamos el recuadro array y arrastramos hacia abajo podemos visualizar más posiciones disponibles, además de las ya editadas (las primeras aparecen en translúcido, ver imagen 4).
Imagen 4. Estructura de Array Size en el panel de control.
(2) La estructura Index Array nos permite seleccionar un elemento dentro de la matriz. Esto nos puede resultar interesante si disponemos de una fuente de datos matricial (muy habitual) y deseamos extraer alguno de los datos para ser visualizado o procesado como señal del diagrama de bloques del sistema de control de un proceso o procedimiento automatizado.
Imagen 5. Estructura de Index Array en el diagrama de bloques.
Imagen 6. Estructura de Index Array en el panel de control.
(3) La estructura Replace Subset posibilita el cambiar alguno de los elementos de la matriz por otros de nuestra elección, que bien podría ser un dato dinámico o un valor que introducimos manualmente mediante un controlador (ver imagen 7 y 8), así como una constante de corrección que hayamos determinado.
Imagen 7. Estructura Replace Subset en el diagrama de bloques.
Imagen 8. Estructura Replace Subset en el panel de control.
Aquí puedes descargar el archivo .vi con los ejemplos desarrollados hasta este punto del módulo.
(4) La estructura Insert Into Array se utiliza para introducir un nuevo elemento en la matriz de origen; si hemos de construir una matriz a partir de datos de diversas matrices o bien a partir de datos de 1 D.
Imagen 9. Estructura Insert Into Array en el diagrama de bloques.
Imagen 10. Estructura Insert Into Array en el panel de control.
Aquí puedes descargar el archivo .vi con los ejemplos desarrollados hasta este punto del módulo; si deseas obtener el archivo que contiene menos estructuras o cualquier aclaración estaremos encantados de recibir tu comunicación.
(5) La estructura Delete from Array se utiliza para eliminar elementos contenidos en una matriz; si por ejemplo, un dispositivo capta diversas señales que almacena en forma matricial y deseamos utilizarla, a excepción de alguna medida concreta, únicamente deberemos conocer la posición de esa variable en la matriz y descartarla.
Imagen 11. Estructura Delete From Array en el diagrama de bloques.
Imagen 12. Estructura Delete From Array en el panel de control.
Aquí puedes descargar el archivo .vi con los ejemplos desarrollados hasta este punto del módulo
(6) La estructura Initialize Array nos permite, como su nombre indica, inicializar una matriz de n dimensiones con el elemento que introducimos en el controlador correspondiente.
Imagen 13. (a) Estructura Initialize Array (view as icon) en el diagrama de bloques. (b) Estructura Initialize Array en el diagrama de bloques.
Imagen 14. Estructura Initialize Array en el panel de control.
(6) La estructura Sort 1D Array sirve para recuperar un elemento de la matriz original según la posición que le indiquemos, pasando a tener una matriz reducida.
Imagen 15. Estructura Sort 1D Array en el diagrama de bloques.
Imagen 16. Estructura Sort 1D Array en el panel de control.
Tal y como puedes ver en la imagen 16 las posiciones en labview se contabilizan desde la posición 0, por lo que deberás tenerlo muy presente en el momento de seleccionar el dato que se desea aislar, dado que habitualmente las posiciones se acostumbran a numerar comenzando en la posición 1.
Combinación de Initialized Array y Insert Into Array
Imagen 17. Estructura Initialize Array + Insert Into Array en el diagrama de bloques.
Imagen 18. Estructura Initialize Array + Insert Into Array en el panel de control.
Aquí puedes descargar la .vi de la imagen 17.
¿Cómo nos podrían ser de utilidad todas estas estructuras explicadas hasta el momento?
Piensa por ejemplo en un sistema de control formado por un conjunto de sensores que captan señales de diversos parámetros y/o variables de un proceso y los envían en forma de paquetes de datos matriciales que podríamos separar y reconducir a otras funciones, como las numéricas, para realizar cálculos cuyos resultados podríamos mostrar en pantalla o bien programar el sistema para que actúe conforme a la programación introducida.
Como habrás observado, tanto el diagrama de bloques como el panel de control, se ha ido construyendo gradualmente, implementando las distintas estructuras consecutivamente(*), esto además de facilitar la comprensión permite visualizar distintas funciones interactuando, dado que en un programa lo habitual es que se trabaje con todas estas estructuras de forma simultánea.
Gracias por dedicar tu tiempo a la lectura de esta entrada; si detectas cualquier error y deseas informarnos, estaremos encantados de recibir tu comunicación.
(*) Excepto en la estructura Initialize Array.
Cap comentari:
Publica un comentari a l'entrada