Debuggen: Forcen, Überschreiben, Einzelzyklus-Betrieb
Dieses Thema enthält folgende Informationen:
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 Variablenstatus 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:
Öffnen von Arbeitsblättern im Variablenstatus, um Online-Werte anzuzeigen.
Überschreiben von lokalen und globalen symbolischen Variablen (Merkervariablen).
Forcen von globalen I/O-Variablen (Prozessdaten-Elementen).
Schrittweises Ausführen des Anwendungsprogramms im Einzelzyklus-Betrieb (Zyklus für Zyklus).
Der Debug-Modus und das Forcen von I/Os wird auch von der Steuerungssimulation 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 Programmausfü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 Überschreibens 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 Sektornormen, 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?
Überschreiben ist bei Variablen ohne zugewiesenem Prozessdaten-Element möglich (d.h. symbolische Variablen, aber keine I/O-Variablen).
Der Wert wird zu Beginn jedes Arbeitszyklus überschrieben (gesetzt). Danach wird die Variable wieder normal verarbeitet. Der neue Wert der Variablen bleibt erhalten, bis ein Schreibzugriff erfolgt. Ein Schreibzugriff kann durch eine programmierte Speicheroperation erfolgen oder durch Initialisierung im Falle eines Kaltstarts der Sicherheitssteuerung.
Forcen ist nur bei Variablen möglich, die mit Prozessdaten-Elementen verbunden sind, d.h. bei I/O-Variablen (physikalische Ein- und Ausgänge).
Forcen bedeutet, die I/O-Variable so lange auf den Force-Wert zu setzen, und zwar unabhängig von der Logik des Prozessabbilds (I/O-Image), bis das Forcen durch den Anwender zurück genommen wird.
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 Sicherheitssteuerung 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 Ausgangsvariablen. 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 Prozessabbild (I/O Image) aktualisiert und der Variablenstatus gelesen und angezeigt wurde.
So forcen bzw. überschreiben Sie Variablen
Klicken Sie in der Symbolleiste auf das Symbol 'Sicherheitssteuerung'.
Es erscheint der Kontrolldialog 'Sicherheitssteuerung'.
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 > Sicherheitssteuerung anmelden' und geben das Kennwort für die Sicherheitssteuerung ein.
Weitere Informationen finden Sie im Thema "Kennwortschutz ...".
Klicken Sie im Kontrolldialog auf die Tastenfläche 'Debug', um die Sicherheitssteuerung in den Debug-Modus zu schalten.
Lesen Sie die nun erscheinende Systemmeldung und bestätigen Sie den Dialog innerhalb von 30 Sekunden.
Öffnen Sie das Arbeitsblatt, das Sie debuggen möchten, im Variablenstatus, indem Sie in der Symbolleiste auf das Symbol 'Variablenstatus' klicken oder <F10> drücken.
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 Variablen erscheinen.
Beispiel
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 sicherheitsbezogene 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 sicherheitsbezogene Boolesche Variable mit TRUE zu forcen.
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 angezeigt.
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 -Tastenfläche, um die symbolische Variable zu überschreiben.
So heben Sie das Forcen für Variablen auf
Wählen Sie den Menüpunkt 'Debug-Dialog...' aus dem Kontextmenü der Variablen (im Variablenstatus).
Es erscheint der 'Debug'-Dialog.
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.
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].
Weitere Informationen über die im Dialog verfügbaren Tastenflächen finden Sie im Thema "Kontrolldialog der 'Sicherheitssteuerung'". |
|