12Nivel 4
Dos bombas con alternancia y respaldo
Dos bombas llenan un estanque. En cada ciclo de llenado trabaja una distinta para repartir el desgaste, y si una falla, la otra la reemplaza y se enciende una alarma.
El simulador está pensado para computadores (pantallas de 1024 px o más).
Planta virtual
Nivel: 15 %
Vista en reposo. En el simulador la planta se mueve según las salidas de tu programa.
Entradas y salidas
| Dirección | Nombre | Descripción |
|---|---|---|
| I0.0 | SISTEMA | Interruptor del sistema |
| I0.2 | NIVEL_BAJO | Sensor de nivel bajo: 1 si el agua lo cubre (planta) |
| I0.3 | NIVEL_ALTO | Sensor de nivel alto: 1 si el agua lo cubre (planta) |
| I0.4 | BOMBA1_OK | Contacto NC de falla de la bomba 1: 0 = falla (planta) |
| I0.5 | BOMBA2_OK | Contacto NC de falla de la bomba 2: 0 = falla (planta) |
| Q0.0 | BOMBA_1 | Contactor de la bomba 1 |
| Q0.1 | BOMBA_2 | Contactor de la bomba 2 |
| Q0.2 | ALARMA | Luz de alarma de falla |
| M0.0 | DEMANDA | El estanque necesita agua (entre los dos sensores) |
| M0.1 | TURNO_B2 | En este ciclo le toca a la bomba 2 |
| M0.2 | CAMBIO_A_B2 | Pulso: el turno pasa a la bomba 2 |
| M0.3 | CAMBIO_A_B1 | Pulso: el turno pasa a la bomba 1 |
Programa
Diagrama de escalera (Ladder, LD)
Peldaño 1 — Demanda de agua con histéresis entre los sensores bajo y alto.
Peldaño 2 — Nuevo ciclo y era el turno de la bomba 1: pasa a la bomba 2.
Peldaño 3 — Nuevo ciclo y era el turno de la bomba 2: pasa a la bomba 1.
Peldaño 4 — Cambio de turno a la bomba 2.
Peldaño 5 — Cambio de turno a la bomba 1.
Peldaño 6 — Bomba 1: en su turno, o como respaldo si la bomba 2 falla.
Peldaño 7 — Bomba 2: en su turno, o como respaldo si la bomba 1 falla.
Peldaño 8 — Alarma ante cualquier falla.
Diagrama de bloques de funciones (FBD)
Red 1 — Demanda de agua con histéresis entre los sensores bajo y alto.
Red 2 — Nuevo ciclo y era el turno de la bomba 1: pasa a la bomba 2.
Red 3 — Nuevo ciclo y era el turno de la bomba 2: pasa a la bomba 1.
Red 4 — Cambio de turno a la bomba 2.
Red 5 — Cambio de turno a la bomba 1.
Red 6 — Bomba 1: en su turno, o como respaldo si la bomba 2 falla.
Red 7 — Bomba 2: en su turno, o como respaldo si la bomba 1 falla.
Red 8 — Alarma ante cualquier falla.
Texto estructurado (ST)
(* Dos bombas con alternancia y respaldo — convertido desde Ladder *)
VAR
R_TRIG_1 : R_TRIG;
R_TRIG_2 : R_TRIG;
END_VAR
(* Peldaño 1: Demanda de agua con histéresis entre los sensores bajo y alto. *)
DEMANDA := (SISTEMA AND NOT NIVEL_BAJO OR SISTEMA AND DEMANDA) AND NOT NIVEL_ALTO;
(* Peldaño 2: Nuevo ciclo y era el turno de la bomba 1: pasa a la bomba 2. *)
R_TRIG_1(CLK := DEMANDA);
CAMBIO_A_B2 := R_TRIG_1.Q AND NOT TURNO_B2;
(* Peldaño 3: Nuevo ciclo y era el turno de la bomba 2: pasa a la bomba 1. *)
R_TRIG_2(CLK := DEMANDA);
CAMBIO_A_B1 := R_TRIG_2.Q AND TURNO_B2;
(* Peldaño 4: Cambio de turno a la bomba 2. *)
IF CAMBIO_A_B2 THEN TURNO_B2 := TRUE; END_IF;
(* Peldaño 5: Cambio de turno a la bomba 1. *)
IF CAMBIO_A_B1 THEN TURNO_B2 := FALSE; END_IF;
(* Peldaño 6: Bomba 1: en su turno, o como respaldo si la bomba 2 falla. *)
BOMBA_1 := DEMANDA AND BOMBA1_OK AND NOT TURNO_B2 OR DEMANDA AND BOMBA1_OK AND NOT BOMBA2_OK;
(* Peldaño 7: Bomba 2: en su turno, o como respaldo si la bomba 1 falla. *)
BOMBA_2 := DEMANDA AND BOMBA2_OK AND TURNO_B2 OR DEMANDA AND BOMBA2_OK AND NOT BOMBA1_OK;
(* Peldaño 8: Alarma ante cualquier falla. *)
ALARMA := NOT BOMBA1_OK OR NOT BOMBA2_OK;Lista de instrucciones (IL)
(* Dos bombas con alternancia y respaldo — convertido desde Ladder *)
VAR
R_TRIG_1 : R_TRIG;
R_TRIG_2 : R_TRIG;
END_VAR
(* Peldaño 1: Demanda de agua con histéresis entre los sensores bajo y alto. *)
LD SISTEMA
ANDN NIVEL_BAJO
OR( SISTEMA
AND DEMANDA
)
ANDN NIVEL_ALTO
ST DEMANDA
(* Peldaño 2: Nuevo ciclo y era el turno de la bomba 1: pasa a la bomba 2. *)
CAL R_TRIG_1(CLK := DEMANDA)
LD R_TRIG_1.Q
ANDN TURNO_B2
ST CAMBIO_A_B2
(* Peldaño 3: Nuevo ciclo y era el turno de la bomba 2: pasa a la bomba 1. *)
CAL R_TRIG_2(CLK := DEMANDA)
LD R_TRIG_2.Q
AND TURNO_B2
ST CAMBIO_A_B1
(* Peldaño 4: Cambio de turno a la bomba 2. *)
LD CAMBIO_A_B2
S TURNO_B2
(* Peldaño 5: Cambio de turno a la bomba 1. *)
LD CAMBIO_A_B1
R TURNO_B2
(* Peldaño 6: Bomba 1: en su turno, o como respaldo si la bomba 2 falla. *)
LD DEMANDA
AND BOMBA1_OK
ANDN TURNO_B2
OR( DEMANDA
AND BOMBA1_OK
ANDN BOMBA2_OK
)
ST BOMBA_1
(* Peldaño 7: Bomba 2: en su turno, o como respaldo si la bomba 1 falla. *)
LD DEMANDA
AND BOMBA2_OK
AND TURNO_B2
OR( DEMANDA
AND BOMBA2_OK
ANDN BOMBA1_OK
)
ST BOMBA_2
(* Peldaño 8: Alarma ante cualquier falla. *)
LDN BOMBA1_OK
ORN BOMBA2_OK
ST ALARMA
Paso a paso
- 1Pulsa ▶ Ejecutar (F5) y activa SISTEMA. DEMANDA se activa con nivel bajo y se mantiene hasta el nivel alto, como en el ejemplo del estanque.
- 2Peldaños 2 a 5: en cada flanco de subida de DEMANDA, TURNO_B2 cambia de valor. Así cada llenado lo hace una bomba distinta; mira los tiempos de trabajo de cada una en la planta.
- 3Peldaños 6 y 7: cada bomba trabaja en su turno, o en el turno de la otra si la otra está en falla. En la planta, pulsa «Falla» en una bomba y observa cómo la otra la respalda.
- 4Peldaño 8: cualquier falla enciende la ALARMA. Las fallas se leen con contactos NC del equipo: un cable cortado también se ve como falla.