Source Control
pour les Projets TIA Portal
Un système de contrôle de version Git complet intégré dans T-IA Connect. Exportez votre projet en fichiers texte lisibles, commitez les changements, visualisez les diffs, gérez les branches et synchronisez avec des remotes — directement depuis l'interface ou via les outils MCP.
Les Projets TIA Portal Sont un Cauchemar pour le Versionnage
Fichiers binaires, pas de diffs, pas de merge — le pire scénario pour le source control
Format Binaire Opaque
Les projets TIA Portal sont des fichiers binaires propriétaires. Git les voit comme des blobs — pas de diff ligne par ligne, pas de merge significatif, impossible de voir ce qui a réellement changé entre deux versions.
Versionnage par Copier-Coller
Les ingénieurs versionnent les projets en copiant des dossiers : Projet_v1, Projet_v2, Projet_v2_Jean_modifié. L'espace disque explose, personne ne sait quelle version est la bonne, et fusionner est impossible.
Aucune Visibilité sur les Changements
Quelqu'un a modifié un bloc fonction la semaine dernière. Qu'est-ce qui a changé exactement ? Quel réseau ? Quelle instruction ? Sans diffs texte, impossible de le savoir sans ouvrir les deux versions côte à côte dans TIA Portal.
Pas de Workflow Collaboratif
Deux ingénieurs ne peuvent pas travailler simultanément sur le même projet en confiance. Pas de branches, pas de capacité de merge, pas de pull requests. L'un écrase le travail de l'autre.
Comment Fonctionne le VCS dans T-IA Connect
Export → Git → diff/branch/merge, avec normalisation XML automatique
Export Automatique du Projet
T-IA Connect exporte tous les éléments du projet en fichiers texte lisibles : blocs (OB, FB, FC, DB) en SimaticML XML, tables de tags, UDTs, tables de surveillance en XML, et configuration matérielle en AML.
Normalisation XML
TIA Portal peut réordonner les attributs XML entre les exports, causant de faux diffs. Le XmlNormalizer intégré trie les attributs de manière déterministe pour que les diffs ne montrent que les vrais changements.
Git Embarqué (LibGit2Sharp)
Aucune installation Git externe requise. T-IA Connect utilise LibGit2Sharp pour une implémentation Git entièrement embarquée. Init, commit, branch, diff, merge, push, pull — tout est intégré.
Gestion Complète des Branches
Créez des branches pour des variantes ou expérimentations. Travaillez sur une branche feature, testez, puis fusionnez dans main. Le même workflow que les équipes logicielles, maintenant pour les projets PLC.
Synchronisation Remote (Push/Pull)
Ajoutez un dépôt distant (GitHub, GitLab, Gitea, Azure DevOps) et poussez/tirez les changements. Partagez l'historique du projet avec l'équipe via l'infrastructure Git standard.
Sidebar dans l'Application Desktop
Un panneau VCS dans l'application desktop affiche le statut du repo, les fichiers modifiés et permet de commiter directement depuis l'interface. Pas besoin de ligne de commande pour les opérations courantes.
Workflow Typique de Contrôle de Version
Du changement de projet à un historique suivi et comparable
1. Initialiser le Dépôt
Lancez vcs_init pour créer un dépôt Git dans .tia-connect/source/. C'est fait une seule fois par projet. Tous les exports suivants vont dans ce répertoire.
2. Commiter les Changements
Après des modifications dans TIA Portal, lancez vcs_commit. T-IA Connect exporte le projet entier, stage les fichiers et crée un commit Git avec votre message.
3. Voir les Diffs et l'Historique
Utilisez vcs_diff pour voir exactement ce qui a changé — quels éléments XML ont été ajoutés, modifiés ou supprimés. Utilisez vcs_log pour parcourir l'historique des commits.
4. Brancher, Fusionner et Restaurer
Créez des branches pour expérimenter (vcs_branch_create), fusionnez-les (vcs_merge), ou restaurez un fichier depuis un commit précédent (vcs_restore).
Ce Qui Est Exporté
Chaque élément du projet devient un fichier texte lisible et comparable
Blocs Programme
OB, FB, FC, DB — exportés en SimaticML XML. Chaque bloc est un fichier séparé dans le dossier blocks/. Structure réseau complète, instructions et commentaires préservés.
Tables de Tags
Tags PLC exportés en XML structuré dans le dossier tags/. Noms, types de données, adresses et commentaires — tout est versionné.
UDTs et Tables de Surveillance
Types Définis par l'Utilisateur dans udts/ et tables de surveillance dans watch/. Types de données complets du projet suivis aux côtés de la logique programme.
Configuration Matérielle
Topologie réseau, configuration CPU et modules E/S exportés en AML (AutomationML) dans hardware/. Suivez les changements matériels aux côtés des changements logiciels.
Outils VCS Disponibles
Accessibles via MCP, Copilot, API REST et l'interface desktop
vcs_init / vcs_commit / vcs_status
Initialiser le dépôt, commiter l'état actuel du projet avec un message, et voir quels fichiers ont été modifiés, ajoutés ou supprimés depuis le dernier commit.
vcs_log / vcs_diff
Parcourir l'historique des commits avec messages et horodatages. Voir les diffs textuels entre commits ou entre l'état courant et le dernier commit.
vcs_branch_* / vcs_merge
Créer, lister, checkout et supprimer des branches. Fusionner les branches entre elles. Workflow complet de branching Git pour les projets PLC.
vcs_remote_* / vcs_push / vcs_pull
Ajouter, lister et supprimer des dépôts distants. Pousser les commits vers un remote et tirer les changements de l'équipe. Workflow Git remote standard.
vcs_restore / vcs_config
Restaurer un fichier depuis un commit précédent. Configurer le nom et l'email Git. Paramètres au niveau projet pour le dépôt Git embarqué.
Questions Fréquentes
En quoi est-ce différent du versionnage intégré de TIA Portal ?
Le versionnage de TIA Portal fonctionne au niveau projet complet — des snapshots binaires. Le VCS de T-IA Connect exporte les éléments individuels en fichiers texte, offrant des diffs ligne par ligne, du branching, du merge et la possibilité de voir exactement ce qui a changé dans chaque bloc. Ils se complètent.
Peut-on pousser vers GitHub/GitLab ?
Oui. Ajoutez un remote avec vcs_remote_add et utilisez vcs_push/vcs_pull pour synchroniser. Les fichiers texte exportés fonctionnent parfaitement avec n'importe quelle plateforme d'hébergement Git. L'historique de votre projet PLC vit aux côtés de vos autres dépôts.
La restauration réimporte-t-elle vraiment dans TIA Portal ?
vcs_restore récupère le contenu du fichier depuis un commit précédent. La réimportation complète dans TIA Portal est en cours de développement (il y a un problème d'encodage UTF-16 sur certains types de blocs). Pour l'instant, restore vous donne le contenu source exact pour une réimportation manuelle.
Faut-il avoir Git installé sur la machine ?
Non. T-IA Connect embarque Git via LibGit2Sharp — une implémentation native .NET de Git. Pas d'installation externe, pas de configuration PATH, pas de ligne de commande. Tout fonctionne via l'interface et les outils de T-IA Connect.