Was ist das Master Control Relay?
Zum aktivieren bzw. deaktivieren des Signalflusses verwendet man das Master Control Relay. Ein deaktivierter Signalfluß entspricht einer Operationsfolge, die statt des errechneten Wertes einen Nullwert schreibt bzw. einer Operationsfolge, die den bestehenden Speicherwert unverändert läßt. Die Operationen Konnektor und Zuweisung schreiben, wenn das MCR "0" ist, eine "0" in den Speicher. Die Operationen Ausgang zurücksetzen und Ausgang setzen verändern den bestehenden Wert nicht.
Um das Risiko möglicher Personen- oder Sachschäden auszuschließen, darf das Master Control Relay MCR niemals als Ersatz für ein festverdrahtetes mechanisches Master Control Relay, das als NOT-AUS-Einrichtung dient, verwendet werden!
Diese Operationen hängen vom Master Control Relay MCR ab:
Übersicht über die Reaktionen der Operationen auf den Signalzustand des Master Control Relay MCR
Signalzustand des Master Control Relay MCR | auf die Operationen Konnektor und Zuweisung | auf die Operationen Operand setzen oder zurücksetzen | auf die Operation MOVE / Wert übertragen |
|---|---|---|---|
Signalzustand "0" | schreibt "0" | schreibt nicht | Schreibt "0" |
Signalzustand "1" | normale Bearbeitung | normale Bearbeitung | normale Bearbeitung |
Vorsicht bei Bausteinen, in denen mit MCRA das Master Control Relay aktiviert wurde:
Gefahr: STOP der Ablaufsteuerung oder undefiniertes Laufzeitverhalten!
Der Compiler greift für Adreßberechnungen auch schreibend auf Lokaldaten hinter den in VAR_TEMP definierten temporären Variablen zu. Daher setzen folgende Befehlssequenzen die Ablaufsteuerung in STOP oder führen zu undefiniertem Laufzeitverhalten:
- Formalparameterzugriffe:
- Parameterübergabe:
- Funktionsplan/Kontaktkplan:
Zu folgender Abhilfe wird geraten:
Lösen der genannten Befehle aus der MCR-Abhängigkeit:
Die MCR-Abhängigkeit der auf die Operation MCRA (Master Control Relay Anfang) folgenden Operationen wird durch diese Operation eingeschaltet. Nach der Operation MCRA können MCR-Zonen programmiert werden, die über die Operation MCR< eingeschaltet und ausgeschaltet werden können. Wird ein MCR Bereich aktiviert, dann sind alle MCR-Aktionen vom Inhalt des MCR-Stacks abhängig.
Die Operation Master Control Relay einschalten (MCR<) speichert das VKE im MCR-Stack und öffnet eine MCR Zone. Innerhalb dieser Zone beeinflußt der Signalwert ("0" oder "1") des im MCR-Stack gespeicherten VKE die unter "Funktionen des MCR" aufgeführten Operationen.
Der MCR-Stack faßt maximal 8 Einträge. Bei mehr als 8 Einträgen wird durch die Operation MCR< die Fehlermeldung MCRF erzeugt. Die Funktionsweise des MCR-Stacks gleicht einem LIFO-Zwischenspeicher (LIFO bedeuted last in first out).

Die Operation Master Control Relay ausschalten (MCR>) löscht das VKE im MCR-Stack und schließt die zuletzt geöffnete MCR Zone. Der freiwerdende Eintrag im MCR-Stack wird auf "1" gesetzt.
Ist der MCR-Stack bereits leer wird durch die Operation MCR> die Fehlermeldung MCRF erzeugt.
Mit der Operation MCR> wird das MCR-Bit absolut auf den Wert "1" gesetzt. Das hat zur Folge, das jede auf MCR> folgende Operation zwischen den Operationen MCRA (Master Control Relay Anfang) und MCRD (Master Control Relay Ende) unabhängig vom MCR-Bit arbeitet.
Natürlich besteht auch die Möglichkeit die Operationen MCR< und MCR> zu schachteln. Die Schachtelungstiefe kann maximal 8 Operationen MCR< betragen. Die Operationen MCR< und MCR> dürfen immer nur paarweise verwendet werden. Bei einer Schachtelung von MCR< Operationen wird das MCR-Bit der tieferen Schachtelungsebene gebildet. Das aktuelle VKE wird mit dem aktuellen MCR-Bit durch die Operation MCR< UND-verknüpft. Wird eine Schachtelungsebene durch die Operation MCR> beendet, wird das MCR-Bit der nächsthöheren Ebene einbezogen und verwendet.