Claude Session mit Empfehlungen zur Standardisierung der Library hinzugefügt. Manuelle Prüfung jedes Bausteins noch nötig

This commit is contained in:
2026-06-29 10:24:45 +02:00
parent d4ce88715e
commit 3bf291fdf8
13 changed files with 1442 additions and 0 deletions
+159
View File
@@ -0,0 +1,159 @@
# TIA Portal Projektbibliothek — Anleitung
**Projekt:** HundM_Fortna
**Stand:** 2026-06-29
**Ziel:** Kanonische Bausteine aus `_CommonLib/` in die TIA Portal Projektbibliothek übernehmen
---
## Voraussetzungen
- TIA Portal V17 oder höher
- Alle 5 PLCs (UH01UH05) im selben TIA Portal Projekt geöffnet
- `_CommonLib/Programmbausteine/` als Referenz-Ordner vorhanden (dieses Repository)
---
## Schritt 1: SCL-Datei in einen PLC importieren
Für jeden Baustein aus `_CommonLib/` einmalig:
1. Im TIA Portal Projektbaum: Beliebigen PLC auswählen (z.B. UH01)
2. `Programmbausteine` → Rechtsklick → **"Externe Quelldatei einfügen"**
3. SCL-Datei aus `_CommonLib/Programmbausteine/<Pfad>/` auswählen
4. Der Baustein erscheint unter `Programmbausteine`**Kompilieren** (F11)
5. Sicherstellen: Keine Kompilierfehler
**Gruppe-A-Blöcke (direkt importierbar, keine Anpassung nötig):**
| SCL-Datei | PLC-Pfad nach Import |
|---|---|
| `PROFINET/FC_GET_PROFINET_DEVICE_STATES.scl` | PLC → Programmbausteine → PROFINET |
| `SCADA/FB-OPC_UA_System-Stat.scl` | PLC → Programmbausteine → SCADA |
| `970_Visu/FC_CarrierManipulator.scl` | PLC → Programmbausteine → 970_Visu |
| `400_BasicFunctions/FC/FC_Int2String.scl` | PLC → Programmbausteine → 400_BasicFunctions |
| `900_Communications/FB_FortnaTele_Placeholder.scl` | PLC → Programmbausteine → 900_Communications |
| `_IBN/FC_S7.scl` | PLC → Programmbausteine → _IBN |
**Gruppe-B-Blöcke (vor Import Hinweise beachten → siehe Abschnitt "Gruppe B"):**
| SCL-Datei | Besonderheit |
|---|---|
| `Programming error.scl` | OB — direkt importierbar |
| `_PerformanceMeasurement_/FB_PerfTest.scl` | Kein Default-Wert; falls gewünscht im Instanz-DB setzen |
| `900_Communications/TCP-Logger/FB_CommunicationLogger.scl` | connectionID anpassen! Jam-Referenz prüfen! |
| `970_Visu/FB_Visu_Jam.scl` | VAR_INPUT `nInJamCount` entfernt — Aufrufe prüfen |
| `970_Visu/FB_Visu_JamStorage.scl` | Nur für UH01/UH02/UH03 relevant |
---
## Schritt 2: Baustein in Projektbibliothek speichern
Nachdem der Baustein in einem PLC kompiliert wurde:
1. Baustein im Projektbaum markieren
2. Rechtsklick → **"In Projektbibliothek kopieren"**
3. Im Dialog:
- Bibliotheksname: `HundM_CommonLib`
- Typ: **Typ** (nicht Instanz)
- Version: `V1.0.0`
4. Bestätigen → Baustein erscheint unter **Projektbibliothek → Typen**
---
## Schritt 3: Lokale Kopien in anderen PLCs ersetzen
Für jeden weiteren PLC (UH02UH05):
1. Lokalen Baustein in diesem PLC **löschen** (Rechtsklick → Löschen)
- TIA Portal warnt, falls der Baustein noch aufgerufen wird — dann erst Aufrufe anpassen
2. In der **Projektbibliothek** (linkes Panel): `HundM_CommonLib → Typen`
3. Baustein per **Drag & Drop** in `Programmbausteine` des Ziel-PLCs ziehen
4. TIA Portal erstellt automatisch eine Bibliotheksreferenz (kein lokaler SCL-Code mehr)
5. **Kompilieren** und Konsistenzprüfung durchführen
---
## Schritt 4: Konsistenzprüfung aller PLCs
Nach Abschluss aller Blöcke:
1. **Gesamtprojekt kompilieren:** Menü → Kompilieren → Alle Bausteine
2. **Konsistenzprüfung:** Extras → Konsistenz prüfen
3. Alle 5 PLCs müssen ohne Fehler kompilieren
---
## Gruppe B: Besondere Hinweise vor dem Import
### FB_CommunicationLogger — connectionID
Die `connectionID` in diesem Block ist ein TCP-Verbindungsparameter, der je PLC eindeutig sein muss:
| PLC | Aktuelle connectionID |
|---|---|
| UH01 | 99 |
| UH02 | 100 (bewusst verschieden!) |
| UH03 | 99 |
| UH04 | 99 |
| UH05 | 99 |
**Empfehlung:** Nach Übernahme in die Projektbibliothek die `connectionID` als FB-Parameter
herausziehen (VAR_INPUT), damit jeder PLC seinen eigenen Wert im Aufruf setzen kann.
Alternativ: Im Instanz-DB der jeweiligen PLC nach dem Drag & Drop anpassen.
**Zusätzlich:** Zeile mit `"DB_JamArea0102"` ist UH01-spezifisch. In anderen PLCs
diesen Abschnitt anpassen oder auskommentieren.
### FB_Visu_Jam — VAR_INPUT entfernt
Die CommonLib-Version hat `nInJamCount : UInt` aus VAR_INPUT entfernt (war unbenutzt).
Falls bestehende Aufrufe in UH01 diesen Parameter übergeben:
→ Den Aufruf in UH01 anpassen (Parameter entfernen)
---
## Git-Workflow nach TIA-Export
Nach erfolgter Bibliotheksintegration und erneutem TIA Portal Export:
```
# Erwartete Git-Änderungen:
# - Lokale .scl Dateien in UH01-UH05 werden ersetzt durch TIA-interne Library-Referenz
# - Möglicherweise erscheinen neue .liblink Dateien für die CommonLib-Blöcke
git status
# Geänderte/gelöschte .scl Dateien überprüfen
# _CommonLib/*.scl bleiben unverändert (Quelle der Wahrheit)
git add _CommonLib/
git commit -m "CommonLib angelegt: 11 standardisierte P1/P2-Bausteine"
```
**Regel:** Änderungen an standardisierten Blöcken **immer** in `_CommonLib/` beginnen,
dann in TIA Portal aktualisieren, dann exportieren und committen.
---
## Übersicht: Was wurde standardisiert
### Gruppe A (6 Blöcke — 100% identisch)
- `FC_GET_PROFINET_DEVICE_STATES` — PROFINET-Gerätezustände
- `FB-OPC_UA_System-Stat` — OPC-UA Statusübersetzung
- `FC_S7` — S7 PUT-Wrapper (CPU-zu-CPU)
- `FC_CarrierManipulator` — HMI Carrier-Manipulation
- `FC_Int2String` — String-Konvertierung
- `FB_FortnaTele_Placeholder` — Fortna UDT-Platzhalter
### Gruppe B (5 Blöcke — bereinigt)
- `Programming error` (OB) — UH02-VAR_TEMP entfernt
- `FB_PerfTest` — Default-Wert bereinigt
- `FB_CommunicationLogger` — connectionID-Hinweis ergänzt
- `FB_Visu_Jam` — nInJamCount entfernt, REGION vereinheitlicht
- `FB_Visu_JamStorage` — UH01 als kanonische Version
### Nicht standardisiert (Gruppe D — 11 Blöcke)
Topologie-spezifische Blöcke (FB_Main, FB_PreMain, FB_CallSensors, FB_Visu,
FB_CommunicationWCSBL, FC_Call_Jams, FC_Direction, FB_Visu_Jams,
FC_CARR_GLOB_CORRECTION, FC_BARCODE_SEARCH, FC_Jam)
bleiben je UH individuell — Pflege weiterhin getrennt.