EVC, Exchange Variable Connection
Dieser Mechanismus vereinfacht den Datenaustausch zwischen der Sicherheitsapplikation und der Standardapplikation in einer Compound Safety PLC.
Der Mechanismus EVC unterstützt mit Hilfe eines Editors die Auswahl der Variablen, die aus der Sicherheitsapplikation in der Standardapplikation verwendet werden sollen.

In der Standardapplikation stehen die ausgewählten Variablen dann zur Verfügung und können wie herkömmliche Variablen verwendet werden.
safe_Counter := EVC.POU.safeCounter unsafe_Counter := EVC.EVL.unsafeCounter;
Die EVC ermöglicht den Austausch von Variablen:
innerhalb von verwendeten Globalen Variablen Listen (GVL), Exchange Variable Listen (
EVL) und Programmen (PRG) der Sicherheitsapplikation
mit herkömmlichen sowie benutzerdefinierten Datentypen
Die in der EVC ausgewählten Variablen außerhalb einer EVL sind als Messpunkte (englisch: Probe) zu verstehen, die dazu verwendet werden können, in der bestehenden Sicherheitsapplikation Werte ohne Eingriff analysieren zu können.

Der Messpunkt S_xActive wird per EVC in der Standardapplikation verfügbar gemacht und kann lesend verwendet werden.

Die ausgewählten Variablen, die sich innerhalb einer EVL befinden, können in der Standardapplikation beschrieben werden.
EVC.EVL.xEnable := xCAN_In_ONSWITCH;
Eine solche Variable kann dann in der Sicherheitsapplikation auch als unsicherer Eingang verwendet werden (beispielsweise zum kontrollierten Abschalten einer Maschine).

Generell gilt für Variablen, die über eine EVC zur Verfügung gestellt werden
Variablen innerhalb einer EVL können problemlos aus der Standardapplikation geschrieben und gelesen werden.
Variablen außerhalb einer EVL können problemlos aus der Standardapplikation gelesen werden. Ein Schreibzugriff kann jedoch aufgrund eines evtl. vorhandenen Speicherschutzes zum Sicheren Zustand der Sicherheitsapplikation führen.
Einschränkungen bei der Verwendung der EVC
Funktionsbausteine stellen nur Schnittstellenvariablen zur Verfügung. Hierzu zählen alle Variablen, welche im Deklarationsteil des FBs deklariert sind. Das heißt Properties, Transitions, Aktionen und Methoden können in der Standardapplikation nicht verwendet werden.
Funktionsbausteine, welche durch die EVC zur Verfügung stehen, dürfen von der Standardapplikation nicht aufgerufen werden.


Anmerkungen
Alle über EVC zur Verfügung gestellten Variablen sind „Referenzen“ (definiert als „REFERENCE TO“) auf die tatsächlichen Variablen der Sicherheitsapplikation. Dies bedeutet beispielsweise, dass der ADR-Operator auf diesen Variablen nicht verwendet werden kann.
Abhängig von der verwendeten Steuerung ist unter Umständen nicht sichergestellt, dass die Werte der über EVC zur Verfügung gestellten Variablen konsistent sind. Beim Austausch einfacher einzelner Datentypen mit Ausnahme von LINT, ULINT und LWORD stellt dies kein Problem dar. Beim Austausch zusammenhängender Daten muss die Konsistenz anderweitig (beispielsweise über entsprechende Lese-/Schreibflags) sichergestellt werden.
Überprüfung des EVC-Status
Die EVC stellt eine Verbindung zwischen einer Sicherheitsapplikation und einer Standardapplikation her. Damit zur Laufzeit erkannt werden kann, ob sich die durch die EVC zur Verfügung gestellten Variablen noch auf die dazugehörigen Variablen der Sicherheitsapplikation beziehen, stellt die EVC einen Mechanismus zur Verfügung.