MÁQUINAS DE ESTADO FINITAS Pablo San Segundo (C-206)
Sistemas secuenciales Secuencial = combinacional + memorias (biestables) Tipos Síncrono: cambio de estado en cada ciclo de reloj. Asíncrono: cambio de estado nada mas detectarse variaciones en las entradas o en las memorias internas. Modelo formal: Máquina de estados Mealy: las salidas depende de las entradas y del valor de las memorias Moore: las salidas sólo depende del valor de las memorias
Máquina de Mealy Máquina de MEALY: Una máquina secuencial de tipo MEALY es una 5-tupla M=(Q,I,O, , ) donde: Q Ø es un conjunto finito de estados I Ø es un conjunto finito de entradas (símbolos de …) O Ø es un conjunto finito de salidas (símbolos de …) : QxI Q es la función de transición de estado : QxI O es la función de salida COMBINACIONAL
Máquina de Moore Máquina de MOORE: Una máquina secuencial de tipo MOORE es una 5-tupla M=(Q,I,O, , ) donde: Q Ø es un conjunto finito de estados I Ø es un conjunto finito de entradas (símbolos de …) O Ø es un conjunto finito de salidas (símbolos de …) : QxI Q es la función de transición de estado Q O es la función de salida COMBINACIONAL
Objetivos Nociones de Máquinas de Moore y Mealy Conversiones entre máquinas Modelado Diagramas de estado Tablas de transición Simplificación Estados equivalentes Aplicación sobre el diagrama de estados Aplicación sobre las tablas de transición Diseño de sistemas secuenciales síncronos Elección de estados (preferentemente con semántica de salida) Simplificación Ecuaciones de transición de estados Activación Retención Casos prácticos
Ejemplo: Sumador binario bit a bit (1/4) Entradas Dos entradas binarias x 1 y x 2 Una salida binaria y Estados- Maquina MEALY Q = {q0,q1} donde q0 estado de no acarreo q1 estado de acarreo Función de transición de estado (q0,11) = q1 (q0,00/01/10) = q0 (q1,00) = q0 (q1,10/01/11) = q1 Función de salida (q0,00/11) = 0 (q0,01/10) = 1 (q1,00/11) = 1 (q1,01/10) = 0 EJERCICIO Tablas de verdad para y
Ejemplo: Sumador binario de 1 bit (2/4) x1x2mtmt m t+ t y m={q 0 =0,q 1 =1} CUESTIÓN ¿Interpretación semántica?
Ejemplo: Sumador binario bit a bit (3/4) Diagrama de estados Evento de ACTIVACIÓN del estado q1 Eventos de RETENCIÓN del estado q0 CUESTIÓN Demuestre que es una máquina de Mealy
Ejemplo: Sumador binario bit a bit (4/4) Diseño-Máquina MOORE Q = {q00,q01,q10,q11} donde q00 estado de no acarreo con salida y=0 q01 estado de no acarreo con salida y=1 q10 estado de acarreo con salida y=0 q11 estado de acarreo con salida y=1 Función de transición de estados (q00/q01,00) = q00 (q00/q01,11) = q10 (q10/q11,00) = q01 (q10/q11,11) = q11 (q00/q01,01/10) = q01 (q10/q11,01/10) = q10 Función de salida (q00/q10) = 0 (q01/q11) = 1 CUESTIÓN Indique otra posible conversión de Mealy a Moore
Representación-Diagrama de estados (1/2) Diagrama de estados Grafo cuyos nodos representan estados y los arcos cambios (transiciones) entre estados fruto de eventos SUMADOR EN SERIE DE 1 BIT MEALY MOORE CUESTIÓN I ¿MEALY o MOORE? CUESTIÓN II ¿Secuencial o combinacional?
Representación-Tabla de transición (2/2) Tabla de transición de estados Representación tabular de las funciones de transición de estado y salida Modelo MEALY Modelo MOORE O q0q0,0q0,1q1,0q0,1q00q00q01q10q010 q1q0,1q1,0q1,1q1,0 q01q00q01q10q011 q10q01q10q11q100 q11q01q10q11q101 SUMADOR EN SERIE DE 1 BIT La salida se computa a partir del estado actual (Q t ) y las entradas CUESTIÓN Razone si pueden existir problemas de implementación de la máquina para el caso de entrada 11 estando en el caso q o
SIMPLIFICACIÓN DE MÁQUINAS DE ESTADO ESTADOS EQUIVALENTES
Caracterización de estado equivalente (1/3) ESTADOS EQUIVALENTES Dos estados son equivalentes cuando para cualquier secuencia de entradas la máquina evoluciona de la misma manera, es decir: I.Pasa por los mismos estados II.Presenta la misma salida en todo momento
Simplificación-ejemplo (2/3) Reconocedor de cadenas 101 I: x={0,1} O: y={0,1} Estados:NADAningún símbolo reconocido 1subcadena 1 reconocida 10subcadena 10 reconocida 101cadena 101 reconocida Nota: …10101 es una sola secuencia, no dos Cadena {101} NO encontrada Cadena {101} encontrada CUESTIÓN I ¿Mealy o Moore? CUESTIÓN II ¿Combinacional?
Simplificación-ejemplo (3/3) Identificación de estados equivalentes NADA /01/0 0/01/1 0/0 1/0 0/0 1/1 Conversión a Máquina de Moore NADA/0 1/0 10/0 101/ Q\Xx=0x=1 QnQn Qn/0Qn/0Q1/0Q1/0 Q1Q1 Q 10 /0Q1/0Q1/0 Q 10 Qn/0Qn/0Q 101 /1 Q 101 Qn/0Qn/0Q1/0Q1/0 Q\Xx=0x=1y QnQn QnQn Q1Q1 0 Q1Q1 Q 10 Q1Q1 0 QnQn Q QnQn Q1Q1 1 No hay estados equivalentes Mejor solución para Control Secuencial EJERCICIO Tabla de transición
DISEÑO DE SISTEMAS DE EVENTOS DISCRETOS CASOS PRÁCTICOS
Ejercicio: Control de un carrito (1/7) Tanteo con máquina de Moore: Un estado por cada combinación de salidas posibles con acción de control: Reposo (R) Derecha (D) Izquierda (I) P ON AB EntradasSalidas P ON Izq ADcha B Izqda LEY DE CONTROL Un ciclo completo de ida y vuelta tras cada pulsación de PON
Ecuaciones de transición (2/7) Qt\ O Rxx0,0 Dxx1,0 Ixx0,1 E={Pon, A, B} Q={R, D, I} O= {Do, Io} Qt\ O RxDx0,0 DIxIx1,0 IRxRx0,1 Qt\ O RRRRxRRDx0,0 DDIDxDIDx1,0 IIIRxIIRx0,1 Ecuaciones de activación de estado D I, R D, I R Ecuaciones de retención de estado R R, D D, I I Pon A B
Ecuaciones de activación (3/7) Activación del estado Derecha Activación del estado Izquierda Activación del estado Reposo Qt\ O RxDx0,0 DIxIx1,0 IRxRx0,1 ReposoDchaIzqda
Ecuaciones de retención (4/7) Retención del estado de reposo Usando solo entradas y reposo(t)-el formalismo Usando entradas, reposo(t) y derecha(t+1), programación PLCs Qt O RRRRxRRDx0,0 DDIDxDIDx1,0 IIIRxIIRx0,1 ¿Retención de D, I?
Ecuaciones de transición finales (5/7) Trans. Derecha Trans. Izquierda Trans. Reposo Qt O RRRRxRRDx0,0 DDIDxDIDx1,0 IIIRxIIRx0,1 Activación Retención
Modificación de especificaciones (6/7) Sucesivas pulsaciones de Pon alternan la dirección del movimiento del carrito (si no está en los extremos) Qt O RxDx0,0 DIxIIx1,0 IRxDRx0,1 Qt O RRRRxRRx0,0 DDDxDx1,0 IIIxIx0,1 Activación Retención
Nuevas ecuaciones de transición (7/7) Trans. Derecha Trans. Izquierda Trans. Reposo Retención Qt O RRRRxRRDx0,0 DDIDxIIDx1,0 IIIRxDIRx0,1 Activación Cuestión ¿Ec. Salidas?
Control de tráfico en un sentido-Caso A e1 e2 q1q2q3q4 q5q6q7 Diseñe una máquina de estados que permita detectar vehículos que circulan en dirección contraria por una autovía. Dicho sistema tendrá dos entradas e 1 y e 2 que serán las señales de dos células fotoeléctricas situadas a una distancia menor que la longitud del vehículo y la separación entre vehículos.
Solución Qt\ O NO SISCx1 NOSC 1 SINOSI 0 C2: “correcto” C3: “incorrecto” C1: “no vehículo” (e1,e2) CUESTIÓN Ecuaciones de salida salida
Control de tráfico en un sentido-caso B Diseñe una máquina de estados que permita detectar vehículos que circulan en dirección contraria por una autovía. Dicho sistema tendrá dos entradas e 1 y e 2 que serán las señales de dos células fotoeléctricas situadas a una distancia mayor que la longitud del vehículo y menor que la separación entre vehículos e1 e2 q1q2q3q4 q5q6q7 CUESTIÓN ¿Es válido el diseño de estados del caso A?
Tabla de transición (1/2) Qt\ O NO SISCx1 VECSC x1 SIVEISI x0 VEI xSIx0 VEC SCxxI “correcto” “incorrecto” “no vehículo” (e1,e2) “vehículo entre sensores no ok” “vehículo entre sensores ok” CUESTIÓN I ¿Es correcta la tabla? CUESTIÓN II Indique si existe un problema con el diseño
Tabla de transición (2/2) Qt\(e 1,e 2 ) O NO SI-01SC-10x1 SC-00xSC-10x1 SC-00 SC-01xx1 NOSC-01xx1 SI-010 SI-000 SI-100 “correcto-10” “correcto-00” “no vehículo” “correcto-01” EJERCICIO Ecuaciones de activación y retención para la máquina simplificada CUESTIÓN II ¿Se puede simplificar algún estado? CUESTIÓN I Complete la tabla
Ejercicio: Control de un cilindro (1/4) Realizar un automatismo para el control de un cilindro de doble efecto con una electroválvula 5/2 biestable. Se dispone de un interruptor de inicio (I) y otro de parada (P), junto con dos sensores de posición S1 y S2, que detectan la compresión y expansión del cilindro respectivamente. Al activar I se realizarán ciclos completos de expansión/compresión del cilindro hasta que se active P, momento en que el cilindro volverá al reposo, tras terminar el ciclo actual. En reposo el cilindro siempre estará comprimido. La parada siempre será preferente. IP
Diseño de máquina de estado (2/4) Entradas: {I, P, S1, S2} Salidas: {A1 y A2} Estados { Reposo (R), Expandiendo (E), Comprimiendo (C) } Qt …A1A2 R E C EJERCICIO I Ecuaciones de salidas EJERCICIO II Ecuaciones en lenguaje de contactos (KOP) Indica parada preferente conf. inicial del reposo
Lenguaje KOP (3/4) Ec. retención Ec. activación CUESTIÓN ¿Hay algún error?
Grafcet del sistema (4/4)
INTRODUCCIÓN A LAS MÁQUINA DE ESTADO (con aplicación a control) I.Definiciones: Máquinas de Mealy y Moore II.Estados equivalentes-simplificación III.Diseño: selección de estados IV.Ecuaciones de activación y retención V.Casos prácticos ¿PREGUNTAS?