Debuggen: Forcen, Überschreiben, Einzelzyklus-Betrieb

 

Dieses Thema enthält folgende Informationen:

Was ist der Debug-Modus?

Um das Verhalten der Sicherheitssteuerung (d.h. Ihrer Sicherheitslogik) testen zu können, bietet EcoStruxure Machine Expert - Safety als Ergänzung zum obligatorischen Funktionstest die Möglichkeit, den Vari­ablenstatus anzuzeigen. In diesem Modus werden zyklisch Online-Werte aus der Sicherheitssteuerung ausgelesen und im Editor angezeigt.

Zusätzlich zum Funktionstest können Sie während der Inbetriebnahme der Applikation auch den Debug-Modus in EcoStruxure Machine Expert - Safety verwenden. Anstatt beispielsweise den NOT-HALT-Taster zu drücken, können Sie im FBS/KOP-Editor die entsprechende Variable dieses sicherheitsbezogenen Befehlsgeräts forcen.

Der Debug-Modus bietet folgende Möglichkeiten:

Der Debug-Modus und das Forcen von I/Os wird auch von der Steuer­ungssimulation EASYSIM unterstützt.

HINWEIS:

Das Umschalten der Sicherheitssteuerung in den Debug-Modus ist nur möglich, wenn Sie auf der Sicherheitssteuerung angemeldet sind.

Sicherheitsbezogene Programmausführung

Der Debug-Modus wird als nicht-sicherheitsbezogen betrachtet, da durch das Forcen/Überschreiben von Variablen die Programmaus­führung beeinflusst wird.

WARNUNG

UNBEABSICHTIGTER BETRIEBSZUSTAND DES GERÄTS

  • Stellen Sie vor dem Umschalten in den Debug-Modus sicher, dass geeignete organisatorische Maßnahmen (gemäß zutreffender Sektornormen) getroffen wurden, um Gefährdungen im Falle einer ungewollten oder falschen Funktion der Sicherheitslogik oder eines falsch gewählten Zielsystems zu vermeiden.

  • Verifizieren Sie die Auswirkungen des Forcens oder Übersch­reibens von Variablen oder der Verwendung des Einzelzyklus-Betriebs.

  • Betreten Sie den Betriebsbereich nicht, während die Maschine in Betrieb ist.

  • Stellen Sie sicher, dass keine anderen Personen den Betriebsbereich betreten können, während die Maschine in Betrieb ist.

  • Beachten Sie die vorgegebenen Richtlinien in relevanten Sektor­normen, wenn die Maschine in einer anderen Betriebsart als "In Betrieb" läuft.

  • Verwenden Sie geeignete Sicherheitsverriegelungen, wenn eine Gefahr für Personen und/oder Ausrüstung besteht.

Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Körperverletzungen oder Sachschäden zur Folge haben.

HINWEIS:

Der Test der Sicherheitsanwendung im Debug-Modus darf den echten Funktionstest mit Hilfe der sicherheitsbezogenen I/O-Geräte/Sensoren/Aktoren keinesfalls ersetzen. Der Test im Debug-Modus darf nur zusätzlich zum normalen Funktionstest durchgeführt werden.

Forcen und Überschreiben von Variablen im Debug-Modus

Forcen und Überschreiben bedeutet, einer Variablen einen neuen Wert zuzuweisen. Beide Operationen sind nur möglich, während der Debug-Modus aktiv ist. Was ist der Unterschied zwischen Forcen und Überschreiben?

Zeitlicher Ablauf im Arbeitszyklus der Sicherheitssteuerung beim Forcen von Variablen

Prinzipiell wird einmal pro Zyklus geforct. Der Zeitpunkt, zu dem eine Variable auf den Force-Wert gesetzt wird, hängt vom Typ der Variablen ab:

  • Eingänge werden zu Beginn des Zyklus geforct, d.h. bevor die Eingangsvariable verarbeitet wird. Die Applikation der Sicherhe­itssteuerung verwendet also immer den Force-Wert.

  • Ausgänge werden am Ende des Zyklus geforct. Der von der Applikation berechnete Variablenwert wird letztendlich im Ausgangsabbild durch den Force-Wert ersetzt.

    HINWEIS:

    EcoStruxure Machine Expert - Safety erlaubt das Lesen von Ausgangs­variablen. Wenn eine Ausgangsvariable geforct wird und wenn diese Ausgangsvariable innerhalb desselben Zyklus der Sicherheitssteuerung auch gelesen wird, dann erfolgt das Lesen vor dem Forcen. In diesem Fall wird der aktuelle, von der Applikation berechnete Wert gelesen und weiterverarbeitet, nicht der Force-Wert.

    Da der Force-Wert am Ende des Zyklus geschrieben wird, kann der angezeigte Online-Wert vom Force-Wert abweichen, bis das Prozess­abbild (I/O Image) aktualisiert und der Variablenstatus gelesen und angezeigt wurde.

So forcen bzw. überschreiben Sie Variablen

  1. Klicken Sie in der Symbolleiste auf das Symbol 'Sicherheitssteuerung'.

    Es erscheint der Kontrolldialog 'Sicherheitssteuerung'.

  2. Noch nicht bei der Sicherheitssteuerung angemeldet?

    Falls Sie sich noch nicht bei der Sicherheitssteuerung angemeldet haben, ist im Kontrolldialog die Tastenfläche zum Umschalten in den Debug-Modus inaktiv. Um sich anzumelden, wählen Sie 'Online > Sich­erheitssteuerung anmelden' und geben das Kennwort für die Sicherhe­itssteuerung ein.

    Weitere Informationen finden Sie im Thema "Kennwortschutz ...".

  3. Klicken Sie im Kontrolldialog auf die Tastenfläche 'Debug', um die Sich­erheitssteuerung in den Debug-Modus zu schalten.

    Lesen Sie die nun erscheinende Systemmeldung und bestätigen Sie den Dialog innerhalb von 30 Sekunden.

  4. Öffnen Sie das Arbeitsblatt, das Sie debuggen möchten, im Vari­ablenstatus, indem Sie in der Symbolleiste auf das Symbol 'Vari­ablenstatus' klicken oder <F10> drücken.

    iconVariableState.gif
  5. In FBS/KOP-Code oder Variablen-Arbeitsblättern:

    Rechtsklicken Sie auf die zu forcende/überschreibende Variable und wählen Sie aus dem Kontextmenü 'Debug-Dialog...' oder doppelklicken Sie auf die Variable. Es erscheint der 'Debug'-Dialog.

    In ST-Code:

    Doppelklicken Sie auf den Wert (nicht auf den Namen) einer Online-Variablen (gelber Hintergrund), um diese zu überschreiben. Das Wertefeld und die Tastenfläche zum Überschreiben der Vari­ablen erscheinen.

    BeispielST_Force.png 

  6. In FBS/KOP-Code oder Variablen-Arbeitsblättern:

    Geben Sie im 'Debug'-Dialog für eine nicht-boolesche Variable den gewünschten Wert in das Textfeld ein. Für eine boolesche Variable wählen Sie TRUE oder FALSE.

    In ST-Code:

    Geben Sie für eine nicht-boolesche Variable den gewünschten Wert in das Textfeld ein. Für eine boolesche Variable wählen Sie TRUE oder FALSE.

    HINWEIS:

    Geben Sie die Werte zum Überschreiben/Forcen für sicherheitsbezo­gene Variablen unter Angabe des Datentyps (Typisierung) im folgenden Format ein: SAFEINT#Wert, SAFEBYTE#Wert, SAFEWORD#Wert, SAFEDWORD#Wert oder SAFETIME#Werts.

    (Wert gibt dabei den tatsächlichen Wert an, z.B. SAFEINT#13 oder SAFETIME#1s.)

    Um eine sicherheitsbezogene Boolesche Variable mit FALSE zu forcen, geben Sie entweder SAFEBOOL#0 oder SAFEFALSE ein. Verwenden Sie entsprechend SAFEBOOL#1 oder SAFETRUE, um eine sicherheits­bezogene Boolesche Variable mit TRUE zu forcen.

  7. In FBS/KOP-Code oder Variablen-Arbeitsblättern:

    • Klicken Sie auf 'Überschreiben', um eine symbolische Variable (keine I/O-Variable) zu überschreiben.

    • Klicken Sie 'Forcen', um eine I/O-Variable zu forcen.

      Im Online-Modus werden geforcte Variablen in Code-Arbeitsblättern und in globalen Variablen-Arbeitsblättern mit rosa Hintergrund ange­zeigt.

    Forcen ist in ST-Code-Arbeitsblättern nicht möglich, da I/O-Variablen in ST-POEs nicht verarbeitet werden können.

    Klicken Sie auf die ico_overwrite.gif-Tastenfläche, um die symbolische Variable zu überschreiben.

So heben Sie das Forcen für Variablen auf

  1. Wählen Sie den Menüpunkt 'Debug-Dialog...' aus dem Kontextmenü der Variablen (im Variablenstatus).

    Es erscheint der 'Debug'-Dialog.

  2. In diesem Dialog können Sie eine bestimmte geforcte Variable oder alle geforcten Variablen rücksetzen.

    • 'Forcen zurück' setzt die markierte Variable zurück.

    • 'Forceliste rücksetzen' setzt alle geforcten Variablen zurück.

Einzelzyklus-Betrieb

HINWEIS:

EcoStruxure Machine Expert - Safety zeigt während des Einzelzyklus-Betrieb eine Simulation an. Die Ausgänge der Sicherheitssteuerung werden nicht gesetzt.

Im Debug-Modus stellt EcoStruxure Machine Expert - Safety eine zusätzliche Debug-Funktion zur Verfügung, die als Einzelzyklus-Betrieb bezeichnet wird. Im Einzelzyklus-Betrieb unterbricht die Sicherheitssteuerung die kontinuierliche zyklische Programmausführung.

Um diesen Modus einzuschalten, drücken Sie im Kontrolldialog 'Sicherheitssteuerung' die Tastenfläche 'Halt'. Der Zustand der Sicherheitssteuerung wechselt auf HALT [Debug].

  • Durch Anklicken der Tasten­fläche 'Einzelzyklus' wird genau ein Zyklus abgearbe­itet. Danach wartet die Sich­erheitssteuerung auf den nächsten Befehl.

  • Mit der Tastenfläche 'Weiter' setzt die Sicherheitss­teuerung die normale zyklische Abarbeitung fort.

Weitere Informationen über die im Dialog verfügbaren Tastenflächen finden Sie im Thema "Kontrolldialog der 'Sicherheitssteuerung'".

  DlgControl_Debug_HALT.gif