Diagrama de escalera: cómo funciona el lenguaje ladder, con ejemplos
Qué es el diagrama de escalera y cómo funciona, con ejemplos de arranque y paro, temporizador y contador en lenguaje ladder de Rockwell y Siemens.

En esta guía
- Qué es el lenguaje ladder
- Cómo se ve un diagrama de escalera
- Cómo funciona el diagrama de escalera
- La trampa: un contacto revisa un bit, no un botón
- Ejemplos de lenguaje ladder que puedes seguir
- ¿Por qué no usar simplemente enclavar y desenclavar?
- Errores de principiante
- Cómo aprender el lenguaje ladder
- Fuentes
El diagrama de escalera, o lenguaje ladder, es una forma de programar un PLC dibujando tus reglas como un circuito eléctrico, una fila a la vez. Si quieres aprender ladder, la buena noticia es que la idea básica cabe en el reverso de un sobre. La no tan buena es que algunas de sus costumbres confunden a casi todo el mundo al principio.
Todo lo que hay aquí está comprobado con los manuales de Rockwell y de Siemens, enlazados al final. Esta guía explica cómo se ve un diagrama de escalera, cómo se ejecuta, y cuatro ejemplos de ladder con los nombres de los dos fabricantes: arranque y paro, un temporizador, un contador y un semáforo.
Qué es el lenguaje ladder
Es un lenguaje de programación. Su nombre formal es Ladder Diagram, uno de los lenguajes de la norma IEC 61131-3. Rockwell lo llama Ladder Diagram en Studio 5000 y Siemens lo llama LAD en TIA Portal (KOP, esquema de contactos, en la versión en español). También vas a oír programación ladder, diagrama de contactos o simplemente ladder.
Antes de los PLC, las máquinas se controlaban con filas de relés cableados entre sí dentro de un armario. Esos circuitos se dibujaban con dos líneas verticales, los rieles de alimentación, y líneas horizontales entre ellas. El dibujo parecía una escalera, y por eso las líneas pasaron a llamarse peldaños o renglones. Cuando llegaron los PLC, ese estilo de dibujo vino con ellos, para que los ingenieros y técnicos de fábrica pudieran escribir programas sin aprender antes un lenguaje como FORTRAN.

Cómo se ve un diagrama de escalera
Aquí tienes un diagrama de escalera básico con un solo renglón. La bomba funciona mientras Start está pulsado, y eso es todo lo que hace.
Riel izquierdo Riel derecho
| Start PumpOn |
+-----| |--------------( )---------+
| |Las partes de un diagrama de escalera son pocas.
- Rieles. Las dos líneas verticales.
- Renglones. Las filas entre ellos, y cada una es una regla. Siemens los llama segmentos.
- Contactos. Las condiciones, a la izquierda del renglón.
- Bobinas. El resultado, en el extremo derecho.
- Ramas. Caminos extra, uno al lado del otro, en un renglón.
- Cajas. Temporizadores, contadores y otras instrucciones más grandes.
Con solo tres símbolos puedes hacer muchísimo.
Contacto normalmente abierto ---| |---
Contacto normalmente cerrado ---|/|---
Bobina ---( )---Así los llama cada fabricante.
| Qué es | Rockwell | Siemens | Qué hace |
|---|---|---|---|
| Contacto normalmente abierto | XIC, Examine If Closed | Contacto normalmente abierto | Deja pasar cuando el bit que revisa es 1 |
| Contacto normalmente cerrado | XIO, Examine If Open | Contacto normalmente cerrado | Deja pasar cuando el bit que revisa es 0 |
| Bobina | OTE, Output Energize | Asignación | Pone su bit igual que el renglón |
| Bobina de enclavamiento | OTL, Output Latch | Activar salida (set) | Pone su bit a 1 y lo deja así |
| Bobina de desenclavamiento | OTU, Output Unlatch | Desactivar salida (reset) | Pone su bit a 0 |
Cómo funciona el diagrama de escalera
Un PLC no ejecuta tus renglones una vez y se queda esperando. Los ejecuta una y otra vez en un bucle llamado ciclo de escaneo: lee las entradas, ejecuta los renglones de arriba abajo, escribe las salidas y vuelve a empezar. Los detalles cambian entre controladores. En el simulador de PLC Gym, un escaneo dura 20 milisegundos.
Cada renglón se lee como un circuito. Si hay un camino de contactos TRUE desde el riel izquierdo hasta la bobina, el bit de la bobina se pone a 1. Si no, se pone a 0. Contactos en línea significan AND. Contactos en ramas paralelas significan OR.
La trampa: un contacto revisa un bit, no un botón
A un contacto no le importa qué hay conectado físicamente a la entrada. Solo revisa si el bit en memoria es 1 o 0. Esa es también la diferencia entre un programa ladder y un esquema eléctrico. El esquema muestra cables reales. El programa solo muestra lógica.
Los botones de paro muchas veces se cablean normalmente cerrados, así que la entrada está en ON hasta que alguien pulsa el botón. La razón habitual es que así un cable roto se ve igual que una pulsación de Stop, y la máquina se detiene en lugar de seguir sin un botón de Stop que funcione.
Eso quiere decir que en un panel real, un botón de Stop cableado normalmente cerrado se suele programar con un contacto normalmente abierto, XIC. La entrada vale 1 mientras nadie lo pulsa, así que el renglón puede pasar. Pulsas Stop, la entrada baja a 0 y el renglón se corta.
En el simulador de PLC Gym, la variable Stop vale TRUE mientras está pulsada, así que ahí vas a usar un contacto normalmente cerrado, como en los ejemplos de abajo.
Ejemplos de lenguaje ladder que puedes seguir
Los nombres de las variables coinciden con las misiones de PLC Gym, así que puedes construir tú mismo los tres primeros y ver cómo reacciona una máquina.
Arranque y paro: la autorretención
Pulsas Start y la bomba arranca. Sueltas y sigue en marcha. Pulsas Stop y se detiene, aunque alguien esté apretando Start.
Start Stop Permit PumpOn
----| |-----+------|/|--------| |-----------( )----
|
PumpOn |
----| |-----+Esto es lo que pasa, escaneo a escaneo.
- Nadie pulsa nada. Las dos ramas están abiertas, así que la bobina sigue apagada.
- Alguien pulsa Start. La rama de arriba se cierra. Stop no está pulsado y Permit está activo, así que PumpOn pasa a 1.
- Suelta Start. La rama de arriba se abre, pero el propio contacto de PumpOn en la rama de abajo mantiene el renglón en TRUE. Esa es la autorretención.
- Alguien pulsa Stop. Las dos ramas pasan por el contacto de Stop, así que el renglón se pone en FALSE y PumpOn baja a 0.
En LAD de Siemens dibujas lo mismo como un solo segmento. Ojo con una cosa: la guía de primeros pasos del S7-1200 de Siemens llama a esto un circuito de enclavamiento (latching circuit). Esta guía dice autorretención, y deja la palabra enclavamiento para las bobinas de set y reset.
Fíjate en que Stop y Permit van después de que se juntan las ramas. Si pones Stop solo en la rama de Start, la autorretención lo salta, y Stop no hace nada cuando la bomba ya está en marcha. Ese error exacto es la misión Stop no la para, y escribir bien el circuito es Haz que siga en marcha. Permit es un permiso, una condición que tiene que ser verdadera antes de que la bomba pueda funcionar.
Temporizador de retardo a la conexión: esperar antes de actuar
Un toque rápido en Start no debe hacer nada. Mantenlo 3 segundos y la bomba arranca. En los controladores Logix de Rockwell, son dos renglones.
+-------------+
Start | TON |
----| |-----------------| Timer Delay |----
| Preset 3000 |
+-------------+
Delay.DN PumpOn
----| |---------------------------( )------En LAD de Siemens, son dos segmentos.
Delay
+-------+
Start | TON |
----| |-----------------|IN Q|----
T#3s --|PT ET|
+-------+
Delay.Q PumpOn
----| |---------------------------( )------Un temporizador Logix siempre cuenta en milisegundos, así que 3000 son tres segundos. Su bit de terminado, DN, se activa cuando el tiempo acumulado, ACC, llega al preset. En Siemens, le das a la caja un tiempo como T#3s o T#500ms. Su salida Q se activa cuando se cumple el tiempo, y ET muestra el tiempo que lleva.
En los dos casos, si el renglón pasa a FALSE antes de que se cumpla el tiempo, el temporizador se borra y la siguiente pulsación empieza desde cero. Cada temporizador también necesita su propio espacio para recordar su tiempo entre escaneos: una variable TIMER en Logix, una instancia en Siemens.
La misión de retardo a la conexión te pide construirlo con una bomba 3D.
Contador: cuenta cada botella una sola vez
Haz funcionar una cinta transportadora hasta que un sensor haya visto tres botellas, y luego detenla. Reset borra la cuenta. Aquí va en Logix.
+---------------+
BottlePresent | CTU |
----| |-----------------| Counter Count |----
| Preset 3 |
+---------------+
Reset Count
----| |---------------------------(RES)----
Count.DN Done
----| |---------------------------( )------
Done ConveyorOn
----|/|---------------------------( )------Y en LAD de Siemens.
Count
+-------+
BottlePresent | CTU |
----| |-----------------|CU Q|----
Reset --|R CV|
3 --|PV |
+-------+
Count.Q Done
----| |---------------------------( )------
Done ConveyorOn
----|/|---------------------------( )------Una botella puede quedarse frente al sensor durante muchos escaneos y aun así contar como una, porque los dos contadores solo suman uno cuando su entrada pasa de apagada a encendida. DN o Q se activa cuando la cuenta llega al preset.
La gran diferencia es el reset. Siemens lo pone en la caja, como la entrada R. Rockwell usa un renglón aparte con una instrucción RES, porque un contador Logix guarda su cuenta cuando el renglón pasa a FALSE.
Pruébalo en Cuenta las llegadas. Después, Cuenta con un impulso único te pide crear un pulso de un solo escaneo, con ONS en Rockwell o un contacto P en Siemens.
Semáforo en ladder: temporizadores en círculo
Este ejemplo no es más que temporizadores que se pasan el turno. Aquí está en la forma de texto que Studio 5000 puede mostrar, con cada línea como un renglón.
XIC(Run)XIO(AmberT.DN)TON(RedT,4000,0);
XIC(RedT.DN)TON(GreenT,5000,0);
XIC(GreenT.DN)TON(AmberT,2000,0);
XIC(Run)XIO(RedT.DN)OTE(Red);
XIC(RedT.DN)XIO(GreenT.DN)OTE(Green);
XIC(GreenT.DN)OTE(Amber);El rojo dura 4 segundos, luego su bit de terminado arranca el verde durante 5, y el bit de terminado del verde arranca el ámbar durante 2. Cuando termina el ámbar, su XIO en el primer renglón se corta. Eso borra el temporizador del rojo, que borra el verde, que borra el ámbar, y el círculo vuelve a empezar. En Siemens usarías tres cajas TON y leerías sus salidas Q.
Lo encuentras en Probar un ejemplo, en la página del simulador de PLC en línea, con un botón para peatones y un contador de ciclos añadidos. Eso sí, es un ejercicio de clase. Un cruce real tiene sus propias reglas y sus propios equipos.
¿Por qué no usar simplemente enclavar y desenclavar?
Podrías escribir arranque y paro con una bobina de enclavamiento y otra de desenclavamiento. Funciona, pero una autorretención se cae sola en cuanto falla cualquier condición. Un enclavamiento (latch) sigue activo hasta que algo lo borra a propósito, así que si te olvidas de un solo motivo por el que la bomba debe parar, la bomba sigue. Para una lógica sencilla de arranque y paro, la autorretención suele ser más clara.
La misión de PLC Gym para revisar a la IA pone esto a prueba. El borrador de un asistente de IA enciende y apaga la bomba en dos lugares distintos, y parece estar bien hasta que alguien pulsa Start y Stop a la vez.
Errores de principiante
- Escribir la misma bobina en dos renglones. Gana el último renglón que la escribe, así que un renglón anterior puede parecer roto cuando en realidad lo están sobrescribiendo.
- Olvidar el orden del escaneo. Un bit que cambia más abajo no lo ven los renglones de arriba hasta el siguiente escaneo.
- Creer que el programa es el paro de emergencia. Las funciones de seguridad reales necesitan equipos con clasificación de seguridad y una persona competente. El propio ejemplo de paro de emergencia de Siemens usa un controlador de seguridad, módulos de entrada y salida de seguridad, dos canales vigilados y dos contactores. La misión de paro de emergencia de PLC Gym es para aprender, no un diseño para copiar.
Cómo aprender el lenguaje ladder
Se aprende escribiendo renglones y viendo cómo fallan. Hay dos lugares para hacerlo.
El software real. Para ladder de Allen-Bradley en controladores Logix, es Studio 5000. Para ladder de Siemens, es TIA Portal. Son lo que usarías en el trabajo, y nada los reemplaza, ni a ellos ni a un PLC real, cuando llegues ahí.
Un simulador de ladder. PLC Gym funciona en tu navegador sin instalar nada. Escribes ladder de Rockwell o LAD de Siemens, pulsas Ejecutar y una máquina 3D reacciona. Unas pruebas automáticas revisan tu trabajo, y puedes volver a ver una prueba fallida escaneo a escaneo. No es un controlador real, no se conecta a E/S reales, y no está hecho por Rockwell ni Siemens ni tiene relación con ellos. No tiene editor para RSLogix 500, ni para fabricantes como Omron y Mitsubishi.
Las primeras misiones solo necesitan una cuenta gratuita, y las misiones de autorretención, temporizador y contador están en Pro, que puedes probar gratis durante 7 días. El curso de programación de PLC lo pone todo en orden, desde tu primera orden hasta secuencias completas, y el resto está en Pro. También hay formación en PLC Allen-Bradley y formación en PLC Siemens si ya sabes qué fabricante necesitas.
Ladder es solo uno de los lenguajes de PLC. Cuando hay matemáticas o muchos estados, el texto estructurado suele quedar más ordenado. Para ver el panorama completo, mira la guía de programación de PLC.
Fuentes
- Logix5000 Controllers General Instructions Reference Manual, 1756-RM003I, January 2007, Rockwell Automation, una edición antigua, así que revisa la ayuda de tu versión
- Getting started with S7-1200, November 2009, Siemens
- SIMATIC Safety: Configuring and Programming, November 2025, Siemens, por sus versiones de seguridad de TON y CTU
- S7-1200 Transition Manual, November 2009, Siemens
- Comparison list for S7-300, S7-400, S7-1200 and S7-1500, May 2021, Siemens
- Emergency stop up to SIL 3 or PL e with a fail safe S7-1500 controller, July 2015, Siemens
- IEC 61131-3:2025, Programmable controllers, Part 3: Programming languages, IEC
- Ladder logic, Wikipedia
- Why you should use normally closed for stop buttons, PLC Academy
¿Tienes preguntas sobre esto?Pregunta en el Vestuario
Pruébalo en una máquina
Pruébalo en una máquina que funciona
Escribe gratis código real de Siemens o Rockwell en el simulador de PLC online y mira cómo una bomba, un tanque o una línea de llenado en 3D hacen exactamente lo que les dijiste. No hay nada que instalar.


