Programación de PLC: qué es, cómo es el código y cómo empezar
Programación de PLC explicada: cómo es el código, los lenguajes, el escaneo, un primer ejemplo en Siemens y Rockwell, y una forma realista de empezar.

En esta guía
- Qué hace diferente la programación de PLC del código normal
- Cómo es escribir código de PLC
- De qué está hecho un programa de PLC
- Los lenguajes de programación de PLC
- Cómo se ejecuta el código: el escaneo
- Un primer ejemplo de código de PLC: arrancar y parar una bomba
- Qué necesitas para empezar a programar un PLC
- Una forma realista de aprender programación de PLC
- Fuentes
La programación de PLC consiste en escribir las reglas que hacen funcionar una máquina industrial. Cuando este sensor ve una botella, detén la cinta transportadora. Cuando el tanque está lleno, cierra la válvula. Escribes esas reglas en una computadora portátil, las descargas en una pequeña computadora muy resistente llamada controlador lógico programable, y esta las cumple una y otra vez, por lo general muchas veces por segundo.
Esta página es el mapa del tema: cómo se ve el código, los lenguajes, cómo se ejecuta, un primer ejemplo real en Siemens y Rockwell, qué necesitas para programar un PLC y una forma realista de aprender.
Se apoya en lo que dicen los fabricantes en sus propios manuales, enlazados al final. Si quieres saber qué es el equipo y qué hace cada parte, lee la guía sobre qué es un PLC. Esta trata del código.
Qué hace diferente la programación de PLC del código normal
En el fondo es igual que cualquier otra programación. Divides un trabajo en reglas que una computadora puede seguir. Es el trabajo diario detrás de buena parte de la automatización industrial, y lo vas a oír como código de PLC, lógica de PLC o simplemente programar el PLC. Dos cosas lo hacen sentir distinto.
- Mueve cosas reales. Un error puede dejar una válvula abierta o una bomba en marcha. Por eso nadie con sentido común prueba código nuevo primero en una máquina en funcionamiento.
- El programa nunca termina. Se ejecuta de arriba abajo y vuelve a empezar, hasta que alguien lo detiene.
Cómo es escribir código de PLC
No abres un archivo en blanco y empiezas a escribir. El manual de primeros pasos de Siemens para el S7-1200 recorre un primer programa en seis pasos, y es una imagen justa del trabajo.
- Crea un proyecto en el software del fabricante.
- Agrega tu lógica.
- Asóciala a las entradas y salidas reales.
- Configura el controlador.
- Descarga el programa.
- Pruébalo y mira cómo cambian los valores en vivo.
Solo el paso 2 es lo que la mayoría de la gente llamaría programar.

De qué está hecho un programa de PLC
Todo en un programa de PLC tiene un nombre, llamado variable (tag): Start, TankFull, PumpOn. La lógica vive en bloques que leen unas variables y escriben otras, y los dos grandes fabricantes los organizan de forma distinta.
| Siemens (TIA Portal) | Rockwell (Studio 5000) | |
|---|---|---|
| Qué lo mantiene en marcha | El bloque de organización "Main", llamado en un bucle sin fin | Una tarea. Los proyectos nuevos empiezan con una continua, que se reinicia de inmediato |
| Dónde está el código | Bloques de función y funciones, llamados desde Main | Rutinas dentro de un programa. La rutina principal se ejecuta primero y llama a las demás |
Los lenguajes de programación de PLC
No hay un solo lenguaje de PLC. La norma internacional IEC 61131-3 define una familia de ellos. Rockwell usa los nombres de la norma, y Siemens tiene los suyos.
| En la norma | Siemens | Cómo se ve | Rockwell lo sugiere para |
|---|---|---|---|
| Diagrama de escalera, ladder (LD) | KOP | Renglones de contactos y bobinas | Lógica de encendido y apagado, enclavamientos, todo lo que mantenimiento deba leer |
| Diagrama de bloques de funciones (FBD) | FUP | Cajas unidas por cables | Control de lazos, variadores, procesos continuos |
| Texto estructurado (ST) | SCL | Líneas de código escritas | Matemáticas complejas, recorrer arreglos, manejo de texto |
| Diagrama de funciones secuenciales (SFC) | GRAPH | Pasos, como un diagrama de flujo | Lotes, secuencias que se repiten, máquinas de estados |
Puedes mezclarlos en un mismo proyecto, pero no todos los controladores tienen todos los lenguajes. Por ejemplo, la guía de programación de Siemens de 2018 incluye GRAPH para el S7-1500 y no para el S7-1200.
Entonces, ¿cuál primero? Un buen comienzo es el lenguaje ladder, porque es probable que tengas que leerlo aprendas lo que aprendas. Después, el texto estructurado, el más parecido a otros tipos de programación. Aprende FBD y los diagramas de funciones secuenciales cuando un trabajo los pida.
Cómo se ejecuta el código: el escaneo
Un PLC no ejecuta tu código una sola vez. Lo ejecuta en un bucle que se repite, llamado ciclo de escaneo. Siemens describe cada ciclo del S7-1200 así: escribe las salidas, lee las entradas, ejecuta tu programa y luego hace sus propias comprobaciones. Casi todo el mundo lo resume como leer, ejecutar, escribir. Es el mismo bucle.
Las entradas se copian en una foto fija que Siemens llama imagen de proceso. Tu código trabaja de arriba abajo con esa foto, y lo que quede en la imagen de salidas al final llega a las salidas reales. De aquí salen tres hábitos.
- Tu código no puede esperar. No existe una línea de "pausa de cinco segundos". Un temporizador sigue contando durante muchos escaneos, y tú lo revisas en cada vuelta.
- El orden importa. Si dos líneas escriben la misma salida, gana la última.
- Un escaneo tiene un tiempo límite. Si lo superas, el controlador lo trata como un error. En Rockwell es un watchdog, de 500 milisegundos por defecto, y es una falla mayor que puede detener el controlador.
Hay un detalle que las guías para principiantes suelen saltarse. Esa foto ordenada es lo que hace Siemens por defecto. Pero en los controladores Logix de Rockwell, las entradas y salidas se actualizan con su propio temporizador, aparte de la lógica, así que una entrada puede cambiar a mitad de un escaneo. La solución de Rockwell es copiar la entrada en otra variable y usar la copia. Tenlo en cuenta antes de trabajar en un proyecto Logix real.
El simulador de PLC Gym usa la versión ordenada: una lectura, ejecución y escritura cada 20 milisegundos. No copia la temporización de ningún fabricante.
Un primer ejemplo de código de PLC: arrancar y parar una bomba
Si buscas ejemplos de programas de PLC, este es el que vas a encontrar una y otra vez. También es el primer ejercicio del manual del S7-1200 de Siemens, donde se llama circuito con autorretención. Pulsas Start y la bomba arranca. La sueltas y sigue en marcha. Pulsas Stop y se detiene. Esta versión agrega Permit, un permiso, que es una condición que debe seguir activa para que la bomba funcione.
Aquí está en ladder, que los dos fabricantes dibujan igual. Rockwell llama a estos símbolos XIC, XIO y OTE.
Start Stop Permit PumpOn
----| |-----+------|/|--------| |-----------( )----
|
PumpOn |
----| |-----+Y aquí está la misma regla en SCL de Siemens, y luego en texto estructurado de Rockwell.
#PumpOn := (#Start OR #PumpOn) AND NOT #Stop AND #Permit;PumpOn := (Start OR PumpOn) AND NOT Stop AND Permit;El # es la forma en que Siemens marca una variable que pertenece al bloque. En un controlador Siemens, esta línea iría dentro de un bloque de función, así que PumpOn conserva su valor entre escaneos.
Lo ingenioso es que PumpOn se lee a sí misma. Eso es una autorretención, y es la forma en que el código recuerda. Esto es lo que pasa, con Permit activo todo el tiempo.
| Qué pasa | Start | Stop | PumpOn escaneo anterior | PumpOn este escaneo |
|---|---|---|---|---|
| Se pulsa Start | 1 | 0 | 0 | 1 |
| Se suelta Start | 0 | 0 | 1 | 1 |
| Se pulsa Stop | 0 | 1 | 1 | 0 |
| Se pulsan los dos | 1 | 1 | 0 | 0 |
Puedes escribirlo tú mismo en la misión gratis Haz que siga en marcha.
El manual de Siemens agrega después un temporizador de retardo a la conexión, así que haremos lo mismo. Ahora hay que mantener Start pulsado durante cinco segundos antes de que la bomba arranque.
#StartDelay(IN := #Start, PT := T#5s);
#PumpOn := #StartDelay.Q;StartDelay.PRE := 5000;
StartDelay.TimerEnable := Start;
TONR(StartDelay);
PumpOn := StartDelay.DN;Ninguno de los dos espera. Los dos llaman al temporizador en cada escaneo y preguntan si ya terminó. Cada uno necesita su propia variable de temporizador: una instancia TON_TIME en Siemens y un FBD_TIMER en Rockwell, cuyo valor preseleccionado va en milisegundos. Puedes probarlo en la misión del retardo a la conexión.
Qué necesitas para empezar a programar un PLC
Esto se revisó en noviembre de 2026, pero cambia, así que mira la página del fabricante antes de decidir.
- Para aprender la lógica: un navegador. PLC Gym no requiere instalar nada, y el primer laboratorio guiado y las primeras misiones son gratis con una cuenta gratis. El resto está en Pro.
- Para Siemens: STEP 7 en TIA Portal. Las notas de instalación de la V21 de Siemens piden Windows de 64 bits y una clave de licencia, con una licencia de prueba de un solo uso que caduca a los 21 días. Siemens también ofrece TIA Portal Cloud, que según Siemens funciona sin instalación.
- Para Rockwell: Studio 5000 Logix Designer, también en Windows de 64 bits. Viene en varias ediciones, así que revisa que la tuya tenga los lenguajes que quieres. Los controladores Micro800, más pequeños, usan Connected Components Workbench, que tiene una edición Standard gratis.
- Para Beckhoff: TwinCAT 3. Beckhoff dice que la herramienta principal de programación de PLC no tiene costo de licencia, y sus licencias de prueba de 7 días se pueden renovar tantas veces como quieras.
- Un PLC real: al principio no, pero con el tiempo sí. La guía del kit de PLC para formación explica qué comprar.
Tarde o temprano vas a necesitar el software real. PLC Gym no es un controlador real, no se conecta a entradas y salidas reales, y no está hecho por Siemens, Rockwell ni Beckhoff ni tiene relación con ellos. No hace configuración de hardware, redes ni bloques de librerías de los fabricantes, y no tiene editor para RSLogix 500, MicroLogix, SLC 500, Omron ni Mitsubishi. Las guías sobre software para programar PLC y emuladores de PLC tratan las herramientas reales.
Una forma realista de aprender programación de PLC
No hay un número honesto de semanas, porque depende de lo que ya sabes y de cuánto practicas. Lo que esta guía sí te puede dar es el orden.
- Primero entiende las ideas. Entradas, salidas y el escaneo. Prueba algo de programación básica de PLC con una bomba que funciona en tu navegador, o lee los breves capítulos de lo básico de PLC Gym.
- Escribe cosas pequeñas que funcionen. Tu primera orden es una sola línea de código. Después, la autorretención y el temporizador de arriba, y luego contar botellas. Cuando una prueba falla, puedes repetirla escaneo por escaneo.
- Elige un fabricante. Mira ofertas de empleo en tu zona, o los equipos donde trabajas, y fíjate qué nombre aparece más. PLC Gym tiene rutas para Siemens, Allen-Bradley y Beckhoff.
- Pasa a señales y secuencias. Escalar la lectura de un sensor y llevar un lote por sus fases es donde empieza a parecer una planta real. Las dos están en Pro.
- Arregla código de otros. Muchas veces vas a leer un programa que escribió otra persona y averiguar por qué una bomba no se detiene. Stop no la para es un buen primer intento, y la guía de búsqueda de fallas en PLC va más allá.
- Después pasa a las herramientas reales. Instala el software del fabricante, aunque sea solo una prueba. PLC Gym puede exportar archivos
.sclpara TIA Portal y archivos.L5Xpara Studio 5000. Están hechos para ese software, pero igual conviene probarlos allí.
Si prefieres que te lo den organizado, el curso de programación de PLC tiene 74 misiones en 26 máquinas, en 40 etapas. Si lo que buscas es una carrera, lee después la guía sobre formación de técnico de PLC.
La forma más segura de mejorar en esto es escribir código, ver cómo falla y averiguar por qué. Mejor que eso pase en una pantalla que en la línea de producción de otra persona.
Fuentes
- IEC 61131-3:2025, Programmable controllers, Part 3: Programming languages, International Electrotechnical Commission
- Getting started with S7-1200, Siemens, edición de noviembre de 2009
- Programming Guideline for S7-1200/S7-1500, Siemens, V1.6, diciembre de 2018
- TIA Portal V21 installation notes, November 2025, Siemens
- TIA Portal, Siemens
- Logix5000 Controllers Common Procedures, Rockwell Automation, edición de marzo de 2004
- Studio 5000 Logix Designer 38.00 release notes, Rockwell Automation
- Connected Components Workbench downloads, Rockwell Automation
- TwinCAT 3 licensing, Beckhoff
- 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.


