Skip to main content

Applikation auf der SPS

Laden der Applikation auf die SPS

Voraussetzung: Die Applikation wurde fehlerfrei übersetzt.

Für weitere Informationen siehe: Überprüfen des Applikationsprogramms auf Fehler

  1. Wählen Sie den Befehl Online → Einloggen.

    Eine Dialogbox erscheint mit der Abfrage, ob die Applikation auf die Steuerung geladen werden soll.

  2. Klicken Sie auf Ja.

    Die Applikation wird auf die Steuerung geladen. Die Einträge für die Steuerung und die Applikation im Fenster Geräte werden grün hinterlegt. Hinter dem Objekt Application steht Stop. In der Taskleiste erscheint der aktuelle Status der Steuerung: _cds_icon_stop_in_status_bar.png.

Starten der Applikation

Wenn Sie das Tutorial bis zu diesem Punkt vollständig befolgt haben, können Sie nun die Applikation Application auf der SPS Device (CODESYS Control Win) verwenden.

  • Rechtsklicken Sie im Fenster Geräte auf das Objekt Application und wählen Sie im Kontextmenü den Befehl Starten aus.

    Das Programm läuft. Die Einträge für die Steuerung und die Applikation im Fenster Geräte werden grün hinterlegt. Hinter dem Objekt Application steht run. In der Taskleiste erscheint der aktuelle Status der Steuerung: _cds_icon_run_in_status_bar.png.

Monitoring und einmaliges Schreiben von Variablenwerten zur Laufzeit

Im Folgenden sehen Sie sich das „Monitoring“ der Variablenwerte in den verschiedenen Programmbausteinen an und setzen aus CODESYS heraus einmalig einen bestimmten Variablenwert auf der Steuerung.

Die Istwerte der Applikationsvariablen sehen Sie in den Online-Ansichten der Bausteineditoren oder in Überwachungslisten. Im Beispiel hier beschränken wir uns auf das Monitoring im Bausteineditor.

Voraussetzung: Die Applikation läuft auf der Steuerung.

  1. Öffnen Sie mit Doppelklicks auf die Objekte PLC_PRG, Signals, Simulation und Glob_Var im Gerätebaum die Onlineansichten der Editoren.

    Im Deklarationsteil jeder Ansicht erscheint in der Tabelle der Ausdrücke in der Spalte Wert (3) der Istwert der Variablen (1) auf der Steuerung (siehe Abbildung).

    _cds_img_tutorial_refrigerator_monitoring.png

    Das Monitoring im Implementierungsteil hängt von der Implementierungssprache ab: Bei nicht-booleschen Variablen steht der Wert immer in einem rechteckigen Feld rechts des Bezeichners. Im ST-Editor gilt dies auch für boolesche Variablen. Diese Anzeige nennen wir „Inlinemonitoring“. In den grafischen Editoren wird der Wert einer booleschen Variablen durch die Farbe der Ausgangsverbindungslinie angezeigt: schwarz für FALSE, blau für TRUE:

    _cds_img_main_tutorial_booleans_in_cfc.png
  2. Betrachten Sie das Verändern der Variablenwerte in den verschiedenen Bausteinen. Beispielsweise sehen Sie in der GVL Glob_Var, wie sich durch die Abarbeitung des Simulationsprogramms die Werte von rTempActual und xCompressor ändern.

Einmaliges Setzen von Variablenwerten auf der Steuerung:

  1. Setzen Sie den Fokus in die Onlineansicht der GVL Glob_Var.

  2. Um einen neuen Sollwert vorzugeben, doppelklicken Sie bei dem Ausdruck rTempSet in die Spalte Vorbereiteter Wert (2).

    Ein Eingabefeld öffnet sich.

  3. Tragen Sie den Wert 9 ein und verlassen Sie das Eingabefeld.

  4. Um ein Offenstehen der Tür vorzugeben, klicken Sie bei Ausdruck xDoorOpen 1x in das Feld Vorbereiteter Wert. Der Wert TRUE wird eingetragen. Klicken Sie weitere 3 Male, um zu sehen, dass Sie damit den vorbereiteten Wert auf FALSE, dann wieder auf leer und dann wieder auf TRUE schalten können.

  5. Um den vorbereiteten Wert TRUE einmalig auf die Variable zu schreiben, drücken Sie Strg + F7.

    Die beiden Werte werden jeweils in die Spalte Wert (3) übertragen. Die Variable xDoorOpen verändert ihren Wert jetzt nicht mehr und die Solltemperatur ist jetzt 9 Grad. Die Variable timTemp wechselt auf den Wert 1s, da nun die Kühlschranktür „geöffnet“ ist und dadurch das Erwärmen durch Simulation schneller als vorher (2s) erfolgen soll.

Setzen von Haltepunkten und schrittweise Ausführung zur Laufzeit

„Debuggen“: Für die Fehlersuche wollen Sie die Variablenwerte an bestimmten Codestellen überprüfen. Dazu können Sie Haltepunkte für die Abarbeitung definieren und eine schrittweise Ausführung der Anweisungen veranlassen.

Voraussetzung: Die Applikation ist auf die Steuerung geladen und läuft.

  1. Öffnen Sie mit einem Doppelklick auf Simulation das Programm im Editor.

  2. Setzen Sie den Cursor in die Codezeile iCounter := iCoutner + 1; und drücken Sie F9

    Vor der Codezeile erscheint das Symbol _cds_icon_breakpoint_activated.png. Es zeigt an, dass an dieser Zeile ein Haltepunkt gesetzt ist. Das Symbol wechselt sofort zu _cds_icon_breakpoint_halt.png. Der gelbe Pfeil zeigt immer auf die nächste abzuarbeitende Anweisung. In der Taskleiste erscheint _cds_icon_halt_on_bp_iin_status_bar.png anstelle von _cds_icon_run_in_status_bar.png.

  3. Betrachten Sie den Wert der Variablen iCounter im Inlinemonitoring oder im Deklarationsteil des Programms Simulation.

    Der Variablenwert verändert sich nicht mehr. Die Abarbeitung wurde am Haltepunkt gestoppt.

  4. Drücken Sie F5, was die Abarbeitung wieder startet.

    Das Programm stoppt nach 1 Zyklus erneut am Haltepunkt. iCounter wurde um 1 hochgezählt.

  5. Drücken Sie F8, um den nächsten Abarbeitungsschritt auszuführen.

    RETURN am Ende der Zeile iCounter := iCounter + 1; Anweisung wird gelb markiert.

  6. Drücken Sie erneut F8, um den nächsten Abarbeitungsschritt auszuführen.

    Die Abarbeitung springt in den Editor von PLC_PRG. Wiederholtes Drücken von F8 zeigt, wie das Programm Schritt für Schritt ausgeführt wird. Die auszuführende Anweisung wird wieder jeweils mit einem gelben Pfeil gekennzeichnet.

  7. Um den Haltepunkt zu deaktivieren und zur normalen Abarbeitung zurückzukehren, setzen Sie den Cursor erneut in die Codezeile und drücken F9. Drücken Sie dann F5, um die Applikation wieder in den Modus _cds_icon_run_in_status_bar.png zu bringen.

Ausführen eines Einzelzyklus zur Laufzeit

Voraussetzung: Die Applikation ist auf die Steuerung geladen und läuft.

  1. Beobachten Sie wie oben bei der schrittweisen Ausführung wieder die Zeile iCounter := iCounter + 1; im Programm Simulation.

  2. Drücken Sie Strg + F5 oder wählen Sie den Befehl Debug → Einzelzyklus, um einen Einzelzyklus auszuführen.

    Die Abarbeitung durchläuft 1 Zyklus und bleibt wieder auf dem Haltepunkt stehen. iCounter wurde um 1 hochgezählt.

  3. Drücken Sie weitere Male Strg + F5, um Einzelzyklen zu sehen. Drücken Sie dann wieder F5.

    Das Programm läuft wieder ohne Halt und ohne geforcte Werte. Die Variable temp hat wieder den Wert 1s. In der Statusleiste erscheint wieder _cds_icon_run_in_status_bar.png.