



VORSICHT

Das außerordentliche Ändern von Variablenwerten in einer auf der Steuerung laufenden Applikation kann zu unerwünschtem Verhalten der gesteuerten Anlage führen.
Evaluieren Sie mögliche Gefahren vor einem Forcen von Variablenwerten und treffen Sie entsprechende Sicherheitsvorkehrungen. Abhängig von der gesteuerten Anlage könnten Schäden an der Anlage und Werkstücken entstehen oder Gesundheit und Leben von Personen gefährdet sein.
Sie können in CODESYS den Wert von Variablen auf der Steuerung im Onlinebetrieb verändern. Dabei wird unterschieden zwischen Forcen und Schreiben eines vorher vorbereiteten Werts.
Das Schreiben erfolgt mit dem Befehl „Werte schreiben“, [Strg] + [F7] und setzt die Variable einmalig auf den vorbereiteten Wert. Der Wert kann somit jederzeit durch das Programm wieder überschrieben werden.
Das Forcen erfolgt mit dem Befehl „Werte forcen“, [F7] und setzt den vorbereiteten Wert dauerhaft. Sehen Sie weiter unten für genauere Informationen.
Das Vorbereiten eines Wertes für das Forcen oder Schreiben ist an verschiedenen Stellen möglich:
-
Deklarationsteil: Feld „Vorbereiteter Wert“
-
Implementierungsteil des FUP/KOP/AWL-Editors: Inline-Monitoring-Feld
-
Monitoring-Fenster: Feld „Vorbereiteter Wert“
Anleitungen dazu finden Sie weiter unten. Falls Sie einen Wert für eine bereits geforcte Variable neu vorbereiten wollen, öffnet sich dazu den Dialog „Wert vorbereiten“ mit Optionen zum Umgang mit dem aktuellen Force-Wert.
Funktionsweise des Forcens
Das Setzen des vorbereiteten Werts auf die betreffende Variable erfolgt jeweils am Beginn und Ende eines Taskzyklus (beziehungsweise einer Abarbeitungsschleife im Falle anderer Tasktypen).
Die Abarbeitungsfolge in jedem Zyklus einer Task ist wie folgt:
1. Einlesen der Eingänge
2. Forcen: Vor dem ersten Programmaufruf werden alle vorbereiteten Werte vom Laufzeitsystem auf die Variablen geschrieben, egal ob diese von der Task verwendet werden oder nicht.
3. Abarbeitung des IEC-Codes
4. Forcen: Nach dem letzten Programmaufruf werden alle vorbereiteten Werte vom Laufzeitsystem auf die Variablen geschrieben, egal ob diese von der Task verwendet werden oder nicht.
5. Schreiben der Ausgänge
Beachten Sie dabei: Es ist möglich, dass eine geforcte Variable während der Codeabarbeitung im Zyklus vorübergehend einen anderen Wert bekommt, weil der IEC-Code eine Zuweisung durchführt. Die Variable erhält dann erst wieder am Ende des Zyklusses den geforcten Wert. Auch durch den Schreibzugriff eines Clients auf Symbole der Applikation kann der Variablenwert mitten im Zyklus überschrieben werden. Sehen Sie für diesen Fall die Option „Variablenzugriff synchron zur IEC-Task“ in den „Eigenschaften“ des Geräteobjekts, beziehungsweise die Einstellung „Synchronisierung mit IEC-Tasks konfigurieren“ in der Symbolkonfiguration. Damit kann eine durch den PLCHandler unterstützte Synchronisierung der Schreibzugriffe durch Clients mit dem Taskzyklus aktiviert werden.




HINWEIS

Geforcte Werte sind mit dem Symbol gekennzeichnet. CODESYS führt das Forcen durch, bis es explizit durch den Anwender durch eiine der folgenden
Aktionen aufgehoben wird:
-
Ausführen des Befehls „Forcen für alle Werte aufheben“
-
Aufheben des Forces über den Dialog „Wert vorbereiten“
-
Ausloggen aus der Applikation
Wenn beim Ausloggen noch geforcte Variablen vorhanden sind, öffnet sich ein Dialog mit der Abfrage, ob das Forcen für alle Variablen aufgehoben werden soll. Wenn Sie dies mit „Nein“ beantworten, gelten die geforcten Werte beim nächsten Einloggen wieder.
Forcen im Deklarationsteil
Voraussetzung: Ihre Applikation enthält einen Baustein mit Deklarationen. Die Applikation befindet sich im Onlinebetrieb.
-
Öffnen Sie den Baustein im Editor mit dem Befehl „Projekt Objekt bearbeiten“.
-
Führen Sie im Deklarationsteil des Editors einen Doppelklick in der Spalte (1) „Vorbereiteter Wert“ einer Variablen aus.
Das Feld wird editierbar und Sie können einen Wert eingeben. Wenn es sich um eine boolsche Variable handelt, ändern Sie den Wert mit einem Klick auf das Feld.
-
Führen Sie den Schritt 2 für weitere Variablen aus.
-
Wählen Sie den Befehl „Debug Werte forcen“.
Die Werte der Variablen werden mit den vorbereiteten Werten überschrieben. Die Werte sind mit dem Symbol
gekennzeichnet.
Sie können Werte von Variablen auch in der Ansicht „Überwachen“ forcen.
Forcen im Implementierungsteil
Voraussetzung: Die Applikation befindet sich im Onlinebetrieb.
-
Öffnen Sie den Baustein im Editor mit dem Befehl „Projekt Objekt bearbeiten“.
-
Führen Sie im Implementierungsteil des Editors einen Doppelklick auf ein Inline-Monitoring-Feld (1).
Es öffnet sich der Dialog „Werte vorbereiten“.
-
Geben Sie im Feld „Einen neuen Wert für die nächste Schreib- oder Force-Operation vorbereiten“ den neuen Wert ein.
Der vorbereitete Wert erscheint im Inline-Monitoring-Feld.
-
Wählen Sie den Befehl „Debug Werte forcen“.
Der Wert der Variablen wird mit den vorbereiteten Werten überschrieben. Die Werte sind mit dem Symbol
gekennzeichnet.
Alle geforcten Variablen in 1 Liste sehen und bearbeiten
Voraussetzung: Die Applikation befindet sich im Onlinebetrieb. Mehrere Variablen sind im geforcten Zustand.
-
Wählen Sie Befehl „Ansicht Überwachen Alle Forces anzeigen“
Die Ansicht „Alle Forces anzeigen“ erscheint. Sie enthält in der Form einer Überwachen-Liste alle aktuell geforcten Variablen der Applikation.
-
Selektieren Sie alle Zeilen der Liste und wählen Sie in der Auswahlliste links oben in der Ansicht „Force aufheben Forcen aufheben und alle ausgewählten Werte beibehalten“.
Das Forcen für die Variablen wird aufgehoben, sie erhalten die Werte, die sie vor dem Forcen hatten.
Forcen eines Funktionsbausteineingangs im CFC
Voraussetzung: Eine Applikation mit einem CFC-Programmbaustein, der wiederum einen Funktionsbaustein enthält, befindet sich im Offlinebetrieb.




HINWEIS

Diese Art des Forcens verwendet intern einen Datenhaltepunkt und ist damit vom Forcen über den Befehl „Werte forcen“ bzw. [F7] zu unterscheiden!
Werte, die über den Befehl „FB-Eingang forcen“ geforct wurden, reagieren nicht auf die Befehle „Alle Forces anzeigen“ oder „Forcen für alle Werte aufheben“.
-
Öffnen Sie den Editor des CFC-Programmbausteins mit einem Doppelklick auf das Objekt im Baum.
-
Loggen Sie mit der Applikation auf dem Zielgerät ein.
-
Wenn Sie Compilerversion 3.5.11.x oder 3.5.12.x verwenden: Aktivieren Sie für den gewünschten Funktionsbaustein die "Forcebarkeit". Dazu selektieren Sie das Bausteinelement im CFC und wählen den Befehl „CFC Bausteinelement für Forcen vorbereiten“.
-
Selektieren Sie im CFC den Eingang des Funktionsbausteins und wählen Sie im Kontextmenü den Befehl „FB-Eingang forcen“.
Der Dialog „Wert forcen“ erscheint.
-
Setzen Sie einen neuen Wert für den Eingang. Beispiel im Fall eines
TON
-Bausteins:FALSE
für den boolschen EingangIN
, odert#4s
für den EingangPT
(TIME). Bestätigen Sie mit „OK“.Der gesetzte Wert wird sofort geforct. Das Bausteinelement erhält oben links einen grünen Kreis und der Name des Eingangs innerhalb des Elements wird grün hinterlegt. Bei einem boolschen Wert erscheint am Eingang außerdem ein kleines Monitoringfenster mit der Angabe des Werts. In Monitoringansichten wie beispielsweise im Deklarationsteil erscheint der geforcte Wert in Spalte „Wert“.
-
Um den geforcten Wert wieder zu entfernen, wählen Sie erneut den Befehl „FB-Eingang forcen“. Im Dialog „Wert forcen“ wählen Sie nun die Option „Wert entfernen“.
Das Forcen wird zurückgenommen. Der Eingang erhält wieder den aktuellen Wert von der Steuerung.