Maintenance , Industrial Automation and Design Arquitectures: State machines in Labview How Can I make it?

El objetivo de esta entrada es mostrar como implementar maquinas de estados en Labview (para teoría de maquinas de estados de Moore y diagramas de estado visite http://es.wikipedia.org/wiki/M%C3%A1quina_de_Moore).

Antes de continuar, es recomendable consultar que son maquinas de estados finitos de Moore para comprender el objetivo de esta entrada. Al final de esta breve introducción implementaremos un ejemplo.

La arquitectura de maquina de estados es una de las arquitecturas mas versátiles con las que cuenta LabView para implementar código en procesos secuenciales que no tienen un orden especifico de secuencia.

En un proceso de supervisión y control industrial tipicamente se tiene un diagrama de estados como el siguiente:



Una maquina de estado es labview esta conformada por: while loop, case structures (Cada caso es un estado), Shift registers, código funcional para cada estado y por ultimo código que controlara el flujo de la maquina de estados.

Para la implementación de las maquinas de estados en labview es importante identificar que existen varias opciones a la hora de hacer transiciones, estas opciones son:
1. Transición a un estado definido: Es cuando solo hay una opción de transición.
2. Transición a dos posibles estados definidos: como su nombre lo indica es cuando exiten dos posibles rutas para el proceso en curso.
3. Transición a dos o mas estados definidos: Se presenta cuando existen dos o mas estados posibles para que el proceso siga su curso.

Gráficamente podemos distinguirlos así:


Implementación del caso 1 en Labview
Observemos el siguiente VI

Estamos en el estado 1 y solo existe una posibilidad de transición que se hará después de 1 seg hacia el estado 2 (es muy usual utilizar temporizadores en maquinas de estados).
Observemos que se ha utilizado un shift register en la estructura while.

Implementación del caso 2 en Labview
Observemos el siguiente VI


En este caso tenemos un código de decisión que dependiendo su resultado (True o false) puede enviarnos al estado 2 (en caso de ser False) o al estado 3 (en caso de ser true)
Se utiliza cuando se esta completamente seguro de que existen solo las dos posibilidades, aunque este caso no es muy utilizado debido a que limita la escabilidad del programa.

Implementación del caso 3 en Labview
Este es el caso mas utilizado en general, para implementarlo usualmente se hacen arreglos de transicion, utilizándolos en conjunto con estructuras de caso.

A medida que vaya desarrollando el contenido de la entrada lo ire subiendo a la misma... continuara...

1 commentaire: