Skip to main content

Im Projekt die Steuerungsapplikation programmieren

Deklarieren der globalen Variablen

Deklarieren Sie zunächst die Variablen, die Sie in der gesamten Applikation verwenden wollen. Dazu legen Sie unter Application eine Globale Variablenliste an:

  1. Selektieren Sie den Eintrag Application und wählen im Kontextmenü den Befehl Objekt hinzufügen → Globale Variablenliste. Ändern Sie den automatisch eingetragenen Namen GVL zu Glob_Var und bestätigen Sie mit Hinzufügen.

    Unter _cds_icon_application.pngApplication erscheint das Objekt _cds_icon_gvl.pngGlob_Var. Der GVL-Editor öffnet rechts vom Gerätebaum.

  2. Wenn die textuelle Ansicht erscheint, sind die Schlüsselwörter VAR_GLOBAL und END_VAR bereits enthalten. Aktivieren Sie für unser Beispiel mit einem Klick auf die Schaltfläche _cds_img_button_decl_editor_tabular.png in der rechten Randleiste des Editors die tabellarische Ansicht.

    Eine leere Zeile erscheint. Der Cursor ist in der Spalte Name.

  3. Wählen Sie im Kontextmenü den Befehl Einfügen.

    Ein Eingabefeld öffnet sich. Gleichzeitig werden in der Zeile automatisch der GültigkeitsbereichVAR_GLOBAL und der DatentypBOOL eingetragen.

  4. Tippen Sie rTempActual im Feld Name ein.

  5. Doppelklicken Sie in das Feld in der Spalte Datentyp.

    Das Feld ist jetzt editierbar und die Schaltfläche cds_icon_open_input_asisstant.png erscheint.

  6. Klicken Sie auf die Schaltfläche cds_icon_open_input_asisstant.png und wählen Sie Eingabehilfe.

    Der Dialog Eingabehilfe öffnet sich.

  7. Wählen Sie den Datentyp REAL aus und klicken Sie auf die Schaltfläche OK.

  8. Geben Sie einen numerischen Wert in der Spalte Initialisierung ein, beispielsweise 8.0.

Deklarieren Sie die folgenden Variablen auf gleiche Weise:

Name

Datentyp

Initialisierung

Kommentar

rTempActual

REAL

8.0

Isttemperatur

rTempSet

REAL

8.0

Solltemperatur

xDoorOpen

BOOL

FALSE

Status Tür

timAlarmThreshold

TIME

T#30S

Kompressorlaufzeit, nach der ein Signal ertönt

timDoorOpenThreshold

TIME

T#10S

Zeit ab Türöffnung, nach der ein Signal ertönt

xCompressor

BOOL

FALSE

Steuersignal

xSignal

BOOL

FALSE

Steuersignal

xLamp

BOOL

FALSE

Statusmeldung

Hauptprogramm zur Kühlungssteuerung im CFC-Editor erstellen

Im standardmäßig angelegten Hauptprogrammbaustein PLC_PRG beschreiben Sie nun die Hauptfunktion des Applikationsprogramms: Der Kompressor wird aktiv und kühlt, wenn die Isttemperatur höher ist als die Solltemperatur zuzüglich einer Hysterese. Der Kompressor wird ausgeschaltet, sobald die Isttemperatur niedriger ist als die Solltemperatur abzüglich der Hysterese.

Um diese Funktionalität in der Implementierungssprache CFC zu beschreiben, führen Sie folgende Schritte aus:

  1. Doppelklicken Sie auf PLC_PRG im Gerätebaum.

    Der CFC-Editor öffnet sich mit der Registerkarte PLC_PRG. Oberhalb des grafischen Editorbereichs erscheint der Deklarationseditor in textueller oder tabellarischer Darstellung. Rechts ist das Fenster Werkzeuge.

  2. Klicken Sie im Fenster Werkzeuge auf das Element Eingang und ziehen Sie es mit der Maus in den CFC-Editor unter die Registerkarte PLC_PRG.

    Der namenlose Eingang ??? wurde eingefügt.

  3. Klicken Sie im CFC-Editor bei dem Eingang auf ??? und öffnen Sie dann mit einem Klick auf _cds_icon_input_assistent.png die Eingabehilfe. Wählen Sie aus der Kategorie Variablen unter Application → Glob_Var die Variable rTempActual aus. So referenzieren Sie hier die globale Variable rTempActual.

    Der Eingangsname ist Glob_Var.rTempActual.

  4. Legen Sie wie bei 3. einen weiteren Eingang mit dem Namen der globalen Variable Glob_Var.rTempSet an.

  5. Legen Sie einen weiteren Eingang an, klicken Sie auf die drei Fragezeichen ??? und ersetzen Sie diese mit dem Namen rHysteresis.

    Weil dies nicht der Name einer bereits bekannten Variablen ist, erscheint der Dialog Variable deklarieren. Der Name ist bereits in den Dialog übernommen.

  6. Füllen Sie die Felder im Dialog Variable deklarieren mit dem DatentypREAL und dem Initialisierungswert1 aus. Klicken Sie auf die Schaltfläche OK.

    Die Variable rHysteresis erscheint im Deklarationseditor.

  7. Nun fügen Sie einen Additionsbaustein ein: Klicken Sie im Fenster Werkzeuge auf das Element Baustein und ziehen Sie es mit der Maus unterhalb der Registerkarte PLC_PRG in den CFC-Editor.

    Der Baustein erscheint im CFC-Editor.

  8. Ersetzen Sie ??? mit ADD.

    Der Baustein addiert alle Eingänge, die mit ihm verbunden sind.

  9. Verbinden Sie den Eingang Glob_Var.rTempSet mit dem Baustein ADD. Klicken Sie dazu auf den Ausgangspin des Eingangs und ziehen Sie Ihn bis zum oberen Eingangspin des Bausteins ADD.

  10. Verbinden Sie auf die gleiche Weise den Eingang rHysteresis mit dem unteren Eingang des Bausteins ADD.

    Die beiden Eingänge rHysteresis und Glob_Var.rTempSet werden nun von ADD addiert.

  11. Wenn Sie ein Element im Editor verschieben möchten, klicken Sie auf eine freie Stelle im Element oder auf den Rahmen, so dass das Element selektiert ist (roter Rahmen, rot schattiert). Lassen Sie die Maustaste gedrückt und ziehen Sie das Element an die gewünschte Position.

  12. Legen Sie einen weiteren Baustein rechts vom Baustein ADD an. Er soll Glob_Var.rTempActual mit der Summe aus Glob_Var.rTempSet + rHysteresis vergleichen. Geben Sie dem Baustein die Funktion GT (Greater Than).

    Der GT-Baustein arbeitet folgendermaßen: IF (oberer Eingang > unterer Eingang) THEN Ausgang := TRUE;

  13. Verbinden Sie den Eingang Glob_Var.rTempActual mit dem oberen Eingang des Bausteins GT.

  14. Verbinden Sie den Ausgang des Bausteins ADD mit dem unteren Eingang des Bausteins GT.

  15. Erzeugen Sie nun mit dem Bausteinelement einen Funktionsbaustein rechts vom Baustein GT an, der den Kühlkompressor je nach Eingangsbedingung startet oder stoppt (Set - Reset). Tippen Sie im Feld ??? den Namen SR ein. Schließen Sie das geöffnete Eingabefeld oberhalb des Bausteins (SR_0) mit der Eingabetaste.

    Der Dialog Variable deklarieren erscheint.

  16. Deklarieren Sie die Variable mit dem Namen SR_0 und dem Datentyp SR. Klicken Sie auf die Schaltfläche OK.

    Der Baustein SR aus der Bibliothek Standard ist instanziert. SR dient der Definition des THEN am Ausgang des GT-Bausteins. Die Eingänge SET1 und RESET erscheinen.

  17. Verbinden Sie die Ausgangsverbindung rechts am Baustein GT mit dem Eingang SET1 des Bausteins SR_0.

    SR kann eine boolesche Variable von FALSE auf TRUE und wieder zurück setzen. Wenn die Bedingung am Eingang SET1 zutrifft, wird die boolesche Variable auf TRUE gesetzt. Trifft die Bedingung an RESET zu , wird die Variable wieder zurückgesetzt. Die boolesche (globale) Variable ist in unserem Beispiel Glob_Var.xCompressor.

  18. Legen Sie ein Element Ausgang an und weisen Sie ihm die globale Variable Glob_Var.xCompressor zu. Ziehen Sie eine Verbindungslinie zwischen Glob_Var.xCompressor und Ausgangsverbindung Q1 von SR.

Jetzt geben Sie an, unter welcher Bedingung sich der Kompressor wieder abschalten soll, also der RESET-Eingang des SR-Bausteins ein TRUE-Signal erhält. Dazu formulieren Sie die gegenteilige Bedingung wie oben. Verwenden Sie dazu die Bausteine SUB (Subtract) und LT (Less Than).

Letztendlich entsteht folgender CFC-Plan:

_cds_img_tutorial_refrigerator_plcprg_cfc_diagram.png

Erstellen eines Programmbausteins zur Signalverwaltung im Kontaktplan-Editor

Sie implementieren nun in einem weiteren Programmbaustein die Signalverwaltung für den Alarmtongeber und für das Ein- und Ausschalten der Lampe. Dafür eignet sich die Implementierungssprache Kontaktplan (KOP).

Behandeln Sie die folgenden Signale jeweils in einem eigenen Netzwerk:

  • Wenn der Kompressor zu lange läuft, weil die Temperatur zu hoch ist, macht ein durchgehendes akustisches Signal darauf aufmerksam.

  • Wenn die Türe zu lange geöffnet ist, macht ein getaktetes Signal darauf aufmerksam.

  • Solange die Türe geöffnet ist, brennt das Licht.

  1. Rechtsklicken Sie im Gerätebaum auf das Objekts Application und fügen Sie ein POU-Objekt des Typs Programm mit der Implementierungssprache Kontaktplan (KOP2) ein.

    Benennen Sie das Programm Signals.

    Das Programm Signals erscheint im Gerätebaum neben PLC_PRG. Der Kontaktplan-Editor öffnet mit der Registerkarte Signals. Im oberen Teil erscheint der Deklarationseditor, rechts das Fenster Werkzeuge. Der Kontaktplan enthält ein leeres Netzwerk.

  2. Im Netzwerk programmieren Sie, dass ein akustisches Signal ertönt, wenn der Kühlkompressor zu lange läuft, ohne die Solltemperatur zu erreichen. Hierzu fügen Sie in den nächsten Schritten einen Timer-Baustein TON ein. Er schaltet ein boolesches Signal nach einer vorgegebenen Zeit auf TRUE.

  3. Wählen Sie in der Ansicht Werkzeuge das Element Baustein aus und ziehen Sie es mit der Maus ins leere Netzwerk auf eine angebotene Einfügeposition und lassen Sie die Maustaste los.

    Der Baustein erscheint als Rechteck mit Ein- und Ausgängen.

  4. Doppelklicken Sie die 3 Fragezeichen ??? in dem Baustein und klicken Sie im Zeileneditor auf das Symbol _ld_icon_input_assistant.png.

    Der Dialog Eingabehilfe öffnet sich.

  5. Wählen Sie im Dialog Eingabehilfe aus der Kategorie Standard-Funktionsbausteine aus der Bibliothek Standard den Timer TON aus und klicken Sie auf OK.

  6. Drücken Sie nun im Zeileneditor des Bausteins, der jetzt den Funktionsbausteinnamen TON anzeigt, die Eingabetaste.

    Der Baustein TON wird mit seinen Ein- und Ausgängen angezeigt.

  7. Um den Eingang EN und den Ausgang ENO zu entfernen, selektieren Sie den Baustein und wählen Sie im Kontextemenü die Befehle EN/ENOEN.

    Der Baustein hat jetzt nur noch die Eingänge IN und PT und die Ausgänge Q und ET.

  8. Doppelklicken Sie auf die drei Fragezeichen [???] direkt über dem Baustein, geben Sie als Instanzname TON_0 ein und drücken Sie die Eingabetaste.

    Sie haben den Instanznamen bestätigt und der Dialog Variable deklarieren öffnet sich.

  9. Bestätigen Sie den Dialog mit OK.

    Der eingefügte Baustein TON ist nun mit dem Namen TON_0 instanziert.

  10. Programmieren Sie, dass der Baustein aktiviert wird, sobald der Kühlkompressor zu laufen beginnt: Ziehen Sie zunächst aus der Ansicht Werkzeuge das Kontaktplan-Element Kontakt vor den Eingang IN des Bausteins. Doppelklicken Sie die drei Fragezeichen und klicken Sie im Zeileneditor auf das Symbol _ld_icon_input_assistant.png. In der Eingabehilfe wählen Sie nun die bereits deklarierte globale Variable xCompressor aus und klicken Sie auf OK.

    Über dem Kontakt wird der Variablenname Glob_Var.xCompressor angezeigt.

    Tipp

    Wenn Sie beginnen, an der Eingabeposition einen Variablennamen einzugeben, erhalten Sie immer automatisch eine Liste aller Variablen, deren Namen mit den eingetippten Zeichen beginnen und die an dieser Stelle verwendbar sind. Diese Unterstützung ist eine Standardeinstellung in den CODESYS-Optionen für Intelligentes Codieren.

  11. Fügen Sie das Signal ein, das aktiviert werden soll. Ziehen Sie dazu aus der Ansicht Werkzeuge, Kategorie Kontaktplan eine Spule an den Ausgang Q des TON-Bausteins. Benennen Sie die Spule mit Glob_Var.xSignal.

  12. Definieren Sie die Zeit ab Aktivierung des TON_0-Bausteins, nach der das Signal ertönen soll: Diese Definition erfolgt über die Variable Glob_Var.timAlarmThreshold, die Sie zu diesem Zweck am Eingang PT von TON_0 einfügen. Dazu bewegen Sie den Mauszeiger an das linke Ende der Eingangsverbindung des Eingangs PT. Klicken Sie auf das fein umrandete Rechteck, das nun links der Eingangsverbindung angezeigt wird und geben Sie den Variablennamen ein.

  13. Drücken Sie die Eingabetaste.

    Der Dialog Variable deklarieren öffnet sich.

  14. Bestätigen Sie den Dialog mit OK.

    Die neu deklarierte Variable wid im Deklarationsteil angezeigt.

  15. Rechtsklicken Sie auf den TON-Baustein und wählen Sie im Kontextmenü den Befehl Nicht verwendete Pins entfernen.

    Der nicht verwendete Ausgang ET ist entfernt.

  16. Im zweiten Netzwerk des KOP programmieren Sie, dass das Signal getaktet ertönen soll, wenn die Türe zu lange geöffnet ist.

    Ziehen Sie mit der Maus aus der Ansicht Werkzeuge ein Element Netzwerk an die Einfügestelle unterhalb von Netzwerk 1.

    Ein leeres Netzwerk mit Nummer 2 erscheint.

  17. Implementieren Sie wie im ersten Netzwerk einen TON-Baustein zur zeitgesteuerten Aktivierung des Signals, diesmal getriggert durch die globale Variable Glob_Var.xDoorOpen am Eingang IN. Am Eingang PT fügen Sie die globale Variable Glob_Var.timDoorOpenThreshold hinzu.

  18. Fügen Sie in diesem Netzwerk an Ausgang Q des TON-Bausteins einen BLINK-Baustein aus der Bibliothek Util ein und instanzieren Sie ihn mit dem Namen Blink_0.

  19. Der Baustein BLINK_0 taktet die Signalweiterleitung Q und damit Glob_Var.xSignal.

    Ziehen Sie hierfür zunächst 2 Elemente Kontakt aus der Ansicht Werkzeuge an den Ausgang OUT des Bausteins. Weisen Sie dem Kontakt direkt hinter dem Ausgang Q die Variable TON_1.Q und dem zweiten Kontakt die globale Variable Glob_Var.xDoorOpen zu.

  20. Hinter die beiden Kontakte fügen Sie ein Element Spule ein und weisen Sie ihr die globale Variable Glob_Var.xSignal zu.

  21. Deklarieren Sie die lokale Variable timSignalTime : TIME := T#1S; und fügen Sie diese Variable an den Eingängen TIMELOW und TIMEHIGH ein; die Taktdauer ist somit jeweils 1 Sekunde für TRUE und 1 Sekunde für FALSE.

  22. Rechtsklicken Sie auf den TON-Baustein und wählen Sie im Kontextmenü den Befehl Nicht verwendete Pins entfernen.

    Der nicht verwendete Ausgang ET ist entfernt.

  23. Im dritten Netzwerk programmieren Sie, dass die Lampe leuchtet, solange die Tür geöffnet ist. Fügen Sie dazu ein weiteres Netzwerk und einen Kontakt ein. Weisen Sie dem Kontakt die Variable GlobVar.xDoorOpen zu.

  24. Der eingefügte Kontakt leitet direkt auf eine Spule. Fügen Sie hierzu rechts vom Kontakt eine Spule hinzu und und weisen Sie der Spule die globale Variable Glob_Var.xLamp zu.

  25. CODESYS arbeitet die Netzwerke eines KOP nacheinander ab. Um zu erreichen, dass nur Netzwerk 1 oder nur Netzwerk 2 ausgeführt werden, bauen Sie jetzt am Ende von Netzwerk 1 noch einen Sprung zu Netzwerk 3 ein:

    Wenn Sie im Netzwerk 3 den Mauszeiger auf die 3. Zeile im linken oberen Rand des Netzwerks halten, wird die Information <Sprungmarke hier einfügen> angezeigt. Doppelklicken Sie diese Position und geben Sie im Zeileneditor als Sprungmarke DoorIsOpen: ein.

    Selektieren Sie das Netzwerk 1. Ziehen Sie aus der Ansicht Werkzeuge, Kategorie Kontaktplan das Element Sprung an die mit einem Dreieck gekennzeichnete Einfügeposition vor der Spule Glob_Var.xSignal .

    Das Sprungelement erscheint. Das Sprungziel ist noch mit ??? angegeben.

  26. Doppelklicken Sie die drei Fragezeichen [???] und klicken Sie im Zeileneditor auf das Symbol _ld_icon_input_assistant.png. Wählen Sie im Dialog Eingabehilfe aus den möglichen Bezeichnern von Sprungmarken DoorIsOpen aus und bestätigen Sie mit OK.

    Die Sprungmarke zu Netzwerk 3 ist implementiert.

Das KOP-Programm sieht nun folgendermaßen aus:

_cds_img_first_cds_program_ld_signals.png

Aufrufen des Programms "Signals" im Hauptprogramm

In unserem Programmbeispiel soll das Hauptprogramm PLC_PRG das Programm Signals zur Signalverarbeitung aufrufen.

  1. Doppelklicken Sie im Gerätebaum auf PLC_PRG.

    Das Programm PLC_PRG öffnet sich im Editor.

  2. Ziehen Sie ein Element Baustein aus Ansicht Werkzeuge in den Editor von PLC_PRG.

  3. Doppelklicken Sie die drei Fragezeichen [???] und klicken Sie im Zeileneditor auf das Symbol _ld_icon_input_assistant.png. Wählen Sie im Dialog Eingabehilfe aus in der Kategorie POU- /Programm- und Funktionsaufrufe das Programm Signals aus und bestätigen Sie mit OK.

Erstellen eines ST-Programmbausteins für eine Simulation

Da die Applikation dieses Beispielprojekts nicht mit realen Sensoren und Aktoren verknüpft ist, schreiben Sie nun noch ein Programm zur Simulation von Temperaturanstieg und Temperatursenkung. Damit können Sie nachher das Arbeiten der Kühlschranksteuerung im Onlinebetrieb beobachten.

Sie erstellen das Simulationsprogramm in Strukturiertem Text.

Das Programm erhöht die Temperatur solange, bis das Hauptprogramm PLC_PRG feststellt, dass die Solltemperatur überschritten ist und den Kühlkompressor aktiviert. Daraufhin senkt das Simulationsprogramm die Temperatur wieder, bis das Hauptprogramm den Kompressor wieder deaktiviert.

  1. Rechtsklicken Sie im Gerätebau auf Applikation und fügen Sie einen POU-Baustein des Typs Programm und der Implementierungssprache ST ein. Benennen Sie den Baustein Simulation .

  2. Implementieren Sie Folgendes im ST-Editor :

    Deklarationsteil:

    PROGRAM Simulation
    VAR
            TON_1: TON;                         //The temperature is decreased on a time delay, when the comepressor has been activated
            P_Cooling: TIME:=T#500MS;
            xReduceTemp: BOOL;                  //Signal for dereasing the temperature
            TON_2: TON;                         //The temperature is increased on a time delay
            P_Environment: TIME:=T#2S;          //Delay time when the door is closed
            P_EnvironmentDoorOpen: TIME:=T#1S;  //Delay time when the door is open
            xRaiseTemp: BOOL;                   //Signal for increasing the temperature
            timTemp: TIME;                      //Delay time
            iCounter: INT;
    END_VAR
    
    

    Implementierungsteil:

    iCounter := iCounter + 1;     // No function, just for demonstration purposes.
    
    // After the compressor has been activated due to TempActual being too high, the temperature decreases.
    // The temperature is decremented by 0.1°C per cycle after a delay of P_Cooling
    IF Glob_VAR.xCompressor THEN
            TON_1(IN:= Glob_Var.xCompressor, PT:= P_Cooling, Q=>xReduceTemp);
            IF xReduceTemp THEN
                    Glob_Var.rTempActual := Glob_Var.rTempActual-0.1;
                    TON_1(IN:=FALSE);
            END_IF
    END_IF
    
    //If the door is open, the warming occurs faster; SEL selects P_EnvironmentDoorOpen
    timTemp:=SEL(Glob_Var.xDoorOpen, P_Environment, P_EnvironmentDoorOpen);
    
    //If the compressor is not in operation, then the cooling chamber becomes warmer.
    //The  temperature is incremented by 0.1°C per cycle after a delay of tTemp
    TON_2(IN:= TRUE, PT:= timTemp, Q=>xRaiseTemp);
    IF xRaiseTemp THEN
            Glob_Var.rTempActual := Glob_Var.rTempActual + 0.1;
            TON_2(IN:=FALSE);
    END_IF

Tipp

Für ein komfortables Bedienen und Beobachten des gesamten Steuerungsprogramms empfiehlt sich der Einsatz einer Visualisierung. Im fertigen Beispielprojekt zum vorliegenden Tutorial, das mit der CODESYS-Standardinstallation (Verzeichnis Projekte) bereitgestellt wird, ist eine mit CODESYS Visualization erstellte Visualisierung eingebaut. Sie können dieses Projekt auf die Steuerung laden und starten, um es zusammen mit der Visualisierung in Funktion zu sehen. Beim Start wird die Live_Visu mit einer Darstellung des Kühlschranks gestartet, die das Arbeiten des Simulationsprogramms wiedergibt, ohne dass Sie eine Eingabe vornehmen müssen. Sie können allerdings über einen Mausklick auf den Ein/Aus-Schalter das Tür-Öffnen und Tür-Schließen herbeiführen, und auch ein Verstellen der Temperaturvorwahl über die Nadel des Drehreglers ist möglich. Wir gehen im Rahmen dieses Tutorials hier nicht auf die Erstellung der Visualisierung ein. Ein entsprechendes Tutorial im Rahmen der Hilfe zu CODESYS Visualization ist geplant.

Festlegen der auszuführenden Programme in der Taskkonfiguration

Die voreingestellte Taskkonfiguration enthält den Aufruf für das Hauptprogramm PLC_PRG. Für unser Beispielprojekt müssen Sie noch den Aufruf für das Programm Simulation hinzufügen.

  1. Ziehen Sie im Gerätebaum den Eintrag Simulation mit der Maus auf MainTask unter der Taskkonfiguration.

    Das Programm Simulation ist in der Taskkonfiguration eingefügt.

  2. Wenn Sie sich die Taskkonfiguration ansehen möchten, doppelklicken Sie auf den Eintrag MainTask, um den Editor zu öffnen.

    Sie sehen in der Tabelle im unteren Teil des Editors die POUs, die von der Task aufgerufen werden: PLC_PRG (standardmäßig eingetragen) und Simulation. Der Aufruftyp der Task ist Zyklisch im Intervall von 20 Millisekunden. Im Onlinebetrieb wird die Task pro Zyklus 1x die beiden Bausteine abarbeiten.

Definieren der „Aktiven Applikation“ für die Kommunikation mit der SPS

Der Name der Applikation Application ist im Fenster Geräte fett dargestellt. Das bedeutet, dass diese Applikation als „aktive Applikation“ gesetzt wurde. Die Kommunikation mit der Steuerung bezieht sich dann auf diese Applikation.

Wenn es in einem Projekt nur eine Applikation gibt, wird sie automatisch zur aktiven Applikation. Wenn Ihre Applikation noch nicht aktiv ist, aktivieren Sie sie folgendermaßen:

  • Klicken Sie mit der rechten Maustaste auf Application und wählen Sie im Kontextmenü den Befehl Aktive Applikation setzen.

    Die Applikation Application wird in der Ansicht Geräte jetzt fett dargestellt.

Überprüfen des Applikationsprogramms auf Fehler

Während der Eingabe von Code weist CODESYS Sie sofort durch rote Unterkringelung auf Syntaxfehler hin. Die Ergebnisse der Prüfung sehen Sie auch im Meldungsfenster. Wenn nötig, öffnen Sie das Meldungsfenster mit dem Befehl Ansicht → Meldungen. Die Meldungen werden der Meldungskategorie Vorkompilierung angezeigt. Sie können eine Meldung selektieren und mit Taste F4 zur entsprechenden Codestelle springen. Weitere Prüfungen des Applikationsprogramms werden dann durchgeführt, wenn die Applikation auf die Steuerung geladen wird.

Nur eine fehlerfreie Applikation können Sie nachher auf die Steuerung laden.