Skip to main content

Konfigurationsbeispiele für die sichere Querkommunikation

Wichtig

Die hier aufgeführten Beispiele dienen nur zur Demonstration der Konfiguration von CODESYS Safety NetVars in einem verteilten Projekt und haben nicht den Anspruch der vorschriftsmäßigen Verwendung von Safety-Bausteinen in einem sicherheitskritischen Umfeld. Für ein solches Umfeld sind in jedem Fall die Hinweise im CODESYS Safety Anwenderhandbuch zu beachten.

Die folgenden Beispiele bauen aufeinander auf. In Beispiel 1 wird die Querkommunikation zwischen 2 Steuerungen implementiert. In Beispiel 2 wird das Projekt aus Beispiel 1 um eine dritte Steuerung erweitert, die mit den beiden anderen verschaltet wird. Die POU jeder Sicherheitsapplikation enthält einen Baustein SF_EmergencyStop, der normalerweise als Eingangssignal das Ausgangssignal eines physikalischen Not-Aus-Schalters bekommen würde. Zur Vereinfachung wird dieses Ausgangssignal in den Beispielen durch eine GVL mit einer globalen Variablen simuliert. Durch Verschaltung der jeweiligen Not-Aus-Schalter mit den Safety Netzwerkvariablen als Eingangssignal des SF_EmergencyStop-Bausteins wird beim Auslösen des Schalters einer Steuerung auch der SF_EmergencyStop-Baustein bei den mittels Safety Netzwerkvariablen verbundenen Steuerungen ausgelöst.

Allgemeine Hinweise zur Konfiguration der Safety Netzwerkvariablen in diesen Beispielen

Wichtig

Bevor Änderungen an den Objekten Safety Netzwerkvariablenliste (Sender) und Safety Netzwerkvariablenliste (Empfänger) gemacht werden, sollte sowohl aus der Applikation der zugehörigen Standardsteuerung als auch aus der zugehörigen Sicherheitsapplikation ausgeloggt werden, da gegebenenfalls notwendige abhängige Änderungen an diesen sonst nicht korrekt durchgeführt werden können.

. Erklärung zu den editierbaren Konfigurationswerten der Safety Netzwerkvariablenlisten der Beispiele
  • Registerkarte SPS Netzwerk:

    • Listenidentifikatoren: Die Listenidentifikatoren werden vom unterlagerten NetVarUDP Protokoll zum Zuordnen von Telegrammen benötigt und müssen daher innerhalb der Broadcast-Domäne für ein Safety Netzwerkvariablenlisten Sender- Empfänger Paar eindeutig sein. Listenidentifikatoren werden paarweise angegeben, da je ein Wert für die Richtung (Sender -> Empfänger) und ein Wert für die Richtung (Empfänger -> Sender) benötigt werden.

    • Gruppe der Variablenlisten-Identifikatoren der Hauptsteuerung (Nur bei Safety Netzwerkvariablenlisten (Sender)): Diese Gruppe legt einen eindeutigen Bereich von Listenidentifikatoren fest, der für diese Safety Netzwerkvariablenliste zur Übertragung verwendet werden soll. Die Werte innerhalb einer Gruppe überschneiden sich nicht mit den Werten einer anderen Gruppe.

    • Zielnetzwerkadresse: Wenn die Broadcast-Option nicht verwendet werden soll, ist für die Zielnetzwerkadresse jeweils die IP-Adresse der Gegenstelle, mit der kommuniziert werden soll, zu verwenden. Die IP-Adresse der Steuerung mit der Safety Netzwerkvariablenliste (Sender) ist damit beim Empfänger einzutragen und die IP-Adresse der Steuerung mit der Safety Netzwerkvariablenliste (Empfänger) beim Sender.

    • Port: Kann falls benötigt (zum Beispiel wegen Routern oder Firewalls) angepasst werden. Für die Beispiele wird davon ausgegangen, dass keine Anpassung nötig ist und der Standardwert wird beibehalten. Ein Verbindungspaar von Safety Netzwerkvariablenliste Sender-Empfänger muss den gleichen Port verwenden.

  • Registerkarte Safety Konfiguration (Safety Netzwerkvariablenliste (Sender))

    • Safety Adresse: Diese Adresse muss einen netzwerkweit eindeutigen Wert haben, da sie mit zur internen Identifikation der Verbindung dient (siehe Safety Anwenderhandbuch). Im Beispiel wird daher darauf geachtet, dass sie projektweit eindeutig gemacht wird. Es wird davon ausgegangen, dass keine weiteren Safety Netzwerkvariablen im gleichen Netzwerk konfiguriert wurden.

    • Maximalanzahl von Empfängern: Diese Einstellung bleibt in den Beispielen auf dem Standardwert von 4, um eine Maximalausbaustufe von 4 miteinander kommunizierenden Steuerungen vorzusehen. Eine nachträgliche Änderung dieses Werts führt dazu, dass sowohl die Sicherheitsapplikation, als auch die zugehörigen Applikationen der Standardsteuerung erneut heruntergeladen werden müssen. Eine Erhöhung des Werts erhöht den Ressourcenverbrauch, da der Sender auch für die noch unbenutzten Verbindungen bereits Ressourcen reserviert. Der Wert sollte daher nicht höher als benötigt gesetzt werden.

  • Registerkarte Safety Konfiguration (Safety Netzwerkvariablenliste (Empfänger))

    • Connection ID: Diese ID muss einen netzwerkweit eindeutigen Wert haben, da die Connection ID mit zur internen Identifikation der Verbindung dient (siehe Safety Anwenderhandbuch). Im Beispiel wird daher darauf geachtet, dass sie projektweit eindeutig gemacht wird. Es wird davon ausgegangen, dass keine weiteren Safety Netzwerkvariablen im gleichen Netzwerk konfiguriert wurden.

    • Watchdog-Zeit: Muss für das Beispiel systemspezifisch sinnvoll gesetzt werden. Weitere Anforderungen oder Einschränkungen an den zu verwendenden Wert können sich aus dem Safety Anwenderhandbuch ergeben.

Projektvorbereitung

Tipp

Zum Testen der Netzwerkvariablenfunktion kann der physikalische Not-Aus-Schalter zunächst durch eine GVL mit einer einzelnen SAFEBOOL-Variablen, deren Initialwert auf TRUE gesetzt ist, simuliert werden. Statt einen physikalischen Schalter zu betätigen, kann dann mittels des Befehls Debug → Werte schreiben der Wert dieser Variablen geändert werden, um die Reaktion des verteilten Gesamtsystems zu beobachten.

  1. Legen Sie ein neues Projekt mit dem Template Leeres Safety Projekt mit einer Standardsteuerung und einer darunter hängenden Sicherheitssteuerung an.

  2. Selektieren Sie im Gerätebaum den Knotenpunkt SafetyApp und wählen Sie den Befehl Objekt hinzufügen → Safety Extended-POU .

  3. Geben Sie im Dialog Safety Extended-POU hinzufügen einen Namen für POU ein und wählen Sie als POU-Typ PROGRAM. Anschließend klicken Sie auf Hinzufügen.

  4. Fügen Sie in die geöffnete POU einen Baustein SF_EmergencyStop ein und weisen Sie dem Eingang Activate den Wert TRUE zu.

  5. Fügen Sie der SafetyApp mit dem Befehl Objekt hinzufügen → Safety Globale Variablenliste eine GVL hinzu.

  6. Deklarieren Sie in dieser GVL die globale Variable Local_EStop des Datentyps SAFEBOOL mit dem Initialwert TRUE, die im Beispiel den physikalischen Not-Aus-Schalter ersetzt.

  7. Fügen Sie der Sicherheitsapplikation mittels des Befehls Objekt hinzufügen eine Safety Netzwerkvariablenliste (Empfänger) und eine Safety Netzwerkvariablenliste (Sender) hinzu.

  8. Wenn nötig, passen Sie in der Safety Netzwerkvariablenliste (Empfänger) in der Registerkarte Safety Konfiguration den Wert Watchdog-Zeit so an, dass er zur verwendeten Hardware und zu den Anforderungen an das Zeitverhalten der Applikation passt.

Beispiel 1: Erstellen und Konfigurieren eines Teilnehmers für die sichere Querkommunikation durch Kopieren der Standardsteuerung mit darunter hängender Sicherheitssteuerung

  1. Öffnen Sie die POU von SafetyApp des Projekts und fügen Sie vor dem Baustein SF_EmergencyStop einen Operator AND so ein, dass der Ausgang des Operators AND mit dem Bausteineingang E_StopIn verbunden ist.

  2. Weisen Sie dem ersten Eingang des AND-Operators die globale Variable Local_EStop zu.

  3. Deklarieren Sie in der POU eine lokale Variable bVar_Reset des Datentyps BOOL und verknüpfen Sie diese mit dem Eingang Reset des Bausteins SF_EmergencyStop. Diese wird für das Debuggen benötigt.

  4. Um das Signal des Not-Aus-Schalters (die globale Variable Local_EStop) mit Hilfe einer Safety Netzwerkvariablenliste (Sender) für die Veröffentlichung vorzubereiten, legen Sie in der Safety Netzwerkvariablenliste (Sender) die Variable SApp1_EStop des Datentyps SAFEBOOL an.

  5. Fügen Sie in der POU mit dem Befehl Netzwerk einfügen (unterhalb) ein neues Netzwerk hinzu und weisen Sie der Variablen SApp1_EStop den Wert der Variablen Local_EStop (Signal des Not-Aus-Schalters) zu.

  6. Öffnen Sie den Eigenschaftendialog von SafetyApp benennen Sie diese um in SafetyApp1

  7. Legen Sie nun eine zweite Steuerung an, indem Sie die in den bisherigen Schritten konfigurierte Standardsteuerung mit darunter hängender Sicherheitssteuerung in Ihrem Projekt kopieren und wieder einfügen. Für die kopierte Standard- und Sicherheitssteuerung müssen zunächst die folgenden Anpassungen vorgenommen werden.

  8. Anpassungen an der eingefügten Kopie: Nennen Sie das Objekt SafetyApp1 um in SafetyApp2, da der Name eines Safety Applikationsobjekts innerhalb eines Projekts eindeutig sein muss.

  9. Setzen Sie SafetyApp2 als aktive Applikation und wählen Sie den Befehl Erstellen → Übersetzen . Durch das Übersetzen wird unterhalb der neuen Standardsteuerung eine neue Mapping-Applikation SafetyApp2_Mapping erstellt.

  10. Nach dem Übersetzen werden im Meldungsfenster (Ansicht → Meldungen ) mehrere Fehler bezüglich der sicheren Querkommunikation angezeigt. Diese sollen helfen gängige Konfigurationsfehler aufzuzeigen und sollten als erstes korrigiert werden. Hierfür betrachten Sie die folgenden angezeigten Fehlermeldungen:

    • Fehler P0100 besagt, dass die Gruppe der Listenidentifikatoren im Projekt nicht eindeutig ist (da das Objekt Safety Netzwerkvariablenliste (Sender) kopiert wurde). Zur Beseitigung des Fehlers öffnen Sie das Objekt Safety Netzwerkvariablenliste (Sender) der Applikation SafetyApp2 und geben in der Registerkarte SPS Netzwerk für Gruppe der Variablenlisten-Identifikatoren auf der Hauptsteuerung einen Wert ein, der im Projekt noch nicht vergeben ist, zum Beispiel 2.

      Für eine eindeutige Namensgebung im Beispiel muss der Name der veröffentlichten Variablen noch angepasst werden. Hierfür öffnen Sie die Registerkarte Safety Konfiguration der Safety Netzwerkvariablenliste (Sender) der Applikation SafetyApp2 und ändern den Namen der deklarierten Variablen um in SApp2_EStop.

      Für die Verwendung von Safety Netzwerkvariablen ist es gemäß des Safety Anwenderhandbuchs erforderlich, dass die Safety-Adressen aller verwendeten Sender eindeutig sind. Daher tragen Sie nun in der Registerkarte Safety Konfiguration der Safety Netzwerkvariablenliste (Sender) der Applikation SafetyApp2 eine neue Safety-Adresse dieser Variablenliste ein, zum Beispiel 1001.

    • Fehler P0200 besagt, dass für eine Safety Netzwerkvariablenliste (Empfänger) noch kein zulässiger Sender ausgewählt wurde. Dieser lässt sich folgendermaßen beheben: Öffnen Sie die Safety Netzwerkvariablenliste (Empfänger) von SafetyApp2, zum Beispiel durch Doppelklicken der Fehlermeldung im Meldungsfenster. Wählen Sie nun aus der Auswahlliste Zugeordneter Sender die Sender-Variablenliste aus, die die in Schritt 4 veröffentlichte Variable SApp1_EStop enthält. Falls für die Programmierlogik gewünscht, kann der lokale Name der Variablen nun noch umbenannt werden. Im Beispiel ist dieser als SApp1_EStop_1 vorbelegt, da die Variable SApp1_EStop durch das Kopieren der Applikation bereits definiert ist. Da die POU im nächsten Schritt aber angepasst wird, ändern Sie den Namen in der geöffneten Safety Netzwerkvariablenliste (Empfänger) auf SApp1_EStop zurück, damit er wieder mit der veröffentlichten Variablen übereinstimmt.

      Da die ConnectionIDs aller verwendeten Empfänger innerhalb des Netzwerks eindeutig sein müssen, müssen Sie in der kopierten Safety Netzwerkvariablenliste (Empfänger) in der Registerkarte Safety Konfiguration noch eine andere, eindeutige Connection ID eintragen.

  11. Öffnen Sie die POU von SafetyApp2..

  12. Weisen Sie dem zweiten Eingang des AND-Operators die Variable SApp1_EStop zu.

  13. Weisen Sie die lokale Variable Local_EStop (Signal des Not-Aus-Schalters von SafetyApp2) der Sender-Variablen SApp2_EStop zu.

  14. Setzen Sie SafetyApp1 wieder aktiv und wählen Sie den Befehl Erstellen → Übersetzen .

  15. Doppelklicken Sie im Meldungsfenster den Fehler P0200.

    Die Safety Netzwerkvariablenliste (Empfänger) von SafetyApp1 öffnet sich.

  16. Wählen Sie aus der Auswahlliste Zugeordneter Sender die Sender-Variablenliste von SafetyApp2 aus.

    Durch das Verknüpfen mit dem Sender der anderen Steuerung werden die Listenidentifikatoren auf den im Sender definierten Bereich aktualisiert.

  17. Öffnen Sie die POU von SafetyApp1.

  18. Weisen Sie dem zweiten Eingang des AND-Operators die verfügbare externe Variable SApp2_EStop zu.

  19. Übersetzen Sie erneut SafetyApp1.

    Es wird kein Fehler mehr gemeldet.

  20. In den folgenden Schritten führen Sie die Netzwerkkonfiguration mit expliziten Adressen aus.

    Zunächst müssen für beide Steuerungen im Projekt die Kommunikationseinstellungen entsprechend gesetzt werden, damit später ein Einloggen auf die Steuerungen möglich ist.

    Wenn ein Broadcast auf die Netzwerkadresse 255.255.255.255 nicht erwünscht oder aus technischen Gründen nicht möglich ist, zum Beispiel wegen der Router-Einstellungen, können die Steuerungen, die über SafetyNetvars kommunizieren sollen, auch explizit angegeben werden.

    Für oben genanntes Beispiel mit zwei beteiligten Steuerungen sind die Netzwerkeinstellungen auf der Registerkarte SPS Netzwerk von Sender und Empfänger Objekten dann wie folgt vorzunehmen:

  21. Zunächst deaktivieren Sie in der Registerkarte SPS Netzwerk aller Safety Netzwerkvariablenlisten des Projekts die Option Standardwerte für Zielnetzwerkadresse und Port verwenden (255.255.255.255, 1202).

  22. sil3_img_nvl_config_example1.png

    Tragen Sie gemäß dieser Abbildung die IP-Adressen der jeweiligen Gegenstelle ein. Die IP-Adressen müssen Sie Ihrem Netzwerk entsprechend anpassen.

    Für die beiden Safety Netzwerkvariablenlisten der SafetyApp1 muss also jeweils die Zielnetzwerkadresse 192.168.0.22 eingetragen werden und bei den Safety Netzwerkvariablenlisten der SafetyApp2 die IP Adresse 192.168.0.1. Hierbei muss der Eintrag beim Sender jeweils für den Eintrag gemacht werden, bei dem die Listenidentifikatoren mit denen beim zugehörigen Empfänger übereinstimmen, damit die Pakete von der unterlagerten Schicht korrekt zugeordnet werden können.

    Wichtig

    Um herauszufinden, bei welchem der Sendereinträge die IP einzutragen ist, kann beim Sender in der Registerkarte Safety Konfiguration mit Hilfe der Schaltfläche Empfänger anzeigen eine Liste der verbundenen Empfänger angezeigt werden. Durch einen Doppelklick auf einen Eintrag in dieser Liste kann schnell der Editor der verbundenen Safety Netzwerkvariablenliste (Empfänger) geöffnet werden. In dem Editor können Sie überprüfen, welches Paar von Listenidentifikatoren von dem Empfänger benutzt wird.

    Das Projekt ist für das Querkommunikationsbeispiel konfiguriert.

  23. Für das Testen des Projekts laden Sie nun beide Applikationen auf die Sicherheitssteuerungen Gegebenenfalls muss auch sichergestellt werden, dass die jeweilige SafetyAppX_Mapping auf die Steuerung geladen und gestartet wurde. Anschließend starten Sie die Applikationen und setzen gegebenenfalls die SF_EmergencyStop-Bausteine mit Hilfe des Reset-Eingangs und der darauf in Schritt 3 verschalteten Variablen bVar_Reset zurück.

    Nun können Sie durch Auslösen des Not-Aus-Signals an einer Steuerung den SF_EmergencyStop-Baustein in beiden vernetzten Steuerungen auslösen. Im Beispiel wird der Not-Aus-Schalter dadurch simuliert, dass Sie die globale Variable Local_EStop an einer der beiden Steuerungen auf FALSE setzen und anschließend für diese Steuerung den Wert mittels des Befehls Debug → Werte schreiben schreiben lassen.

Beispiel 2: Erweiterung des vorherigen Projekts um einen weiteren Teilnehmer durch „Neuanlegen“ der Netzwerkvariablen-Komponenten

Voraussetzung: Das Projekt aus Beispiel 1 wurde erstellt und ist geöffnet.

  1. Fügen Sie dem Projekt mit dem Kontextmenübefehl Gerät anhängen eine weitere Standardsteuerung und darunter eine Sicherheitssteuerung hinzu.

  2. Kopieren Sie die Objekte POU und GVL von SafetyApp1 unter die neue Sicherheitssteuerung.

  3. Benennen Sie die neu angelegte SafetyApp um in SafetyApp3.

  4. Fügen Sie unter SafetyApp3 mit dem Befehl Objekt hinzufügen eine Safety Netzwerkvariablenliste (Sender) und zwei Objekte Safety Netzwerkvariablenliste (Empfänger) hinzu.

  5. Öffnen Sie jeweils die Registerkarte Safety Konfiguration der beiden Safety Netzwerkvariablenlisten (Empfänger) und wählen Sie aus der Auswahlliste Zugeordneter Sender bei der ersten Safety Netzwerkvariablenliste (Empfänger) den Sender von SafetyApp1 und bei der zweiten den Sender von SafetyApp2 aus.

    Passen Sie, falls erforderlich, die Watchdog-Zeit in den Safety Netzwerkvariablenlisten (Empfänger) an.

    Tipp

    Die Connection ID wird durch das Neueinfügen des Objekts bereits mit einem projektweit eindeutigen Wert vorbelegt und muss daher beim Vorgehen, das in diesem Beispiel beschrieben wird, nicht mehr angepasst werden.

  6. Deklarieren Sie in der neu angelegten Safety Netzwerkvariablenliste (Sender) die Variable SApp3_EStop des Datentyps SAFEBOOL.

    Tipp

    Die Safety-Adresse der Variablenliste wird durch das Neueinfügen des Objekts bereits mit einem projektweit eindeutigen Wert vorbelegt und muss daher bei diesem Vorgehen nicht mehr angepasst werden. Ebenso wird die Gruppe der Variablenlisten-Identifikatoren mit einem projektweit eindeutigen Wert vorbelegt, um Konflikte zu vermeiden.

  7. Ändern Sie in der POU von SafetyApp3 die Zuweisung um, so dass die Variable Local_EStop auf die Variable SApp3_EStop zugewiesen wird, damit der Wert des Not-Aus-Schalters mit Hilfe der Safety Netzwerkvariablenliste (Sender) veröffentlicht wird.

  8. Selektieren Sie den AND-Operator, wählen Sie den Kontextmenübefehl Eingang anhängen und verknüpfen Sie diesen neu hinzugefügten Eingang mit der Variablen SApp1_EStop.

    Die Eingänge des AND-Operators sind jetzt mit den Eingängen Local_EStop, SApp2_EStop und SApp1_EStop verknüpft.

  9. Setzen Sie SafetyApp3 als aktive Applikation und übersetzen Sie die Applikation mit dem Befehl Erstellen → Übersetzen ..

    Beim Übersetzungsvorgang wird geprüft, ob die projektweite Safety Netzwerkvariablenkonfiguration zusammenpasst und die SafetyApp3_Mapping wird generiert.

  10. In den folgenden Schritten passen Sie SafetyApp2 an.

  11. Fügen Sie SafetyApp2 eine neue Safety Netzwerkvariablenliste (Empfänger) hinzu und wählen Sie aus der Auswahlliste Zugeordneter Sender die Sender-Netzwerkvariablenliste von SafetyApp3.

  12. Passen Sie gegebenenfalls die Watchdog-Zeit an.

  13. Öffnen Sie die POU von SafetyApp2 und fügen Sie dem AND-Operator mit dem Kontextmenübefehl Eingang anhängen einen neuen Eingang hinzu. Verknüpfen Sie diesen neu hinzugefügten Eingang mit der Variablen SApp3_EStop.

  14. In den folgenden Schritten passen Sie SafetyApp1 an.

  15. Fügen Sie SafetyApp1 eine neue Safety Netzwerkvariablenliste (Empfänger) hinzu und wählen Sie aus der Auswahlliste Zugeordneter Sender die Sender-Netzwerkvariablenliste von SafetyApp3.

  16. Passen Sie gegebenenfalls die Watchdog-Zeit an.

  17. Öffnen Sie die POU von SafetyApp1 und fügen Sie dem AND-Operator mit dem Kontextmenübefehl Eingang anhängen einen neuen Eingang hinzu. Verknüpfen Sie diesen neu hinzugefügten Eingang mit der Variablen SApp3_EStop.

  18. Wie auch im vorigen Beispiel wird auch hier die Netzwerkkonfiguration mit expliziten Adressen beschrieben.

  19. Setzen Sie für alle 3 Steuerungen im Projekt die Kommunikationseinstellungen, damit später ein Einloggen auf die Steuerungen möglich ist.

  20. Deaktivieren Sie in allen Safety Netzwerkvariablenlisten die Option Standardwerte für Zielnetzwerkadresse und Port verwenden (255.255.255.255, 1202)

  21. sil3_img_nvl_config_example2.png

    Tragen Sie gemäß dieser Abbildung die IP Adressen der jeweiligen Gegenstellen ein. Die IP-Adressen müssen Sie Ihrem Netzwerk entsprechend anpassen.

    Für Safety App3 wird dieser Vorgang in den folgenden Schritten noch einmal genauer beschrieben:

  22. Tragen Sie in der Registerkarte SPS Netzwerk der Safety Netzwerkvariablenliste (Sender) von SafetyApp3 beim Eintrag für die Listenidentifikatoren 1080 1081 die Zielnetzwerkadresse 192.168.0.22 der Steuerung mit SafetyApp2 ein.

    Wichtig

    Achten Sie darauf, dass Sie die Zielnetzwerkadressen den richtigen Listenidentifikatoren zuordnen, da andernfalls die Übertragung der Netzwerkvariablen nicht funktioniert.

  23. Öffnen Sie die Safety Netzwerkvariablenliste (Empfänger), die die Variable SApp2_EStop importiert, und tragen Sie die Zielnetzwerkadresse der Steuerung mit SafetyApp2 192.168.0.22 ein.

  24. Anschließend tragen Sie die Zielnetzwerkadresse 192.168.0.1 für die Steuerung mit SafetyApp1 an den beiden folgenden Stellen ein:

    Zunächst in der Safety Netzwerkvariablenliste (Sender) bei den Listenidentifikatoren 1082 1083 und anschließend in der Safety Netzwerkvariablenliste (Empfänger), die die Variable SApp1_EStop importiert.

  25. Jetzt ist das Projekt für die Querkommunikation konfiguriert.

    Zum Testen des Querkommunikationsbeispiels laden Sie zunächst die Applikationen auf alle beteiligten Steuerungen und starten Sie die Applikationen. Achten Sie auch darauf, dass auch die jeweiligen SafetyAppX_Mapping laufen.

    Die mittels der Safety Netzwerkvariablen veröffentlichten Variablen SAppX_EStop werden nun jeweils in die POUs der anderen SafetyApps mit dem Wert TRUE übertragen. Dies ist der Initialwert, der von den simulierten Not-Aus-Schaltern auf die Variablen SAppX_EStop geschrieben wird.

  26. Setzen Sie, falls nötig, die SF_EmergencyStop-Bausteine mit Hilfe des Reset-Eingangs und der darauf verschalteten Variablen bVar_Reset zurück.

    Nun können Sie durch Auslösen des Not-Aus-Signals an einer Steuerung den SF_EmergencyStop-Baustein in allen 3 vernetzten Steuerungen auslösen. Im Beispiel wird der Not-Aus-Schalter dadurch simuliert, dass Sie die globale Variable Local_EStop an einer der Steuerungen auf FALSE setzen und anschließend für diese Steuerung den Wert mittels des Befehls Debug → Werte schreiben schreiben lassen.