Vgrajen Git za TIA Portal

Nadzor različic
za TIA Portal projekte

Popoln sistem za nadzor različic na osnovi Git, vgrajen v T-IA Connect. Izvozite svoj projekt kot berljive tekstovne datoteke, opravite commit sprememb, oglejte si diff-e, upravljajte veje (branches) in sinhronizirajte z oddaljenimi repozitoriji — neposredno iz uporabniškega vmesnika ali prek orodij MCP.

Projekti TIA Portal so nočna mora za nadzor različic

Binarne datoteke, brez diff-ov, brez merge-a — najslabši možni scenarij za nadzor različic

Neprozoren binarni format

Projekti TIA Portal so lastniške binarne datoteke. Git jih vidi kot blobe — brez vrstičnih diff-ov, brez smiselnega merge-a, brez možnosti vpogleda v to, kaj se je dejansko spremenilo med dvema različicama.

Različice s kopiranjem in lepljenjem

Inženirji ustvarjajo različice projektov s kopiranjem map: Projekt_v1, Projekt_v2, Projekt_v2_Janez_spremenjeno. Prostor na disku eksplodira, nihče ne ve, katera različica je trenutna, merge pa je nemogoč.

Brez vidnosti sprememb

Nekdo je prejšnji teden spremenil funkcijski blok. Kaj točno so spremenili? Katero mrežo (network)? Katero instrukcijo? Brez tekstovnih diff-ov tega ne morete ugotoviti brez odpiranja obeh različic vzporedno v TIA Portal.

Brez delovnega toka za sodelovanje

Dva inženirja ne moreta z gotovostjo delati na istem projektu hkrati. Ni vej (branches), ni možnosti merge-a, ni pull request-ov. Eden povozi delo drugega.

Kako deluje VCS v T-IA Connect

Izvoz → Git → diff/branch/merge, s samodejno normalizacijo XML

Samodejni izvoz projekta

T-IA Connect izvozi vse elemente projekta kot berljive tekstovne datoteke: bloke (OB, FB, FC, DB) kot SimaticML XML, tabele oznak (tag tables), UDT-je, opazovalne tabele (watch tables) kot XML in strojno konfiguracijo kot AML.

Normalizacija XML

TIA Portal lahko med izvozi prerazporedi atribute XML, kar povzroči lažne diff-e. Vgrajen XmlNormalizer deterministično razvrsti atribute, tako da diff-i prikazujejo le dejanske spremembe.

Vgrajen Git (LibGit2Sharp)

Zunanja namestitev Git ni potrebna. T-IA Connect uporablja LibGit2Sharp za popolnoma vgrajeno implementacijo Git. Init, commit, branch, diff, merge, push, pull — vse je vgrajeno.

Popolno upravljanje vej (branches)

Ustvarite veje (branches) za variante ali eksperimente. Delajte na veji funkcije (feature branch), jo preizkusite in nato združite (merge) nazaj v glavno vejo (main). Enak delovni tok, kot ga uporabljajo ekipe za programsko opremo, zdaj za PLC projekte.

Sinhronizacija z oddaljenimi strežniki (Push/Pull)

Dodajte oddaljeni repozitorij (GitHub, GitLab, Gitea, Azure DevOps) in potisnite (push) ali povlecite (pull) spremembe. Delite zgodovino projekta z ekipo s standardno infrastrukturo Git.

Stranska vrstica v namiznem uporabniškem vmesniku

Stranska vrstica VCS v namizni aplikaciji prikazuje stanje repozitorija, spremenjene datoteke in omogoča commit neposredno iz uporabniškega vmesnika. Za vsakodnevne operacije ukazna vrstica ni potrebna.

Tipičen delovni tok nadzora različic

Od spremembe projekta do sledljive zgodovine z možnostjo diff-a

1

1. Inicializacija repozitorija

Zaženite vcs_init, da ustvarite repozitorij Git v .tia-connect/source/. To se izvede enkrat na projekt. Vsi kasnejši izvozi gredo v to mapo.

2

2. Commit sprememb

Po spremembah v TIA Portal zaženite vcs_commit. T-IA Connect izvozi celoten projekt, pripravi datoteke (stage) in ustvari Git commit z vašim sporočilom.

3

3. Ogled diff-ov in zgodovine

Uporabite vcs_diff, da natančno vidite, kaj se je spremenilo — kateri elementi XML so bili dodani, spremenjeni ali odstranjeni. Uporabite vcs_log za brskanje po zgodovini commit-ov s sporočili in časovnimi žigi.

4

4. Branch, Merge in Restore

Ustvarite veje za eksperimente (vcs_branch_create), jih združite nazaj (vcs_merge) ali obnovite (restore) določeno dateteko iz prejšnjega commit-a.

Kaj se izvozi

Vsak element projekta postane berljiva tekstovna datoteka z možnostjo diff-a

Programski bloki

OB, FB, FC, DB — izvoženi kot SimaticML XML. Vsak blok je ločena datoteka v mapi blocks/. Celotna struktura mrež (networks), instrukcije in komentarji so ohranjeni.

Tabele oznak

PLC oznake izvožene kot strukturiran XML v mapi tags/. Imena, podatkovni tipi, naslovi in komentarji — vse pod nadzorom različic.

UDT-ji in opazovalne tabele

Uporabniško definirani tipi v udts/ in opazovalne tabele v watch/. Celotni podatkovni tipi projekta se spremljajo poleg programske logike.

Strojna konfiguracija

Topologija omrežja, konfiguracija CPU in I/O moduli so izvoženi kot AML (AutomationML) v hardware/. Spremljajte strojne spremembe hkrati s programskimi spremembami.

Na voljo orodja VCS

Dostopna prek MCP, Copilot, REST API in namiznega uporabniškega vmesnika

vcs_init / vcs_commit / vcs_status

Inicializirajte repozitorij, opravite commit trenutnega stanja projekta s sporočilom in preverite, katere datoteke so bile spremenjene, dodane ali izbrisane od zadnjega commit-a.

vcs_log / vcs_diff

Brskajte po zgodovini commit-ov s sporočili in časovnimi žigi. Oglejte si tekstovne diff-e med commit-i ali med delovnim stanjem in zadnjim commit-om.

vcs_branch_* / vcs_merge

Ustvarite, izpišite, preklopite (checkout) in izbrišite veje (branches). Združite (merge) veje nazaj. Celoten Git delovni tok z vejami za PLC projekte.

vcs_remote_* / vcs_push / vcs_pull

Dodajte, izpišite in odstranite oddaljene repozitorije. Potisnite (push) commit-e na oddaljeni strežnik in povlecite (pull) spremembe od ekipe. Standardni delovni tok Git z oddaljenimi strežniki.

vcs_restore / vcs_config

Obnovite dateteko iz prejšnjega commit-a. Konfigurirajte Git uporabniško ime in e-pošto. Nastavitve na ravni projekta za vgrajen Git repozitorij.

Pogosto zastavljena vprašanja

Kako se to razlikuje od vgrajenega različičenja projektov v TIA Portal?

Različičenje v TIA Portal deluje na ravni celotnega projekta — binarni posnetki stanja. VCS v T-IA Connect izvozi posamezne elemente kot tekstovne datoteke, kar vam omogoča vrstične diff-e, razvejanje (branching), združevanje (merging) in možnost vpogleda v to, kaj točno se je spremenilo v vsakem bloku. Med seboj se dopolnjujeta.

Ali lahko potisnem (push) na GitHub/GitLab?

Da. Dodajte oddaljeni strežnik z vcs_remote_add in uporabite vcs_push/vcs_pull za sinhronizacijo. Izvožene tekstovne datoteke delujejo popolnoma z vsako Git platformo za gostovanje. Zgodovina vašega PLC projekta živi poleg vaših ostalih repozitorijev.

Ali restore dejansko uvozi nazaj v TIA Portal?

vcs_restore pridobi vsebino dateteke iz prejšnjega commit-a. Popoln ponovni uvoz v TIA Portal je v razvoju (obstaja težava s kodiranjem UTF-16 pri nekaterih tipih blokov). Za zdaj vam restore poda natančno izvorno vsebino za ročni ponovni uvoz.

Ali potrebujem Git nameščen na svojem računalniku?

Ne. T-IA Connect vgrajuje Git prek LibGit2Sharp — izvorne .NET implementacije Git. Brez zunanje namestitve Git, brez konfiguracije PATH, brez ukazne vrstice. Vse deluje prek uporabniškega vmesnika in orodij T-IA Connect.

Vzpostavite nadzor različic za svoje PLC projekte

Diff-i, veje (branches), merge, push/pull — pravi nadzor različic za TIA Portal, ne le kopiranje map. Vgrajeno v T-IA Connect brez konfiguracije.