CODESYS Safety Extension-Projekt erstellen
Hier wird beschrieben, wie Sie Schritt für Schritt ein einfaches Safety-Projekt erstellen und wie Sie die Sicherheitsapplikation auf die Sicherheitssteuerung laden.

(1) Safety-Projekt anlegen
Nachdem Starten von CODESYS mit installiertem CODESYS Safety Extension wählen Sie den Befehl .
Wählen Sie im Dialog Neues Projekt die Vorlage Leeres Safety Projekt. Diese Vorlage ist ein leeres Projekt mit der Safety Benutzerkonfiguration. Für weitere Informationen siehe: Einrichten der Benutzerverwaltung im Projekt).
Anschließend geben Sie in diesem Dialog den Name für das Projekt (an unserem Beispiel „Projekt_Safety“) und den gewünschten Speicherort des Projekts ein und bestätigen Sie den Dialog mit der Schaltfläche OK.
(2) Standardsteuerung und Sicherheitssteuerung hinzufügen
Im nächsten Schritt wird dem Projekt eine Standardsteuerung hinzugefügt: Selektieren Sie das Projekt Projekt_Safety und aktivieren Sie den Kontextmenübefehl Gerät anhängen…. Wählen Sie die Standardsteuerung aus, an der Ihre Sicherheitssteuerung angeschlossen ist, bzw. in der sie eingebaut ist und aktivieren Sie die Schaltfläche Gerät anhängen.
Nun wird der Standardsteuerung die Sicherheitssteuerung hinzugefügt: Selektieren Sie im Gerätebaum die Standardsteuerung und aktivieren Sie den Kontextmenübefehl Gerät anhängen.
Im Dialog Gerät anhängen wählen Sie in der Kategorie die gewünschte Sicherheitssteuerung aus und betätigen Sie Ihre Eingabe mit der Schaltfläche Gerät anhängen.
Geben Sie im anschließenden Dialog Anmelden einen Benutzer ein, der in der Safety Benutzerkonfiguration (siehe ) als Mitglied der Gruppe Owner, Safety oder Safety.ExtendedLevel existiert. Wenn die Benutzerkonfiguration durch den Projektleiter (Owner) noch nicht für das aktuelle Projekt angepasst wurde, so geben Sie nun als Benutzer ext ein, das Passwort ist leer. Dieser Benutzer ist ein Mitglied der Benutzergruppe Safety.ExtendedLevel. Den Dialog bestätigen Sie mit OK. Für weitere Informationen siehe: Einrichten der Benutzerverwaltung im Projekt.
Zusammen mit der Sicherheitssteuerung werden der logische Knotenpunkt Safety Logik, das Safety Applikationsobjekt mit Bibliotheksverwalter, der Knotenpunkt Logische E/As und die Safety Task mit eingehängt.

(3) Geräte einfügen (sicheres Gerät und Standardgerät)
Anschießend werden unter der Standardsteuerung ein Feldbus-Master und ein Feldbus-Slave (am Beispiel PROFIBUS) eingehängt.
Selektieren Sie hierzu im Gerätebaum die Standardsteuerung und fügen Sie mit dem Kontextmenübefehl Gerät anhängen den Master und anschließend den Slave ein.
Im Dialog Gerät einfügen kann der Name für das jeweilige Gerät im Feld Name geändert werden. Bei der Auswahl des Slaves ist darauf zu achten, dass ein Slave ausgewählt wird, der durch ein sicheres Modul ergänzt werden kann.
Fügen Sie nun das sichere Modul unter dem Slave über den Kontextmenübefehl Gerät anhängen.. ein und ändern Sie den Namen des Geräts für das Beispiel auf „SafeOut“. Im Dialog Gerät einfügen finden Sie die sicheren Module in einer Unterkategorie des Feldbusses (im Beispiel: Unterkategorie Sichere Module in der Kategorie Profibus).
Beim Einfügen des sicheren Moduls unter die Standardsteuerung wird automatisch das entsprechende logische E/A unter die Sicherheitsapplikation eingefügt.
Abbildung 3. Gerätebaum mit eingefügtem sicheren GerätIn diesem Schritt fügen Sie ein Standardfeldgerät unter den Slave über den Kontextmenübefehl Gerät anhängen… ein ( im Beispiel:
75x-5044DO/24V DC/0,5A
) und ändern den Namen im Einfügendialog auf UnsafeOut. Um die E/A-Daten des Standardgeräts in der Sicherheitsapplikation verwenden zu können, muss anschließend ein logisches E/A explizit zu diesem Feldgerät unter die Sicherheitsapplikation eingefügt werden.Um die E/A-Daten des Standardgeräts in der Sicherheitsapplikation verwenden zu können, muss anschließend ein logisches E/A explizit zu diesem Feldgerät unter die Sicherheitsapplikation eingefügt werden.
Selektieren Sie hierzu den Knotenpunkt Logische E/As unter der Sicherheitsapplikation und aktivieren Sie den Kontextmenübefehl . Im Dialog Logisches Gerät hinzufügen wählen Sie in der Kategorie Logische Geräte, Generierte Logische Geräte das Gerät des Standardgeräts aus, das Sie bereits unter der Standardsteuerung eingefügt haben (im Beispiel
75x667 4FDO 0.5A/4FDI
) und bestätigen Sie den Dialog mit der Schaltfläche Hinzufügen. Im Eigenschaften-Dialog können Sie den Namen des logischen E/As auf UnsafeOut ändern.Um dieses logische E/A mit dem Standardfeldgerät unter der Standardsteuerung zu verbinden, öffnen Sie mit einem Doppelklick das Standardgerät und anschließend die Registerkarte DP-Module I/O Abbild. In der Combobox Logisches I/O Abbild wählen Sie das logische E/A aus, das zur Ihrem Standardfeldgerät gehört (im Beispiel:
UnsafeOut
).
(4) Variablenaustausch mit Standardsteuerung einrichten
Für den Variablenaustausch zwischen Standard- und Sicherheitssteuerung fügen Sie unter die Standardapplikation das Objekt GVL für Logischen Austausch und unter der Sicherheitsapplikation ein Logisches Austauschobjekt hinzu.
Zunächst wird unter die Sicherheitsapplikation das Logische Austauschobjekt hinzugefügt. Selektieren Sie unter der Sicherheitsapplikation den Knotenpunkt Logische E/As und führen Sie den Kontextmenübefehl aus. Im Dialog Logisches Gerät hinzufügen wählen Sie in der Kategorie Logisches Austauschgerät der Kategorie Logische Geräte das passende Gerät, d.h. den gewünschten Datentyp und die Austauschrichtung aus, im Beispiel:
DINT 1xOut
, geben Sie den NamenLxOut
ein und betätigen Sie die Schaltfläche Hinzufügen. Beim Einfügen des logischen Austauschgeräts muss ihm der NamenLxOut
gegeben werden, um später in der GVL diesen Namen auswählen zu können.Unter der Standardapplikation wird nun die entsprechende GVL für Logischen Austausch hinzugefügt. Hierzu wählen Sie den Kontextmenübefehl GVL für Logischen Austausch hinzufügen geben Sie nun als Namen GVL Logischer Austausch ein und anschließend betätigen Sie die Schaltfläche Hinzufügen.
. Im DialogfensterWählen Sie nun im geöffneten Editor aus der Combobox Abbild für Logischen Austausch das logische Austauschobjekt LxOut aus.
(5) POU hinzufügen und Programmcode schreiben
Selektieren Sie in der Ansicht Geräte das Objekt SafetyApp und wählen Sie den Kontextmenübefehls .
Im Dialog Safety Extended-POU hinzufügen geben Sie nun den Namen „SafetyExtendedPOU“ ein, wählen als Bausteintyp PROGRAM aus und klicken Sie anschließend auf die Schaltfläche Hinzufügen.
Wichtig
Um eine Safety Extended-POU hinzufügen zu können, müssen sie bei Verwendung der Safety Benutzerkonfiguration als Benutzer „Owner“ oder als Mitglied der Gruppe „Safety.ExtendedLevel“ angemeldet sein.
Der Editor der POU öffnet sich. Im Editor können nun die Variablen deklariert und der Programmcode editiert werden.
Deklarieren Sie nun im Deklarationsteil des Editors die Variablen, die in der folgenden Abbildung aufgeführt sind. Die Variablendeklaration erfolgt über den Kontextmenübefehl Variablendeklaration einfügen. Mit
VAR
werden die lokalen Variablen deklariert. MitVAR_EXTERNAL
werden die Mappingvariablen der logischen E/As deklariert.Abbildung 4. Programm der SicherheitsapplikationAnschließend geben Sie den in obiger Abbildung aufgeführten Programmcode in den Implementierungsteil des Editors (Safety FUP-Editor) ein. Die Bedienung des Editors erfolgt wie beim CODESYS FBD-Editor.
Netzwerke werden mit dem Befehl Netzwerk einfügen des Menü Safety-FUP hinzugefügt.
Das Einfügen der Operatoren erfolgt über den Befehl Bausteinaufruf einfügen des Menüs Safety-FUP. Analog dazu finden Sie die Befehle Sprung einfügen, Sprungmarke einfügen, Zuweisung einfügen im Menü Safety-FUP.
Erklärung des Programms: In Netzwerk 1 wird geprüft, ob der Zähler iCounter
kleiner als 255 ist. Wenn dies der Fall ist, erfolgt ein Sprung zur Sprungmarke IncrementCounter
. Anderenfalls wird iCounter
in Netzwerk 2 auf 0
gesetzt.
In den Netzwerken 3 und 4 (Sprungmarke IncrementCounter)
wird der iCounter
um 1 hochgezählt und den Mappingvariablen der logischen E/As zugewiesen. Vor Zuweisung auf die Mappingvariablen des Standardgeräts und des sicheren Geräts wird der Zähler von DINT
nach BYTE
konvertiert.
Die Variable diLXout
kann in der Standardapplikation weiterverarbeitet werden.
(6) Mappingvariablen in den logischen E/As editieren
Die im Programmcode als VAR_EXTERNAL
deklarierten Variablen werden nun als Mappingvariablen in den logischen E/As eingegeben.
Das Einfügen der Operatoren erfolgt über den Befehl Bausteinaufruf einfügen des Menüs Safety-FUP. Analog dazu finden Sie die Befehle Sprung einfügen, Sprungmarke einfügen, Zuweisung einfügen im Menü Safety-FUP.
Öffnen Sie mit einen Doppelklick das logische E/A
UnsafeOut
und geben Sie die VariablebyUnsafeout
als Output-Kanal in die Registerkarte I/O Abbild ein.
Analog dazu geben Sie im I/O Abbild des logischen E/As SafeOut
die Variable bySafeOut
als Output-Kanal und im logischen E/A LXout
in der Registerkarte I/O Abbild die Variable diLXOut
ein.
(7) Sicherheitsapplikation übersetzen
Übersetzen Sie die Sicherheitsapplikation, in dem Sie den Befehl Übesetzen des Menüs Erstellen wählen. Dabei wird auch der Safety-Check auf Fehler durchgeführt. Fehler und Warnungen werden im Meldungsfenster ausgegeben. Treten keine Fehler auf, so kann die Sicherheitsapplikation in den nächsten Schritten auf die Sicherheitssteuerung geladen werden.
(8) Kommunikationseinstellungen
Doppelklicken Sie die Sicherheitssteuerung im Gerätebaum.
Die Registerkarte: Kommunikation öffnet sich.
Wählen Sie Ihr Netzwerk (Gateway) aus, und durchsuchen das Netzwerk nach Ihrem Gerät über die Schaltfläche Netzwerk durchsuchen. Wenn Ihr Gerät angezeigt wird, so selektieren Sie dieses und betätigen Sie nun die Schaltfläche Aktiven Pfad setzen.
(9) Auf Sicherheitssteuerung einloggen
Wählen Sie den Befehl
, um sich auf die Sicherheitssteuerung einzuloggen.Der Dialog Verbindung zur Sicherheitssteuerung öffnet sich.
Dieser Dialog dient dazu, die Verbindung zur Sicherheitssteuerung zu bestätigen. Der Dialog erklärt die gerätespezifische Form der Bestätigung (Aktion am Gerät oder Identifikation).
Abbildung 5. Dialog ‚Verbindung zur Sicherheitssteuerung‘ in der Variante: Eingabe einer IdentifikationWählen Sie in dem Dialog die Option Bestätigte Verbindung, um eine Applikation zu erzeugen.
Geben Sie in dem Dialog die ID der Sicherheitssteuerung ein und bestätigen Sie den Dialog mit einem Klick auf die Schaltfläche OK.
Für weitere Informationen siehe: Verbinden mit bestätigter Steuerung.
Nachdem die Verbindung zur Sicherheitssteuerung bestätigt wurde, öffnet sich ein Dialog in dem Sie auswählen, ob Sie Ihre Applikation temporär auf die Steuerung laden möchten, oder ob aus der Applikation eine Bootapplikation erzeugt und auf der Steuerung abgelegt werden soll. Mit dem Klick auf eine der Schaltflächen Ja, das habe ich! Bootapplikation erzeugen oder Ja, das habe ich! Temporär laden bestätigen Sie zudem, dass die organisatorische Sicherheit an der gesamten Anlage hergestellt ist. Klicken Sie für das Beispiel dieser Anleitung auf die Schaltfläche Ja, das habe ich! Temporär laden.
Abbildung 6. Dialog beim Einloggen mit Bestätigung der organisatorischen Sicherheit der AnlageGeben Sie im anschließenden Dialog Autorisierung das Passwort der Steuerung ein. (Wenn noch kein Passwort gesetzt ist, so ist das Default Passwort aktiv, welches je nach Hersteller z. B. das leere Passwort sein kann.) Die Eingabe bestätigen Sie mit der Schaltfläche OK.
Sie sind jetzt auf der Sicherheitssteuerung eingeloggt. Die Applikation wird geprüft und heruntergeladen; dabei werden Meldungen im Meldungsfenster ausgegeben. Nach dem Herunterladen ist die Sicherheitsapplikation in STOP und im unsicheren Zustand (Für weitere Informationen siehe: Zustände der Sicherheitssteuerung).
Abbildung 7. Anzeige in unterer Statuszeile nach Einloggen
Jetzt können Sie die Applikation mit den folgenden Funktionalitäten debuggen: Start - Safety), Stop - Safety und Werte schreiben - Safety/Werte forcen - Safety, Monitoring im Safety FUP-Editor im Online-Modus und Variablendeklarationseditor im Online-Modus oder Bootapplikation erzeugen.