Está en la página 1de 9

c  

 

El State Diagram o Máquina de Estados, es un método de programación secuencial, similar
al diagrama a bloques de cualquier proceso. El componente principal son los ͞EstadosÀ,
que son la representación de los bloques.

Todas las Máquinas de Estados, tienen un estado inicial y un estado final, además cada
estado puede ser cíclico o de paso. Los estados cíclicos están repitiéndose
constantemente, y pasan al siguiente estado una vez cumplida su condición Booleana de
salida. Los estados de paso, una vez ejecutado, pasan inmediatamente al siguiente estado.

Exceptuando el estado inicial y final, todos los estados obligatoriamente deben tener al
menos una transición de entrada y una transición de salida. Todas las transiciones tienen
designada una condición Booleana.

El estado inicial tiene obligatoriamente al menos una transición de salida y puede o no


tener transiciones de entrada. El estado final tiene obligatoriamente al menos una
transición de entrada y no tiene transiciones de salida.

Los estados de múltiples transiciones de entrada, son el estado de salida de varios estados
anteriores. En la figura siguiente el ESTADO 4 representa un estado de múltiples
transiciones de entradas.

Fig.xx: Estado de múltiples transiciones de entradas.

Los estados de múltiples transiciones de salida, son los que pueden tener varios estados
siguientes. A pesar de tener varias transiciones de salida solo puede continuar por una de
ellas. Al cumplirse alguna condición, se pasa al siguiente estado por la transición
correspondiente a la condición que se cumplió. Si varias transiciones cumplen su condición
al mismo tiempo, se continúa al siguiente estado por la transición de mayor prioridad. En
la figura siguiente el ESTADO 4 representa un estado de múltiples transiciones de salida.
Fig.xx: Estado de múltiples transiciones de salida.

La mayoría de las Máquinas de estados son programadas en forma cíclica, pero también
pueden ser programadas de forma lineal. Las que están programadas en forma lineal,
pasan de un estado al otro hasta llegar al estado final y no se vuelven a ejecutar hasta que
sea nuevamente iniciada la Máquina de Estados. Las programadas de forma cíclica,
pueden repetir algunos o todos sus estados, sin pasar por el estado final, ya que una vez
llegado al estado final la Máquina de Estados se detienen hasta que sea iniciada
nuevamente. A continuación se muestran algunas imágenes de ejemplos de Máquinas de
Estados en su representación de bloques.

Fig.xx: Máquina de Estados lineal.

Fig.xx: Máquina de Estados lineal.

Fig.xx: Máquina de Estados lineal.


Fig.xx: Máquina de Estados cíclica.

Fig.xx: Máquina de Estados cíclica.

Fig.xx: Máquina de Estados cíclica.


LabView cuenta con la herramienta c   para realizar Máquinas de Estados, la
cual te genera automáticamente la programación en el Block Diagram. Esta programación
que genera automáticamente, esta basada en una estructura While Loop exterior, y una
estructura case en el interior, la cual a su vez contiene otra estructura While y en su
interior otra estructura Case. Además abre una nueva ventana llamada c   

  para la edición de la Máquina de Estados en su forma de bloques.

Fig. xx: Estructura de una Máquina de Estados en el Block Diagram.

Fig xx: Ventana c  


  
èara insertar una Máquina de Estados en el Block Diagram, dar click derecho en el área de
trabajo y seleccione Ôddons>>State Diagram Editor>>State Diagram del menú, después
dar doble click izquierdo en el área de trabajo.

  

c    
En esta ventana se lleva a cabo la creación y modificación de la Máquina de Estados. Solo
consta de dos componentes estados y transiciones.

    
Existen dos formas de agregar nuevos estados, dando click derecho en el área de trabajo
de la ventana c  
  y seleccionando c   del menú, el nuevo estado
aparecerá en el lugar donde fue dado el click derecho. Otra forma es seleccionando el
menú   c   de la barra de herramientas, el nuevo estado aparecerá en un
lugar aleatorio que se encuentre libre en el área de trabajo.

El estado que se encuentra seleccionado se denota por tener un borde rosa.

èara cambiar la ubicación de los estados en el área de trabajo, dar click izquierdo
sostenido, desplazar a la nueva posición y soltar.

Cuando se crea un nuevo estado, el nombre aparece seleccionado para su modificación. Si


en algún momento se desea cambia el nombre del estado, solo se debe dar doble click
sobre el estado y se seleccionara su nombre y podrá ser remplazado tecleando el nuevo.

èara eliminar estados basta con seleccionarlos y presionar la tecla <Del> o <Supr>.

    


Como ya se había mencionado anteriormente, todas las Máquinas de Estados deben de
tener un estado inicial y un estado final, y solo debe existir uno de cada tipo. èor defecto el
estado inicial ya viene creado en la ventana c  
  

El estado inicial normalmente es usado para limpiar variables, llevar el sistema a su


posición inicial, verificar las condiciones iniciales, etc.

Las características del estado inicial son:

î Cuando la Máquina de Estados se ejecuta por primera vez, es el primer estado en


ejecutarse.
î èuede tener transiciones de entrada y salida.
î Es de color verde.

Si en algún momento es necesario cambiar el estado inicial, solo se debe de dar click
derecho en el estado que se desea que sea el nuevo estado inicial y seleccionando O
  del menú. El nuevo estado inicial tendrá ahora el color verde y sustituirá al anterior
en su función de estado inicial. El estado inicial anterior no será borrado ni remplazado y
los nombres de cada estado no serán modificados.

èara añadir el estado final, se debe seleccionar un estado existente o crear uno nuevo.
Dando click derecho en el estado seleccionado y seleccionando O del menú.
El estado seleccionado ahora tendrá un color rojo que lo identificara como estado final.

Las características del estado final son:

î Es el último estado en ejecutarse. Después de ejecutar el estado final la Máquina


de estados termina y no volverá a funcionar hasta que sea llamada nuevamente.
î Solo puede tener transiciones de entrada.
î Es de color rojo.

Si en algún momento es necesario cambiar el estado final, solo se debe de dar click
derecho en el estado que se desea que sea el nuevo estado final y seleccionando O
 del menú. El nuevo estado final tendrá ahora el color rojo y sustituirá al anterior
en su función de estado final. El estado final anterior no será borrado ni remplazado y los
nombres de cada estado no serán modificados.

×


Cuando un estado es creado, tiene una transición base denominada
 . La transición

 no se puede borrar, ni cambiar de nombre. Cuando en un estado no existen otras


transiciones o no se ha cumplido sus condiciones, la transición de salida elegida es


Esta transición es usada para definir si el estado será cíclico o de paso. Si la transición

 esta conectada a su propio estado, este estará en ciclo mientras no se cumpla
alguna condición de sus otras transiciones de salida. Si esta transición
 esta
conectada hacia otro estado y ninguna de las otras transiciones han sido seleccionadas,
automáticamente se pasa al siguiente estado por la transición
 . Si el estado cuenta
únicamente con la transición de salida
 , esta deberá ser cableada a otro estado

èara agregar transiciones a los estados existen tres formas, dando click derecho en un
estado y seleccionando    y dando click en el estado de salida Otra
forma es seleccionando un estado y dando click en        de la
barra de herramientas. La última forma es seleccionando el estado donde se desea crear la
transición, y presionando la tecla <Shift> se da click en el estado de salida.

Cuando se crea una nueva transición, el nombre aparece seleccionado para su


modificación. Si en algún momento se desea cambia el nombre de la transición, solo se
debe dar doble click sobre el, será seleccionado y podrá ser remplazado tecleando el
nuevo.

Las transiciones cableadas de un estado a otro pueden ser modificadas, haciendo que
vallan hacia otro estado diferente. èara realizar un cambio, se debe de dar click sostenido
en la punta de flecha de la transición que se desea cambiar y arrastrarla hasta soltarla en
el estado deseado.

èara eliminar transiciones basta con seleccionarlas y presionar la tecla <Del> o <Supr>.

   
    
Una vez terminado el diseño y construcción de la Maquina de estados en la ventana c  

 , se continua con la programación de cada estado. Esta programacion es
realizada en la ventana del    igual a cualquier estructura cuidando
programar en el área correspondiente.

Se recomienda que la programación de los estados se realice de forma secuencial,


empezando por el Estado Inicial Hasta llegar al Estado Final siguiendo el orden de las
transiciones, ya que se podría omitir alguna condición y ocasionar comportamientos
erráticos.

èaso 1: Seleccionar el estado a programar.

En la ventana c  
  debe seleccionarse el estado que se desea programar.
Como se menciono anteriormente el estado seleccionado se denota por tener un borde
color rosa.

èaso 2: Cambiar a la Ventana  

Ahora es necesario cambiar a la ventana  , donde se puede observar que el


nombre del estado seleccionado en la ventana c  
  se encuentra visible
en el selector de la estructura  exterior.

èaso 3: èrogramar las funciones del Estado


En este paso, se realizada la programación de lo que el Estado debe efectuar, usando los
VIs y funciones de las paletas de programación. El área donde se debe programar este
paso se muestra a continuación sombreada.

èaso 4: èrogramación de las condiciones Booleanas de las Transiciones.

En este paso es necesario programar las condiciones que deben cumplirse para cada
transición de salida. La mayoría de esta programación esta basada en comparadores,
señales discretas de sensores, botones de usuario o cualquier otra señal de tipo Booleana.

En la figura siguiente se encuentra el selector de la estructura Ñase interior encerrado en


un ovalo, que es donde aparece el nombre de la transición actual que se esta
programando. èara cambiar de transición se usa la ë     para dar click en las
flechas laterales del selector del Ñase o dando click en el nombre la transición aparece un
menú con los nombres de todas las transiciones del estado.

La condición de la transición
 es una constante Booleana de valor  y no puede
ser modificada.

El área de programación de este paso es la estructura Ñase interior, que se muestra a


continuación sombreada.
Una vez terminado el èaso 4 regresar al la ventana de c  
  y repetir del
èaso 1 al èaso 4 hasta terminar todos los Estados.