Ladder sin rodeos (Rockwell): contactos, bobinas, temporizadores, contadores, enclavamientos y alarmas

 


1. Filosofía Ladder Rockwell en una frase

El PLC evalúa de izquierda a derecha y de arriba hacia abajo cada línea (rung).
Si la lógica de la línea es verdadera → energiza la bobina/instrucción de salida.
Si es falsa → la desenergiza (salvo que uses latch).

Con eso en mente, vamos por bloques.


2. Contactos y bobinas

2.1. Contactos: XIC y XIO

Rockwell no los llama “NA/NC” sino:

  • XICExamine If Closed → normalmente lo dibujas como NA:
    —| |—
    La instrucción es verdadera si el bit asociado está en 1.

  • XIOExamine If Open → normalmente lo dibujas como NC:
    —|/|—
    La instrucción es verdadera si el bit asociado está en 0.

Ejemplo típico:

I:0/0 B3:0/0 ----[ XIC ]--------[ XIO ]--------( OTE O:0/0 ) START FALLO MOTOR
  • Si START está en 1 y FALLO en 0 → la bobina de MOTOR se energiza.

2.2. Bobinas: OTE, OTL, OTU

  • OTEOutput Energize
    ( OTE )
    La salida vale lo que valga la lógica del rung en ese instante.
    Si la línea se cae, la bobina se apaga.

  • OTLOutput Latch
    ( OTL )
    Si el rung es verdadero, el bit se pone en 1 y queda en 1 aunque luego la línea sea falsa.

  • OTUOutput Unlatch
    ( OTU )
    Si el rung es verdadero, el bit se pone en 0 y queda en 0.

Se usan OTL/OTU para “set/reset” de bits que deben recordar un estado (alarma, marcha mantenida, etc.).


3. Enclavamiento clásico de marcha/parada (circuito de sellado)

Es el “hola mundo” del ladder.

Supongamos:

  • I:0/0 → pulsador de MARCHA (NA).

  • I:0/1 → pulsador de PARO (NC).

  • O:0/0 → salida para MOTOR.

PARO NC MARCHA NA CONTACTO DE SELLO BOBINA I:0/1 I:0/0 O:0/0 O:0/0 ----[ XIC ]--------[ XIC ]----------[ XIC ]------------- ( OTE )
  • PARO NC: XIC de un contacto que normalmente está en 1. Si presionas, se abre → línea falsa.

  • MARCHA NA: XIC que se cierra solo mientras presionas.

  • CONTACTO DE SELLO: el mismo bit de la bobina O:0/0 usado como contacto XIC.

Secuencia:

  1. Paro no presionado → PARO = 1.

  2. Pulsas MARCHA → la línea se hace verdadera y energiza MOTOR.

  3. Al energizarse MOTOR, su contacto de sello toma valor 1, así que aunque sueltes MARCHA, la línea sigue verdadera.

  4. Al pulsar PARO, la línea se cae y MOTOR se apaga.

Esto es enclavamiento por “sellado” (seal-in).


4. Temporizadores: TON, TOF, TP (pulso)

4.1. TON – Retardo a la conexión

TON: On-Delay Timer
Lógica:

  • Si la línea se vuelve verdadera → empieza a contar hasta el valor PRE.

  • Cuando el tiempo transcurrido (ACC) llega a PRE, el bit T4:0/DN se pone en 1.

  • Si la línea cae antes, resetea ACC a 0 y DN vuelve a 0.

Ejemplo: arrancar un motor 5 s después de orden de marcha:

Rung 1: Temporizador ORDEN_MARCHA B3:0/0 ----[ XIC ]----------------------[TON T4:0 PRE 5s ACC 0s] Rung 2: Uso del DN T4:0/DN ----[ XIC ]------------------------( OTE O:0/0 MOTOR )

4.2. TOF – Retardo a la desconexión

TOF: Off-Delay Timer
Lógica:

  • Cuando la línea es verdadera, DN está en 1.

  • Cuando la línea se vuelve falsa, empieza a contar hasta PRE.

  • Al terminar el tiempo, DN pasa a 0.

Útil para:

  • Mantener un ventilador, extractor o bomba un tiempo después de quitar la orden.

4.3. TP – Pulso (cómo implementarlo)

Rockwell no trae “TP” explícito como algunas marcas europeas, pero se implementa con TON:

Idea: al detectar un flanco de activación, enciendes una salida por un tiempo fijo y luego se apaga sola.

Ejemplo de pulso de 1 s al presionar un botón:

Rung 1: One-shot del botón I:0/0 ----[ XIC ]--------------------[ONS B3:0/0]--------( OTE B3:0/1 PULSO_INICIO ) Rung 2: TON a partir del pulso B3:0/1 ----[ XIC ]------------------[TON T4:1 PRE 1s ACC 0] Rung 3: Salida de pulso mientras el TON está contando T4:1/TT ----[ XIC ]------------------------( OTE B3:0/2 PULSO_1s )

TT (Timer Timing) está en 1 mientras el TON está contando, eso te da el pulso.


5. Contadores: CTU, CTD, RES

Lo más usado: CTU (Count Up).

  • .ACC → acumulado.

  • .PRE → valor de preset al que comparas.

  • .DN → se pone en 1 cuando ACC >= PRE.

Ejemplo: contar piezas que pasan por un sensor:

Rung 1: Conteo SENSOR_PIEZA I:0/0 ----[ XIC ]---------------------[CTU C5:0 PRE 100 ACC 0] Rung 2: Reset RESETEAR_CONTADOR I:0/1 ----[ XIC ]------------------------[RES C5:0]

Buenas prácticas:

  • Usar one-shot (ONS) delante de la entrada al contador, para evitar múltiples conteos por rebote.


6. Set/Reset con OTL/OTU (latch/unlatch)

Uso típico: alarmas, estados de máquina, condiciones que deben permanecer hasta que pase algo explícito.

Ejemplo: alarma por sobrecarga de motor que debe ser reconocida:

Rung 1: LATCH de alarma FALLO_SOBRECARGA I:0/2 ----[ XIC ]---------------------------( OTL B3:1/0 ALARMA_MOTOR ) Rung 2: UNLATCH de alarma (reset por operador) RESET_ALARMA I:0/3 ----[ XIC ]---------------------------( OTU B3:1/0 ALARMA_MOTOR ) Rung 3: Uso de la alarma B3:1/0 ----[ XIC ]----------------------------( OTE O:0/1 PILOTO_ROJO )

Cuidados:

  • No uses latch para salidas de potencia directas (motores) sin una estrategia clara, porque si la condición se pierde, la salida quedará en el último estado hasta recibir el OTU.


7. One-shot (ONS): detectar flancos

ONS (One Shot) convierte una señal que puede durar mucho tiempo en un pulso de un ciclo de escaneo.

  • Se activa solo en el instante en que el bit de entrada pasa de 0 a 1.

  • Después, aunque el bit siga en 1, ONS no vuelve a activarse hasta que primero vea un 0 y luego otro 1.

Ejemplo clásico: contar una sola vez por pulsación de botón:

Rung 1: BOTON I:0/0 ----[ XIC ]------------------[ONS B3:2/0]--------[CTU C5:0 PRE 10 ACC 0]

Si no pones ONS, el contador puede sumar varias veces en un solo escaneo si el botón rebota o el ciclo de scan es muy rápido.


8. Enclavamientos entre salidas (interlocks)

Caso típico: motor adelante / motor atrás (no pueden estar activos a la vez).

Supongamos:

  • O:0/0 → MOTOR_ADELANTE.

  • O:0/1 → MOTOR_ATRAS.

Rung 1: Adelante ORDEN_ADELANTE MOTOR_ATRAS I:0/0 O:0/1 ----[ XIC ]-----------------[ XIO ]----------------( OTE O:0/0 ) Rung 2: Atrás ORDEN_ATRAS MOTOR_ADELANTE I:0/1 O:0/0 ----[ XIC ]-----------------[ XIO ]----------------( OTE O:0/1 )
  • Cada orden se bloquea si la otra salida está activa.

  • Es el enclavamiento eléctrico clásico, pero ahora implementado en PLC.

Puedes reforzarlo con enclavamiento físico (contactos auxiliares del contactor) y supervisión de feedback.


9. Alarmas: filosofía básica en ladder

Una alarma típica en Rockwell suele tener tres elementos:

  1. Condición de disparo (fallo real).

  2. Bit de alarma latched (OTL/OTU).

  3. Lógica de inhibición/acknowledge (reconocimiento).

Ejemplo de alarma de baja presión:

Rung 1: Disparo de alarma PRESION_BAJA I:1/0 ----[ XIC ]---------------------------( OTL B3:3/0 ALM_PRESION_BAJA ) Rung 2: Reset de alarma ACK_ALM_PRESION CONDICION_NORMAL I:1/1 I:1/2 ----[ XIC ]------------------[ XIC ]-------------( OTU B3:3/0 ) Rung 3: Uso de la alarma B3:3/0 ----[ XIC ]----------------------------( OTE O:0/2 PILOTO_ROJO )

Ideas prácticas:

  • La condición de disparo debería ser un hecho real de campo (sensor, contacto de protecciones, bit de falla de variador).

  • El reset se hace solo cuando:

    • El operador reconoce (ACK_ALM_PRESION), y

    • La condición de fallo ya desapareció (CONDICION_NORMAL).

Esto evita resetear alarmas con la falla aún presente.


10. Resumen en clave práctica

  • XIC / XIO: leen bits (true/false).

  • OTE: salida “momentánea”, depende del rung en ese scan.

  • OTL / OTU: memoriza estado (set/reset).

  • TON / TOF: retardo a la conexión / desconexión.

  • Pulso (TP): se arma con TON + TT o con lógica adicional.

  • CTU / RES: contadores con acumulado y preset.

  • ONS: flanco único, clave para contadores y cambios de estado.

  • Enclavamientos: uno impide que el otro encienda (adelante/atrás, bombas, etc.).

  • Alarmas: condición de fallo → latch de bit → uso (pilotos/HMI) → reset condicionado.

by IA. .