OPC UA (Open Platform Communications United Architecture) ist ein Datenaustauschstandard f�r die industrielle Kommunikation. Es ist ein offener Schnittstellenstandard der unabh�ngig vom Hersteller oder Systemlieferanten der Anwendung ist.
Als vor�bergehende L�sung setzen wir die Kommunikation mittels eines Python OPC UA Clients um. Das Pythonskript dient quasi als middleman und kommuniziert hierbei per OPC UA mit der Gegenstelle sowie mit horstFX.
Wie der OPC UA Client eingerichtet wird und wie die Kommunikation mit horstFX funktioniert wird im Folgenden beschrieben. Das folgende Vorgehen kann individuell abweichen und dient deshalb als exemplarische Herangehensweise.
1. Installation des Python OPC UA clients
Als OPC UA Client nutzen wir den FreeOpcUA Python client. https://github.com/FreeOpcUa/python-opcua
Dieser wird auf dem Schaltkasten installiert und eingerichtet. Das hat den Vorteil, dass das Python Skript auch direkt von horstFX aus gestartet werden kann.
1.1. Installation / �berpr�fung der installierten Python Version
Bestimmte Versionen von Debian Linux werden bereits mit vorinstalliertem Python 3 ausgeliefert. So auch die Version, die auf unserem Schaltschrank installiert ist.
�ber die Konsole k�nnen folgende Befehle ausgef�hrt werden:
1. Anmelden als Root User:su -l root
Das Passwort bitte direkt bei fruitcore anfragen.
2. Aktualisieren des Systems:
apt update
apt upgrade darf nicht ausgef�hrt werden.
3. �berpr�fen der installierten Python Version
python3 -V
1.2. Installation von pip
�ber die Konsole kann mittels folgenden Kommandos pip installiert werden:
apt install -y python3-pip
pip3 install --upgrade pip
1.3. Installation des OPC-UA Clients und der ben�tigten Pakete
�ber die Konsole k�nnen mit folgenden Kommandos die erforderlichen Bibliotheken installiert werden.
1. Installation von numpy:pip3 install numpy2. Installation von cryptography:
pip3 install cryptography3. Installation von dateutil:
pip3 install python-dateutil4. Installation von lxml:
pip3 install lxml5. Installation von pytz:
pip3 install pytz
6. Installation des OPC-UA Clients
pip3 install opcua
2. Funktionsweise des Python OPC UA Clients
Die Funktionsweise des Clients ist sehr gut unter https://github.com/FreeOpcUa/python-opcua beschrieben. Dort finden sich auch gen�gend Beispiele.
3. Kommunikation zwischen horstFX und Python OPC UA Client
Per TCP/IP Sockets kann zwischen dem Python Skript und horstFX kommuniziert werden.
3.1. Einrichten der Kommunikation in horstFX
Wie horstFX seitig die Kommunikation realisiert werden kann ist unter Sockets beschrieben.
3.2. Einrichten der Kommunikation Python seitig
Einbindung des Sockets Moduls in python mittels folgendem Befehl:
import socket
3.2.1. Aufbau der Socketverbindung
# Socket Connection
HOST = "0.0.0.0" # IP HORST
PORT = 3000 # Port HORST
# connect to horstFX via Socket
s = socket.socket() # Erstelle Socket Objekt
s.bind((HOST, PORT)) # Binde Port
print("socket listen for client")
s.listen(5) # Warte auf client connection
c, addr = s.accept() # Stelle Verbidnung mit client her
print("socket accepted by client")
3.2.2. Einlesen der Nachricht von horstFX
msg = c.recv(1024) # Lese HORST Nachricht �ber Socket
3.2.3. Senden einer Nachricht an horstFX
c.sendall("Hallo HORST".encode('utf-8')) # Sende Nachricht an HORST �ber Socket
4. Ausf�hren des Python-Skripts direkt �ber horstFX
Wie das Python-Skript zur Kommunikation �ber OPC UA direkt von horstFX aus ausgef�hrt werden kann, ist in Ausf�hren externer Python Skripte beschrieben.