Wbudowany Git dla TIA Portal

Kontrola wersji
dla projektów TIA Portal

Kompletny system kontroli wersji oparty na Git, osadzony w T-IA Connect. Eksportuj swój projekt jako czytelne pliki tekstowe, wykonuj commit zmian, przeglądaj diffy, zarządzaj gałęziami i synchronizuj z repozytoriami zdalnymi — bezpośrednio z interfejsu użytkownika lub za pomocą narzędzi MCP.

Projekty TIA Portal to koszmar kontroli wersji

Pliki binarne, brak diffów, brak merge — najgorszy scenariusz dla kontroli wersji

Nieprzejrzysty format binarny

Projekty TIA Portal to zastrzeżone pliki binarne. Git widzi je jako bloby — brak diffów linia po linii, brak sensownego merge, brak możliwości sprawdzenia, co faktycznie zmieniło się między dwiema wersjami.

Wersjonowanie metodą kopiuj-wklej

Inżynierowie wersjonują projekty poprzez kopiowanie folderów: Projekt_v1, Projekt_v2, Projekt_v2_Jan_zmodyfikowany. Miejsce na dysku drastycznie spada, nikt nie wie, która wersja jest aktualna, a merge jest niemożliwy.

Brak widoczności zmian

Ktoś zmienił blok funkcyjny w zeszłym tygodniu. Co dokładnie zostało zmienione? Która sieć? Która instrukcja? Bez tekstowych diffów nie można tego stwierdzić bez otwierania obu wersji obok siebie w TIA Portal.

Brak przepływu pracy zespołowej

Dwóch inżynierów nie może pracować nad tym samym projektem jednocześnie z jakąkolwiek pewnością. Brak gałęzi (branches), brak możliwości merge, brak pull requests. Jeden nadpisuje pracę drugiego.

Jak działa VCS w T-IA Connect

Eksport → Git → diff/branch/merge, z automatyczną normalizacją XML

Automatyczny eksport projektu

T-IA Connect eksportuje wszystkie elementy projektu jako czytelne pliki tekstowe: bloki (OB, FB, FC, DB) jako SimaticML XML, tabele tagów, UDT, tabele watch jako XML oraz konfigurację sprzętową jako AML.

Normalizacja XML

TIA Portal może zmieniać kolejność atrybutów XML między eksportami, co powoduje fałszywe diffy. Wbudowany XmlNormalizer sortuje atrybuty deterministycznie, dzięki czemu diffy pokazują tylko rzeczywiste zmiany.

Wbudowany Git (LibGit2Sharp)

Nie jest wymagana zewnętrzna instalacja Git. T-IA Connect wykorzystuje LibGit2Sharp dla w pełni osadzonej implementacji Git. Init, commit, branch, diff, merge, push, pull — wszystko wbudowane.

Pełne zarządzanie gałęziami

Twórz gałęzie (branches) dla wariantów lub eksperymentów. Pracuj na gałęzi funkcjonalnej, przetestuj ją, a następnie wykonaj merge z gałęzią główną (main). Ten sam przepływ pracy, co w zespołach programistycznych, teraz dla projektów PLC.

Synchronizacja zdalna (Push/Pull)

Dodaj zdalne repozytorium (GitHub, GitLab, Gitea, Azure DevOps) i wykonuj push/pull zmian. Udostępniaj historię projektu całemu zespołowi przy użyciu standardowej infrastruktury Git.

Pasek boczny interfejsu desktopowego

Pasek boczny VCS w aplikacji desktopowej pokazuje status repozytorium, zmodyfikowane pliki i pozwala na wykonywanie commit bezpośrednio z interfejsu. Brak konieczności używania linii poleceń w codziennej pracy.

Typowy przepływ pracy z kontrolą wersji

Od zmiany w projekcie do śledzonej, porównywalnej historii

1

1. Inicjalizacja repozytorium

Uruchom vcs_init, aby utworzyć repozytorium Git w .tia-connect/source/. Wykonuje się to raz na projekt. Wszystkie kolejne eksporty trafiają do tego katalogu.

2

2. Commit zmian

Po wprowadzeniu zmian w TIA Portal, uruchom vcs_commit. T-IA Connect eksportuje cały projekt, dodaje pliki do poczekalni (stage) i tworzy commit Git z Twoją wiadomością.

3

3. Przeglądanie diffów i historii

Użyj vcs_diff, aby zobaczyć dokładnie, co się zmieniło — które elementy XML zostały dodane, zmodyfikowane lub usunięte. Użyj vcs_log, aby przeglądać historię commitów z wiadomościami i sygnaturami czasowymi.

4

4. Branch, Merge i Restore

Twórz gałęzie dla eksperymentów (vcs_branch_create), łącz je z powrotem (vcs_merge) lub przywróć konkretny plik z poprzedniego commitu (vcs_restore).

Co podlega eksportowi

Każdy element projektu staje się czytelnym plikiem tekstowym

Bloki programu

OB, FB, FC, DB — eksportowane jako SimaticML XML. Każdy blok to osobny plik w katalogu blocks/. Pełna struktura sieci, instrukcje i komentarze zostają zachowane.

Tabele tagów

Tagi PLC eksportowane jako ustrukturyzowany XML w katalogu tags/. Nazwy, typy danych, adresy i komentarze — wszystko pod kontrolą wersji.

UDT i tabele Watch

Typy zdefiniowane przez użytkownika (UDT) w udts/ oraz tabele watch w watch/. Kompletne typy danych projektu są śledzone wraz z logiką programu.

Konfiguracja sprzętowa

Topologia sieci, konfiguracja CPU i moduły I/O eksportowane jako AML (AutomationML) w hardware/. Śledź zmiany sprzętowe równolegle ze zmianami oprogramowania.

Dostępne narzędzia VCS

Dostępne przez MCP, Copilot, REST API oraz interfejs desktopowy

vcs_init / vcs_commit / vcs_status

Inicjalizuj repozytorium, wykonaj commit aktualnego stanu projektu z opisem i sprawdź, które pliki zostały zmodyfikowane, dodane lub usunięte od ostatniego commitu.

vcs_log / vcs_diff

Przeglądaj historię commitów z opisami i czasem. Wyświetlaj tekstowe diffy między commitami lub między stanem roboczym a ostatnim commitem.

vcs_branch_* / vcs_merge

Twórz, listuj, przełączaj i usuwaj gałęzie. Łącz gałęzie ze sobą. Pełny przepływ pracy na gałęziach Git dla projektów PLC.

vcs_remote_* / vcs_push / vcs_pull

Dodawaj, listuj i usuwaj zdalne repozytoria. Wysyłaj commity na serwer zdalny i pobieraj zmiany od zespołu. Standardowy przepływ pracy ze zdalnymi repozytoriami Git.

vcs_restore / vcs_config

Przywróć plik z poprzedniego commitu. Skonfiguruj nazwę użytkownika i e-mail Git. Ustawienia poziomu projektu dla osadzonego repozytorium Git.

Najczęściej zadawane pytania

Czym to się różni od wbudowanego wersjonowania projektów w TIA Portal?

Wersjonowanie w TIA Portal działa na poziomie całego projektu — migawki binarne. VCS w T-IA Connect eksportuje poszczególne elementy jako pliki tekstowe, oferując diffy linia po linii, gałęzie, merge oraz możliwość sprawdzenia dokładnie tego, co zmieniło się w każdym bloku. Oba rozwiązania się uzupełniają.

Czy mogę wysyłać zmiany do GitHub/GitLab?

Tak. Dodaj zdalne repozytorium za pomocą vcs_remote_add i używaj vcs_push/vcs_pull do synchronizacji. Eksportowane pliki tekstowe doskonale współpracują z każdą platformą hostingową Git. Historia Twojego projektu PLC żyje obok innych repozytoriów.

Czy przywracanie (restore) faktycznie importuje plik z powrotem do TIA Portal?

vcs_restore pobiera zawartość pliku z poprzedniego commitu. Pełny reimport do TIA Portal jest w fazie rozwoju (istnieje problem z kodowaniem UTF-16 w niektórych typach bloków). Obecnie restore dostarcza dokładną zawartość źródłową do ręcznego reimportu.

Czy muszę mieć zainstalowany Git na swoim komputerze?

Nie. T-IA Connect osadza Git poprzez LibGit2Sharp — natywną implementację Git w .NET. Brak konieczności instalacji zewnętrznego Git, brak konfiguracji PATH, brak linii poleceń. Wszystko działa poprzez interfejs i narzędzia T-IA Connect.

Wprowadź kontrolę wersji do swoich projektów PLC

Diffy, gałęzie, merge, push/pull — prawdziwa kontrola źródła dla TIA Portal, a nie kopie folderów. Wbudowane w T-IA Connect, bez konfiguracji.