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. 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. 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. 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. 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.