Kostenlose DevOps-Analyse
Zurück zum Blog
SPS / PLC · Industrial DevOps·26. Mai 2026·10 min Lesezeit

TIA Portal mit Git
versionieren.
GitHub, GitLab & CI/CD.

// Direkte Antwort

TIA-Portal-Code wird mit Git versioniert, indem man die Bausteine über die TIA-Openness-API als mergefähigen Quelltext (XML, SCL, AWL) exportiert und diesen Export in Git verwaltet — nicht die binäre .ap-Projektdatei. So entstehen echte Diffs, Branches und Code-Reviews. GitHub und GitLab eignen sich gleichermaßen; GitLab/GitHub Actions bringen CI/CD für Export-Konsistenz und PLCSim-Tests gleich mit. CODESYS bietet mit „CODESYS Git“ eine integrierte Alternative.

// 01Das Problem

Warum SPS-Code selten in Git liegt

Steuerungsprojekte wachsen über Jahre, oft ohne Versionskontrolle. Der Grund ist technisch: Das TIA-Portal-Projekt ist ein Binärformat. Legt man die .ap-Datei in Git, kann das System sie zwar speichern, aber nicht diffen oder mergen — zwei parallele Änderungen enden im unauflösbaren Konflikt.

Die Folge: Versionsstände als Projekt_final_v3_NEU.zip auf Netzlaufwerken, kein Audit-Trail, keine nachvollziehbare Änderungshistorie — ein Problem für ASPICE, IEC 62443 und jede Funktionssicherheits-Argumentation.

// 02Anleitung in 5 Schritten

TIA Portal an Git anbinden

/01

Openness-API aktivieren

Im TIA Portal die TIA Openness-Schnittstelle installieren und den Benutzer zur Gruppe „Siemens TIA Openness" hinzufügen. Ab TIA Portal V17 ist Openness Bestandteil der Installation.

/02

Projekt als Quelltext exportieren

Bausteine (FB, FC, DB) und PLC-Tags per Openness-Skript als XML bzw. SCL/AWL exportieren. Nur der textuelle Export ist mergefähig — die binäre .ap-Datei gehört nicht ins Git.

/03

Git-Repository strukturieren

Pro Steuerung ein Verzeichnis, Bausteine als einzelne Quelltext-Dateien. Eine .gitignore schließt Binär-Artefakte, Cache und Kompilate aus. Aussagekräftige Commit-Messages je Funktionsänderung.

/04

Round-Trip absichern

Re-Import per Openness-Skript automatisieren und gegen das Original diffen, damit der Export/Import verlustfrei bleibt. So wird der Git-Stand zur verbindlichen Quelle.

/05

CI/CD-Pipeline anbinden

In Jenkins oder GitLab CI bei jedem Commit Export-Konsistenz prüfen, PLCSim-Smoke-Tests fahren und Engineering-Backups als signierte Artefakte ablegen — IEC-62443-konform.

// 03Plattformen

Git-Integration je Engineering-Tool

TIA Portal (Siemens)
Openness-API → Quelltext-Export
Kein natives Git; Round-Trip über Skript. Ab V17 Openness Standard, V21 mit verbessertem Export.
CODESYS
CODESYS Git (integriert)
Native Git-Anbindung aus der IDE — committen, branchen, mergen direkt im Projekt.
Beckhoff TwinCAT
TwinCAT + Git (Textformat)
TcXaeShell speichert mergefähiges XML; Git-Anbindung über Visual-Studio-Integration.
// 04Häufige Fragen

Kann man TIA Portal mit Git versionieren?

Ja. TIA Portal speichert das Projekt zwar binär (.ap-Datei), über die TIA-Openness-API lassen sich Bausteine und Tags aber als mergefähiger Quelltext (XML, SCL, AWL) exportieren. Dieser Export wird in Git versioniert — nicht die Binärdatei. So entstehen nachvollziehbare Diffs, Branches und Code-Reviews wie in der klassischen Softwareentwicklung.

Gibt es ein TIA Portal Git-Addin?

Siemens liefert kein offizielles Git-Addin, aber die Openness-API erlaubt eigene Export-/Import-Skripte, die sich an Git anbinden lassen. Drittanbieter- und Community-Werkzeuge (z. B. auf GitHub) automatisieren den Round-Trip. Comquent richtet diese Toolchain projektspezifisch ein, inklusive CI/CD-Anbindung.

Was ist neu bei TIA Portal V21 in Sachen Git?

TIA Portal V21 erweitert die Openness-API und verbessert den textuellen Export, wodurch der Git-Round-Trip stabiler und vollständiger wird. Die grundsätzliche Mechanik bleibt gleich: Export über Openness, Versionierung des Quelltexts, automatisierter Re-Import. Bestehende Skripte sollten beim Versionswechsel gegen die neue API validiert werden.

Wie funktioniert die Versionsverwaltung in CODESYS?

CODESYS bringt mit „CODESYS Git" eine integrierte Git-Anbindung mit, die Projekte direkt aus der Entwicklungsumgebung committen und mergen kann. Die Bausteine werden dabei in einem versionierbaren Format abgelegt. Das macht CODESYS in puncto Git-Integration komfortabler als TIA Portal, das den Umweg über Openness braucht.

Lässt sich SPS-Code mit GitHub oder GitLab versionieren?

Ja — sowohl GitHub als auch GitLab eignen sich. Versioniert wird der textuelle Export der SPS-Programme. GitLab bietet zusätzlich integrierte CI/CD-Pipelines, mit denen sich Export-Konsistenz, PLCSim-Tests und Compliance-Gates automatisieren lassen. GitHub Actions leistet dasselbe. Die Wahl hängt von der bestehenden Toolchain ab.

Warum reicht es nicht, die TIA-Portal-Projektdatei in Git zu legen?

Die .ap-Projektdatei ist ein Binärformat. Git kann Binärdateien zwar speichern, aber nicht sinnvoll diffen oder mergen — zwei parallele Änderungen führen zum Konflikt ohne Auflösungsmöglichkeit. Erst der textuelle Openness-Export macht Änderungen Zeile für Zeile sichtbar und mehrere Bearbeiter konfliktfrei möglich.

// Nächster Schritt

Erstgespräch.
Kostenlos.
90 Tage zum Ergebnis.

Wir klären gemeinsam, wie Sie in 90 Tagen die ersten messbaren Industrial-DevOps-Erfolge erzielen.

Erstgespräch buchen
Seit 2006 · 47+ Projekte
Industrie · Automotive · Finance