Files
HundM_Fortna/_CommonLib/TIA_BIBLIOTHEK_ANLEITUNG.md
T

5.8 KiB
Raw Blame History

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 ProgrammbausteineKompilieren (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.