Integriertes Git für TIA Portal

Versionsverwaltung
für TIA Portal Projekte

Ein vollständiges Git-basiertes Versionsverwaltungssystem, eingebettet in T-IA Connect. Exportieren Sie Ihr Projekt als lesbare Textdateien, commiten Sie Änderungen, betrachten Sie Diffs, verwalten Sie Branches und synchronisieren Sie mit Remotes — direkt aus der UI oder über MCP-Tools.

TIA Portal Projekte sind ein Albtraum für die Versionsverwaltung

Binärdateien, keine Diffs, kein Merge — das Worst-Case-Szenario für die Quellcodeverwaltung

Undurchsichtiges Binärformat

TIA Portal Projekte sind proprietäre Binärdateien. Git sieht sie als Blobs — keine zeilenweisen Diffs, kein aussagekräftiger Merge, keine Möglichkeit zu sehen, was sich tatsächlich zwischen zwei Versionen geändert hat.

Copy-Paste-Versionierung

Ingenieure versionieren Projekte durch Kopieren von Ordnern: Projekt_v1, Projekt_v2, Projekt_v2_John_modifiziert. Der Speicherplatz explodiert, niemand weiß, welche Version aktuell ist, und Merging ist unmöglich.

Keine Sichtbarkeit von Änderungen

Jemand hat letzte Woche einen Funktionsblock geändert. Was genau wurde geändert? Welches Netzwerk? Welche Anweisung? Ohne Text-Diffs lässt sich das nicht feststellen, ohne beide Versionen nebeneinander in TIA Portal zu öffnen.

Kein Workflow für die Zusammenarbeit

Zwei Ingenieure können nicht mit Sicherheit gleichzeitig am selben Projekt arbeiten. Keine Branches, keine Merge-Funktion, keine Pull Requests. Einer überschreibt die Arbeit des anderen.

Wie VCS in T-IA Connect funktioniert

Export → Git → diff/branch/merge, mit automatischer XML-Normalisierung

Automatischer Projektexport

T-IA Connect exportiert alle Projektelemente als lesbare Textdateien: Blöcke (OB, FB, FC, DB) als SimaticML XML, Variablentabellen, UDTs, Beobachtungstabellen als XML und die Hardware-Konfiguration als AML.

XML-Normalisierung

TIA Portal kann die Reihenfolge von XML-Attributen zwischen Exporten ändern, was zu falschen Diffs führt. Der integrierte XmlNormalizer sortiert Attribute deterministisch, sodass Diffs nur echte Änderungen zeigen.

Eingebettetes Git (LibGit2Sharp)

Keine externe Git-Installation erforderlich. T-IA Connect verwendet LibGit2Sharp für eine vollständig eingebettete Git-Implementierung. Init, commit, branch, diff, merge, push, pull — alles integriert.

Vollständige Branch-Verwaltung

Erstellen Sie Branches für Varianten oder Experimente. Arbeiten Sie an einem Feature-Branch, testen Sie ihn und mergen Sie ihn dann zurück in den Main-Branch. Derselbe Workflow, den Software-Teams nutzen, jetzt für PLC-Projekte.

Remote-Synchronisierung (Push/Pull)

Fügen Sie ein Remote-Repository hinzu (GitHub, GitLab, Gitea, Azure DevOps) und führen Sie push/pull für Änderungen aus. Teilen Sie die Projekthistorie im Team mit Standard-Git-Infrastruktur.

Desktop-UI Seitenleiste

Eine VCS-Seitenleiste in der Desktop-Anwendung zeigt den Repository-Status, geänderte Dateien und ermöglicht es Ihnen, direkt aus der UI zu commiten. Keine Kommandozeile für alltägliche Operationen erforderlich.

Typischer Workflow der Versionsverwaltung

Von der Projektänderung zur nachverfolgbaren, diff-fähigen Historie

1

1. Repository initialisieren

Führen Sie vcs_init aus, um ein Git-Repository in .tia-connect/source/ zu erstellen. Dies geschieht einmal pro Projekt. Alle folgenden Exporte landen in diesem Verzeichnis.

2

2. Änderungen commiten

Nachdem Sie Änderungen in TIA Portal vorgenommen haben, führen Sie vcs_commit aus. T-IA Connect exportiert das gesamte Projekt, stellt die Dateien bereit (staging) und erstellt einen Git-Commit mit Ihrer Nachricht.

3

3. Diffs & Historie anzeigen

Verwenden Sie vcs_diff, um genau zu sehen, was sich geändert hat — welche XML-Elemente hinzugefügt, geändert oder entfernt wurden. Verwenden Sie vcs_log, um die Commit-Historie mit Nachrichten und Zeitstempeln zu durchsuchen.

4

4. Branch, Merge & Restore

Erstellen Sie Branches für Experimente (vcs_branch_create), mergen Sie diese zurück (vcs_merge) oder stellen Sie eine bestimmte Datei aus einem vorherigen Commit wieder her (vcs_restore).

Was exportiert wird

Jedes Projektelement wird zu einer lesbaren, diff-fähigen Textdatei

Programmbausteine

OB, FB, FC, DB — exportiert als SimaticML XML. Jeder Block ist eine separate Datei im Verzeichnis blocks/. Vollständige Netzwerkstruktur, Anweisungen und Kommentare bleiben erhalten.

Variablentabellen

PLC-Variablen werden als strukturiertes XML im Verzeichnis tags/ exportiert. Namen, Datentypen, Adressen und Kommentare — alles unter Versionsverwaltung.

UDTs & Beobachtungstabellen

User-Defined Types in udts/ und Beobachtungstabellen in watch/. Komplette Projektdatentypen werden zusammen mit der Programmlogik verfolgt.

Hardware-Konfiguration

Netzwerktopologie, CPU-Konfiguration und E/A-Module werden als AML (AutomationML) in hardware/ exportiert. Verfolgen Sie Hardware-Änderungen zusammen mit Software-Änderungen.

Verfügbare VCS-Tools

Zugänglich über MCP, Copilot, REST API und die Desktop-UI

vcs_init / vcs_commit / vcs_status

Initialisieren Sie das Repository, commiten Sie den aktuellen Projektstatus mit einer Nachricht und prüfen Sie, welche Dateien seit dem letzten Commit geändert, hinzugefügt oder gelöscht wurden.

vcs_log / vcs_diff

Durchsuchen Sie die Commit-Historie mit Nachrichten und Zeitstempeln. Betrachten Sie Text-Diffs zwischen Commits oder zwischen dem aktuellen Arbeitsstand und dem letzten Commit.

vcs_branch_* / vcs_merge

Erstellen, auflisten, auschecken und löschen Sie Branches. Mergen Sie Branches wieder zusammen. Vollständiger Git-Branching-Workflow für PLC-Projekte.

vcs_remote_* / vcs_push / vcs_pull

Fügen Sie Remote-Repositories hinzu, listen Sie diese auf oder entfernen Sie sie. Pushen Sie Commits zu einem Remote und pullen Sie Änderungen vom Team. Standard Git-Remote-Workflow.

vcs_restore / vcs_config

Stellen Sie eine Datei aus einem vorherigen Commit wieder her. Konfigurieren Sie Git-Benutzername und E-Mail. Einstellungen auf Projektebene für das eingebettete Git-Repository.

Häufig gestellte Fragen

Wie unterscheidet sich dies von der integrierten Projekt versionierung von TIA Portal?

Die Versionierung von TIA Portal arbeitet auf der Ebene des gesamten Projekts — binäre Snapshots. Das VCS von T-IA Connect exportiert einzelne Elemente als Textdateien, was Ihnen zeilenweise Diffs, Branching, Merging und die Möglichkeit gibt, genau zu sehen, was sich in jedem Block geändert hat. Sie ergänzen einander.

Kann ich zu GitHub/GitLab pushen?

Ja. Fügen Sie ein Remote mit vcs_remote_add hinzu und verwenden Sie vcs_push/vcs_pull zum Synchronisieren. Die exportierten Textdateien funktionieren perfekt mit jeder Git-Hosting-Plattform. Ihre PLC-Projekthistorie lebt neben Ihren anderen Repositories.

Importiert der Restore-Befehl tatsächlich zurück in TIA Portal?

vcs_restore ruft den Dateiinhalt aus einem vorherigen Commit ab. Der vollständige Reimport in TIA Portal ist in Entwicklung (es gibt ein Kodierungsproblem mit UTF-16 bei einigen Blocktypen). Vorerst liefert Ihnen Restore den exakten Quellinhalt für den manuellen Reimport.

Muss Git auf meinem Rechner installiert sein?

Nein. T-IA Connect bettet Git über LibGit2Sharp ein — eine native .NET-Implementierung von Git. Keine externe Git-Installation, keine PATH-Konfiguration, keine Kommandozeile. Alles funktioniert über die UI und die Tools von T-IA Connect.

Versionsverwaltung für Ihre PLC-Projekte

Diffs, Branches, Merge, Push/Pull — echte Quellcodeverwaltung für TIA Portal, keine Ordnerkopien. Integriert in T-IA Connect mit Null-Konfiguration.