Zum Inhalt

PCS Engineering Tools

PCS stellt zwei Windows-GUI-Tools mit getrennten Aufgaben bereit. Beide rufen intern die pcs-CLI aus dem Repository auf, damit Terminal-Verhalten und GUI-Verhalten zusammenbleiben.

Tool Executable Zweck
PCS TIA Sync Tool tools/pcs-tia-sync-tool/bin/pcs-tia-sync-tool.exe Tägliche Synchronisierung zwischen tia/exports und TIA Portal
TIA Deployment GUI tools/tia-deployment-gui/bin/tia-deployment-gui.exe Deployment-, Simulations-, Test- und weitere Engineering-Workflows

Das Sync Tool ist die bevorzugte Oberfläche für normale Source-Control-Arbeit. Die ältere Deployment-GUI bleibt erhalten und soll nicht entfernt werden; sie ist weiterhin als Deployment-Cockpit und für Workflows nützlich, die keine Source-Synchronisierung sind.

PCS TIA Sync Tool

Tool bauen und starten:

.\tools\pcs-tia-sync-tool\build.ps1
.\tools\pcs-tia-sync-tool\bin\pcs-tia-sync-tool.exe

Das Tool zeigt einen gemeinsamen Workspace für beide Richtungen:

Richtung Bedeutung GUI-Aktion
TIA -> Repo Ein Baustein wurde in TIA geändert, während das Repository noch der Baseline entspricht Ins Repo übernehmen
Repo -> TIA Eine Source-Datei in tia/exports wurde geändert, während TIA noch der Baseline entspricht Nach TIA deployen
Baseline Repo und TIA stimmen bereits überein, aber die lokale Baseline ist älter Baseline aktualisieren
Review Repo und TIA wurden unterschiedlich geändert, oder eine Löschung/ein Pfadproblem muss geprüft werden Manuelle Prüfung

Normaler Workflow:

  1. Repository im Tool öffnen.
  2. TIA-Projektpfad und PLC-Auswahl prüfen.
  3. Capture TIA Snapshot klicken.
  4. Summary-Kacheln und Änderungstabelle prüfen.
  5. Eine Zeile auswählen und bei Source-Unterschieden den Diff-Tab öffnen.
  6. Mit den Sync?-Checkboxes oder den Auswahlbuttons festlegen, welche sicheren Kandidaten enthalten sein sollen.
  7. Den violetten SYNC-Button klicken, um die ausgewählten Jobs auszuführen. Seine Beschriftung passt sich an die ausgewählte Richtung an: SYNC Repo --> TIA, SYNC TIA --> Repo oder SYNC Repo --> TIA --> Repo. Wenn beide Richtungen ausgewählt sind, laufen Repository -> TIA-Jobs zuerst, danach TIA -> Repository-Jobs.
  8. REFRESH Baseline verwenden, nachdem Repo und TIA übereinstimmen.
  9. Wenn nach dem Baseline-Refresh lokale Git-Änderungen vorhanden sind, verwende den vorgeschlagenen Commit & Push now-Flow oder den aktivierten Commit & Push-Button. Das Tool fragt nach einer Commit Message und führt dann git add -A, git commit -m <message> und git push aus.

Die Änderungstabelle enthält eine Richtungsspalte:

Richtung Bedeutung
TIA --> Repository TIA-Snapshot-Source nach tia/exports kopieren
Repository --> TIA Repository-Source in die ausgewählte PLC deployen
No sync Nicht automatisch synchronisieren; zuerst prüfen oder Baseline aktualisieren

Die Aktionsbuttons sind nur aktiv, wenn die aktuelle Auswahl und der Sync-Status die Aktion sinnvoll machen. Länger laufende TIA-Aktionen sind in Fortschrittsanzeige und Log sichtbar. Das TIA-Versionsfeld wird automatisch aus der Projektendung gefüllt, zum Beispiel .ap20 zu V20.

Der Commit & Push-Button ist standardmäßig deaktiviert und wird nur aktiv, wenn git status --porcelain lokale Repository-Änderungen meldet. Wenn der automatische Vorschlag abgelehnt wird, bleibt der Button für dieselben offenen Änderungen verfügbar.

Das Tool kann im normalen TIA-Workflow des Engineers bleiben: Wenn das konfigurierte Projekt bereits in TIA Portal geöffnet ist, hängen sich Snapshot-, Deployment-, PLC-Listen- und Archiv-Aktionen an diese Instanz an. Wenn es nicht geöffnet ist, öffnet PCS das Projekt wie bisher über Openness.

Manual-Review-Zeilen werden absichtlich nicht in normale SYNC-Jobs aufgenommen. Nach Prüfung des normalisierten Diffs kann der Engineer explizite Override-Buttons für die ausgewählte Zeile verwenden:

Override Wirkung
SYNC Repo --> TIA Repository-Source nach TIA deployen
SYNC TIA --> Repo TIA-Snapshot-Source nach tia/exports kopieren

Bei reinen Formatierungsunterschieden ist Use Repo --> TIA die bevorzugte Override-Richtung, falls ein Override nötig ist.

CLI-Backend

Das Sync Tool verwendet intern diese Befehle:

pcs sync snapshot tia plc=PLC_1
pcs sync status --json
pcs sync diff <block-or-path>
pcs sync accept tia <block-or-path>
pcs deploy plcs=PLC_1 blocks=<block>
pcs sync baseline --force

Die Entscheidungstabelle wird von pcs sync status --json gesteuert:

Entscheidung GUI-Formulierung
repoChangedOnly / repoAddedOnly Repo geändert; kann nach TIA deployed werden
tiaChangedOnly / tiaAddedOnly TIA geändert; kann ins Repo übernommen werden
sameChangeInRepoAndTia / addedSameInRepoAndTia / deletedInBoth Repo und TIA stimmen überein; Baseline kann aktualisiert werden
conflicts / pathMismatches / einseitige Löschungen Manuelle Prüfung erforderlich

TIA Deployment GUI

Die bestehende Deployment-GUI bleibt verfügbar:

.\tools\tia-deployment-gui\build.ps1
.\tools\tia-deployment-gui\bin\tia-deployment-gui.exe

Verwende sie, wenn du die ältere deployment-fokussierte Oberfläche, Presets, Dokumentationshelfer oder zukünftige Simulations-/Test-Workflows brauchst. Für tägliche Source-Synchronisierung ist das PCS TIA Sync Tool die bessere Wahl.

Nächste UX-Schritte

Die nächsten Verbesserungen sollten weiter auf Engineer-Ergonomie fokussieren:

  1. Abgesicherte Git-Pull-/Rebase-Unterstützung vor der Synchronisierung ergänzen.
  2. Side-by-side-Konfliktprüfung für Änderungen am selben Baustein ergänzen.
  3. Eine klarere Checkliste nach abgeschlossenen Aktionen anzeigen.
  4. Nach Repo -> TIA-Deployment explizit zum erneuten Snapshot zur Verifikation auffordern.