Skip to main content

Geräteprojekt mit CODESYS Control Win V3 x64 in Strukturiertem Text und Kontaktplan erstellen

In diesem Kapitel erstellen Sie ein kleines CODESYS 4-Projekt. Sie starten mit einem leeren Bildschirm und erhalten am Ende ein lauffähiges Programm, das Sie live beobachten. Dabei lernen Sie, wie ein Workspace mit einem Geräteprojekt erzeugt wird und wissen danach, wo diese in der neuen Umgebung liegen.

Das Projekt beschreibt die Regelung eines Lüfters. Wenn die Temperatur einen Maximalwert übersteigt, wird ein Lüfter eingeschaltet und die Temperatur dadurch gesenkt. Wenn die Temperatur unter einen Minimalwert fällt, schaltet der Lüfter aus und die Temperatur steigt wieder an. Die Temperatur wird durch das Programm simuliert.

Schritte der Anleitung

  1. Erstellen eines Workspaces mit einem Geräteprojekt

  2. Programmieren von Code in Kontaktplan (KOP) und in Structured Text (ST)

    . Enthaltene Programme
    • FB_FanControl (KOP): Regler, der den Lüfter über 30 °C einschaltet und unter 25 °C ausschaltet.

    • PLC_PRG (ST): Simuliert die Temperatur mit einem Timer und ruft den Regler auf.

  3. Erzeugen der Applikation

  4. Laden der Applikation auf die Steuerung CODESYS Control Win V3 x64

  5. Beobachten der Applikation im Online-Modus

Voraussetzungen

  • CODESYS 4 ist auf Ihrem Rechner installiert. Das Setup beinhaltet bereits die Extension "Ladder".

    Für weitere Informationen siehe: Installation als Desktop-Applikation für Windows

  • Die Soft-SPS CODESYS Control Win V3 x64 ist installiert und gestartet.

CODESYS 4 starten

  1. Öffnen Sie das Installationsverzeichnis von CODESYS 4 im Dateiexplorer.

  2. Starten Sie das Programm CODESYS-4.exe.

    Die Programmieroberfläche öffnet sich.

Workspace erzeugen

Anmerkung

In dieser Anleitung werden alle zum Projekt gehörenden Dateien beispielhaft unter D:\TemperatureControl\ angelegt. Sie können einen beliebigen eigenen Speicherort wählen.

  1. Wählen Sie den Befehl Menü → Workspace erzeugen oder klicken Sie im Workspace-Navigator auf die Schaltfläche _c4_icon_create_workspace.png.

  2. Geben Sie im Dialog Pfad für die Workspace-Datei auswählen Folgendes an:

    • Workspace-Name: TemperatureControl

    • Pfad: Klicken Sie auf die Schaltfläche _c4_drei_Punkte_path_selection.png.

      • Wählen Sie als Einstiegspunkt das Laufwerk "D".

      • Fügen Sie mit dem Befehl Neuer Ordner den Ordner TemperatureControl hinzu, wählen Sie diesen aus und klicken Sie auf die Schaltfläche Ordner auswählen.

  3. Klicken Sie auf OK.

    Der Workspace ist angelegt und geöffnet. Der Dialog Projekt zum Workspace hinzufügen öffnet sich.

Geräteprojekt erzeugen

  1. Wählen Sie im Dialog Projekt zum Workspace hinzufügen den Befehl Geräteprojekt erzeugen.

    Anmerkung

    Wenn der Dialog Projekt zum Workspace hinzufügen nicht geöffnet ist, wählen Sie den Befehl Menü → Geräteprojekt erzeugen.

  2. Geben Sie im Dialog Erzeugen eines neuen Geräteprojekts Folgendes an:

    • Pfad: D:/TemperatureControl/

    • Projektname: FanControl

    • Optional können Sie noch weitere Informationen einfügen.

  3. Klicken Sie auf Erzeugen.

  4. Wählen Sie im Dialog Hinzufügen der SPS das Steuergerät CODESYS Control Win V3 x64.

  5. Klicken Sie auf OK.

  6. Wählen Sie im Dialog Programm hinzufügen die Implementierungssprache Strukturierter Text (ST) aus. Klicken Sie auf Erzeugen.

    Der Wizard schließt und der Workspace-Navigator zeigt das Projekt FanControl.fbsdev mit den Elementen Devices und Application. Unterhalb von Application ist das Programm PLC_PRG.prg.st angelegt.

Bibliotheken auflösen

Für die Temperatursimulation benötigen wir einen Timer, und dieser ist in der Bibliothek Standard enthalten. Ein neues Geräteprojekt referenziert standardmäßig die Bibliothek Standard. Während das Projekt erstellt wird, werden die Bibliotheken einmalig automatisch aufgelöst. Für dieses Projekt müssen wir die Bibliotheken nicht erneut auflösen, da wir keine weitere Bibliothek einbinden.

Um die Meldungsausgabe zu beobachten, lösen wir jedoch die Bibliotheken nochmal explizit auf.

  1. Rechtsklicken Sie im Navigator auf Libraries.json und wählen Sie den Befehl Alle Bibliotheken auflösen.

  2. Öffnen Sie im unteren Bereich die Ansicht LIBRARY RESOLUTION, um die Meldungen zu kontrollieren.

Erstellen der Lüftersteuerung

Prozedur. Erstellen des Reglers in Kontaktplan (KOP)
  1. Rechtsklicken Sie auf das Element Application und wählen Sie den Befehl Element hinzufügen → Funktionsbaustein.

  2. Geben Sie den Namen FB_FanControl ein und geben Sie für die Implementierungssprache Kontaktplan (KOP) an.

  3. Klicken Sie auf Erzeugen.

  4. Deklarieren Sie die Schnittstelle im Deklarationsteil des Funktionsbausteins:

    FUNCTION_BLOCK FB_FanControl
    VAR_INPUT
        // current temperature
        temperature : LREAL;
        // switch ON  at/above this value
        onLevel : LREAL;
        // switch OFF at/below this value
        offLevel : LREAL;
    END_VAR
    VAR_OUTPUT
        // indicates whether the fan should be turned on
        fanOn : BOOL;
    END_VAR
  5. Erstellen Sie ein Netzwerk mit dem Namen Fan Control gemäß nachfolgender Abbildung.

    Tipp

    Wenn Sie mit dem KOP-Editor nicht vertraut sind, lesen Sie bitte das Kapitel Programmieren in Kontaktplan.

    _c4_img_network_ladder.png

    Das Netzwerk entspricht folgendem Ausdruck:

    fanOn := (temperature >= onLevel OR fanOn) AND (temperature > offLevel);
    . Komponenten des Netzwerks:
    • ein Vergleichskontakt mit der Bedingung temperature >= onLevel

    • parallel dazu und darunter ein Selbsthaltekontakt fanOn

    • in Reihe dazu ein Vergleichskontakt mit der Bedingung temperature > offLevel

    • eine Spule fanOn

    Das Netzwerk bewirkt, dass bei einer Temperatur größer onLevel (30 °C) der Lüfter einschaltet. Über den Selbsthaltekontakt fanOn bleibt der Lüfter eingeschaltet, bis die Temperatur unter offLevel (25 °C) fällt.

Prozedur. Erstellen des Temperatursimulators in Strukturiertem Text
  1. In PLC_PRG.prg.st wird die Simulation der Temperatur über die Zeit, sowie die Übergabe des aktuellen Werts an den Regler implementiert.

    Tipp

    Während Sie tippen, unterstützt Sie die Autovervollständigung. Wenn Sie beispielsweise tick : TON eingeben, erscheint eine Liste mit Vorschlägen. Wenn Sie bei einem Vorschlag auf den Pfeil rechts klicken, wird eine Hilfe angezeigt, die den Timer beschreibt.

    Wenn Sie in der Implementierung fanControl(, eingeben, zeigt die Autovervollständigung dessen Parameter und die Beschreibungen an, die Sie im Funktionsbaustein eingegeben haben. So wissen Sie stets, welcher Wert wohin gehört.

    Öffnen Sie PLC_PRG und geben Sie das folgende Programm ein:

    PROGRAM PLC_PRG
    VAR
        // 500 ms heartbeat
        tick : Standard.TON;
    
        // two-point fan controller (LD)
        fanControl : FB_FanControl;
    
        // simulated temperature [°C]
        temperature : LREAL := 22.0;
    
        // fan command
        fanOn : BOOL;
    END_VAR
    
    // implementation here...
    // 1) Heartbeat: TRUE for one cycle every 500 ms
    tick(IN := NOT tick.Q, PT := T#500MS);
    
    // 2) On each tick the temperature drifts: the fan cools, otherwise it heats up
    IF tick.Q THEN
        if fanOn THEN
            temperature := temperature - 1.0;
        ELSE
            temperature := temperature + 1.0;
        END_IF
    END_IF
    
    // 3) The controller decides whether the fan runs (ON at 30 °C, OFF at 25 °C)
    fanControl(temperature:= temperature, onLevel:= 30.0, offLevel:= 25.0, fanOn=> fanOn);
    
    END_PROGRAM

    Der Taktgeber: tick erzeugt alle 500 ms einen Impuls. Bei jedem Impuls bewegt sich die Temperatur um einen Schritt. Wenn der Lüfter läuft, sinkt sie. Andernfalls steigt sie.

  2. Rechtsklicken Sie auf das Element Application.iecapp und wählen Sie den Befehl Applikation erzeugen.

    CODESYS 4 kompiliert das Projekt.

  3. Überprüfen Sie in der Ausgabe ERSTELLEN, ob das Projekt fehlerfrei kompiliert wurde.

Programm auf die Steuerung laden

  1. Doppelklicken Sie auf das Element Communication.settings.json.

    Die Kommunikationseinstellungen öffnen sich im Editor.

  2. Klicken Sie auf die Schaltfläche Gerät konfigurieren.

    Dialog Gerätebrowser wird geöffnet und die verfügbaren Steuerungen werden angezeigt.

    Tipp

    Wenn Sie kein Gerät in der Liste sehen, dann läuft die Soft-SPS höchstwahrscheinlich nicht. Prüfen Sie das Tray-Symbol von CODESYS Control Win V3 x64 und starten Sie die Steuerung bei Bedarf.

    Klicken Sie auf das Symbol Aktualisieren neben der Suchleiste, um das Netzwerk erneut zu durchsuchen. Der Befehl Gerät verbinden testet die Verbindung zur ausgewählten Steuerung und meldet, ob diese erreichbar ist. Nun sollte Ihre Steuerung in der Liste sein.

  3. Wählen Sie Ihre Steuerung aus und klicken Sie auf die Schaltfläche Gerät verbinden.

    Wenn noch keine Benutzerverwaltung auf Ihrem Gerät eingerichtet ist, erscheint der Dialog Initialen Benutzer für Gerät erzeugen.

  4. Geben Sie im Dialog Auf Gerät einloggen Ihre Zugangsdaten ein und klicken Sie Einloggen.

    Es erscheint die Meldung Verbindung erfolgreich.

  5. Klicken Sie im Dialog Gerätebrowser auf Auswählen.

  6. Klicken Sie mit der rechten Maustaste auf Application.iecapp und wählen Sie den Befehl Applikation downloaden.

  7. Klicken Sie mit der rechten Maustaste auf Application.iecapp und wählen Sie den Befehl Einloggen.

    Geben Sie bei Bedarf Ihre Anmeldedaten ein.

  8. Klicken Sie im Dialog Download bestätigen auf Download.

    Eine Meldung Einloggen erfolgreich erscheint. Die Anzeige oben rechts ändert sich wie folgt:

    _c4_gui_display_right_active_application.png
  9. Öffnen Sie das Programm PLC_PRG im Editor.

    Das Inline-Monitoring im Editor zeigt die aktuellen Werte direkt hinter der Variablen an.

  10. Werte mit der ÜBERWACHUNGSLISTE überwachen: Wechseln Sie in der unteren Ansicht zur Registerkarte ÜBERWACHUNGSLISTE. Die ÜBERWACHUNGSLISTE ist noch leer.

  11. Fügen Sie 2 Ausdrücke hinzu und wählen Sie dabei in der Spalte Application jeweils den Eintrag Application aus:

    • PLC_PRG.temperature

    • PLC_PRG.fanOn

  12. Starten Sie die aktive Applikation mit der Schaltfläche _c4__start_application_play64px.svg oben rechts.

    Die Werte der überwachten Variablen werden angezeigt.

Was Sie jetzt erreicht haben

  • Sie haben einen Workspace mit einem Geräteprojekt angelegt.

  • Sie haben ein Programm in ST programmiert und dabei einen Funktionsbaustein einer Standardbibliothek eingebunden.

  • Sie haben einen Funktionsbaustein in KOP programmiert.

  • Sie haben die Applikation fehlerfrei kompiliert und auf die Steuerung geladen.

  • Sie haben die Variablen in der ÜBERWACHUNGSLISTE beobachtet.

Fahren Sie fort mit der Anleitung Funktionsbausteine in eine Bibliothek auslagern.