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:
- Repository im Tool öffnen.
- TIA-Projektpfad und PLC-Auswahl prüfen.
- Capture TIA Snapshot klicken.
- Summary-Kacheln und Änderungstabelle prüfen.
- Eine Zeile auswählen und bei Source-Unterschieden den Diff-Tab öffnen.
- Mit den Sync?-Checkboxes oder den Auswahlbuttons festlegen, welche sicheren Kandidaten enthalten sein sollen.
- 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.
- REFRESH Baseline verwenden, nachdem Repo und TIA übereinstimmen.
- 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>undgit pushaus.
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:
- Abgesicherte Git-Pull-/Rebase-Unterstützung vor der Synchronisierung ergänzen.
- Side-by-side-Konfliktprüfung für Änderungen am selben Baustein ergänzen.
- Eine klarere Checkliste nach abgeschlossenen Aktionen anzeigen.
- Nach Repo -> TIA-Deployment explizit zum erneuten Snapshot zur Verifikation auffordern.