TIA TIA v17: VCI - Git - Workspace erneut Initialisieren

Jojo_1220

Level-2
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Community,

ich habe ein Problem mit dem Version Control Interface und dem Version Control Add-In Git in Kombination mit dem Workspace Settings.

Der Plan ist, Lokal ein Abbild der Aktuellen Software zu hinterlegen mittels dem VCI Tool und dem aktuellen Softwareprojekt. Das Funktioniert soweit so gut wie folgt:
Ich lege mir einen Workspace an, gebe einen Lokalen Ordner am PC als WS-Pfad an und synchronisiere anschließend die vorhandenen Geräte zwischen Projekt und Workspace. Wenn ich jetzt allerdings den Workspace im VCI Ordner lösche und diesen erneut anlegen möchte oder z.B. eine Vorgänger Software damit vergleichen möchte wo der Workspace noch nicht angelegt worden ist, bekomme ich den "Online/Offline" vergleich nicht mehr zustande. Sprich, nach erneuten Anlegen des Workspaces, Workspace-Pfad sehe ich zwar die ganzen CPUs wieder und auch die XML-Files aber die Sync zum Projekt ist nicht mehr gegeben....

Wie kann ich das erneut aufsetzen, sodass ich einen solchen Abgleich wieder zustande bekomme?

Vielen Dank,

mfg
 
Gehts jetzt um Git oder nur um den Vci Workspace?
Wieso willst du denn den Workspace Ordner löschen?
Warum hat das andere Projekt keinen Workspace Ordner?

Warum vergleichst du nicht die Projekte direkt miteinander?
Ist das andere Projekt als Referenzprojekt geöffnet?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Gehts jetzt um Git oder nur um den Vci Workspace?
Wieso willst du denn den Workspace Ordner löschen?
Warum hat das andere Projekt keinen Workspace Ordner?

Warum vergleichst du nicht die Projekte direkt miteinander?
Ist das andere Projekt als Referenzprojekt geöffnet?
Es geht darum dieses Tool einzuführen und dieses dann für die Software Verwaltung zu nutzen. Da gibt es den Workspace noch nicht und in Software Stände davor welche als Backup dienen ebenso nicht. Und wenn ich eben in einem Projekt den Workspace Anlege und diesen erfolgreich mit dem Workspace Pfad Synchronisiert habe funktioniert auch die SW-Verwaltung sowie das Commiten zum Git Repository. Wenn ich eben dann den WS lösche bzw. ein Backup Projekt öffne, kann ich den WS Anlegen sowie den WS-Pfad aber bekomme die Synchronisation nicht mehr hin (Der Online/Offline vergleich erscheint nicht)

Der Direkte Projektvergleich hilft hier natürlich auch weiter, aber es gilt hier die Funktionalitäten von Git nutzen zu wollen. z.B. dass es eine Freeware ist, Dokumentation von Änderungen, Synchronisation, Zentrale Sicherung auf Server usw.

LG
 
Wenn du das Repo und den Workspace anlegst, müsstest du von alt nach neu die Commits durchführen, so siehst du dann mit jedem Commit die Änderungen, der Vergleich übernimmt ja das Git für dich.

Ansonsten müsstest du für jeden Versionsstand einen eigenen Workspace und ein eigenes Repo anlegen.

Für die Bedienung von Git nutze ich Git Extensions: https://gitextensions.github.io/
 
Zuletzt bearbeitet:
Wenn du das Repo und den Workspace anlegst, müsstest du von alt nach neu die Commits durchführen, so siehst du dann mit jedem Commit die Änderungen, der Vergleich übernimmt ja das Git für dich.

Ansonsten müsstest du für jeden Versionsstand einen eigenen Workspace und ein eigenes Repo anlegen.

Für die Bedienung von Git nutze ich Git Extensions: https://gitextensions.github.io/
Ich wollte das versuchen zu umgehen, indem ich für das Projekt ein Zentrales Repository anlege und anschließend dann mit Version-Tags arbeiten. So Quasi: Tag 1.0.0 Stand IBS, Tag 1.0.1 Textänderung, Tag 1.1.0 DI Karte nachgebaut usw.

Aber vorlauter Bäume im Wald, glaube ich ja, dass im VCI Editor ja gar nicht GIT das Problem ist, sondern rein die Synchronisation zwischen dem Workspace Folder und dem eigentlichen Projekt. Weil wenn ich die CPU aus dem Projekt nehme und in den Workspace-Pfad ziehe, dann liegen da ja die Unterordner PLC-Datentypen, PLC-Variablen und Programmbausteine drinnen mit dem jeweiligen .xml files.
Damit ist ja mal das Setup eingerichtet und funktioniert! Ganz ohne dem Git Repository Kram drumherum.

So, nun lösche ich den gesamten Workspace aus dem Version Control Interface in der Projektnavigation wieder raus und lege einen neuen an ODER öffne halt ein altes Projekt wo noch keine z.B. DI Karte vorhanden ist, öffne wieder den Workspace Pfad und möchte die Projekt CPU wieder mit dem Workspace-Pfad vergleichen?!? Das geht nicht...
 

Anhänge

  • 16-05-2024_14-20-15.png
    16-05-2024_14-20-15.png
    108,4 KB · Aufrufe: 15
Zuviel Werbung?
-> Hier kostenlos registrieren
So, nun lösche ich den gesamten Workspace aus dem Version Control Interface in der Projektnavigation wieder raus und lege einen neuen an ODER öffne halt ein altes Projekt wo noch keine z.B. DI Karte vorhanden ist, öffne wieder den Workspace Pfad und möchte die Projekt CPU wieder mit dem Workspace-Pfad vergleichen?!? Das geht nicht...
Warum willst du denn den Ordner löschen und dann mit dem gleichen Namen noch mal anlegen und warum willst du die Versionierung von Git nicht verwenden?

Wenn du Versionierung möchtest, dann kannst du einfach das Branching Feature nutzen.

Ich verstehe nicht so ganz was du mit dem XML Export erreichen willst, wenn du Git eh nicht nutzen möchtest.. dann würde ich einfach beim Projektvergleich bleiben.

Da du alles aus wohl berechtigten Gründen geschwärzt hast, kann ich nicht mal sehen ob die beiden CPUs den gleichen Namen haben.


Ich weiß noch nicht genau, was du vorhast, wenn du nur Vergleichen möchtest.
 
Ich will ja die Ordner nicht löschen, aber wenn ich jetzt 4 Tia Portal Stände vom mehr oder weniger gleichen Projekt habe und jetzt das VCI Einrichte, dann habe ich genau diesen Fall, dass ich den Workspace mal neu anlegen muss, der ist ja nicht einfach da. Und dann schaff ich die Synchronisation nicht mehr, wenn ich das Letztgültige Projekt entsprechend Exportiere und anschließend den Vergleich mit z.B. Projekstand 3 vornehmen möchte, wo auch Änderungen vorgenommen worden sind. Diese Änderungen möchte ich dann mit dem Automation Compare Tool ausfindig machen und Dokumentieren.

Immer wenn ich einen Export in den Workspace Pfad vornehme, dann habe ich .xml Files. Das ist das Defaultmäßige Export Format im VCI.

Die Beiden CPU's heißen exakt gleich, sie haben exakt die Gleiche Konfig und die Gleiche Software bis auf eine minimale Änderung im OB1 im Zuge des Tests. Wenn diese Sync dann mal Funktioniert und ich die SW Stände mit den WS-Pfad entsprechend abgleichen kann wird dann GIT Aktiviert um auf ein Repository auf einen Zentralen Server zu Committen und zu syncen. Ob das Ganze dann doch in Branches geschieht oder in TAG's weis ich noch nicht. Für mich sind hier die TAGs eher sprechend da es eine gewisse History mit sich bringt für Projektmeilensteine als die Branches - ist geschamksache.
 
Ich will ja die Ordner nicht löschen, aber wenn ich jetzt 4 Tia Portal Stände vom mehr oder weniger gleichen Projekt habe und jetzt das VCI Einrichte, dann habe ich genau diesen Fall, dass ich den Workspace mal neu anlegen muss, der ist ja nicht einfach da.
Ein Workspace ist unabhängig vom Projekt. Du kannst auch den gleichen Workspace (Repo) in allen deinen Projekten verwenden:
Screenshot 2024-05-16 160236.pngScreenshot 2024-05-16 160324.png

Und dann schaff ich die Synchronisation nicht mehr, wenn ich das Letztgültige Projekt entsprechend Exportiere und anschließend den Vergleich mit z.B. Projekstand 3 vornehmen möchte, wo auch Änderungen vorgenommen worden sind. Diese Änderungen möchte ich dann mit dem Automation Compare Tool ausfindig machen und Dokumentieren.
Das erledigt doch schon Git für dich, dafür brauchst du kein Automation Tool.
Screenshot 2024-05-16 161010.png

Mit Branches würde ich schon arbeiten, main als Referenzprojekt und dann Branch evtl für die verschiedenen Versionen davon (Projektnummer) und darunter dann mit Tags als Versionierung.

Ich mache das alles nicht übers Vci, sondern nutze zur Bedienung von Git, Git Extensions:
Screenshot 2024-05-16 161417.png

Deswegen: Leg den Workspace an, exportiere erst das älteste, Commit eintragen, Tag eintragen und ab nach oben, dann das nächst neueste und dann immer wieder neues Tag anlegen und ab nach oben damit.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jetzt komm ich der sache schon etwas näher.

Was mir noch nicht 100%ig klar ist, wenn die Daten nun über das VCI, über den Workspace Pfad Exportiert worden sind und diese mit GIT Synchronisiert sind, den Online/Offline View bekomme ich immer noch nicht ganz hin um im TIA-Portal anschließend die Unterschiede zu erkennen. Der gezeigte weg von dir entspricht ja nun einen Export über den WS-Pfad in die GIT Welt. Unterschiede im Projekt werden damit auch entsprechend in der GIT-Welt gemanaget - soweit ja alles gut! Aber ich schaffe mit diesem Weg ja die Synchronisation anschließend in das Projekt zurück nicht mehr wenn der Handshake zwischen TIA und dem Workspace Pfad nicht mehr gegeben ist?!?

Im WS-Pfad wird ja, basierend auf der GIT-Branch bzw. auf dem Git Repository die Synchronisation durchgeführt zwischen dem TIA-Projekt <<-->> WS-Pfad <<-->> GIT-Repository. Wenn ich ein Altstand Projekt öffne, und dieses wieder versuche zu Synchonisieren mit dem WS-Pfad - der ja mit GIT Synchon ist - muss ich ja Offline/Online Unterschiede Feststellen können (Sofern Änderungen sind und ja sind!).
Aber da fehlt das einfach...Und zwar fehlt es genau dann, wenn ich entweder im TIA-Portal Projekt diesen Unterpunkt mit dem Workspace noch nicht angelegt habe oder wenn ich z.B. im Altprojekt einen Unteprunkt mit Workspace anlege.

Weil diese Unterschiede möchte ich ja anschließend im TIA Evaluieren mit dem Automation Compare Tool und dokumentieren.
 
Ich glaube so rum wird das schwierig das festzustellen.

Du kannst dir höchstens einen Workspace anlegen, dein spezifisches Repo über den passenden Tag/Branch pullen, dann das Projekt öffnen und darüber den Vergleich sehen evtl.

Bei Versiondog, so wie ich es noch kenne war das auch nie möglich, darin liegt auch gar nicht die Hauptfunktion von Versionsverwaltungen, sondern es geht darum eine konsistente durchschaubare Änderungshistorie ausgeben zu können.

Bei Versiondog war es auch immer so: du pullst die aktuellste Version die in der Versionsverwaltung abliegt, machst nen online/offline Vergleich zu verifzieren und lädst dann deine Änderungen wieder als neue Version hoch. Auch Versiondog hat nicht dazu gedient irgendwelche alten Programmstände mit dem in der Verwaltung abgelegtem zu Vergleichen.

Dir wird wohl nicht viel bleiben außer über den Online/Offline Vergleich zu gehen. Oder wie Eingangs gesagt, von alt nach neu zu pushen in dein Repo für eine saubere Versionierung.

Ich hatte auch schon Subversion über TortoiseSvn im Einsatz, dort gilt das gleiche Prinzip.

Ich glaube das was du möchtest, ist nicht die Hauptaufgabe von zentralen Versionsverwaltungen.
 
Zurück
Oben