SPS-Operationssteuerung über Systemvariablen
Achtung
Es liegt in Ihrer Verantwortung, dass Laufzeitsystemdienste in sicheren Applikationszuständen aktiviert und nur in kritischen deaktiviert sind.
Eine Anlage oder Applikation kann zur Laufzeit in einen sensiblen Zustand kommen, in dem störende Aktionen die gesamte Maschine oder Anlage gefährden können. Sie können aber in diesem Zustand bestimmte Befehle unterdrücken und gefährliche Aktionen verhindern. Hierfür steht Ihnen der Funktionsbaustein PlcOperationControl der Bibliothek Component Manager zur Verfügung.
Beispiele von CODESYS-Befehlen, deren Ausführung unterdrückt werden kann:
Online-Change, Download
Haltepunkt aktivieren
Applikation Reset, Applikation Stop
Dateien übertragen
Werte forcen, Werte schreiben
Der Befehl Reset Ursprung Gerät kann nicht deaktiviert werden, so dass Sie sich nicht komplett aus dem Laufzeitsystem aussperren können. Dieser Befehl ist die letzte Möglichkeit, ein komplett gesperrtes Laufzeitsystem zu öffnen, wo alle kritischen Operationen deaktiviert sind. Dies ist in der der Regel akzeptabel, da dieser Befehl erweiterte Zugriffsrechte in der Gerätebenutzerverwaltung erfordert.
Wenn zur Laufzeit der Applikation ein Laufzeitsystemdienst angefordert wird, der aber gerade deaktiviert ist, erhalten Sie in CODESYS eine Meldung darüber. Sie können dann mit einer passenden Gegenmaßnahmen darauf reagieren.
Funktionsbaustein PlcOperationControl zur Operationssteuerung
Der Funktionsbaustein dient der Aktivierung und Deaktivierung von Operationen.
Name | Datentyp | Initialwert | Beschreibung |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Kann auch über PLCHandler/IecVarAccess unterbunden werden. |
|
|
|
|
|
|
|
|
|
|
|
|
Operationssteuerung implementieren
Compilerversion ab
3.4.3.0
In der Gerätebeschreibung ist die SPS-Operationssteuerung über Systemvariablen aktiviert.
Deklarieren Sie eine Instanz des Funktionsbausteins
PlcOperationControl
, zum BeisplelPlcOpCtrl_Inst
.PlcOpCtrl_Inst : PlcOperationControl;
Unterdrücken Sie einen Befehl, indem Sie der zugehörigen Eigenschaft
TRUE
zuweisen, zum Beispiel „Applikation stoppen“.PlcOpCtrl_Inst.xDIsableApplicationStop := TRUE;