Panel de control
El panel de control, como su nombre indica, contiene los elementos de control en forma de botones (todo o nada) y/o otros elementos como , entre otros, además de los elementos para visualizar la salida de datos.
Por ejemplo, si deseamos monitorizar un proceso donde las variables a controlar son la altura del fluido en el tanque, la temperatura de reacción, la temperatura del refrigerante, la presión del reactor, caudales de entrada y de salida, así como otras variables típicas en los sistemas de control e instrumentación podemos construir un panel de control como el que sigue:
Imagen 1. Ejemplo panel de control.
El diseño del panel de control es algo muy personal que dependerá de la necesidad que se desea cubrir y de la disponibilidad por parte de la empresa de los sensores y equipos de medida adecuados para alimentar el sistema de información.
La elevada versatilidad de Labview permite, por ejemplo, integrar el lenguaje de programación de autómatas, ofreciendo la posibilidad de programar entornos productivos con filosofía colaborativa.
A continuación, se muestra el panel de control de lo que podría ser una línea productiva con autómatas.
Imagen 2. Ejemplo panel de control.
Los objetos que aparecen en el mismo son fácilmente programables, por ejemplo, intervalo de la variable o formato del valor, así como la etiqueta y la tipología de dato (doble precisión, precisión simple, número complejo, etc.) puede ser modificado desde la ficha de propiedades del terminal que se abre cuando hacemos click con el botón derecho sobre el mismo y seleccionamos properties.
Diagrama de bloques
Después de construir el panel frontal, es hora de añadir el código usando representaciones gráficas o funciones para controlar los objetos del panel frontal. El diagrama de bloques contiene esta fuente de código gráfico. Los objetos sobre el diagrama de bloques incluye terminales, nodos y funciones. La construcción del diagrama de bloques se hace mediante la conexión de estos objetos con cableado.
Terminales del diagrama de bloques
Puedes configurar los controles e indicadores del panel de control frontal para que aparezcan como iconos o como terminales según el tipo de dato sobre el diagrama de bloques.
De forma predefinida los objetos del panel frontal de control aparecen como iconos.
Terminales del diagrama de bloques
Puedes configurar los controles e indicadores del panel de control frontal para que aparezcan como iconos o como terminales según el tipo de dato sobre el diagrama de bloques.
De forma predefinida los objetos del panel frontal de control aparecen como iconos.
- Tipología de controles e indicadores
- Constantes
Las constantes son terminales del diagrama de bloques que aportan valores constantes fijados al diagrama de bloques. Las constantes universales son constantes con valores fijos, tal como el número pi (π) como el infinito (∞). Las constantes definidas por el usuario son constantes que tú defines y editas antes de ejecutar una VI.
Etiquetar una constante es tan sencillo como hacer click con el botón derecho sobre la misma y seleccionar Visible Items < Label.
- Constantes universales. LabVIEW incluye los siguientes tipos de constantes universales:
- Constantes universales numéricas.
- Constantes universales de cadena.
- Constantes universales de archivo.
- Constantes definidas por el usuario. La paleta de funciones incluye constantes organizadas por tipo, tal como booleanos, numéricas, de anillo, enumeradas por tipo, color de la caja, cadena, matriz, clúster y constantes de trayectoria.
Los nodos son objetos del diagrama de bloques que tienen entradas (inputs) y/o salidas (outputs) que realizan operaciones cuando se ejecuta la VI.
LabVIEW incluye los siguientes tipos de nodos:
- Funciones.
- Funciones numéricas
- Usa las funciones numéricas para crear y establecer operaciones aritméticas, trigonométricas, logarítmicas y complejas.
Imagen 6. Ejemplo de adquisición, selección, cambio tipo de dato, operación aritmética.
Si nunca antes has trabajado con LabVIEW se recomienda comenzar la instrucción con pequeños programas como el mostrado a continuación para habituarse a estructurar en el formato de bloques las operaciones implicadas en nuestros procesos.
Si intentamos desarrollar un programa complejo desde cero es muy probable que nos encontremos con enormes dificultades para visualizar adecuadamente el avance de la programación y la localización de errores.
Por lo tanto, es recomendable descomponer nuestro programa en pequeños módulos que finalmente acabaremos implementando.
Imagen 7. Ejemplo de funciones numéricas para la resolución de una ecuación de 2º grado.
Puedes descargar el ejemplo de la imagen 6 aquí.
- Funciones booleanas
- Usa las funciones booleanas para establecer relaciones lógicas, como comparaciones que permitan determinar si se cumple una determinada condición límite.
Imagen 8. Ejemplo de adquisición, selección, cambio tipo de dato, operación aritmética.
- Funciones de cadena
- Usa las funciones de cadena para las siguientes tareas:
- Concatenar 2 o más secuencias de texto.
- Extraer un subconjunto de una secuencia de texto.
- Buscar y reemplazar caracteres o subconjuntos de una secuencia de texto.
- Convertir datos numéricos en una secuencia.
- Dar formato a una secuencia para su uso en un procesador de texto o hoja de cálculo.
- Funciones de matriz
- Usa las funciones de matriz para crear o manipular matrices, además de para las siguientes tareas:
- Extraer datos individuales de una matriz.
- Añadir un dato individual a una matriz.
- Dividir una matriz.
Una manera de familiarizarse con las diversas funciones es el insertarlas en el diagrama de bloques y posteriormente, seleccionando la figura con el ratón y haciendo click con el botón derecho seleccionar Create < All Controls and Indicators (ver imagen 9).
Imagen 9. Ejemplo de creación de controladores e indicadores de una función.
- Funciones de clúster
- Funciones de comparación
- Usa las funciones de comparación para comparar valores booleanos, secuencias, números, matriz y clústers.
- Funciones de tiempo y diálogo (*)1
- Usa las funciones de tiempo y diálogo para las siguientes tareas:
- Manipular la velocidad con la que las operaciones se ejecutan.
- Recuperar información sobre la hora y la fecha del reloj del PC.
- Funciones de archivo I/O (input/output) (*)2
- Usa las funciones de archivo I/O para las siguientes tareas:
- Abrir y cerrar archivos.
- Leer y escribir en archivos.
- Crear directorios y archivos donde especifiques a través del control de directorio.
- Recuperar información de directorio.
- Escribir cadenas de números, matrices y clusters en archivos.
- Funciones de onda
- Usa las funciones de onda para llevar a cabo las siguientes tareas:
- Construir formas de onda que incluyan los valores de forma de onda, canales de información y información de tiempo.
- Extraer información individual de una onda.
- Funciones de control de aplicaciones
- Funciones avanzadas
- Sub VIs. Es el equivalente a subrutinas en los lenguajes de programación habituales; un programa dentro de otro programa.
- Estructuras. Incluye elementos de control del proceso tales como 'estructuras de caso', 'estructuras en secuencia', entre otros. (ver imagen 15)
- Nodos de fórmula. Estructuras redimensionables para la introducción de ecuaciones directamente en el diagrama de bloques.
- Nodos de expresión
- Usa los nodos de expresión para calcular expresiones o ecuaciones que contienen una sola variable. Los nodos de expresión son útiles cuando una ecuación sólo tiene una variable.
- Los nodos de expresión utilizan el valor que pasa al terminal de entrada como el valor de la variable. El terminal de salida devuelve el valor del cálculo.
- Nodos de propiedad. Usa los 'nodos de propiedad' para obtener o configurar varias propiedades de una aplicación o VI. Se pueden leer o escribir múltiples propiedades usando un simple nodo, sin embargo algunas propiedades no son reescribibles. Puedes usar la herramienta de posicionamiento para redimensionar el 'nodo de propiedad' y añadir más terminales.
- Nodos de invocación. Usa los 'nodos de invocación' para realizar acciones o métodos sobre una aplicación o VI. Selecciona el método mediante el uso de la herramienta de operación para seleccionar el método del terminal.
- Nodos de interfaz de código (NICs).
- Llamada por nodos de referencia.
- Llamada por nodos de librería.
Los elementos aparecen más o menos ordenados en el diagrama de bloques y será nuestra tarea la de situarlos de un modo que nos resulte cómodo establecer las conexiones entre los mismos para que la programación integrada sea coherente y el programa se ejecute adecuadamente sin generar errores.
Además de los elementos que aparecen en el diagrama de bloques, deberemos añadir todos los "auxiliares" necesarios para que la programación se ajuste a los requerimientos que habremos de haber establecido previamente al iniciar el proyecto de programación.
Además de los elementos que aparecen en el diagrama de bloques, deberemos añadir todos los "auxiliares" necesarios para que la programación se ajuste a los requerimientos que habremos de haber establecido previamente al iniciar el proyecto de programación.
Del ejemplo anterior tenemos que el diagrama de bloques es el que sigue:
Imagen 10. Diagrama de bloques ejemplo anterior.
Los objetos del panel de control aparecen como terminales en el diagrama de bloques. Si hacemos doble click sobre un terminal del diagrama de bloques se nos mostrará el control o indicador correspondiente del panel frontal.
Estos son algunos de los controles más habituales en su vista del diagrama de bloque.
A través de la ventana del diagrama de bloques añadimos los elementos de medida o entrada de datos que nutrirán nuestros indicadores del panel de control y también lo referente a registros de las mediciones, que se irán almacenando en nuestra base de datos para su posterior estudio. Si lo deseamos, también podemos implementar una función estadística que nos devolverá un análisis de aquellas variables de proceso que consideremos que es necesario estudiar para una posible mejora de proceso, por ejemplo, de las condiciones óptimas de refrigeración de la unidad de proceso.
Estos son algunos de los controles más habituales en su vista del diagrama de bloque.
Imagen 11. Elemento de control numérico.
Imagen 12. (a) Elemento de entrada de datos. (b) Vista de icono.
Ahora es el momento de realizar las conexiones entre los diferentes terminales; estas conexiones indicarán el sentido en el que fluye la información y su formato será característico del tipo de dato (digital, analógico, etc.).
Los elementos de entrada de datos pueden ser multivariable, lo que significa que para procesar los datos habrá que separarlos, a continuación se muestra el elemento habitualmente utilizado para esta finalidad.
Imagen 13. (a) Elemento de cribado de datos. (b) Vista de icono.
Imagen 14. Elemento de medida con cribado de datos.
El cableado que une los elementos de la imagen 6 indica que los datos que fluyen a través del mismo es es del tipo dinámico o contínuo.
Imagen 15. Menú del elemento de cribado de datos.
Imagen 16. Funcionalidad escritura de datos en registro.
La estructura empleada para crear el registro es secuencial y se suele implementar en la denominada Flat Sequence Structure; la primera etapa crea el archivo y lo nutre de los datos que llegan de los distintos dispositivos; la segunda etapa permite introducir un comentario u cualquier otro tipo de input y finalmente la tercera etapa cierra el archivo.
La estructura anterior se puede ampliar añadiendo progresivamente más etapas que se irán ejecutando secuencialmente.
Iremos ampliando el contenido del blog con programas hechos a medida. Si tienes alguna necesidad específica aquí te podemos ayudar.
(*)1 Ideales para sistemas de control con retraso.
(*)2 Recomendadas para modelización de sistemas.
Descarga aquí el software LabVIEW.
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.
Cap comentari:
Publica un comentari a l'entrada