Beispiel für die Zusammenarbeit von CodeSys V3.5 mit PLC-Lab 3D Player über OPC UA

Im folgenden Beispiel wird gezeigt, wie eine virtuelle Anlage im PLC-Lab 3D Player über OPC UA mit einer Codesys-SPS gekoppelt werden kann. Im Beispiel kommt dabei die SoftSPS CODESYS Control Win V3 zum Einsatz.

Verwendete Version: CODESYS V3.5 SP19 (Patch6) 64 Bit

Erzeugen eines neuen Projekts in CodeSys V3.5

Im ersten Schritt wird ein neues Projekt im CodeSys V3.5 erzeugt.

Im erscheinenden Dialog wird als Vorlage das "Standard Projekt" selektiert, ein Name für das Projekt angegeben, der Pfad ausgewählt und der Dialog bestätigt.

Das Beispiel soll mit der SoftSPS "CODESYS Control Win V3 x64" ausgeführt werden, dies ist eine SoftSPS, welche unter dem Windows-Betriebssystem läuft. Damit wird keine Hardware-SPS benötigt.

Als Programmiersprache wird Structured Text (ST) ausgewählt, dies ist aber keine zwingende Vorgabe.

Exportieren der Variablenliste aus dem PLC-Lab 3D Player Anlagenprojekt

Jetzt sollen die Variablen des Anlagenmodells exportiert werden, damit man diese in eine globalen Variablenliste in CodeSys kopieren kann. Dazu wird der PLC-Lab 3D Player gestartet und das gewünschte Anlagenmodell geöffnet. Im Beispiel ist dies das Modell "002-KitMoveCylinder".

Nach dem Öffnen des Anlagenmodells wird der Im Bild hervorgehobene Schraubenschlüssel (Punkt 1) betätigt. Als Folge ist ein Dialog zu sehen, auf dem der Button "Variablenliste exportieren" auszuführen ist.

Daraufhin öffnet sich der Explorer und es wird der Ordner mit den zuvor erzeugten Dateien angezeigt. Für das Beispiel ist die Datei mit dem Namenszusatz "_GlobalVariablesOpcUa" wichtig. Dies ist eine Textdatei mit folgendem Inhalt:

Es handelt sich dabei um die Variablen des Anlagenmodells, welche vom SPS-Programm anzusprechen sind.

Erstellen einer globalen Variablenliste mit dem Namen IO im CodeSys-Projekt

Die Variablen des Anlagenmodells werden nun mit Hilfe einer globalen Variablenliste im CodeSys-Projekt bekannt gemacht. Dazu wird im Projektbaum von CodeSys im Knoten "Application" das Kontextmenü aufgerufen und als Objekt eine globale Variablenliste hinzugefügt.

Im erscheinenden Dialog ist der Name "IO" für die Liste anzugeben. Die Bezeichnung "IO" ist dabei wichtig.

Nach Bestätigung des Dialogs, ist die Variablenliste im Projektbaum vorhanden und auch schon geöffnet im Editorbereich zu sehen.

Jetzt können die Variablen der 3D-Anlage aus der Datei mit dem Namenszusatz "_GlobalVariablesOpcUa" kopiert und in die globale Variablenliste eingefügt werden.

Symbolkonfiguration einfügen

Nun müssen die Variablen aus der globalen Variablenliste mit der Bezeichnung IO über OPC UA erreichbar gemacht werden, damit der PLC-Lab 3D Player die Werte aus den Variablen lesen, bzw. in diese schreiben kann. Zu diesem Zweck wird das Objekt "Symbolkonfiguration" im CodeSys-Projekt eingefügt.

Nach dem Ausführen des Menüpunkts erscheint ein Dialog, auf dem die Option "OPC UA Funktionalitäten unterstützen" zu selektieren ist. Anschließend wird der Dialog bestätigt.

Important

Das Freigeben der IO-Variablen über OPC UA ist erst möglich, wenn einige dieser Variablen im SPS-Programm verwendet werden.

Verwendung der IO-Variablen im SPS-Programm

Bevor man die IO-Variablen für OPC UA freigeben kann, müssen diese im SPS-Programm verwendet werden. Deshalb öffnet man zunächst das Objekt "PLC-PRG" um einige Zeilen SPS-Code zu programmieren. Im folgenden Bild ist dies zu sehen.

Dabei wurde der Code für das Einschalten der Steuerung programmiert.

Variablenliste über OPC UA erreichbar machen

Durch die Verwendung einiger Variablen im SPS-Code ist die Voraussetzung gegeben, um die Variablensliste über UPC UA erreichbar zu machen. Im nächsten Schritt wird das Objekt "Symbolkonfiguration" im Baum durch einen Doppelklick geöffnet, falls dies noch nicht geöffnet ist. Innerhalb des Fensters ist der Button "Erstellen" zu betätigen, damit die im Projekt vorhandenen Variablenlisten sichtbar werden.

Nun ist in der Liste der Symbole auch ein Eintrag für die globale Variablenliste mit der Bezeichnung "IO" vorhanden. Dabei ist die Checkbox vor der Bezeichnung auszuwählen, damit die Variablen der Struktur über OPC UA erreichbar sind.

Übertragen des Projekts in die SPS-Steuerung

Daraufhin kann das Projekt in die SPS, bzw. im Beispiel in die SoftSPS, übertragen werden. Es wird zunächst nochmals der Code erzeugt:

Im nächsten Schritt muss sichergestellt sein, dass die SoftSPS "CODESYS Control Win V3 x64" bereits gestartet wurde. Zum Starten der SoftSPS ist der Tray von Windows zu öffnen und das Kontextmenü von Control Win V3 x64 aufzurufen. Darüber kann die SoftSPS gestartet werden.

Anschließend ist die SoftSPS erreichbar. Der Login ist somit ausführbar:

Falls ein Benutzerlogin für die SPS verwendet wird, sind noch der Benutzername und das Passwort auf einem Dialog anzugeben.

Zuletzt wird die SPS in RUN geschaltet.

Verbinden der Anlage im PLC-Lab 3D Player mit dem OPC UA Server

Im PLC-Lab 3D Player wird das Anlagenmodell geöffnet und das Device auf OPC UA eingestellt.

Anschließend werden die Einstellungen für das Device aufgerufen, um die IP-Adresse des OPC UA Servers (also der SPS) anzugeben. Im Beispiel hat die SPS die IP-Adresse 192.168.1.172

Wurden die Einstellungen vorgenommen, dann wird der Dialog durch Betätigung des Schraubenschlüssel-Symbols wieder geschlossen.

Daraufhin kann man die 3D Anlage in RUN schalten und mit dem Test beginnen.

Fazit

Im Beispiel wurde gezeigt, wie ein Anlagenmodell im PLC-Lab 3D Player mit einer CodeSys-SPS über OPC UA verbunden werden kann.

Dabei muss nicht zwingend eine Hardware-SPS zum Einsatz kommen. Im Beispiel wurde die SoftSPS "CODESYS Control Win V3 x64" verwendet. Bei Verwendung der Control Win ist zu beachten, dass diese vor dem Ansprechen zu starten ist. Dazu ist der entsprechende Menüpunkt im Kontextmenü des Icons der SoftSPS im Tray auszuführen. Des Weiteren muss beachtet werden, dass die korrekte Control Win gestartet wird. Denn es steht eine 32-Bit und eine 64-Bit Variante zur Verfügung. Es ist somit die Control Win zu starten, die im CodeSys-Projekt als Zielsystem eingestellt ist.

Damit die Variablen über OPC UA erreichbar sind, muss die globale Variablenliste über OPC UA freigegeben werden. Diese Freigabe wird innerhalb der Symbolkonfiguration erteilt. Damit die Variablen in der Symbolkonfiguration sichtbar sind, muss mindestens eine der Variablen aus der Struktur im SPS-Programm verwendet worden sein. Deshalb wurde im Beispiel zuerst das SPS-Programm erstellt und dann die Freigabe in der Symbolkonfiguration erteilt.