PLC

¿Qué es OpenPLC y cuál es el mejor para tu proyecto?

octubre 5, 2026 Qué es mejor? 11 min read

Datos comprobados en septiembre de 2026.

La elección rápida: el mejor para la mayoría y para cada presupuesto

Si quieres un PLC real con dashboard, depuración en vivo y E/S ampliables, elige Raspberry Pi con OpenPLC Runtime v4. Es la opción que cubre formación y proyectos con hardware de verdad sin atarte a Wi-Fi.

Si buscas gastar poco para aprender lógica de contactos y automatismos simples, elige Arduino Uno con carga directa desde OpenPLC Editor. Programa, transfiere y prueba sin sistema operativo ni configuración de Runtime.

Si necesitas control con Wi-Fi integrado y despliegue barato en varias ubicaciones, elige ESP32 con carga directa. Ofrece más memoria y E/S que ESP8266 y evita añadir shields.

  1. Para la mayoría (formación y proyecto con E/S reales): Raspberry Pi con Runtime v4. Editor en PC programa por red, Runtime gestiona ejecución y puedes añadir placas de expansión para entradas y salidas cableadas.
  2. Presupuesto mínimo para aprender: Arduino Uno con carga directa. Sin Runtime, sin depuración en vivo por defecto, con limitaciones de memoria y sin conectividad nativa.
  3. Despliegue distribuido con Wi-Fi: ESP32 con carga directa. Si el presupuesto aprieta y la E/S es muy justa, ESP8266 sirve, pero recorta margen de entradas y salidas y estabilidad.

Raspberry Pi con Runtime v4 es el equilibrio entre depuración, conectividad Modbus y ampliación de E/S; Arduino y ESP son carga directa para casos puntuales.

Qué es OpenPLC y por qué importa la norma IEC 61131-3

OpenPLC es un proyecto de código abierto que lleva la lógica de PLC a hardware genérico. Se compone de dos piezas: Editor, donde escribes el programa, y Runtime, el motor que lo ejecuta de forma cíclica en el dispositivo destino.

La norma IEC 61131-3 define lenguajes y estructura para programar PLC. OpenPLC Editor soporta cinco lenguajes de esa norma: LD (diagrama de contactos), FBD (bloques funcionales), SFC (etapas y transiciones), ST (texto estructurado) e IL (lista de instrucciones). Todos describen la misma lógica con notaciones distintas.

Runtime es lo que convierte un equipo en PLC: lee entradas, ejecuta el programa y escribe salidas en cada ciclo. Sin Runtime, el programa se compila y se carga directo al microcontrolador, que lo ejecuta sin supervisión externa.

Editor se instala en Windows, Linux o macOS y compila a código ejecutable. Runtime v4 es la rama actual para Linux y Windows, pensada para Raspberry Pi y PC, con interfaz web y servicios de comunicación.

La norma importa porque garantiza portabilidad: una función en ST o un rung en LD se entiende igual en cualquier plataforma compatible, y la depuración y organización por tareas siguen reglas comunes.

Cómo elegir OpenPLC: 5 criterios que separan una opción de otra

Elegir mal cuesta tiempo de cableado y recompilaciones. Estos cinco criterios distinguen las opciones con datos verificables, no con adjetivos.

  1. Plataforma destino y sistema. Raspberry Pi y PC ejecutan Runtime v4 sobre Linux o Windows; Arduino Uno, ESP32 y ESP8266 no ejecutan Runtime y trabajan por carga directa. Decide si quieres sistema operativo con servicios o firmware autónomo.
  2. Runtime frente a carga directa. Runtime v4 permite iniciar, parar y monitorizar el programa por red y mantenerlo tras reinicio. La carga directa ocupa la flash del microcontrolador y exige recompilar y flashear en cada cambio.
  3. E/S y conectividad física. Cuenta entradas digitales, analógicas y salidas a relé que necesitas. Arduino Uno ofrece E/S limitadas en cabecera; ESP añade Wi-Fi nativo; Raspberry Pi depende de sombreros o módulos externos para E/S industriales.
  4. Depuración en vivo. Con Runtime v4 ves estados y forzados en tiempo real desde el Editor. Con carga directa no hay depuración en vivo salvo que habilites y configures servidor Modbus y la mapees variable a variable.
  5. Soporte Modbus. Verifica si necesitas Modbus TCP (Ethernet/Wi-Fi) o Modbus RTU (serie/RS-485). Runtime v4 integra Modbus TCP; en Arduino y ESP debes añadir librería y hardware y direccionarlo a mano.

Tabla comparativa de las opciones reales de OpenPLC

Opciones en filas y características en columnas. Cada celda contiene un dato comprobable, con versión donde aplica.

Plataforma / base Lenguajes IEC 61131-3 soportados (Editor) Runtime compatible Depuración en vivo Conectividad Modbus Uso recomendado
Arduino Uno LD, FBD, SFC, ST, IL No No (sin dato de Runtime) Modbus RTU con configuración manual Aprendizaje y prototipos simples
ESP32 LD, FBD, SFC, ST, IL No No Modbus TCP por Wi-Fi y RTU por serie, configuración manual Nodos con Wi-Fi y E/S medias
ESP8266 LD, FBD, SFC, ST, IL No No Modbus TCP por Wi-Fi y RTU por serie, configuración manual Nodos Wi-Fi con E/S reducidas
Raspberry Pi con Runtime v4 LD, FBD, SFC, ST, IL Sí, Runtime v4 Sí Modbus TCP integrado, RTU con adaptador Proyecto con dashboard y E/S ampliables
PC Windows/Linux Runtime v4 LD, FBD, SFC, ST, IL Sí, Runtime v4 Sí Modbus TCP integrado, RTU con adaptador Banco de pruebas y control en PC

La tabla compara ejecución y comunicaciones, no valoraciones. Si un dato no aparece en tu instalación, consulta la documentación de OpenPLC Project para tu versión exacta.

Arduino Uno con OpenPLC: para aprender y prototipos simples

Arduino Uno con OpenPLC es una placa ATmega328P programada por carga directa desde OpenPLC Editor. No lleva sistema operativo ni Runtime: compilas el proyecto IEC 61131-3 y lo transfieres por USB. Al reiniciar, el microcontrolador ejecuta el último programa cargado.

Sirve para quien empieza con LD y ST, necesita pocas E/S y quiere ver un automatismo físico cableando pulsadores y relés sin entrar en redes ni servicios. El flujo es corto: instalar Editor, seleccionar Arduino Uno como destino, asignar pines y transferir.

No sirve para quien necesita depuración en vivo, registro histórico o control por red. Sin Runtime no ves estados en el Editor mientras la planta corre; tampoco hay dashboard web.

Limitación clave: sin Modbus RTU configurado no hay forma de observar variables desde fuera. Para monitorizar debes mapear variables a direcciones Modbus, añadir interfaz serie y usar un cliente Modbus externo. Ese paso exige tiempo y cableado extra.

La pega real es la capacidad. La memoria flash de 32 KB y la SRAM de 2 KB restringen tamaño de programa y número de bloques, y las E/S sin acondicionamiento obligan a añadir etapas para 24 V industriales. Si tu proyecto exige más E/S o aislamiento, Raspberry Pi con expansiones conviene más.

Para quién sí y para quién no

  • Sí: formación básica, maquetas didácticas, automatismos de 4 a 8 E/S.
  • No: procesos con supervisión remota, E/S industriales a 24 V o necesidad de depuración continua.

ESP32 y ESP8266 con OpenPLC: control con Wi-Fi integrado

ESP32 y ESP8266 son módulos con Wi-Fi integrado que OpenPLC programa por carga directa desde el Editor. Tampoco ejecutan Runtime v4; el programa IEC 61131-3 se compila y se graba en la flash del módulo, que lo ejecuta de forma autónoma.

ESP32 usa doble núcleo a 240 MHz, con más memoria y más pines que ESP8266, y ofrece Bluetooth además de Wi-Fi. ESP8266 usa un solo núcleo a 80/160 MHz, menos pines y menor margen para programas grandes. Ambos permiten mapear E/S digitales y analógicas y exponer variables por Modbus TCP si lo configuras.

Sirven para nodos distribuidos con conectividad sin añadir shields: riego, iluminación o maniobras sencillas repartidas y conectadas por Wi-Fi. La carga directa simplifica el despliegue y el consumo es menor que el de una Raspberry Pi siempre encendida.

No sirven si necesitas depuración en vivo integrada o fiabilidad cableada. La depuración sigue exigiendo Modbus y mapeo manual, y el Wi-Fi introduce latencia y dependencia de cobertura frente a Ethernet o bus de campo cableado.

Diferencias prácticas: ESP32 aporta más entradas y salidas utilizables, más canales PWM y mejor soporte para Modbus TCP simultáneo con servidor web ligero; ESP8266 queda justo en proyectos con más de 8 a 10 señales y carece de Bluetooth. En ambos, la E/S a nivel lógico necesita adaptación para 24 V.

Qué elegir entre ambos

  • Elige ESP32 si prevés crecer en E/S, necesitas más memoria o quieres margen para librerías de red.
  • Elige ESP8266 solo si el coste manda y la maniobra es mínima y estable con pocas señales.

Raspberry Pi y PC con Runtime v4: para proyectos con dashboard y E/S reales

Runtime v4 es el motor actual de OpenPLC para Linux y Windows. Se instala como servicio en Raspberry Pi OS o en PC con Windows/Linux, expone interfaz web en el puerto configurado y ejecuta el programa IEC 61131-3 de forma cíclica. El Editor se conecta por red para transferir, iniciar, parar y depurar.

En Raspberry Pi, el Runtime se apoya en el hardware del SBC y en placas de expansión para E/S de 24 V, relés y aislamiento. En PC, el Runtime aprovecha más CPU y almacenamiento, útil como banco de pruebas, simulador con E/S virtuales o pasarela Modbus.

Sirve para quien necesita depuración en vivo, supervisión por Modbus TCP y ampliación ordenada de E/S sin reescribir firmware en cada cambio. Permite mantener el programa tras reinicio y gestionarlo sin reprogramar por USB.

No sirve para quien busca encender y listo sin configurar sistema. Requiere instalar dependencias, asignar permisos de GPIO o de adaptadores serie, abrir puertos y mapear variables Modbus. También exige alimentación estable de 5 V y 3 A y, en entorno industrial, envolvente y acondicionamiento eléctrico.

La pega real es la complejidad inicial. Si no prevés red ni supervisión, esa configuración sobra y un Arduino o ESP por carga directa resuelve con menos pasos y menos consumo.

Qué necesitas para que funcione bien

  • Base: Raspberry Pi 3/4/5 o PC con Linux/Windows y Runtime v4 instalado.
  • E/S: sombrero o módulos externos para 12/24 V, aislamiento y relés; define número de entradas digitales, analógicas y salidas antes de comprar.
  • Red: Ethernet para Modbus TCP estable; Wi-Fi solo si la cobertura y la latencia son aceptables.

Errores al elegir y qué no pagar de más

Tres errores repiten devoluciones y tardes perdidas. Todos se evitan leyendo la documentación de la versión que vas a instalar.

  1. Intentar cargar Runtime en Arduino, ESP32 o ESP8266. No existe Runtime para esos microcontroladores; solo carga directa. Si buscas depuración y dashboard, pasa a Raspberry Pi o PC con Runtime v4.
  2. Confundir simulación con depuración real. Simular en el Editor no es ver la planta en marcha. La depuración en vivo exige Runtime v4 o, en carga directa, un servidor Modbus configurado y mapeado variable por variable.
  3. Olvidar habilitar Modbus. Sin Modbus TCP o RTU habilitado y direccionado, no hay lectura remota, ni SCADA, ni forzados desde cliente externo. Planifica direcciones y prueba con un cliente Modbus antes de cerrar el armario.

Qué no pagar de más: no compres shields industriales para Arduino si tu necesidad es supervisión por red y registro; ese coste se amortiza mejor en una Raspberry Pi con expansión. Tampoco pagues por prestaciones Wi-Fi duplicadas: ESP32 ya integra Wi-Fi y Bluetooth, añadir módulos externos sube consumo y puntos de fallo.

Si eliges PC con Runtime v4 para probar, evita comprar E/S físicas hasta validar lógica y comunicaciones en virtual. Cuando la maniobra esté estable, decide entre Raspberry Pi con expansiones o pasarela Modbus dedicada según el número final de señales y el entorno de montaje.

Preguntas frecuentes

1. ¿Qué es OpenPLC Runtime y para qué sirve?

OpenPLC Runtime es el software que se instala en tu controlador (una Raspberry Pi, un PC con Linux o Windows, etc.) para ejecutar los programas de automatización escritos en ladder o estructurado. Actúa como el «sistema operativo» del PLC, comunicando las entradas y salidas físicas del hardware con la lógica que tú programaste. Se configura en minutos desde la interfaz web del servidor.

2. ¿Qué novedades aporta la versión OpenPLC v3 frente a las anteriores?

La versión 3 introduce soporte nativo para hardware como ESP32, Arduino y ESP8266, además de las Raspberry Pi y PCs tradicionales. Incorpora un editor web integrado basado en MatIEC y amplía la compatibilidad con los protocolos de comunicación Modbus y MQTT. También corrige problemas de estabilidad en la compilación de programas grandes respecto a la versión 2.

3. ¿Cómo puedo descargar e instalar OpenPLC en mi computadora?

El método más rápido es usar un sistema operativo Linux (como Ubuntu) y ejecutar en la terminal el script de instalación oficial que se encuentra en el repositorio de GitHub del proyecto. Para Windows, existe un instalador ejecutable disponible en la misma sección de descargas. La instalación completa tarda entre 5 y 15 minutos dependiendo de tu conexión y hardware.

4. ¿Qué es la versión antigua de OpenPLC (Old Open PLC) y por qué la gente aún la usa?

Se refiere a la versión 1 o 2 del software, lanzadas hace varios años, que eran más básicas y solo soportaban PC con Linux. Algunos usuarios prefieren mantenerla por compatibilidad con scripts personalizados o porque ya tienen una infraestructura funcionando en esa versión antigua. Sin embargo, la rama actual (v3) recibe las correcciones de seguridad y nuevas funciones, por lo que se recomienda migrar si es posible.

5. ¿Es posible usar OpenPLC en un Mac con macOS?

OpenPLC Runtime no tiene una versión nativa compilada para macOS, pero puedes ejecutarlo sin problemas instalando una máquina virtual con Linux (como Ubuntu) o usando Docker en tu Mac. Con cualquiera de estas dos opciones, el software funciona con el mismo rendimiento que en un equipo Linux estándar. Esto te permite programar y simular tus lógicas de automatización desde el ecosistema de Apple.

Fuentes

  1. IeeeOpenPLC: An open source alternative to automation – IEEE Xploreconsultado el 22/09/2026
  2. PlcsimulationsoftwareOpenPLC vs Paid PLC Software: Honest Comparisonconsultado el 22/09/2026
  3. Githubthiagoralves/OpenPLC_v3: OpenPLC Runtime version 3 – GitHubconsultado el 22/09/2026
  4. SlashdotTop OpenPLC Editor Alternatives in 2026 – Slashdotconsultado el 22/09/2026