EJERCICIO 1 – Bomba con posventilación y alarma de nivel
1. Planteamiento funcional
Queremos:
-
Bomba:
-
Arranca con botón de MARCHA si no hay alarma de nivel bajo.
-
Se detiene con botón de PARO o por nivel bajo.
-
-
Posventilación:
-
Un ventilador se enciende cuando la bomba está en marcha.
-
Cuando la bomba se apaga, el ventilador sigue encendido, por ejemplo, 30 s más.
-
-
Alarma de nivel bajo:
-
Si se detecta nivel bajo, la bomba se para y se latcha una alarma.
-
La alarma sólo se borra con un botón de RESET y cuando el nivel vuelve a ser normal.
-
2. Definición de señales (ejemplo)
Entradas digitales
-
I:0/0→PB_START(MARCHA, NA) -
I:0/1→PB_STOP(PARO, NC cableado como contacto normalmente cerrado) -
I:0/2→NIVEL_BAJO(sensor de mínimo, 1 = nivel demasiado bajo) -
I:0/3→RESET_ALARMA(NA)
Salidas digitales
-
O:0/0→BOMBA(contactor de bomba) -
O:0/1→VENTILADOR -
O:0/2→PILOTO_ALM_NIVEL(piloto rojo)
Bits internos
-
B3:0/0→ALM_NIVEL_BAJO(bit de alarma)
Temporizador
-
T4:0→T_POSVENTILACION(TOF, retardo a la desconexión)
3. Paso 1 – Alarma de nivel bajo (latch/unlatch)
Rung 1 – Disparo de alarma de nivel bajo
-
Si el sensor
NIVEL_BAJOpasa a 1, se latchaALM_NIVEL_BAJO.
Rung 2 – Reset de alarma de nivel bajo
-
NIVEL_NORMALlo tomamos comoNIVEL_BAJO = 0→ usamosXIO I:0/2. -
Solo si el operador pulsa
RESET_ALARMAy el nivel ya no está bajo, se haceOTUdel bit de alarma.
4. Paso 2 – Enclavamiento de bomba con bloqueo por alarma
Rung 3 – Marcha/parada de bomba con enclavamiento
Lectura:
-
PB_STOPen XIC porque el botón es NC: cuando no está presionado, la entrada = 1. -
PB_STARTen XIC: sólo se cierra mientras se pulsa. -
BOMBAen XIC: contacto de sello (mismo bit de la salida). -
ALM_NIVEL_BAJOen XIO: si hay alarma (bit = 1), bloquea el arranque y desenergiza la bomba.
Resultado:
-
Pulsas
STARTsin alarma → se energizaBOMBAy el sello la mantiene encendida. -
Pulsas
STOP→ la línea cae yBOMBAse apaga. -
Si entra
NIVEL_BAJO→ se latchaALM_NIVEL_BAJOy el XIO se vuelve falso → la bomba se apaga y no vuelve a arrancar hasta reset.
5. Paso 3 – Posventilación con TOF
Queremos que el ventilador esté ON:
-
Mientras la bomba esté ON.
-
Y además 30 s después de que la bomba se apague.
Lo más limpio: usar un TOF cuyo rung se base en la señal de la bomba.
Rung 4 – Temporizador de posventilación (TOF)
Comportamiento de TOF:
-
Mientras
BOMBA= 1 (rung verdadero) →T4:0/DN = 1. -
Cuando
BOMBApasa a 0 → el TOF empieza a contar;DNse mantiene en 1 durante los 30 s. -
Al terminar,
DNse vuelve 0.
Rung 5 – Comando del ventilador
Resultado:
-
BOMBAON →T4:0/DN = 1→ ventilador ON. -
BOMBAOFF →T4:0cuenta 30 s conDNen 1 → ventilador sigue ON. -
Tras 30 s →
DN = 0→ ventilador OFF.
6. Paso 4 – Piloto de alarma de nivel bajo
Rung 6 – Piloto rojo de alarma
Mientras ALM_NIVEL_BAJO = 1, el piloto rojo está encendido.
7. Checklist de prueba
-
Simular nivel normal (entrada de
NIVEL_BAJO = 0). -
Start → bomba ON, ventilador ON, sin alarmas.
-
Stop → bomba OFF, ventilador sigue 30 s y luego OFF.
-
Con bomba en marcha, activar
NIVEL_BAJO = 1:-
Bomba se apaga.
-
Ventilador se mantiene 30 s.
-
PILOTO_ALM_NIVELON. -
No deja arrancar de nuevo hasta que:
-
Nivel normal (NIVEL_BAJO = 0)
-
Pulsar
RESET_ALARMA.
-
-
EJERCICIO 2 – Lámpara con Start/Stop y función de alternancia (toggle)
Objetivo:
-
Pulsador START: cada pulsación alterna el estado de la lámpara (ON ⇄ OFF).
-
Pulsador STOP: apaga la lámpara y la deja en estado “OFF seguro”.
Te doy dos enfoques:
-
A) Para ControlLogix / CompactLogix (que tienen instrucción
TGL). -
B) Para SLC / MicroLogix (sin
TGL, usando OTL/OTU + ONS).
A) ControlLogix / CompactLogix (con TGL)
1. Señales
Entradas (alias de ejemplo):
-
PB_START→Local:1:I.Data.0 -
PB_STOP→Local:1:I.Data.1
Salidas:
-
LAMP→Local:2:O.Data.0
Bits internos:
-
Lamp_State(BOOL) → estado interno de la lámpara -
Start_OneShot(BOOL) → bit de almacenamiento para ONS
2. Paso 1 – One-shot de START
En Studio 5000, el ONS no necesita bobina al final; la instrucción en sí genera el pulso hacia la derecha del rung.
3. Paso 2 – Toggle del estado interno
Cada vez que Start_OneShot se activa (un solo scan), la instrucción TGL invierte Lamp_State:
-
Si estaba en 0 → pasa a 1.
-
Si estaba en 1 → pasa a 0.
4. Paso 3 – Stop que fuerza estado OFF
-
Al presionar
STOP, reseteasLamp_Statea 0, quede como quede.
5. Paso 4 – Salida física de la lámpara
Resultado:
-
Al primer pulso de
START→Lamp_Statese pone en 1 → lámpara ON. -
Segundo pulso de
START→Lamp_Statese pone en 0 → lámpara OFF. -
STOPen cualquier momento → hace OFF y deja el estado en 0.
B) SLC / MicroLogix (sin TGL, usando OTL/OTU + ONS)
Aquí no existe TGL, así que hacemos el “toggle” con dos rungs y ONS.
Señales (ejemplo):
-
I:0/0→PB_START -
I:0/1→PB_STOP -
O:0/0→LAMP -
B3:1/0→Lamp_State -
B3:1/1→Start_OneShot(bit del ONS)
1. One-shot del botón START
Genera un pulso de un scan en la rama a la derecha del ONS.
2. Latch cuando estaba apagada
-
Si llega el pulso y
Lamp_Stateestaba en 0 (XIO), entonces lo latchamos a 1.
3. Unlatch cuando estaba encendida
-
Si llega el mismo pulso y
Lamp_Stateestaba en 1 (XIC), hacemosOTU→ lo ponemos en 0.
Importante: el ONS está en el Rung 1.
En los Rungs 2 y 3 usamos el mismo bit B3:1/1 como condición XIC:
-
Durante el scan en que ocurre el pulso,
B3:1/1estará en 1 sólo en ese instante. -
Dependiendo de si
Lamp_Stateera 0 u 1, se ejecutará solo uno de los dos rungs (el otro quedará falso).
4. Stop que fuerza OFF
Cualquier pulsación de STOP pone el estado interno en 0.
5. Salida de la lámpara
6. Prueba del ejercicio 2
-
Inicial:
Lamp_State = 0, lámpara apagada. -
Pulsas START una vez:
-
Rung 1 genera pulso.
-
Lamp_Statepasa de 0 a 1. -
Lámpara ON.
-
-
Pulsas START otra vez:
-
Nuevo pulso.
-
Lamp_Statepasa de 1 a 0. -
Lámpara OFF.
-
-
Pulsas STOP en cualquier momento:
-
Lamp_Statese pone en 0. -
Lámpara OFF.
-
La siguiente pulsación de START la volverá a encender.
-


Facebook