Files
HundM_Fortna/_CommonLib/TIA_BIBLIOTHEK_ANLEITUNG.md
T

160 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.