Versionshantering
för TIA Portal-projekt
Ett komplett Git-baserat versionshanteringssystem inbyggt i T-IA Connect. Exportera ditt projekt som läsbara textfiler, commit ändringar, se diffar, hantera brancher och synka med remotes — direkt från användargränssnittet eller via MCP-verktyg.
TIA Portal-projekt är mardrömmar för versionshantering
Binära filer, ingen diff, ingen merge — värsta tänkbara scenario för versionshantering
Ogenomskinligt binärt format
TIA Portal-projekt är proprietära binära filer. Git ser dem som blobar — inga rad-för-rad-diffar, ingen meningsfull merge, inget sätt att se vad som faktiskt ändrats mellan två versioner.
Copy-Paste-versionering
Ingenjörer versionerar projekt genom att kopiera mappar: Project_v1, Project_v2, Project_v2_John_modified. Diskutrymmet exploderar, ingen vet vilken version som är aktuell och merging är omöjlig.
Ingen synlighet för ändringar
Någon ändrade ett funktionsblock förra veckan. Vad exakt ändrade de? Vilket nätverk? Vilken instruktion? Utan text-diffar kan du inte veta utan att öppna båda versionerna sida vid sida i TIA Portal.
Inget arbetsflöde för samarbete
Två ingenjörer kan inte arbeta på samma projekt samtidigt med tillförsikt. Inga brancher, ingen merge-kapacitet, inga pull requests. Den ena skriver över den andras arbete.
Så fungerar VCS i T-IA Connect
Export → Git → diff/branch/merge, med automatisk XML-normalisering
Automatisk projektexport
T-IA Connect exporterar alla projektelement som läsbara textfiler: block (OB, FB, FC, DB) som SimaticML XML, taggtabeller, UDTer, bevakningstabeller som XML och hårdvarukonfiguration som AML.
XML-normalisering
TIA Portal kan ändra ordningen på XML-attribut mellan exporter, vilket orsakar falska diffar. Den inbyggda XmlNormalizer sorterar attribut deterministiskt, så att diffar endast visar verkliga ändringar.
Inbyggd Git (LibGit2Sharp)
Ingen extern Git-installation krävs. T-IA Connect använder LibGit2Sharp för en helt inbyggd Git-implementering. Init, commit, branch, diff, merge, push, pull — allt är inbyggt.
Fullständig branch-hantering
Skapa brancher för varianter eller experiment. Arbeta på en feature-branch, testa den och gör sedan en merge tillbaka till main. Samma arbetsflöde som mjukvaruteam använder, nu för PLC-projekt.
Fjärrsynkronisering (Push/Pull)
Lägg till ett fjärrarkiv (GitHub, GitLab, Gitea, Azure DevOps) och push/pull ändringar. Dela projekthistorik inom teamet med standardiserad Git-infrastruktur.
Desktop UI Sidebar
En VCS-sidopanel i skrivbordsapplikationen visar repo-status, ändrade filer och låter dig göra commit direkt från användargränssnittet. Ingen kommandorad krävs för den dagliga verksamheten.
Typiskt arbetsflöde för versionshantering
Från projektändring till spårad, diffbar historik
1. Initialisera arkiv
Kör vcs_init för att skapa ett Git-arkiv i .tia-connect/source/. Detta görs en gång per projekt. Alla efterföljande exporter hamnar i denna katalog.
2. Commit ändringar
Efter att ha gjort ändringar i TIA Portal, kör vcs_commit. T-IA Connect exporterar hela projektet, stegar (stages) filerna och skapar en Git-commit med ditt meddelande.
3. Visa diffar & historik
Använd vcs_diff för att se exakt vad som ändrats — vilka XML-element som lagts till, ändrats eller tagits bort. Använd vcs_log för att bläddra i commit-historiken med meddelanden och tidsstämplar.
4. Branch, Merge & Restore
Skapa brancher för experiment (vcs_branch_create), gör merge tillbaka (vcs_merge), eller återställ en specifik fil från en tidigare commit (vcs_restore).
Vad som exporteras
Varje projektelement blir en läsbar, diffbar textfil
Programblock
OB, FB, FC, DB — exporteras som SimaticML XML. Varje block är en separat fil i blocks/-katalogen. Fullständig nätverksstruktur, instruktioner och kommentarer bevaras.
Taggtabeller
PLC-taggar exporteras som strukturerad XML i tags/-katalogen. Namn, datatyper, adresser och kommentarer — allt versionskontrollerat.
UDTer & bevakningstabeller
Användardefinierade typer (UDT) i udts/ och bevakningstabeller i watch/. Kompletta projekt-datatyper spåras tillsammans med programlogiken.
Hårdvarukonfiguration
Nätverkstopologi, CPU configuration och I/O-moduler exporteras som AML (AutomationML) i hardware/. Spåra hårdvaruändringar tillsammans med mjukvaruändringar.
Tillgängliga VCS-verktyg
Tillgängliga via MCP, Copilot, REST API och skrivbordets användargränssnitt
vcs_init / vcs_commit / vcs_status
Initialisera arkivet, commit den nuvarande projektstatusen med ett meddelande, och kontrollera vilka filer som har ändrats, lagts till eller tagits bort sedan senaste commit.
vcs_log / vcs_diff
Bläddra i commit-historiken med meddelanden och tidsstämplar. Visa text-diffar mellan commits eller mellan nuvarande arbetsläge och senaste commit.
vcs_branch_* / vcs_merge
Skapa, lista, checka ut och ta bort brancher. Gör merge av brancher. Fullständigt Git-branching-arbetsflöde för PLC-projekt.
vcs_remote_* / vcs_push / vcs_pull
Lägg till, lista och ta bort fjärrarkiv. Push commits till en remote och pull ändringar från teamet. Standardiserat Git-arbetsflöde för remotes.
vcs_restore / vcs_config
Återställ en fil från en tidigare commit. Konfigurera Git-användarnamn och e-post. Inställningar på projektnivå för det inbyggda Git-arkivet.
Vanliga frågor
Hur skiljer sig detta från TIA Portals inbyggda projektversionering?
TIA Portals versionering fungerar på hela projektnivån — binära ögonblicksbilder. T-IA Connects VCS exporterar enskilda element som textfiler, vilket ger dig rad-för-rad-diffar, branching, merging och möjligheten att se exakt vad som ändrats i varje block. De kompletterar varandra.
Kan jag göra push till GitHub/GitLab?
Ja. Lägg till en remote med vcs_remote_add och använd vcs_push/vcs_pull för att synkronisera. De exporterade textfilerna fungerar utmärkt med alla Git-värdplattformar. Din PLC-projekthistorik lever sida vid sida med dina andra arkiv.
Importerar återställningen (restore) faktiskt tillbaka till TIA Portal?
vcs_restore hämtar filinnehållet från en tidigare commit. Fullständig återimportering till TIA Portal är under utveckling (det finns ett kodningsproblem med UTF-16 på vissa blocktyper). För tillfället ger restore dig det exakta källinnehållet för manuell återimportering.
Behöver jag ha Git installerat på min maskin?
Nej. T-IA Connect bäddar in Git via LibGit2Sharp — en inhemsk .NET-implementering av Git. Ingen extern Git-installation, ingen PATH-konfiguration, ingen kommandorad. Allt fungerar genom T-IA Connects användargränssnitt och verktyg.