OpenPLC
El stack open source más usado de la automatización industrial.
Un IDE IEC 61131-3 moderno, un runtime de producción y el compilador que los conecta.
- 2014
- Open source desde
- 1 M+
- Descargas
- 150+
- Países
- IEC 61131-3
- Soporte de la Edición 3
Seguro por diseño, no por oscuridad
Código público desde 2014, endurecido por todos los que alguna vez lo desplegaron.
La oscuridad no es seguridad
Un runtime cerrado no es más seguro por ser ilegible, solo está menos examinado. Sus defectos siguen ahí, y el fabricante es el único que puede buscarlos.
Auditable en el propio código
Tu equipo de seguridad lee el código que hace correr tu proceso, no una hoja de datos que lo describe. El nuestro también, y el de todos los demás.
Probado en campo
1 M+ descargas en 150+ países. Más hardware, más casos límite y más maltrato del que cualquier programa de laboratorio podría reproducir.
Corregido a la vista de todos
Los problemas se reportan, se parchean y se revisan en público. Puedes ver qué estaba mal, cuándo se corrigió y exactamente qué cambió.
Tres piezas, una sola cadena de herramientas
Escribes la lógica en el Editor, StruC++ la compila y el Runtime la ejecuta. Elige una para verla en detalle.
Descarga OpenPLC Editor
El entorno de programación de PLC open source para automatización industrial. Disponible para Windows, macOS y Linux.
Trae un simulador de PLC integrado, así puedes ejecutar y depurar Ladder, ST y FBD con un depurador en vivo antes de tocar cualquier hardware.
Novedades
CoPilot en el editor
Autonomy CoPilot también trabaja en el editor: completa el código mientras escribes y, en el chat, le pides lo que necesitas, lo escribe y tú revisas y apruebas el resultado antes de que entre en tu proyecto.
Entra con tu cuenta de Autonomy Edge
Entra con una cuenta de Autonomy Edge cuando quieras, trae al editor los proyectos que guardas allí y mantén tu código versionado mientras trabajas.
Ejecución desde el código fuente
Requisitos previos
Git
Control de versiones
Node.js x64
Versión >= 20
Paso a paso
1. Clona el repositorio
git clone https://github.com/Autonomy-Logic/openplc-editor.git cd openplc-editor
2. Instala las dependencias
npm install
3. Ejecuta el servidor de desarrollo
npm run start:dev
El compilador de Structured Text detrás de OpenPLC v4. IEC 61131-3 Edición 3 completo, compilado a C++17 que de verdad se puede leer.
El Structured Text se convierte en C++17 idiomático, con clases reales, métodos virtuales y plantillas, así que puedes depurarlo, probarlo e integrarlo en un proyecto C++ que ya tengas.
IEC 61131-3 Edición 3
Un subconjunto amplio de la Edición 3, más las extensiones habituales de CODESYS: POINTER TO, literales tipados y tipos de 64 bits, con importación directa de bibliotecas CODESYS.
Orientación a objetos de verdad
Clases, métodos virtuales, EXTENDS e IMPLEMENTS, modificadores de acceso, declaraciones abstract y final, y propiedades con accesores GET y SET.
Pruebas unitarias escritas en ST
Un framework de pruebas integrado con SETUP y TEARDOWN, mocking, aserciones y avance del tiempo. No hace falta hardware de PLC para ejecutarlas.
REPL interactivo
Recorre un programa compilado paso a paso, define entradas, inspecciona variables y lee el ST y el C++ generado uno al lado del otro.
Biblioteca estándar
Más de 80 funciones matemáticas y de utilidad, además de temporizadores, contadores y detectores de flanco implementados en ST y compilados igual que tu propio código.
Cero dependencias en ejecución
Un compilador de un solo binario y un runtime de C++ solo de cabeceras que compila con g++, clang++ o MSVC.
Licenciamiento
El compilador es GPL-3.0. El runtime de C++ y las bibliotecas estándar son GPL-3.0 con una Runtime Library Exception, así que los programas que compiles se pueden distribuir bajo la licencia que elijas.
Arquitectura moderna
Arquitectura completamente rediseñada, creada para las necesidades de la automatización industrial moderna.
Ejecución en tiempo real
La planificación con prioridad SCHED_FIFO ofrece ciclos de escaneo deterministas para un control confiable.
Depuración por WebSocket
La interfaz segura de depuración por WebSocket permite inspeccionar y forzar variables en tiempo real.
Sistema de plugins
Sistema de plugins extensible con soporte para plugins en Python y C/C++ para E/S de hardware y protocolos ICS.
Multiarquitectura
Si puede ejecutar Linux, puede ejecutar OpenPLC Runtime. Soporte completo para múltiples arquitecturas.
Seguridad integrada
Cifrado TLS en todas las comunicaciones y autenticación basada en JWT desde su concepción.
Lo mejor de los dos mundos
Open source para aprender, probar y desarrollar. La Autonomy Edition cuando tiene que hacer andar una planta.
Community Edition
Para aprender, probar y desarrollar. El mismo runtime que la comunidad lleva una década ejecutando.
- Código fuente completo, sin funciones bloqueadas
- MIT para el runtime, GPL-3.0 para el editor y el compilador: úsalo, modifícalo y redistribúyelo
- Soporte a través del foro de la comunidad
- Muy usado en investigación, docencia y desarrollo
Autonomy Edition
Para producción de misión crítica: seguridad desarrollada conforme a IEC 62443, drivers propietarios y protocolos industriales, y soporte detrás.
- Uso comercial y en producción
- Desarrollado conforme a las normas de seguridad IEC 62443-4-1 e IEC 62443-4-2
- Drivers de dispositivo propietarios y protocolos de comunicación industrial
- Soporte y mantenimiento comercial a cargo de Autonomy
Instalación
Elige el método de instalación que mejor se adapte a tu entorno.
Instalación nativa en Linux
Para obtener el mejor rendimiento en sistemas Linux, instala el runtime de forma nativa.
Clonar e instalar
git clone https://github.com/Autonomy-Logic/openplc-runtime.git cd openplc-runtime sudo ./install.sh
El script de instalación detecta automáticamente tu distribución de Linux, instala todas las dependencias necesarias, crea los entornos virtuales de Python, compila el runtime y crea un servicio systemd que inicia y gestiona el runtime automáticamente.
Una vez instalado, el runtime escucha en el puerto 8443 las conexiones del OpenPLC Editor.
Gestión del servicio del runtime
Verificar estado
sudo systemctl status openplc-runtime.service
Iniciar
sudo systemctl start openplc-runtime.service
Detener
sudo systemctl stop openplc-runtime.service
Reiniciar
sudo systemctl restart openplc-runtime.service
Dónde encaja el Editor
La misma cadena de herramientas se ejecuta en cuatro lugares. El Editor es el que instalas y ejecutas tú mismo; Autonomy Node, Autonomy Edge y Edge on-prem la ejecutan en otro sitio.
| OpenPLC EditorInstalado en tu computadora | Autonomy NodeServido por el dispositivo | Autonomy EdgeAlojado en la nube | Edge on-premAlojado en tu propio hardware | |
|---|---|---|---|---|
| Dónde se ejecuta el IDE | En tu computadora | En el dispositivo | En la nube | En tu propia infraestructura |
| Los PLC son independientes del IDE | Sí | No | Sí | Sí |
| Instalación en tu computadora | Sí | No | No | No |
| Necesita acceso a internet | No | No | Sí, solo para la gestión | No |
| Almacenamiento de proyectos e historial de versiones | Parcial | Parcial | Sí | Sí |
| Equipos y permisos granulares | No | Parcial | Sí | Sí |
| Despliegue a toda la flota | No | No | Sí | Sí |
| Asistencia de IA | Sí | Parcial | Sí | Sí |
Si todavía usas OpenPLC v3
OpenPLC v3 está descontinuado. No habrá más versiones de v3 ni más correcciones. Si todavía necesitas v3, su documentación heredada y su código fuente están disponibles en el archivo de v3, más abajo.
Ir al archivo de v3

