Control de código fuente
para proyectos de TIA Portal
Un sistema completo de control de versiones basado en Git integrado en T-IA Connect. Exporte su proyecto como archivos de texto legibles, realice commit de los cambios, vea diffs, gestione branches y sincronice con remotos — directamente desde la UI o a través de las herramientas MCP.
Los proyectos de TIA Portal son pesadillas para el control de versiones
Archivos binarios, sin diffs, sin merge — el peor escenario para el control de código fuente
Formato binario opaco
Los proyectos de TIA Portal son archivos binarios propietarios. Git los ve como blobs — sin diffs línea por línea, sin merge significativo, sin forma de ver qué cambió realmente entre dos versiones.
Versionado mediante copiar y pegar
Los ingenieros versionan proyectos copiando carpetas: Project_v1, Project_v2, Project_v2_John_modified. El espacio en disco explota, nadie sabe qué versión es la actual y el merge es imposible.
Sin visibilidad de cambios
¿Alguien cambió un bloque de función la semana pasada. ¿Qué cambiaron exactamente? ¿Qué network? ¿Qué instrucción? Sin diffs de texto, no puede saberlo sin abrir ambas versiones una al lado de la otra en TIA Portal.
Sin flujo de trabajo de colaboración
Dos ingenieros no pueden trabajar en el mismo proyecto simultáneamente con confianza. Sin branches, sin capacidad de merge, sin pull requests. Uno sobrescribe el trabajo del otro.
Cómo funciona el VCS en T-IA Connect
Exportación → Git → diff/branch/merge, con normalización XML automática
Exportación automática del proyecto
T-IA Connect exporta todos los elementos del proyecto como archivos de texto legibles: bloques (OB, FB, FC, DB) como SimaticML XML, tablas de tags, UDTs, tablas de observación como XML y configuración de hardware como AML.
Normalización XML
TIA Portal puede reordenar los atributos XML entre exportaciones, causando falsos diffs. El XmlNormalizer integrado ordena los atributos de forma determinista, por lo que los diffs muestran solo cambios reales.
Git embebido (LibGit2Sharp)
No requiere instalación externa de Git. T-IA Connect utiliza LibGit2Sharp para una implementación de Git totalmente embebida. Init, commit, branch, diff, merge, push, pull — todo integrado.
Gestión completa de branches
Cree branches para variantes o experimentos. Trabaje en un branch de funciones, pruébelo y luego haga merge de vuelta a main. El mismo flujo de trabajo que utilizan los equipos de software, ahora para proyectos de PLC.
Sincronización remota (Push/Pull)
Añada un repositorio remoto (GitHub, GitLab, Gitea, Azure DevOps) y realice push/pull de los cambios. Comparta el historial del proyecto con todo el equipo utilizando la infraestructura estándar de Git.
Barra lateral de la UI de escritorio
Una barra lateral de VCS en la aplicación de escritorio muestra el estado del repositorio, los archivos modificados y le permite realizar commit directamente desde la UI. No se necesita línea de comandos para las operaciones diarias.
Flujo de trabajo típico de control de versiones
Desde el cambio en el proyecto hasta un historial rastreado y comparable
1. Inicializar repositorio
Ejecute vcs_init para crear un repositorio Git en .tia-connect/source/. Esto se hace una vez por proyecto. Todas las exportaciones posteriores van a este directorio.
2. Realizar commit de los cambios
Después de realizar cambios en TIA Portal, ejecute vcs_commit. T-IA Connect exporta el proyecto completo, prepara (stages) los archivos y crea un commit de Git con su mensaje.
3. Ver diffs e historial
Utilice vcs_diff para ver exactamente qué cambió — qué elementos XML se añadieron, modificaron o eliminaron. Utilice vcs_log para navegar por el historial de commits con mensajes y marcas de tiempo.
4. Branch, merge y restauración
Cree branches para experimentos (vcs_branch_create), júntelos de nuevo (vcs_merge) o restaure un archivo específico de un commit anterior (vcs_restore).
Qué se exporta
Cada elemento del proyecto se convierte en un archivo de texto legible y comparable
Bloques de programa
OB, FB, FC, DB — exportados como SimaticML XML. Cada bloque es un archivo independiente en el directorio blocks/. Se preserva toda la estructura de networks, instrucciones y comentarios.
Tablas de tags
Tags de PLC exportados como XML estructurado en el directorio tags/. Nombres, tipos de datos, direcciones y comentarios — todo bajo control de versiones.
UDTs y tablas de observación
User-Defined Types en udts/ y tablas de observación en watch/. Los tipos de datos completos del proyecto se rastrean junto con la lógica del programa.
Configuración de hardware
Topología de red, configuración de CPU y módulos de I/O exportados como AML (AutomationML) en hardware/. Rastree los cambios de hardware junto con los cambios de software.
Herramientas de VCS disponibles
Accesibles a través de MCP, Copilot, REST API y la UI de escritorio
vcs_init / vcs_commit / vcs_status
Inicializa el repositorio, realiza commit del estado actual del proyecto con un mensaje y verifica qué archivos se han modificado, añadido o eliminado desde el último commit.
vcs_log / vcs_diff
Navega por el historial de commits con mensajes y marcas de tiempo. Vea diffs de texto entre commits o entre el estado de trabajo y el último commit.
vcs_branch_* / vcs_merge
Cree, enumere, realice checkout y elimine branches. Haga merge de branches. Flujo de trabajo completo de branches Git para proyectos de PLC.
vcs_remote_* / vcs_push / vcs_pull
Añada, enumere y elimine repositorios remotos. Realice push de commits a un remoto y pull de cambios del equipo. Flujo de trabajo estándar de remotos de Git.
vcs_restore / vcs_config
Restaura un archivo de un commit anterior. Configura el nombre de usuario y el correo electrónico de Git. Ajustes a nivel de proyecto para el repositorio Git embebido.
Preguntas frecuentes
¿En qué se diferencia esto del versionado de proyectos integrado de TIA Portal?
El versionado de TIA Portal funciona a nivel de proyecto completo — instantáneas binarias. El VCS de T-IA Connect exporta elementos individuales como archivos de texto, ofreciéndole diffs línea por línea, branching, merging y la capacidad de ver exactamente qué cambió en cada bloque. Se complementan entre sí.
¿Puedo realizar push a GitHub/GitLab?
Sí. Añada un remoto con vcs_remote_add y utilice vcs_push/vcs_pull para sincronizar. Los archivos de texto exportados funcionan perfectamente con cualquier plataforma de alojamiento de Git. El historial de su proyecto de PLC reside junto a sus otros repositorios.
¿La restauración realmente importa de nuevo a TIA Portal?
vcs_restore recupera el contenido del archivo de un commit anterior. La reimportación completa a TIA Portal está en desarrollo (hay un problema de codificación con UTF-16 en algunos tipos de bloques). Por ahora, restore le proporciona el contenido exacto de la fuente para reimportarlo manualmente.
¿Necesito tener Git instalado en mi máquina?
No. T-IA Connect embebe Git a través de LibGit2Sharp — una implementación nativa de .NET de Git. Sin instalación externa de Git, sin configuración de PATH, sin línea de comandos. Todo funciona a través de la UI y las herramientas de T-IA Connect.