Automation

Lógica Ladder

Un programa Ladder es una pila ordenada de peldaños leída en cada barrido: los contactos en serie son Y, las ramas en paralelo son O, y la bobina escribe la imagen de proceso en el momento en que se resuelve su peldaño, así que los peldaños siguientes ya ven el valor nuevo. Esta herramienta verifica el programa estructuralmente — todas las combinaciones de entrada, salidas de temporizador tratadas como variables libres con restricción — y lo ejecuta en un banco con reloj, barrido a barrido.

Calcula ahora

Gratis y sin registro. Se ejecuta en tu navegador — nada de lo que escribes sale de esta página.

Cuándo usar

Al escribir o revisar la lógica del PLC antes de descargarla: mando de marcha y paro con enclavamiento, transición estrella-triángulo con TON, contador de piezas, retención por Set/Reset. Es especialmente útil para los defectos que compilan sin queja — la misma bobina escrita en dos peldaños, un paro NC de campo leído por contacto NC, una parada de emergencia en una rama paralela, un peldaño que lee una bobina escrita más abajo.

Un programa Ladder es ordenado, y el orden es comportamiento

En Ladder, contacto y bobina no son piezas físicas: son referencias a símbolos de una tabla que ata la dirección de campo a la lógica. Cada peldaño tiene una red serie/paralelo y una o más salidas, y el PLC resuelve los peldaños de arriba hacia abajo en cada barrido. La bobina escribe la imagen de proceso en el acto, así que el peldaño de abajo ya lee el valor nuevo; el de arriba lo lee en el barrido siguiente. Por eso la misma lógica puede cambiar de comportamiento con solo mover un peldaño — y por eso la herramienta verifica el orden explícitamente.

Un peldaño de enclavamiento es la imagen en software de un circuito de mando con contactores: el mismo K1 = (S1 + K1) · S0 · EMG dibujado con contactos y bobinas reales se verifica en el simulador de lógica de relés. Las salidas que accionan estos peldaños suelen ser los arrancadores de un centro de control de motores, cuyos cajones, interruptores y contactores se dimensionan en el dimensionamiento de CCM y cajones.

Qué cubre la verificación estructural

La herramienta verifica la tabla de símbolos (no declarado, tag o dirección repetidos), la forma de cada peldaño (sin salida, sin contacto, rama en cortocircuito, contradicción, contacto repetido), las escrituras (un símbolo, una bobina; bobina simple mezclada con SET/RESET; SET sin RESET; temporizador o contador accionado dos veces), la polaridad de campo de las entradas frente a cómo se leen, y el alcance de la parada de emergencia. Luego barre todas las combinaciones de entradas y de salidas de temporizador/contador — hasta 12 variables — para señalar salidas siempre activas o nunca accionadas, entradas sin efecto y programas que ciclan entre barridos.

Parada de emergencia y polaridad de campo

La parada de emergencia tiene que ser NC en campo (ISO 13850 §4.3.4, IEC 60204-1 §10.7.4) y leerse por contacto NA en los peldaños que energizan salidas. Entonces la herramienta sigue la dominancia: ¿accionar la emergencia fuerza cada salida física a 0, por serie, paralelo y bobinas intermedias, en el orden de barrido? Una emergencia en rama paralela, una llave de bypass sobre ella o una salida que la emergencia nunca alcanza reprueban el programa. Una salida retenida por SET/RESET queda como no evaluada, porque el Ladder por sí solo no dice si un SET activo la vuelve a energizar en el barrido siguiente.

El banco: temporizadores y contadores con reloj

El veredicto responde “¿puede el programa hacer esto alguna vez?”; el banco responde “¿qué pasa a partir de aquí?”. Barre el programa contra un reloj virtual — 10 ms por barrido por defecto — ejecutando de verdad los temporizadores TON, TOF, TP y RTO y los contadores CTU, CTD y CTUD, y muestra el flujo de energía peldaño a peldaño. Las entradas se pueden conmutar y los bits de memoria forzar; un bit forzado que una bobina reescribe dura un barrido, igual que en el PLC.

De dónde vienen las entradas y salidas

Los símbolos de la tabla son direcciones de la imagen de proceso, y en una planta real muchos llegan por bus de campo y no por una tarjeta de E/S local: E/S remota y variadores en una red PROFIBUS DP, arrancadores de motor en DeviceNet o instrumentos de campo en Ethernet-APL. Esta herramienta no modela la red — el ciclo del bus se suma al tiempo de respuesta, además del barrido —, por eso esos segmentos se dimensionan en sus propias herramientas. Las señales de campo cableadas — paro, emergencia, contactos de sobrecarga — entran en la lista de cables del proyecto.

Lo que esta herramienta no cubre

JMP/LBL, MCR, subrutinas y bloques de función de usuario, bucles FOR, instrucciones de comparación y matemáticas, bloques de función de seguridad certificados y direccionamiento indirecto quedan fuera. El veredicto estructural ignora presets, tiempo de barrido de la CPU y retardo de los dispositivos de campo. La herramienta no determina Performance Level (ISO 13849-1) ni SIL (IEC 62061), y “sin señalamientos” significa que ninguna de las verificaciones implementadas se disparó. Para circuitos de mando con contactores, use la herramienta de lógica de relés.

Fórmulas y fundamentos

Red del peldaño serie: A · B | paralelo: A + B | contacto NC: /A = ¬A | flanco de subida: ↑A = A ∧ ¬A(barrido anterior)

La red es un árbol serie/paralelo de contactos, con hasta 12 niveles de anidamiento; el arreglo en puente no es representable (ni lo compilan Siemens LAD o Studio 5000). Contactos y bobinas son referencias a un símbolo declarado, de clase I, Q, M, T o C.

Semántica del barrido lee entradas → resuelve peldaños 1…N en orden → escribe salidas

La bobina escribe la imagen de proceso en el acto: los peldaños de abajo ven el valor nuevo en el mismo barrido. Un contacto que lee un símbolo escrito en un peldaño posterior ve el valor del barrido anterior — un retardo de un barrido, señalado como lectura antes de la escritura.

Restricciones de temporizador y contador (análisis estructural) TON: Q ⇒ IN | TOF: IN ⇒ Q | reset ⇒ ¬Q

En el veredicto, la salida de cada temporizador y contador se barre como variable libre restringida por la semántica del bloque. Las combinaciones que violan la restricción no son físicamente alcanzables y se descartan. La pregunta respondida es "existe algún instante en que el programa hace X", no "cuándo".

Temporizadores en el banco TON: ET = min(PT, ET + Δt) mientras IN, si no ET = 0; Q = (ET ≥ PT)

En el banco los bloques corren contra un reloj virtual con paso Δt = tiempo de barrido. El TOF mantiene Q durante PT después de que IN cae; el TP da un pulso de PT en el flanco de subida de IN; el RTO acumula y retiene cuando IN cae, y solo el reset lo pone a cero.

Contadores en el banco CTU: CV = CV + 1 en ↑CU, Q = (CV ≥ PV) | CTD: CV = CV − 1 en ↑CD, Q = (CV ≤ 0)

El conteo ocurre en el flanco de subida de la entrada de conteo. El reset pone a cero el CTU y recarga el PV en el CTD.

Alcance de la parada de emergencia (dominancia) serie dominada ⇔ algún hijo dominado | paralelo dominado ⇔ todos los hijos dominados

Un símbolo declarado como emergencia domina; un contacto NA sobre un símbolo dominado domina; una bobina escrita por un peldaño dominado pasa a dominar, siguiendo bobinas intermedias en el orden de barrido. El contacto de flanco nunca domina (un pulso de un barrido no mantiene la salida en cero). Las salidas escritas por SET/RESET quedan como no evaluadas.

Estabilización entre barridos estado(k) = estado(k − p): p = 1 estable, p > 1 cíclico

El programa se barre repetidamente con entradas constantes hasta que un estado se repite. Período 1 es punto fijo; un período mayor significa salidas parpadeando a la frecuencia de barrido de la CPU. Sin repetición en 64 barridos es error.

Normas y métodos

  • IEC 61131-3 — lenguaje Ladder (LD) y notación (mostrada también con los mnemónicos Siemens LAD y Rockwell Studio 5000)
  • ISO 13850 §4.1.1 — la parada de emergencia debe actuar sobre toda salida peligrosa y no puede anularse
  • ISO 13850 §4.3.4 e IEC 60204-1 §10.7.4 — dispositivo de emergencia con apertura positiva (NC en campo)
  • IEC 60204-1 §9.2.2 — todo mando de máquina necesita función de parada
  • IEC 60204-1 §9.4.2.1 — la lectura invertida de un dispositivo NC de campo falla hacia el lado inseguro
  • ISO 13849-1 e IEC 62061 — PL y SIL no determinados (fuera del alcance declarado)

Valores típicos de referencia

Magnitud Rango típico Observación
Variables de barrido del análisis exhaustivo hasta 12 (entradas de campo leídas + salidas de temporizador/contador leídas) 4096 combinaciones; por encima no hay afirmación sobre salida siempre activa, inalcanzable o entrada sin efecto
Filas emitidas en la tabla de estados hasta 8 variables (256 filas) —
Barridos para estabilizar 64 —
Límites del programa 100 peldaños · 200 símbolos · 40 elementos por peldaño · 12 niveles de anidamiento —
Tiempo de barrido del banco 10 ms por defecto, de 1 a 10000 ms —
Bloques de temporización TON · TOF · TP · RTO (preset en ms) —
Bloques de conteo CTU · CTD · CTUD (preset PV) —
Contactos y bobinas — IEC / Siemens LAD / Studio 5000 NA --| |-- XIC · NC --|/|-- XIO · bobina --( )-- OTE · set (S) OTL · reset (R) OTU —

Ejemplo resuelto

Arranque estrella-triángulo con enclavamiento, transición por TON y parada de emergencia

Datos de entrada

S1 marcha (%I0.0)
NA en campo leído por contacto NA
S0 paro, EMG emergencia, FT1 sobrecarga (%I0.1–%I0.3)
NC en campo leídos por contacto NA
Peldaño D1 — mando de marcha M-MARCHA
(S1 + M-MARCHA) · S0 · EMG · FT1 enclavamiento
Peldaño D2 — temporizador T-TRANS (TON)
5000 ms, accionado por M-MARCHA
Peldaños D3 / D4 — contactores de estrella / triángulo
M-MARCHA · /T-TRANS | M-MARCHA · T-TRANS · /K-ESTRELA —
Tiempo de barrido del banco
10 ms

Resultados

Veredicto
OK 0 errores, 0 alertas, 3 informaciones
Variables de barrido
5 4 entradas + salida de T-TRANS → 32 combinaciones
Combinaciones viables
17 de 32 15 descartadas por el TON (Q ⇒ IN)
Reposo
estable en 1 barrido todas las salidas en 0
Pulso en S1 en t = 10 ms
M-MARCHA = 1, K-ESTRELA = 1 enclavado, temporizador contando
Transición en t = 5,00 s (ET = PT)
K-ESTRELA = 0, K-TRIANGULO = 1 mismo barrido, sin solapamiento
EMG abierta
todas las salidas = 0 en el barrido siguiente, ET vuelve a 0

El veredicto trae tres informaciones: S0 y EMG son NC en campo y se leen por contacto NA (la lectura segura pretendida), 15 de las 32 combinaciones son inalcanzables porque un TON no puede estar concluido con su entrada en 0, y el tiempo queda fuera del análisis estructural. El banco cubre ese hueco: el contactor de estrella cae y el de triángulo entra en el mismo barrido, a los 5,00 s, porque D4 lee K-ESTRELA escrito en D3 justo arriba — sin retardo de barrido. Abrir EMG derriba el mando de marcha y, a través de él, los dos contactores, en un barrido.

Haz tu propio cálculo Crea una cuenta gratis y obtén esto con tus propios datos en segundos.

Errores comunes

  • Leer un paro o una parada de emergencia NC de campo por contacto NC en un peldaño que energiza una salida. La cadena habilita solo con la señal en 0 — pulsador accionado, hilo cortado o borne suelto. Para paro y emergencia es error; sin papel declarado es alerta.
  • Declarar la parada de emergencia como NA en campo. La ISO 13850 §4.3.4 y la IEC 60204-1 §10.7.4 exigen apertura positiva; un hilo cortado dejaría la emergencia sin efecto. Es error.
  • Escribir la misma bobina en dos peldaños. Los editores de fabricante lo compilan con advertencia y vale la última escritura del barrido, lo que hace depender el comportamiento del orden de los peldaños. Aquí es error, igual que mezclar bobina simple con SET/RESET en el mismo símbolo.
  • Enclavar un mando sin ninguna condición en serie, K1 = S1 + K1. Nada lo apaga; la IEC 60204-1 §9.2.2 exige función de parada. Es error sea cual sea la notación — el mismo mando escrito con SET se reprueba como SET sin RESET.
  • Poner la parada de emergencia en una rama paralela, o una llave de bypass en paralelo con ella. Basta que la otra rama cierre para que la salida siga energizada: la emergencia no alcanza esa salida, y un bypass sobre ella es error según la ISO 13850 §4.1.1.
  • Leer una bobina escrita más abajo en el programa. El valor llega con un barrido de retardo; si la emergencia solo alcanza una salida a través de esa bobina, la salida queda encendida un barrido entero después de accionar la emergencia.
  • Dejar un temporizador sin preset. Con PT ausente o en cero el bloque conmuta en el primer barrido y el retardo no existe.

Preguntas frecuentes

¿Por qué leer la parada de emergencia NC con contacto NA (XIC)?

Porque el dispositivo NC de campo está en 1 en reposo. Leído por contacto NA, el peldaño solo habilita con la señal en 1, así que pulsar, cortar el hilo o soltar el borne derriban el mando. Leído por contacto NC, el peldaño solo habilitaría en 0 — justamente en los estados de falla —, lo que es una inversión hacia el lado inseguro.

¿La bobina duplicada es realmente un error? Mi PLC la compila.

La compila, y vale la última escritura del barrido. Eso hace depender la salida del orden de los peldaños, algo que una memoria firmada no puede sostener. La herramienta lo trata como regla de proyecto: junte las condiciones en una sola red o acumule en bits de memoria y escriba la salida en un único peldaño. Los pares SET/RESET están exentos.

¿Cómo trata la herramienta los temporizadores si el veredicto no simula el tiempo?

En el análisis estructural la salida de cada temporizador es una variable libre restringida por el bloque — un TON no puede estar concluido con su entrada en 0. Eso responde si el programa puede hacer algo en algún momento, para cualquier preset. El banco ejecuta los temporizadores contra un reloj para mostrar cuándo.

¿Cómo verifica que la parada de emergencia alcanza todas las salidas?

Por dominancia: accionar la emergencia tiene que forzar cada salida física a 0, siguiendo serie, paralelo y cadenas de bobina intermedia en el orden de barrido. Una emergencia en rama paralela no domina, el contacto de flanco no cuenta, y las salidas retenidas por SET/RESET quedan como no evaluadas.

¿Acepta la notación Siemens LAD y Studio 5000?

La notación es atributo del proyecto: nombres IEC 61131-3, símbolos Siemens LAD o mnemónicos Studio 5000 (XIC, XIO, OTE, OTL, OTU, ONS). Cambia las etiquetas en pantalla y en la memoria de cálculo, nunca la evaluación.

¿Qué queda fuera del alcance?

JMP/LBL, MCR, subrutinas y bloques de función de usuario, bucles FOR, instrucciones de comparación y matemáticas, bloques de seguridad certificados y direccionamiento indirecto. No determina el Performance Level de la ISO 13849-1 ni el SIL de la IEC 62061.

Glosario

Peldaño
Una línea del programa Ladder — una red de contactos y una o más salidas.
Imagen de proceso
Copia en memoria de entradas y salidas que los peldaños leen y escriben durante el barrido.
Enclavamiento
Contacto NA de la propia bobina en paralelo con la condición de marcha, que la mantiene encendida.
TON
Temporizador de retardo a la conexión — la salida Q pasa a 1 cuando la entrada IN permanece en 1 durante el tiempo PT.
Bobina duplicada
El mismo símbolo escrito por más de una instrucción de bobina; vale la última escritura del barrido.
Lectura antes de la escritura
Contacto que lee un símbolo cuya bobina está en un peldaño posterior y ve el valor del barrido anterior.