OPC UA

OPC UA ist eine standardisierte Kommunikationsschnittstelle mit eingebauter Übertragungs- und Zugriffssicherheit, die von einer Vielzahl von Softwareherstellern (z. B. Visualisierungssoftware) unterstützt wird.

Auf die Werte des Device Managers kann auch über OPC UA zugegriffen werden. Dazu bringt der Device Manager einen eigenen OPC UA Server mit, über den der Datenzugriff erfolgt.

OPC UA 1:

Die Adresse für den Zugriff auf den OPC UA Server eines IPCs ist:

opc.tcp://<Device IP>:4852

Beispiele:
opc.tcp://CP-004711:4852
opc.tcp://172.17.36.11:4852

Der OPC UA Server ist bei IPCs mit Windows CE (Windows Embedded Compact) im Auslieferungszustand deaktiviert und muss bei Bedarf manuell (bzw. über die Konfiguration von Autostart) gestartet werden: \Hard Disk\BkIpcDiag\UA\_DevMgrSvr-UA-CE.

OPC UA 2:

OPC UA Port durch Firewall geblockt

Standardmäßig wird der OPC UA Port in allen aktuellen Images von der Firewall geblockt. Hier muss bei Bedarf der Port in der Firewall geöffnet werden.

OPC UA .NET Beispiel

Die folgende .NET-Anwendung liest über OPC UA die aktuellen Werte zur CPU-Frequenz, CPU-Auslastung, CF-Karten-Speicherplatz, TwinCAT-Version und TwinCAT-Build sowie die CPU-Temperatur aus.

Download: mdpoverua.zip

Führen Sie folgende Schritte aus:

1. Entpacken Sie das Beispiel.
2. Öffnen Sie die Datei settings.xml im Verzeichnis MDPOverUA\MDPOverUA folder.
3. Suchen Sie in der Datei nach der Zeile <Session Url="opc.tcp://<DeviceName>:4852" Security="None" RefreshInterval="1000" KeepAlive="10000" />.
4. Passen Sie den Wert für <DeviceName> entsprechend Ihrem Gerät an.
5. Kompilieren Sie das Projekt und führen Sie es aus.

Zugriff auf Dateien und Ordner über OPC UA

Ab OPC‑UA‑Spezifikation Version 1.02 enthält OPC UA einen spezialisierten ObjectType zur Dateiübertragung, der in Anlage C der Spezifikation beschrieben ist. Dieser spezielle ObjectType namens „FileType“ beschreibt das Informationsmodell für die Datenübertragung. Dateien können in OPC UA mit ByteStrings als einfache Variablen modelliert werden. FileType ist eine Datei mit Methoden zum Zugriff auf die Datei. In der OPC‑UA‑Spezifikation erhalten Sie weitere Informationen zu FileType sowie Aufbau und Handhabung der zugrunde liegenden Methoden und Eigenschaften zum Zugriff auf eine Datei im OPC‑UA‑Namensraum.

Beckhoff hat einen generischen Weg implementiert, um Dateien und Ordner von einer lokalen Festplatte in den OPC‑UA‑Namensraum zu laden. Jede Datei wird durch einen FileType repräsentiert und ermöglicht Lese- und Schreibvorgänge für diese Datei. Zusätzlich enthält jeder Ordner eine Methode CreateFile(), um neue Dateien auf der Festplatte zu erstellen und einen eigenen FolderPath, um den tatsächlichen Pfad zum Ordner auf dem OPC UA Server festzulegen.

OPC UA 3:

OPC UA 4:

FileTransfer im Device Manager OPC UA Server

Diese Funktion hat nur der OPC UA Server des Beckhoff Device Managers. Der TwinCAT OPC UA Server stellt ebenfalls einige Teile dieser Dateiübertragung bereit. Die allgemeine Funktion, die eine Offenlegung aller Dateien und Ordner ermöglicht, steht aber nur im OPC UA Server zur Verfügung, der zum Gerätemanager gehört, der automatisch auf jedem Beckhoff Industrie-PC oder Embedded-PC verfügbar ist. In der Gerätemanagerdokumentation erhalten Sie weitere Informationen.

Konfiguration

FileType-Objekte werden in einem separaten Namensraum mit der Bezeichnung „FileTransfer” erstellt. Zur Konfiguration des Namensraums und zur Auswahl der über OPC UA verfügbaren Dateien und Ordner dient eine XML-Datei (files.xml), die in demselben Verzeichnis wie die ausführbare Datei des OPC UA Servers sein muss. Um die Konfiguration zu aktivieren, muss das System neu gestartet werden. Die XML-Datei enthält Informationen über den Ordnerpfad und eine Suchmaske, die definiert, welche Dateien im OPC‑UA‑Namensraum veröffentlicht werden:

<Files>
  <FolderObject DisplayName="TwinCAT">
    <FolderObject DisplayName="3.1">
      <FolderObject DisplayName="Boot" Path="c:/TwinCAT/3.1/Boot" Search="*.*" >
        <FolderObject DisplayName="Plc" Path="c:/TwinCAT/3.1/Boot/Plc" Search="*.*" ></FolderObject>
        <FolderObject DisplayName="Tmi" Path="c:/TwinCAT/3.1/Boot/Tmi" Search="*.*" ></FolderObject>
      </FolderObject>
    </FolderObject>
  </FolderObject>
</Files>

Beispiel: Lesen einer Datei mit UA Expert

Der allgemeine Umgang mit Dateien ist in Anhang C der OPC-UA-Spezifikation beschrieben. Das Lesen einer Datei via UA kann in folgende Schritte unterteilt werden:

  1. Aufruf der Open-Methode einer Datei. Diese Methode gibt ein Dateihandle zurück, das für den späteren Zugriff gespeichert werden muss. Der Modus legt fest, ob die Datei gelesen oder in sie geschrieben wird (siehe Dateimodi).
  2. Bestimmen der Größe der Datei mit der Eigenschaft „Size“. So kann die ganze Datei bei Aufruf der Read-Methode gelesen werden.
  3. Aufruf der Read-Methode. Dateihandle und Dateigröße als Eingaben einfügen. Zielordner wählen, in den der Dateiinhalt NACH dem Aufruf der Methode zu speichern ist.
  4. Aufruf der Close-Methode zur Freigabe des Dateihandles.

Dateimodi

Die folgende Tabelle zeigt alle verfügbaren Dateimodi.

Feld

Bit

Beschreibung

Lesen

1

Die Datei wird zum Lesen geöffnet. Wenn dieses Bit nicht gesetzt ist, kann Read nicht ausgeführt werden.

Schreiben

4

Die Datei wird zum Schreiben geöffnet. Wenn dieses Bit nicht gesetzt ist, kann Write nicht ausgeführt werden.

EraseExisting

6

Der vorhandene Dateiinhalt wird gelöscht und es wird eine leere Datei zur Verfügung gestellt.

Append

10

Die Datei wird geöffnet und ans Ende positioniert, sonst auf den Anfang. Diese Position kann mit SetPosition geändert werden.