Funktionen des Master Control Relay

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:

  • # Konnektor
  • = Zuweisung
  • R Ausgang rücksetzen
  • S Ausgang setzen
  • SR Speicherglied setzen rücksetzen
  • RS Speicherglied rücksetzen setzen
  • MOVE Wert übertragen

Ü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"
(imitiert ein Relais das bei Spannungsabfall in den Ruhezustand geht)

schreibt nicht
(imitiert ein Relais das bei Spannungsabfall in seinem aktuellen Zustand bleibt)

Schreibt "0"
(imitiert eine Komponente, die bei Spannungsausfall einen Wert von "0" liefert

Signalzustand "1"

normale Bearbeitung

normale Bearbeitung

normale Bearbeitung

Wichtiges zum Beachten bei MCR-Funktionalität

Vorsicht bei Bausteinen, in denen mit MCRA das Master Control Relay aktiviert wurde:

  • Das MCR ist genau dann abgeschaltet, wenn vor dem Befehl "MCR einschalten" das VKE = 0 war.
  • Wenn das MCR abgeschaltet ist, wird in Programmabschnitten zwischen MCR einschalten und MCR ausschalten durch alle Zuweisungen der Wert 0 geschrieben! Das betrifft dann natürlich auch alle Boxen, die eine Zuweisung enthalten, einschließlich der Parameterübergabe an Bausteine!

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:

  • Zugriffe auf Komponenten komplexer FC-Parameter vom Typ STRUCT, UDT, ARRAY, STRING
  • Zugriffe auf Komponenten komplexer FB-Parameter vom Typ STRUCT, UDT, ARRAY, STRING aus dem Bereich IN_OUT in einem Baustein der Bausteinversion 2.
  • Zugriffe auf Parameter eines FB der Bausteinversion 2, wenn ihre Adresse größer als 8180.0 ist.
  • Zugriff im FB mit Bausteinversion 2 auf einen Parameter vom Typ BLOCK_DB schlägt den DB 0 auf. Nachfolgende Datenzugriffe bringen die CPU in STOP. Bei TIMER, COUNTER, BLOCK_FC, BLOCK_FB wird auch immer T 0, Z 0, FC 0 bzw. FB 0 verwendet.

- Parameterübergabe:

  • Calls, bei denen Parameter übergeben werden.

- Funktionsplan/Kontaktkplan:

  • T-Abzweige und Konnektoren in KOP oder FUP starten mit VKE = 0.

Zu folgender Abhilfe wird geraten:

Lösen der genannten Befehle aus der MCR-Abhängigkeit:

  • Als erstes deaktivieren des Master Control Relay mit dem MCRD-Befehl vor der betreffenden Anweisung bzw. vor dem betreffenden Netzwerk.
  • Als zweites aktivieren des Master Control Relay mit dem MCRA-Befehl nach der betreffenden Anweisung bzw. nach dem betreffenden Netzwerk.

Die Operationen Master Control Relay Anfang / MCRA und Master Control Relay Ende / MCRD

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.

Operationen Master Control Relay Anfang Operationen Master Control Relay Anfang

Die Operationen Master Control Relay einschalten / MCR< und Master Control Relay ausschalten / MCR>

Funktionsbox MCR einschalten in Funktionsplan FUP
Funktionsbox MCR einschalten in Funktionsplan FUP

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). 

Funktionsbox MCR ausschalten in Funktionsplan FUP
Funktionsbox MCR ausschalten in Funktionsplan FUP

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.