2. Diseno del Circuito Logico y Mapas de Karnaugh - gevengood/Automatizacion-Tanque-Quimico-Doncel GitHub Wiki
2. Diseño del Circuito Lógico Combinacional y Mapas de Karnaugh
2.1 Tabla de Verdad del Proceso
Con 3 variables binarias de entrada (B3, B2, B1), el sistema posee 8 combinaciones posibles:
| # | B3 | B2 | B1 | Condición Física del Tanque | H1 | H2 | H3 | H4 | H5 |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | Tanque Vacío — Ningún sensor detecta fluido (Válido) | 0 | 0 | 0 | 1 | 0 |
| 1 | 0 | 0 | 1 | Nivel Muy Bajo — Fluido solo en el fondo B1 (Válido) | 0 | 1 | 0 | 0 | 0 |
| 2 | 0 | 1 | 0 | Falla de Sensor — B2 activo pero B1 inactivo (Imposible) | 0 | 0 | 0 | 0 | 1 |
| 3 | 0 | 1 | 1 | Nivel Correcto — Fluido cubre B1 y B2 sin llegar a B3 (Válido) | 1 | 0 | 0 | 0 | 0 |
| 4 | 1 | 0 | 0 | Falla de Sensor — B3 activo sin B2 ni B1 (Imposible) | 0 | 0 | 0 | 0 | 1 |
| 5 | 1 | 0 | 1 | Falla de Sensor — B3 y B1 activos pero B2 inactivo (Imposible) | 0 | 0 | 0 | 0 | 1 |
| 6 | 1 | 1 | 0 | Falla de Sensor — B3 y B2 activos pero B1 inactivo (Imposible) | 0 | 0 | 0 | 0 | 1 |
| 7 | 1 | 1 | 1 | Nivel Muy Alto (Rebose) — Los 3 sensores detectan fluido (Válido) | 0 | 0 | 1 | 0 | 0 |
2.2 Obtención de Ecuaciones Canónicas y Simplificación por Mapas de Karnaugh
A) Indicadores de Estados Operativos
Cada uno de los cuatro estados operativos válidos corresponde a un único minitérmino canónico:
| Indicador | Minitérmino | Ecuación Booleana Mínima |
|---|---|---|
| H4 — Tanque Vacío | m(0) | H4 = B3' · B2' · B1' |
| H2 — Nivel Muy Bajo | m(1) | H2 = B3' · B2' · B1 |
| H1 — Nivel Correcto | m(3) | H1 = B3' · B2 · B1 |
| H3 — Sobrellenado | m(7) | H3 = B3 · B2 · B1 |
B) Simplificación por Mapa de Karnaugh para la Alarma de Error (H5)
La salida de error H5 se activa en los minitérminos correspondientes a estados físicamente incongruentes: H5 = Σm(2, 4, 5, 6).
Su expresión canónica en Suma de Productos (SOP) sin simplificar:
H5 = (B3'·B2·B1') + (B3·B2'·B1') + (B3·B2'·B1) + (B3·B2·B1')
Mapa de Karnaugh de 3 variables (código Gray en columnas B2·B1):
| B3 \ B2·B1 | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | 0 (m0) | 0 (m1) | 0 (m3) | 1 (m2) |
| 1 | 1 (m4) | 1 (m5) | 0 (m7) | 1 (m6) |
Agrupación de Implicantes Primos Esenciales:
- Grupo 1 — Fila B3=1, columnas 00 y 01 (m4, m5): B3 permanece en 1, B2 permanece en 0 (B2'), B1 cambia → se elimina. Resultado: B3·B2'
- Grupo 2 — Columna 10, filas B3=0 y B3=1 (m2, m6): B3 cambia → se elimina, B2 permanece en 1, B1 permanece en 0 (B1'). Resultado: B2·B1'
[!NOTE] Ecuación Booleana Mínima:
H5 = (B2 · B1') + (B3 · B2')
Es decir, se detecta un error cuando un sensor de nivel superior reporta presencia de fluido sin que el sensor inmediatamente inferior lo haga, lo cual viola la física del llenado por gravedad. La simplificación reduce el circuito de 4 ramas de 3 contactos a 2 ramas de 2 contactos.
2.3 Diagrama de Transición de Estados del Proceso
stateDiagram-v2
[*] --> H4_Tanque_Vacio : Inicio (B3=0, B2=0, B1=0)
H4_Tanque_Vacio --> H2_Nivel_Bajo : Llenado alcanza B1
H2_Nivel_Bajo --> H1_Nivel_Correcto : Llenado alcanza B2
H1_Nivel_Correcto --> H3_Sobrellenado : Llenado alcanza B3
H3_Sobrellenado --> H4_Tanque_Vacio : STOP / Reinicio
H4_Tanque_Vacio --> H5_Error_Sensor : Falla detectada
H2_Nivel_Bajo --> H5_Error_Sensor : Falla detectada
H1_Nivel_Correcto --> H5_Error_Sensor : Falla detectada
H5_Error_Sensor --> H4_Tanque_Vacio : Reset / Rearme
Anterior: 1. Contexto del Problema | Siguiente: 3. Implementación en CODESYS V3.5 y HMI