160 lines
5.8 KiB
Markdown
160 lines
5.8 KiB
Markdown
# 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 (UH01–UH05) 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 (UH02–UH05):
|
||
|
||
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.
|