Skip to main content

Funktionsbausteine in eine Bibliothek auslagern

In der Anleitung Geräteprojekt mit CODESYS Control Win V3 x64 in Strukturiertem Text und Kontaktplan erstellen haben Sie den Regler für einen Lüfter innerhalb einer Applikation erstellt. In dieser Anleitung erzeugen Sie aus der Lüftersteuerung ein eigenes Bibliotheksprojekt. So wird der Regler zu wiederverwendbarem Code, den Sie projektübergreifend in anderen Applikationen einsetzen können.

Schritte der Anleitung

Eine wiederverwendbare Bibliothek, FanControlLib, enthält den ReglerFB_FanControl. Die Applikation im Geräteprojekt FanControl verwendet den Funktionsbaustein anschließend aus der Bibliothek, statt aus einer eigenen lokalen Kopie.

  1. Erstellen eines Bibliotheksprojekts

  2. Extrahieren der Funktionalität in die Bibliothek

  3. Verwenden/Referenzieren des Bibliotheksprojekts

Voraussetzungen

Erstellen des Bibliotheksprojekts

  1. Klicken Sie auf die Schaltfläche _c4_openWorkspace64px.svg und öffnen Sie den Workspace TemperatureControl.fbsws.

  2. Klicken Sie auf die Schaltfläche _c4_icon_add_project64px.svg und wählen Sie den Befehl Bibliotheksprojekt erzeugen. Geben Sie im Dialog Erzeugen eines neuen Bibliotheksprojekts folgende Daten ein:

    • Pfad: D:\TemperatureControl

    • Projektname: FanControlLib

    • Titel, Version und Firma

  3. Klicken Sie auf Erzeugen.

    Die neue Bibliothek mit dem Namen FanControlLib.fbslib ist jetzt im Workspace-Navigator vorhanden.

Extrahieren der Funktionalität in die Bibliothek

  1. Verschieben Sie den Regler FB_FanControl von der Applikation in die Bibliothek:

    Kopieren Sie die Datei FB_FanControl.fb.ld im Datei-Explorer Ihres Betriebssystems aus dem Ordner D:\TemperatureControl\FanControl.fbsdev\Application.iecapp^ und legen Sie die Kopie in den Bibliotheksordner D:\TemperatureControl\FanControlLib.fbslib ab.

    Anmerkung

    Aktuell unterstützt CODESYS 4 kein Kopieren und Einfügen von Elementen zwischen Projekten.

    CODESYS 4 überwacht die Projektordner im Dateisystem. Wenn Sie das Element im Dateisystem verschieben, legt CODESYS 4 dieses automatisch im Workspace-Navigator an.

    In CODESYS 4 erscheint FB_FanControl.fb.ld im Projekt FanControlLib.fbslib.

  2. Entfernen Sie den Funktionsbaustein FB_FanControl.fb.ld aus dem Projekt FanControl.fbsdev. Rechtsklicken Sie dazu im Geräteprojekt unter Application.iecapp auf das Element FB_FanControl.fb.ld und wählen Sie den Befehl Element löschen. Bestätigen Sie den Schritt mit Löschen.

Verwenden/Referenzieren des Bibliotheksprojekts

  1. Referenzieren Sie die Bibliothek FanControlLib.fbslib im Projekt FanControl.fbsdev. Öffnen Sie dazu die Libraries.json des Geräteprojekts im Editor:

    • Fügen Sie den Namespace FanControlLib hinzu.

    • Fügen Sie unter dem Namespace eine Referenz vom Typ RelativePath auf den Bibliotheksordner hinzu.

    Die Bibliothek FanControlLib ist in der Applikation referenziert.

    {
        "references": {
            "Standard": {
                "$type": "Placeholder",
                "placeholder": "Standard"
            },
            "FanControlLib": {
            "$type": "RelativePath",
            "path": "../../FanControlLib.fbslib/"
            }
          },
        "placeholderOverrides": {}
    }
  2. Rechtsklicken Sie im Navigator auf Libraries.json und führen Sie den Befehl Alle Bibliotheken auflösen aus.

  3. Öffnen Sie die Ansicht LIBRARY RESOLUTION um die Meldungen zu kontrollieren.

    Die Bibliotheken sind jetzt erfolgreich aufgelöst.

  4. Verwenden Sie im Programm PLC_PRG.prg.st den Funktionsbaustein aus der Bibliothek. Öffnen Sie dazu PLC_PRG im Editor und ändern Sie den Typ der Variablen fanControl auf den Namen des Funktionsbausteins der referenzierten Bibliothek FanControlLib. Nur die Deklaration ändert sich. Der Aufruf bleibt gleich.

    Tipp

    Während Sie tippen, unterstützt Sie die Autovervollständigung.

    // before
    fanControl : FB_FanControl;
    
    // now
    fanControl : FanControlLib.FB_FanControl;
  5. Rechtsklicken Sie auf das Element Application.iecapp und wählen Sie den Befehl Applikation erzeugen.

  6. Loggen Sie sich ein und starten Sie die Applikation, für weitere Informationen siehe Programm auf die Steuerung laden.

    Der Lüfterregler läuft genau wie zuvor, temperature oszilliert zwischen 25 und 30 °C, während fanOn umschaltet. Das Verhalten ist identisch. Die Logik liegt jetzt in einer Bibliothek, die Sie projektübergreifend einsetzen können. Damit haben Sie soeben Ihre eigene CODESYS 4-Bibliothek erstellt und genutzt.