· Eduardo Vieira · Automatización Industrial · 5 min de lectura
Modernizar el desarrollo PLC: convertir texto estructurado a texto plano para control de versiones y programación con IA
Cómo cerrar la brecha entre la programación de automatización industrial y las prácticas modernas de software con una herramienta que convierte código PLC a archivos de texto plano para Git y asistentes de IA.

El eslabón perdido en el desarrollo PLC
Los programadores de automatización industrial han enfrentado un reto constante: mientras el resto del mundo de software disfruta de control de versiones robusto, herramientas colaborativas y programación asistida por IA, el desarrollo PLC sigue aislado en entornos propietarios. Esta brecha genera varios problemas:
- Control de versiones limitado: Los PLC guardan código en archivos binarios que Git u otros VCS no pueden rastrear de forma útil.
- Sin visualización de diffs: Identificar cambios entre versiones es innecesariamente complicado.
- Barreras de colaboración: Varios ingenieros no pueden trabajar fácilmente en distintas partes del proyecto.
- Brecha con la IA: Los asistentes de código modernos no leen ni modifican archivos binarios de proyectos PLC.
Para cerrar esta brecha desarrollé el Convertidor de Texto Estructurado PLC a Texto Plano, una herramienta open source que transforma proyectos CODESYS y ABB Automation Builder en archivos de texto controlables por versiones y aptos para programación asistida por IA.
Desbloquear flujos modernos para automatización
La herramienta crea un flujo bidireccional entre el entorno PLC y archivos de texto plano:
El convertidor permite exportar e importar:
- Program Organization Units (POU)
- Data Unit Types (DUT)
- Métodos, funciones y bloques de función
- Configuraciones de tareas
- Propiedades, acciones y transiciones
Al extraer el código fuente a texto plano habilitas varias capacidades clave:
1. Control de versiones real con Git
Con el código PLC en formato de texto aprovechas todo el potencial de Git:
- Rastrear cambios significativos en lugar de diferencias binarias
- Crear ramas de funcionalidades para desarrollo en paralelo
- Revisar cambios con diffs claros antes de fusionar
- Mantener un historial completo del código
2. Programación PLC asistida por IA
Lo más atractivo es usar asistentes de código modernos con tu base PLC:
- Obtener sugerencias inteligentes de autocompletado
- Refactorizar lógica compleja con ayuda de IA
- Generar documentación automáticamente
- Identificar bugs y oportunidades de optimización
3. Plantillas de proyecto más simples
La herramienta añade funciones para gestionar plantillas:
- Generar plantillas reutilizables
- Actualizar proyectos desde plantillas
- Estandarizar la estructura de código entre máquinas
Configuración del convertidor PLC-texto
Poner en marcha el convertidor es sencillo.
Instalación
- Copia la carpeta Script Commands en tu instalación CODESYS o Automation Builder:
- CODESYS:
C:\Program Files\CODESYS 3.5.20.50\CODESYS\Script Commands
- Automation Builder:
C:\Program Files\ABB\AB2.8\AutomationBuilder\Script Commands
- CODESYS:
- Abre el entorno PLC sin cargar un proyecto.
- Selecciona Tools → Customize en el menú:
- Selecciona o crea una toolbar y pulsa Add Command…:
- En la categoría ScriptEngine Commands agrega los comandos Export to Files e Import From Files:
- Verás los botones de exportación e importación en tu barra de herramientas:
Uso del convertidor: flujo práctico
Así integro la herramienta en mi flujo diario:
Paso 1: organiza la estructura del proyecto
Crea una carpeta src
dentro de tu Application para contener todo lo que sincronizarás:
Importante: Solo se exporta/importa lo que está dentro de esa carpeta. Deja configuraciones de comunicación y componentes de sistema fuera porque el convertidor no los soporta.
Paso 2: exporta a texto plano
Con el proyecto organizado, haz clic en Export to Files para extraer todo al sistema de archivos:
Los archivos se generan siguiendo la estructura del proyecto: <Project Name>/<Device Name>/<Application Name>/src/
Paso 3: edita con herramientas modernas
Abre y edita los archivos con tu editor o IDE favorito:
Importante: No elimines la línea // --- BEGIN IMPLEMENTATION ---
; ayuda al script a distinguir entre declaraciones de variables y código.
Paso 4: importa de vuelta al entorno PLC
Cuando estés listo, usa Import From Files para traer el código actualizado al proyecto:
Paso 5: aprovecha el control de versiones
Con el código en texto, realiza commits y sigue la evolución de tu lógica de control:
Conserva también el archivo binario del proyecto en el repositorio para referencia.
Buenas prácticas y limitaciones
La herramienta mejora notablemente el flujo PLC, pero considera lo siguiente:
Buenas prácticas
- Define una estructura de carpetas consistente entre proyectos.
- Haz commit tanto de archivos de texto como del binario del proyecto.
- Escribe mensajes de commit descriptivos sobre los cambios en la lógica.
- Usa ramas para nuevas funciones y pruebas.
Limitaciones actuales
- No soporta exportar/importar elementos de visualización.
- Dispositivos de comunicación tienen soporte limitado.
- La gestión de recetas debe permanecer fuera de la carpeta exportada.
- Probado extensivamente en CODESYS V3.5 SP20.
Conclusión: llevar la programación PLC a la era moderna
El Convertidor de Texto Estructurado a Texto Plano representa un puente entre la programación industrial tradicional y las prácticas modernas de software. Al habilitar control de versiones, colaboración y programación asistida por IA, aceleramos el desarrollo, mejoramos la calidad de código y reducimos la brecha de habilidades en automatización.
La herramienta está disponible en GitHub y recibe contribuciones de la comunidad.
Para más detalles técnicos consulta la documentación de scripting de CODESYS o la ayuda local en C:\<CODESYS INSTALL LOCATION>\CODESYS\Online Help\en\ScriptEngine.chm
.