Hinweise zur Dokumentation

Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist.
Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der nachfolgenden Hinweise und Erklärungen unbedingt notwendig.

Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produkte alle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungen und Normen erfüllt.

Disclaimer

Diese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiter entwickelt.
Deshalb ist die Dokumentation nicht in jedem Fall vollständig auf die Übereinstimmung mit den beschriebenen Leistungsdaten, Normen oder sonstigen Merkmalen geprüft.
Falls sie technische oder redaktionelle Fehler enthält, behalten wir uns das Recht vor, Änderungen jederzeit und ohne Ankündigung vorzunehmen.
Aus den Angaben, Abbildungen und Beschreibungen in dieser Dokumentation können keine Ansprüche auf Änderung bereits gelieferter Produkte geltend gemacht werden.

Marken

Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE®, XFC® und XTS® sind eingetragene und lizenzierte Marken der Beckhoff Automation GmbH.
Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kann zu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen.

Patente

Die EtherCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP1590927, EP1789857, DE102004044764, DE102007017835
mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Die TwinCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP0851348, US6167425 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Copyright

© Beckhoff Automation GmbH & Co. KG, Deutschland.
Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sind verboten, soweit nicht ausdrücklich gestattet.
Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmuster- oder Geschmacksmustereintragung vorbehalten.


TwinCAT OPC UA Server PC/CE : Overview

TS6100-0030 | TwinCAT OPC-UA Server CE

Produktbeschreibung

OPC Unified Architecture (OPC-UA) ist die nächste Generation des klassischen OPC-Standards. Es handelt sich hierbei um ein weltweit standardisiertes Kommunikationsprotokoll, mit dessen Hilfe sich Maschinendaten sowohl Hersteller-, als auch Plattformunabhängig austauschen lassen. Hierbei integriert OPC-UA bereits direkt im Protokoll gängige Sicherheitsstandards. Ein weiterer großer Vorteil von UA gegenüber dem klassischen OPC-Standard ist hierbei auch die Unabhängigkeit vom COM/DCOM-System. Für detailiertere Informationen zu OPC-UA sei hiermit auf die Webseiten der OPC Foundation verwiesen.

Komponenten

Das Produkt "TwinCAT OPC-UA" besteht seit der Version 1.6.80 aus den folgenden Komponenten, sowohl unter Windows XP- als auch Windows CE-basierten Systemen:

  • UA-Server : bietet eine UA-Server Schnittstelle um UA-Clients den Zugriff auf die TwinCAT-Welt zu ermöglichen (1)
  • UA-Client : bietet einen UA-Client um direkt aus der TwinCAT-SPS per Funktionsbaustein (FB) mit anderen UA-Servern kommunizieren zu können (2)

Unter Windows XP-basierten Systemen werden desweiteren noch die folgenden beiden UA-Tools mit ausgeliefert:

  • UA-Configurator : eine grafische, .NET-basierende Oberfläche zur Konfigurations des UA-Servers
  • UA-SampleClient : ein UA-Client in Form einer grafischen .NET-Anwendung zum Durchsuchen des UA-Namensraums und zum Testen von UA-Server Installationen


TwinCAT OPC UA Server PC/CE : Overview

Systemvoraussetzungen

Die folgenden Systemvoraussetzungen müssen für eine ordnungsgemäße Funktion des Supplements TwinCAT OPC-UA erfüllt sein.

Windows XP-Plattform

Derzeit werden alle Beckhoff-Hardwaregeräte mit den folgenden Betriebssystemen unterstützt: Windows XP, Windows XP Embedded, Windows Embedded Standard 2009, Windows Vista, Windows 7.Sie können TwinCAT OPC-UA hierbei sowohl auf 32-bit als auch 64-bit Betriebssystemen installieren. Eventuell auftretende Unterschiede zwischen diesen Betriebssystemvarianten werden in der Installationsanleitung beschrieben. Als weitere Voraussetzung muss auf dem OPC-UA Server ein TwinCAT2 (mindestens CP) installiert sein, welches während des Betriebs entweder im Config- oder Run-Mode laufen kann.

Windows CE-Plattform

Es werden alle Beckhoff Hardwaregeräte mit einem internen Speicher unterstützt (z.B. CX1010, CX1020, CX9001, CX9010, CX5020, CP62xx, C69xx, usw.). Geräte mit einem kleinen Speicher, wie z.B. CX1000 und CX9000 werden nicht unterstützt. Als Betriebssystem wird mindesten Windows CE6 benötigt.


TwinCAT OPC UA Server CE : Installation

Installation CE

Dieser Teil der Dokumentation beschreibt, wie das Supplement-Produkt TwinCAT OPC-UA auf einem BECKHOFF Embedded PC Controller basierend auf Windows CE installiert wird, z.B. CX1000, CX1020, CX9000, CX9001, CX9010, CX8090, CP62xx, C69xx, ...

Der Installationsvorgang unter Windows CE besteht aus insgesamt vier Schritten:

  • Herunterladen der Setup-Datei
  • Installation auf einem Host-PC
  • Übertragen der Setup-Datei auf das Windows CE Gerät
  • Ausführen der Installation auf dem Windows CE Gerät

Herunterladen der Setup-Datei

Wie viele andere TwinCAT Supplement-Produkte auch, steht TwinCAT OPC-UA CE als Download auf dem Beckhoff FTP-Server zur Verfügung. Es handelt sich hierbei um die jeweils aktuellste Version des Produkts. Bitte führen Sie die folgenden Schritte durch, um die Setup-Datei zu downloaden:

  • Öffnen Sie eine FTP-Client Software Ihrer Wahl, z.B. FileZilla oder den Total Commander
  • Öffnen Sie eine Verbindung zu download.beckhoff.com ohne Angabe von Benutzerinformationen (Anonymous)
  • Navigieren Sie zum Pfad "Software/TwinCAT/TwinCAT2/Supplement/TwinCAT_OPC_UA_Server_CE/Install" und laden Sie die Datei "TcOpcUaSvrCE.exe" herunter

Installation auf dem Host-PC

Um an die Installationsdateien für Windows CE zu gelangen, muss die heruntergeladene Setup-Datei zunächst auf einem Host-PC installiert werden. Dies kann ein beliebiges Windows CE basiertes System sein. Führen Sie die folgenden Schritte durch:

  • Führen Sie einen Doppelklick auf die heruntergeladene Datei "TcOpcUaSvrCE.exe" aus
  • Wählen Sie eine Sprache aus, in der Sie die Software installieren möchten
  • Klicken Sie auf "Next" und akzeptieren Sie dann die Endbenutzervereinbarung

  • Geben Sie Ihre Benutzerdaten ein. Alle sichtbaren Felder sind hierbei Pflichtfelder. Bitte beachten Sie: Eine 30-Tage Demoversion des OPC-UA Supplements für Windows CE ist momentan nicht verfügbar. Sie benötigen also einen gültigen Produktschlüssel für die Installation.

  • Wählen Sie als Installationsmethode "Complete" und klicken Sie auf "Next"

  • Klicken Sie anschließend auf "Install" um die Installation zu starten

Nach der Installation liegen die Windows CE Installationsdateien für OPC-Server und OPC-Client nun im Ordner ".\TwinCAT\CE". Dieser Ordner enthält eine Vielzahl an verschiedenen CE Installationsdateien in Form von CAB-Dateien:

  • TwinCAT OPC UA Client CE\I586: OPC-UA Client (SPS-Bibliothek) für x86 basierte CPUs (wie z.B. CX10xx, CP62xx, C69xx, ...)
  • TwinCAT OPC UA Client CE\ARMV4I: OPC-UA Client (SPS-Bibliothek) für ARM basierte CPUs (wie z.B. CX9001, CX9010, CP6608, ...)
  • TwinCAT OPC UA Server CE\I586: OPC-UA Server für x86 basierte CPUs (wie z.B. CX10xx, CP62xx, C69xx, ...)
  • TwinCAT OPC UA Server CE\ARMV4I: OPC-UA Server für ARM basierte CPUs (wie z.B. CX9001, CX9010, CP6608, ...)

Übertragen der Setup-Datei auf das Windows CE Gerät

Übertragen Sie nun die entsprechende Installationsdatei auf Ihren Controller. Dies kann über die folgenden Mechanismen geschehen:

  • über ein Shared Folder
  • über den in Windows CE integrierten FTP-Server
  • über ActiveSync
  • über einen CF Adapter

Sie finden entsprechende Anleitungen in der "Windows CE" Rubrik hier im Infosys.

Ausführen der Installation auf dem Windows CE Gerät

Die auf den Controller übertragene Installationsdatei "TcOpcUaSvrCe.xxxx.CAB" muss nun installiert werden. Hierzu führen Sie bitte die folgenden Schritte auf dem CE-Gerät durch:

  • Navigieren Sie zu dem Ordner, in den Sie die Installationsdatei übertragen haben

  • Führen Sie einen Doppelklick auf die CAB-Datei aus. Sollten Sie eine MessageBox mit dem Hinweis "Program is not compatible with current operating system" erhalten, so überprüfen Sie, ob Sie die korrekte CAB-Datei (ARM, I586) für Ihre Plattform verwendet haben.
  • Sind Sie sich sicher, dass die CAB-Datei korrekt ist, bestätigen Sie die Meldung mit "Yes".

  • Als Zielverzeichnis wählen Sie anschließend "\Hard Disk\System"

  • Zum Starten der Installation klicken Sie in der rechten oberen Ecke auf "Ok"

Nach der Installation löscht sich die Installationsdatei automatisch. Bitte beachten Sie, dass im Falle einer Installation des OPC-UA Servers, dieser erst nach dem nächsten Neustart des Systems verfügbar ist.


TwinCAT OPC UA Server (PC/CE) : Configuration

OPC-UA Server

Dieser Teil der Dokumentation beschreibt die Grundkonfiguration des TwinCAT OPC-UA Servers, welche unabhängig vom Betriebssystem vorgenommen werden kann (XP und CE). Weitere Informationen über die unterstützen Funktionalitäten des OPC-UA Servers finden sich hier.

Der UA-Server ist per default konfiguriert, damit das erste TwinCAT PLC Laufzeitsystem (PLC1) erkannt werden kann. Bitte lesen Sie sich hierzu auch unseren Quick Start-Artikel durch, welcher einen schnellen Einstieg für einen Verbindungsaufbau zum OPC-UA Server beschreibt.

Im Folgenden finden Sie Dokumentationen über die folgenden Themenbereiche:

  • OPC-UA Konfigurator: Grafische Oberfläche zur Konfiguration des TwinCAT OPC-UA Servers
  • OPC-UA DA (Data Access): Zugriff auf die TwinCAT-Umgebung über OPC-UA, z.B. auf die SPS oder IO-Tasks
  • OPC-UA HA (Historical Access): Speicherung von historischen Daten
  • OPC-UA AC (Alarm & Conditioning): Condition Monitoring auf SPS-Variablenzustände
  • OPC-UA Security: In OPC-UA integrierte Sicherheitsmechanismen

Erweiterte Konfiguration

Gegebenenfalls sind, je nach Art Ihrer Betriebsumgebung, zusätzliche Konfigurationsparameter erforderlich, um die folgenden Dinge einzustellen:

  • Konfigurationsdatei: Beschreibung der Konfigurationsdatei "ServerConfig.xml" des TwinCAT OPC-UA Servers
  • Konfiguration von SPS Variablen: Bietet eine Übersicht über alle konfigurierbaren Optionen an einer SPS-Variablen
  • Weitere ADS-Geräte: Es sollen weitere TwinCAT ADS Geräte über den Namensraum des OPC-UA Server erreichbar sein
  • Mehrere UA-Server: Auf einem System sollen mehrere TwinCAT OPC-UA Server laufen
  • UA über NAT : Konfiguration einer UA-Kommunikation über ein NAT-Gerät
  • Ändern der Darstellung von Arrays: Beschreibt zwei Darstellungsoptionen von Arrays im UA-Namensraum


TwinCAT OPC UA Server PC/CE : Overview

Quick Start

Nach der Installation benutzt der TwinCAT OPC-UA Server per default den UA discovery port 4840 (TCP). Um von einem OPC-UA-Client eine Verbindung herzustellen, nutzen Sie die entsprechende Endpoint-URL Ihres OPC-UA Servers mit dem Port 4840. Eine Endpoint-URL setzt sich hierbei wie folgt zusammen:

opc.xxx://<ip or name>:port

opc = Fest eingestellt

xxx = Verwendeter Transportweg zum OPC-UA Server, z.B. "tcp"

port = Portnummer des OPC-UA Servers, z.B. 4840 (default)

Beispiel:

opc.tcp://CX_0215AF:4840

opc.tcp://172.16.2.80:4840

Hinweis: Ab der Version 1.6.80 des TwinCAT OPC-UA Servers wird automatisch auch ein UA Sample Client mit ausgeliefert (nicht WinCE-Variante), mit dessen Hilfe Sie Ihre UA-Server Installation überprüfen und durch den UA-Namensraum browsen können.


TwinCAT OPC UA Server PC/CE : Features

Funktionalitäten

Die folgenden Funktionalitäten wurden für den OPC-UA Client in OPC Interoperabilitäts-Workshops getestet und unterstützt:

  • Discovery
  • Session: Support security: No / Basic128Rsa15 / Username password
  • View Services: Support browsing, TranslateBrowsePathToNodeId
  • Attribute Services: Support read attributes for various UA nodes, vendor, specific nodes, support MaxAge
  • Method Service: Support calling ADS methods
  • Information Model: Standard types are exposed
  • Subscription Services: Support of Create / Delete / Publish
  • Data Change: Support Add monitored Items, Enable/Disable sampling/publishing


TwinCAT OPC UA Server (PC/CE) : Configuration

Allgemein: Konfigurationsdatei

Unter WinXP basierten Betriebssystemen können sämtliche Einstellungen zum TwinCAT OPC-UA Server mit Hilfe eines speziellen Configurators vorgenommen werden, welcher ab der UA-Server Version 1.6.80 mit über das Setup ausgeliefert wird. Der Configurator erleichert dem Anwender die Konfiguration des UA-Servers über dessen Konfigurationsdatei "ServerConfig.xml". Diese Konfigurationsdatei beinhaltet einen hierarchischen, XML-basierten Aufbau aller einstellbaren Parameter des UA-Servers. Die folgende Abbildung zeigt einen beispielhaften Aufbau dieser Datei.

Die Konfigurationsdatei ist, abhängig vom verwendeten Betriebssystem des OPC-UA Servers, unter folgendem Pfad zu finden:

  • Windows XP / 7: %TwinCATDIR%\OPC\UA
  • Windows CE: HardDisk\System


TwinCAT OPC UA Server (PC/CE) : Configuration

Allgemein: SPS Tags

Die Konfiguration von SPS-Variablen für die diversen OPC-UA Funktionalitäten (wie z.B. DA oder HA) erfolgt direkt aus dem SPS-Programm heraus. Dies hat den Vorteil, dass ein SPS-Programmierer direkt aus dem ihm bekannten Programmcode entscheiden kann, ob und wie eine Variable für OPC-UA aktiviert werden soll. Eine solche Aktivierung erfolgt dann durch Einfügen eines Kommentars mitsamt des entsprechenden OPC-UA Tags hinter der Variable, z.B.:

bVariable : BOOL; (*~ (OPC:1:available vor OPC-UA Clients)
                     (OPC_UA_PROP[0005]:1:ReadOnly) *)

Die folgende Tabelle gibt eine Übersicht über alle definierbaren Tags und deren Bedeutung. Für eine detailiertere Beschreibung der Funktionsweise wird in das entsprechende Unterkapitel des jeweiligen Features verwiesen.

OPC-UA Feature | SPS tag | Bedeutung
Data Access (DA) | (OPC : 0 : description) | Deaktiviert explizit eine Variable für OPC-UA, wodurch sie nicht im UA-Namensraum sichtbar wird.
Data Access (DA) | (OPC : 1 : description) | Aktiviert eine Variable für OPC-UA, wodurch sie im UA-Namensraum sichtbar wird. Dieses Tag muß immer gesetzt werden, wenn eine Variable für UA benutzt werden soll.
Data Access (DA) | (OPC_PROP[0005] : x : description) | Setzt Read/Write Zugriff für eine Variable, abhängig vom Parameter "x" (1=ReadOnly, 2=WriteOnly, 3=ReadWrite (Standard, wenn Tag nicht benutzt wird))
Historical Access (HA) | (OPC_UA_PROP[5000] : x : description) | Aktiviert eine Variable für "Historical Access" und definiert hierbei den Speicherort für Historical Access, abhängig vom Parameter "x" (1=Memory, 2=File, 3=Datenbank)
Historical Access (HA) | (OPC_UA_PROP[5000][1] : x : description) | Definiert die Samplingrate, mit der die Variablenwerte gespeichert werden sollen, abhängig vom Parameter "x" in [ms]
Historical Access (HA) | (OPC_UA_PROP[5000][2] : x : description) | Definiert die maximale Anzahl an Werten, die im Datenspeicher vorgehalten werden sollen, abhängig vom Parameter "x"
Alarm & Conditions (AC) | (OPC_UA_PROP[6000] : x : description) | Aktiviert eine Variable für "Alarm & Conditions" und definiert hierbei in dem Parameter "x" die AlarmID
Alarm & Conditions (AC) | (OPC_UA_PROP[6000][1] : x : description) | Definiert die Samplingrate, mit der die Variablenwerte überprüft werden sollen, abhängig vom Parameter "x" in [ms]


TwinCAT OPC UA Server PC/CE : Adding additional ADS devices to UA namespace

Allgemein: Hinzufügen weiterer ADS Geräte

Sie können optional weitere TwinCAT ADS-Geräte zum UA-Namensraum hinzufügen. Durch die Konfiguration des Namensraums weiß der OPC-UA Server welches TwinCAT-ADS Gerät (z.B. PLC, IO-Task, NC,...) über den UA-Server verfügbar gemacht werden soll. Diese Konfiguration muss nur einmalig durchgeführt werden.

Hinzufügen / Entfernen von ADS-Geräten zum UA-Namensraum

Der TwinCAT OPC-UA Server ist per default so konfiguriert, dass er sich zur ersten TwinCAT SPS-Laufzeit verbindet. Um weitere ADS-Geräte über den UA-Namensraum verfügbar zu machen, müssen Sie die folgenden Schritte durchführen:

  • Bearbeiten Sie die Server-Konfigurationsdatei unter "%TwinCATDIR%\OPC\UA\ServerConfig.xml" mit einem Texteditor, z.B. "Notepad". Jedes ADS-Gerät (PLC, Laufzeit, IO-Task...) ist hier durch einen eigenen Abschnitt "UaNodeManager" konfiguriert
  • Um ein zusätzliches ADS-Gerät hinzuzufügen, muss ein neuer Abschnitt "<UaNodeManager>" ... "</UaNodeManager>" erstellt und die Parameter dazwischen entsprechen dem neuen ADS-Gerät geändert werden

Der folgende Ausschnitt erläutert die zu konfigurierenden Parameter:

<UaNodeManager>
    <Name>            Unique name of device. Visible in
namespace when UA-client browse into device
    <AdsPort>         ADS-Port
    <AdsNetId>        ADS-NetID of device (if remote ADS
device take care to add this NetID into ADS-router as "Remote
Device")
    <AdsTimeout>      ADS-timeout in ms
    <AdsTimeSuspend>  Suspendtime in ms (If ADS not available
-like timeout- the UA-server will suspend this ADS-device for a
while
    <AutoCfg>         Options how to get information of
symbols from ADS device
                        5 Details_IO: Upload of symbol
information from ADS device (like IO-Task)
                        7 Details_PLC: All PLC variables
are available via OPC-UA
                        8 Details_PLC: A subset of PLC
variables are available via OPC-UA (recommended)
    <AutoCfgSymFile>  Link to tpy-file (Only available in
case of "AutoCfg 0 7 or 8)
                      Recommended to use standard URL (note
"x" is a placeholder for number of PLC runtime
system.)
                        XP:
<AutoCfgSymFile>C:\TwinCAT\BOOT\CurrentPlc_x.tpy</AutoCfgSymFile>

                        CE: <AutoCfgSymFile>\hard
disk\TwinCAT\BOOT\CurrentPlc_x.tpy</AutoCfgSymFile>
    <Disabled>        If set to "1" the UA-server
will ignore this ADS-device
                        Default is "0"
</UaNodeManager>

Beispiel:

Diese Beispiel zeigt eine Konfiguration von drei UaNodeManager Knoten, also drei ADS-Geräten. Bei den konfigurierten Geräten handelt es sich um zwei SPS-Laufzeitsysteme und eine IO-Task, welche im UA-Namensraum des Servers verfügbar sein sollen.


TwinCAT OPC UA Server (PC/CE) : Configuration

Allgemein: Mehrere UA-Server auf einem System installieren

Es besteht die Möglichkeit, mehrere TwinCAT OPC-UA Server auf einem System zu installieren. Dieser Teil der Dokumentation beschreibt die hierfür notwendigen Konfigurationsschritte. Die Konfiguration ist unter Windows CE und Windows XP basierten Betriebssystemen identisch und besteht aus den folgenden Teilschritten:

  • Installation des TwinCAT OPC-UA Servers
  • Kopie der installierten UA-Server Dateien
  • Anpassen der Konfigurationsdatei des zweiten UA-Servers

Lediglich die Pfade bei den beiden Betriebssystemvarianten sind unterschiedlich und es wird in den einzelnen Schritten entsprechend auf die Unterschiede hingewiesen.

Hinweis: Der TwinCAT OPC-UA Server ermöglicht eine Nutzung von OPC-UA direkt aus der SPS-Ebene heraus. Hierfür wurde ein ADS-Server in das Produkt integriert, damit SPS-Programmierer per Funktionsbaustein Daten über OPC-UA verschicken können. Möchten Sie, wie in dieser Anleitung beschrieben, mehrere TwinCAT OPC-UA Server parallel auf einem System laufen lassen, so gilt zu beachten, dass nur die erste Instanz des UA-Servers per Funktionsbaustein angesprochen werden kann.

Installation des TwinCAT OPC-UA Servers

Die Erst-Installation des TwinCAT OPC-UA Servers erfolgt über die auf dem Beckhoff FTP-Server erhältliche Setup-Datei. Standardmäßig wird der UA-Server in dem folgenden Verzeichnis installiert:

  • Windows XP: %TwinCATDIR%\OPC\UA
  • Windows CE: HDD\System

Kopie der installierten UA-Server Dateien

Im zweiten Schritt müssen die installierten UA-Server Dateien in ein neues Verzeichnis kopiert werden. Erstellen Sie ein neues Verzeichnis namens "UA2" in einem Ordner Ihrer Wahl, z.B.

  • Windows XP: %TWINCATDIR%\OPC\UA2
  • Windows CE: HDD\System\UA2

Als nächstes kopieren Sie die Inhalte des Ursprungsordners in das neu erstellte Verzeichnis. Der Inhalt dieses Ordners sollte dann wie folgt aussehen:

Anpassen der Konfigurationsdatei des zweiten UA-Servers

Damit der zweite UA-Server einen anderen TCP-Port benutzt, muss einmalig dessen Konfigurationsdatei angepasst werden. Hierzu öffnen Sie die Datei "ServerConfig.xml" mit einem Texteditor Ihrer Wahl, zum Beispiel Notepad. Weitere Informationen zur Konfigurationsdatei des UA-Servers finden Sie hier. Suchen Sie nun in dieser Datei den Eintrag "<Url>opc.tcp://[NodeName]:4840</Url>" unterhalb des Knotens "<UaEndpoint>" und ändern Sie dessen Portnummer (4840) in einen TCP-Port Ihrer Wahl, z.B. 4849:

Zusätzlich müssen Sie noch den Knoten <ServerInstanceUri>[NodeName]/Beckhoff/TcOpcUaServer/1</ServerInstanceUri> anpassen und eine neue Nummer vergeben, zum Beispiel:

Durch Ausführen der Datei können Sie nun den zweiten TwinCAT OPC-UA Server starten:

  • Windows XP: %TWINCATDIR%\OPC\UA2\TcOpcUaServer.exe -console
  • Windows CE: HDD\System\UA2\TcOpcUaServer.exe -console


TwinCAT OPC-UA Server Port Forwarding

TS6100-0030 | TwinCAT OPC-UA Server CE

General: Konfigurieren einer UA-Kommunikation über NAT

Um eine OPC-UA Kommunikation auch über ein NAT-Gerät, z.B. einen Internet-Router, zu ermöglichen, muß dieses entsprechend den verwendeten UA-Port an den TwinCAT OPC-UA Server weiterleiten können (sogenanntes Port Forwarding). Standardmäßig wird der TwinCAT OPC-UA Server für eine UA-Kommunikation über den TCP-Port 4840 konfiguriert, diese Konfiguration kann jedoch bei Bedarf selbst angepasst werden; entweder über die Server-Konfigurationsdatei oder den OPC-UA Konfigurator. Das folgende Schaubild verdeutlicht noch einmal den Zusammenhang von Port Forwarding und dem UA-Server.

In diesem Beispiel baut der OPC-UA Client eine UA-Verbindung über den TCP-Port 4840 zum NAT-Device auf, welches dann diese Kommunikationsverbindung über ein Port Forwarding an den TwinCAT OPC-UA Server weiterleitet. Das NAT-Gerät muss also nur den im TwinCAT OPC-UA Server konfigurierten UA-Port an das Zielgerät weiterleiten. Den vom UA-Server verwendeten Port können Sie entweder in der Server-Konfigurationsdatei einsehen oder auch ganz bequem über den UA-Konfigurator, im Auslieferungszustand ist dies jedoch immer der TCP-Port 4840. Die entsprechende Konfiguration Ihres NAT-Geräts für ein Port Forwarding entnehmen Sie bitte dessen Dokumentation.


TwinCAT OPC UA Server (PC/CE) : Configuration

Allgemein: Ändern der Darstellung von Arrays im UA-Namensraum

Standardmäßig werden Arrays im UA-Namensraum als einzelner Knoten betrachtet. Dies bedeutet, dass, wenn Sie z.B. in der SPS ein Array dyn_BOOL[10] definieren (und dieses auch für OPC-UA freigegeben haben), es anschliessend im UA-Namensraum wie folgt auftaucht:

Der Vorteil dieser Vorgehensweise ist eine deutliche Reduzierung der Komplexität des UA-Namensraums UND des Speicherverbrauchs, da nicht jede Position eines Arrays als einzelner Knoten im Namensraum zur Verfügung gestellt werden muß. Moderne UA-Clients können jedoch weiterhin auf die einzelnen Array-Positionen über den sogenannten "RangeOffset" zugreifen.

Damit jedoch auch ältere UA-Clients unterstützt werden, welche dieses Feature nicht bieten, können Sie die Positionen eines Arrays auch als einzelne Knoten im UA-Namensraum verfügbar machen. Dies würde sich dann wie folgt darstellen:

Diese Einstellung ist durch Aktivierung der Option "ArraySubItemLegacySupport" im UA-Configurator innerhalb der jeweiligen Namesraum-Konfiguration (z.B. UaServer\UaServerConfig\Namespaces\PLC1) verfügbar.

Alternativ können Sie auch die Konfigurationsdatei manuell editieren und dieser den folgenden Knoten hinzufügen:

Bitte beachten Sie jedoch hierbei, dass je nach Umfang des SPS-Projekts, der UA-Namensraum hierdurch deutlich an Komplexität gewinnt, was sich widerum in einer erhöhten Speicherauslastung des UA-Servers widerspiegelt.

EIne Änderung der oben genannten Einstellungen wird erst aktiv, wenn Sie den UA-Server neu starten.


TwinCAT OPC UA Server (PC/CE) : Configuration

OPC-UA DA: Konfiguration

Dieser Teil beschreibt die Konfiguration des TwinCAT OPC-UA Servers für Data Access. OPC-UA DA ermöglicht es Ihnen Zugriff über UA auf Ihre TwinCAT-Umgebung zu erhalten, z.B. auf die SPS oder IO-Tasks.

Diese Dokumentation gliedert sich dabei in die folgenden Themen:

  • Zugriff zur SPS
  • Zugriff zur IO-Task


TwinCAT OPC Server PC/CE : Access to PLC

OPC-UA DA: Zugriff zur SPS

Dieser Teil der Dokumentation beschreibt, wie der Namensraum des TwinCAT OPC-UA Servers konfiguriert werden kann. Der UA-Namensraum beschreibt die Struktur, in welche die SPS-Variablen abgebildet werden. Damit eine SPS-Variable über den UA-Namensraum erreichbar ist, muß diese dafür freigegeben werden. Die folgende Anleitung beschreibt nun mehrere Möglichkeiten zur Freigabe von Variablen in einem SPS-Programm.

Allgemeines

Zur Konfiguration des UA-Namensraums und des Zugriffs auf SPS-Variablen stehen serverseitig zwei Optionen zur Verfügung. Beide Optionen lassen sich bequem über den UA-Configurator im jeweiligen Namespace (z.B. "PLC1") einstellen. Alternativ können Sie diese Werte auch direkt in der Konfigurationsdatei ServerConfig.xml im zugehörigen Knoten <AutoCfg> setzen.

  • AutoCfg "7": Alle SPS Variablen sind über OPC-UA verfügbar.
    Hinweis: Der Namensraum des OPC UA Servers kann aufgrund der Anzahl der SPS Variablen, Strukturen, Arrays etc., bei dieser Einstellung möglicherweise sehr groß werden. Für kleinere SPS-Projekte könnte dies durchaus funktionieren, allerdings empfehlen wir eine kleine Liste der SPS Variablen zu laden, welche über den OPC-UA Client benötigt werden, vgl. AutoCfg "8".
  • AutoCfg "8": Eine Untermenge an SPS Variablen steht über OPC-UA zur Verfügung.
    - Default-Einstellung des TwinCAT OPC-UA Servers. Wir empfehlen diese beizubehalten
    - Nur eine Teilmenge an SPS Variablen ist über OPC-UA verfügbar
    - Eine Auswahl der SPS-Symbole kann durch eine Markierung direkt im SPS-Programm vorgenommen werden: Instanz, Struktur, oder Teilnehmer-Variable einer Struktur.

Bei Auswahl von AutoCfg "8" müssen die folgenden Schritte durchgeführt werden, um ein SPS-Symbol über OPC-UA erreichbar zu machen:

  • Schritt 1: Markieren des SPS-Symbols zur Erreichbarkeit über OPC-UA.
  • Schritt 2: Download der Symbolbeschreibung in die SPS-Laufzeit des Zielsystems

Bei Auswahl von AutoCfg "7" werden alle SPS-Variablen über OPC-UA freigegeben. Bei Nutzung dieser Option fahren Sie bitte direkt mit Schritt 2 fort.

ArraySubItemLegacySupport: Unterelemente eines Arrays werden standardmäßig nicht im UA-Namensraum abgebildet. Anstelle dessen wird nur das Array als Einzelelement abgebildet, was bei einem SPS-Programm mit größeren Arrays einen deutlichen Speichervorteil bietet. UA-Clients können dennoch auf Unterelemente über deren sogenannten "RangeOffset" zugreifen. Um jedoch auch älteren UA-Clients, welche dieses Feature nicht unterstützen, den Zugriff auf Unterlemente zu ermöglichen, bietet der TwinCAT OPC-UA Server die Option "ArraySubItemLegacySupport". Durch Aktivieren dieser Option werden Unterelemente eines Arrays ebenfalls als Einzelelemente im UA-Namensraum abgebildet. Vorsicht: Bei SPS-Programmen mit großen Arrays könnte dies zu einem deutlich höheren Speicherverbrauch führen! Weitere Informationen hierzu finden Sie hier.

Schritt 1: Markierung der SPS Variablen, welche im UA-Namensraum zur Verfügung stehen sollen

Der OPC-UA Server stellt automatisch eine Verbindung zur SPS-Laufzeit her. Die SPS-Symbole, die für OPC-UA im SPS-Programm (TwinCAT PLC-Control) markiert wurden, werden bereitgestellt. Die Markierung erfolgt mittels eines Kommentars an der entsprechenden Stelle (Instanz, Struktur, Variable) im SPS-Programmcode. Am Besten macht man sich dies an zwei Beispielen deutlich:

Beispiel 1:
In diesem Beispiel werden die SPS-Variablen bMemFlag1, bMemFlag2, bMemAlarm2 und iReadOnly per OPC-UA freigegeben. Die SPS Variable "bMemAlarm"1 soll hierbei nicht über den OPC-UA Server zur Verfügung stehen. Das SPS-Programm im PLC-Control würde dann wie folgt aussehen:

bMemFlag1  AT%MX10.0  :  BOOL;  (*~ (OPC:1:available for OPC-UA Clients) *)
bMemFlag2  AT%MX10.1  :  BOOL;  (*~ (OPC:1:available for OPC-UA Clients) *)
bMemAlarm1 AT%MX10.2  :  BOOL;
bMemAlarm2 AT%MX10.3  :  BOOL;  (*~ (OPC:1:available for OPC-UA Clients) *)
iReadOnly             :  INT;   (*~ (OPC:1:available for OPC-UA Clients)
                                    (OPC_PROP[0005]:1:available for OPC-UA Clients but ReadOnly) *)

Beispiel 2:
In diesem Beispiel sollen die beiden Instanzen fbTest und fbTest2 des Funktionsbausteins FB_BLOCK1 über OPC-UA zur Verfügung stehen. Wird eine ganze Instanz freigegeben, so werden auch alle darin enthaltenen Symbole über OPC-UA zur Verfügung stehen. Das SPS-Programm könnte beispielsweise wie folgt aussehen:

PROGRAM MAIN
VAR
  fbTest1  : FB_BLOCK1;  (*~ (OPC:1:available for OPC-UA Clients) *)
  fbTest2  : FB_BLOCK1;
END_VAR

FUNCTION_BLOCK FB_BLOCK1
VAR_INPUT
  ni1  : INT;  (*~ (OPC:1:available for OPC-UA Clients) *)
  ni2  : INT;
END_VAR
VAR_OUTPUT
  no1  : INT;  (*~ (OPC:1:available for OPC-UA Clients) *)
  no2  : INT;
END_VAR
VAR
  nx1  : INT;  (*~ (OPC:1:available for OPC-UA Clients) *)
  nx2  : INT;
END_VAR

Die Instanz "fbTest" würde für OPC-UA freigegeben, wodurch auch alle darin enthaltenen Symbole automatisch über OPC-UA zur Verfügung stehen, z.B. fbTest.ni1, fbTest.ni2, ... . Die Instanz "fbTest2" ist nicht für OPC-UA markiert, allerdings wurden im Funktionsblock die drei darin enthaltenen Variablen ni1, no1 und nx1 markiert. Diese stehen somit in allen Instanzen über OPC-UA zur Verfügung.

Schritt 2: TwinCAT PLC Control: Download der Symbolbeschreibung in die SPS-Laufzeit des Zielsystems

Ab der TwinCAT Version 2.10 Build 1240 (oder höher) kann man mit Hilfe des TwinCAT PLC-Control die Symboldatei <plc-project-name>.TYP auf das Zielsystem, also der TwinCAT Maschine, downloaden. Die TPY-Datei beinhaltet Informationen über alle verfügbaren SPS-Variablen im SPS-Projekt. Der OPC-UA Server benötigt diese TPY-Information für den Aufbau seines Namensraums.

Um die aktuellen Symbol-Informationen in eine TPY-Datei herunterzuladen, müssen Sie im PLC-Control dem Pfad "Project-->Options-->TwinCAT" folgen und hier die Option "Download Symbol description" auswählen. Hierdurch wird mit jedem Download des PLC-Codes in die Steuerung auch die Symboldatei als "C:\TwinCAT\Boot\CurrentPlc_1.tpy" heruntergeladen.

Hinweis:
Die TPY-Datei muss nur einmal heruntergeladen werden um für den UA-Server zur Verfügung zu stehen. Weitere Änderungen allein in der PLC-Logik erfordern nicht das erneute Markieren der Option "Download Symbol description" und den Download der TPY-Datei. Nur im Falle von Änderungen an den SPS-Variablen, welche damit auch Auswirkungen auf den UA-Server haben, muss der Download erneut durchgeführt werden, damit diese Änderung auch über OPC-UA verfügbar ist. Nachden die Symboldatei erzeugt wurde, muss der TwinCAT OPC-UA Server diese neu laden. Um dies zu erreichen gibt es zwei Möglichkeiten:

  • Sie können direkt aus dem SPS-Programm heraus dem OPC-UA Server mitteilen, dass dieser die Symboldatei neu laden soll. Hierfür gibt es einen entsprechenden SPS-Funktionsbaustein.
  • Neustart des TwinCAT Systems. Hierbei muss darauf geachtet werden, dass der Prozess "TcOpcUaServer.exe" korrekt beendet wird.


TwinCAT OPC Server PC/CE : Configuring namespace of IO-Task

OPC-UA DA: Zugriff zur IO-Task

Dieser Teil beschreibt, wie die Konfiguration des OPC Namensraums vom TwinCAT-OPC-UA-Server für eine TwinCAT I/O Task erfolgt.

Allgemeines

Um IO-Variablen über OPC-UA zur Verfügung zu stellen, müssen zwei Schritte einmalig konfiguriert werden:

  • Schritt 1: Konfiguration der TwinCAT IO-Task, um das Symbol Handling zu ermöglichen
  • Schritt 2: Konfiguration des OPC-UA Servers um die IO-Task in den UA-Namensraum zu integrieren

Schritt 1: Konfiguration von TwinCAT IO-Tasks, um das Symbol Handling zu ermöglichen

Im TwinCAT System Manager folgen Sie bitte diesem Pfad "System configuration ->Additional tasks -> Task x". Hier muss "Create symbols" angewählt werden.

Ähnlich wie in der SPS gibt es auch hier zwei Möglichkeiten, um Ein-/Ausgänge freizugeben:

  • AutoCfg 107: Alle Ein-/Ausgänge der IO-Task sind über OPC-UA erreichbar
  • AutoCfg 108: Nur bestimmte Ein-/Ausgänge der IO-Task sind über OPC-UA erreichbar. Diese müssen über den Kommentar (*~ (OPC:1:comment) *) explizit freigegeben werden, siehe Screenshot.

Schritt 2: Hinzufügen von IO-Tasks in einen UA-Server Namensraum

Im nächsten Schritt muss ein UA-Namensraum für die IO-Task konfiguriert werden. Dies erfolgt entweder über den UA-Konfigurator, oder direkt über die Konfigurationsdatei ServerConfig.xml. Die folgenden Parameter müssen hierbei für den UA-Namensraum spezifiziert werden:

  • Name: Bezeichner des Namensraums, ist später für den OPC-Client sichtbar
  • AdsPort: ADS-Port, welcher im TwinCAT System Manager definiert ist, in diesem Fall 301 für die IO-Task
  • AdsNetId: NetId vom ADS-Gerät (127.0.0.1.1.1 ermöglicht den Zugang zum lokalen System)
  • AutoCfg: Entweder 107 oder 108, siehe oben
  • AutoCfgSymFile: Hier muss der Pfad zu der XML-Datei des TwinCAT System Managers eingetragen werden. Im Falle eines Boot-Projekts lautet dieser z.B. C:\TwinCAT\Boot\CurrentConfig.xml

Konfiguration der IO-Task über den Konfigurator:

Konfiguration der IO-Task direkt über die ServerConfig.xml:


TwinCAT OPC Server PC/CE : Historical Access

OPC-UA HA: Konfiguration

Dieser Artikel beschreibt die notwendigen Schritte, um die Variablen im Namensraum des TwinCAT OPC-UA Servers für Historical Access (HA) zu konfigurieren.

Allgemeines

Um eine Werthistorie von SPS-Variablen in einer TwinCAT PLC-Task über OPC-UA zu ermöglichen, müssen die folgenden beiden Schritte einmalig durchgeführt werden:

  • Schritt 1: Aktivierung von Historical Access auf dem UA-Server
  • Schritt 2: Aktivierung von Historical Access im TwinCAT SPS-Programm

Diese Schritte werden im folgenden näher beschrieben. Zum Abschluß finden Sie noch weitere Informationen, wie Sie mit Hilfe der Software UAExpert HA-Informationen auslesen können.

Hinweis:

  • Historical Access benötigt mindestens Version 1.6.62 des TwinCAT OPC UA Servers.
  • Um die Werthistorien in einer Datenbank zu speichern wird die SQL Compact Runtime 3.5 SP2 benötigt.

Schritt 1: Aktivierung von Historical Access auf dem UA-Server

Zur Speicherung der Werthistorien können verschiedene Modi genutzt werden, welche einmalig im OPC-UA Server konfiguriert werden müssen, z.B. der physikalische Standort des Datenspeichers. Das SPS-Programm gibt dann an, welche Art von Datenspeicher verwendet werden soll. aber nicht dessen physikalischen Speicherort. Diese Einstellungen erfolgen entweder in der Datei "ServerConfig.xml" auf dem TwinCAT OPC-UA Server oder bequem über den UA-Configurator. Derzeit werden die folgenden 3 Datenspeicher unterstützt:

  • Memory: Speichert die Werthistorien im Arbeitsspeicher des Geräts, auf dem der UA-Server läuft.
  • File: Speichert die Werte in einer Datei.
  • Database: Speichert die Werte in einer Datenbank. Als Datenbank muss hierbei die SQL Compact Runtime 3.5 SP2 auf dem UA-Server installiert sein.

Die folgenden Screenshots zeigen die Konfiguration dieser drei Modi in der ServerConfig.xml und im UA-Configurator. In der ServerConfig.xml müssen die angegebenen XML-Zeilen zwischen <OpcServerConfig><UaServerConfig>...</UaServerConfig></OpcServerConfig> angelegt werden.

<HaModes>
  <HaMode Type="RAM"/>
  <HaMode Type="File" DataStore="C:\Temp\"/>
  <HaMode Type="SQLServerCompact" DbName="C:\Temp\TcOpcUaServer.sdf"/>
</HaModes>

DIe notwendigen Parameter für jeden Modus sind:

  • Memory: Speichert die Werte im RAM, es sind keine weiteren Parameter anzugeben
  • File: Speichert die Werte in einer Datei. DataStore: Verzeichnis, unter dem die Daten gespeichert werden sollen. Jede für HA aktivierte SPS-Variable erhält eine eigene Datei in diesem Verzeichnis. Zusätzlich existiert eine Backupdatei zu jeder Variable. Die Backupdatei wird erstellt, sobald die angegebene Bufferlänge (siehe Konfigurationsparameter im SPS-Programm unten) erreicht ist. Der Inhalt der Datendatei wird dann als Backupdatei gespeichert und es wird eine neue Datei angefangen.
  • SQLServerCompact: Speichert die Werte in einer SQL Compact Datenbank. DataStore: Gibt den Pfad zur Datenbankdatei an.

Hinweis: Zur Nutzung einer SQL Datenbank für Historical Access, muß die SQL Compact Runtime 3.5 SP2 auf dem Zielgerät installiert sein.

Schritt 2: Aktivierung von Historical Access im TwinCAT SPS-Programm

Der TwinCAT OPC-UA Server verbindet sich automatisch mit der PLC-Runtime und stellt hieraus diejenigen SPS-Variablen über OPC-UA zur Verfügung, welche im SPS-Programm dafür freigegeben wurden. Weitere Informationen über das Freigeben von SPS-Variablen finden Sie hier. Wie auch beim Freigeben von Variablen für den Zugriff über OPC-UA, können einzelne Variablen für Historical Access aktiviert werden. Dies erfolgt ebenfalls direkt im SPS-Programm über die Angabe von Kommentaren hinter einer Variable. Die folgenden Parameter können hierbei angegeben werden:

  • Modus: Gibt die Art des zu verwendenden Datenspeichers für HA an (Memory, File, Database)
  • Sampling Rate: Rate, mit der die Variablenwerte gespeichert werden sollen
  • Buffer-Länge: Gibt an, wie viele Elemente der Buffer vorhalten soll (Ringbuffer)

Wichtig ist hierbei, dass man sich den Unterschied zwischen den verschiedenen Modi klarmacht: Eine Ablage der Werthistorien im Arbeitsspeicher ("Memory") bedeutet eine nicht-persistente Speicherung dieser Daten, wohingegen die Speicherung in einer Datei oder Datenbank eine persistente Speicherung der Werthistorien ermöglicht. Der Pfad zu der jeweiligen Datei oder Datenbank wird in der Datei "ServerConfig.xml" des jeweiligen OPC-UA Servers hinterlegt.

Das folgende Sample gibt ein Beispiel für die Angabe der Historical Access Parameter im SPS-Programm an und wird auch in unserem Sample-Bereich als Download angeboten:

_HistoryMem  : UINT;  (*~ (OPC:1:available for OPC-UA Clients)
                          (OPC_UA_PROP[5000]:1:Historizing Mode = Memory)
                          (OPC_UA_PROP[5000][1]:5:Sampling Rate = 5ms (Default: 100ms))
                          (OPC_UA_PROP[5000][2]:200000:Maximum history length) *)

_HistoryFile : UINT;  (*~ (OPC:1:available for OPC-UA Clients)
                          (OPC_UA_PROP[5000]:2:Historizing Mode = File)
                          (OPC_UA_PROP[5000][1]:5000:Sampling Rate = 5sec (Default: 100ms))
                          (OPC_UA_PROP[5000][2]:10000:Maximum history length) *)

_HistoryDB   : UINT;  (*~ (OPC:1:available for OPC-UA Clients)
                          (OPC_UA_PROP[5000]:3:Historizing Mode = Database)
                          (OPC_UA_PROP[5000][1]:200:Sampling Rate = 200ms (Default: 100ms))
                          (OPC_UA_PROP[5000][2]:200000:Maximum history length) *)

Beispiel: Anzeigen der Historical Access Daten über UAExpert

Das folgende Beispiel basiert auf obigem SPS-Programm, welches im Sample-Bereich als Download bezogen werden kann. Weiterhin setzt es eine bereits für HA konfigurierte "ServerConfig.xml" voraus, inkl. der benötigten Datenspeicher, siehe Schritt 1 oben. Bitte führen Sie die folgenden Schritte durch:

  1. Laden Sie das SPS-Programm "HA_Test.pro" und die Symbolkonfiguration auf das Zielgerät.
  2. Konfigurieren Sie das SPS-Programm als Bootprojekt.
  3. Starten Sie den TwinCAT OPC-UA Server neu, damit die Symbolkonfiguration neu geladen wird. Diesen Neustart können Sie bequem mit Hilfe des UA-Configurators durchführen.

Es werden nun Werthistorien der SPS-Variablen im angegebenen HA-Modus gesammelt. Diese Daten können Sie nun z.B. mit Hilfe der Software UAExpert von der Firma Unified Automation anzeigen. Die folgenden Tests wurden mit der UAExpert Version 1.2.0.132 durchgeführt.

  • Starten Sie die Software "UAExpert" und verbinden Sie sich mit dem OPC-UA Server

  • Fügen Sie ein neues Dokument "History Trend View" hinzu

  • Browsen Sie zum "PLC1" Namensraum und fügen Sie per Drag&Drop die SPS-Variablen _HistoryDB, _HistoryFast, _HistorySlowPersist hinzu

  • Der folgende Verlauf wird angezeigt. Sie können nun über die Steuerlemente "Start Time" und "End Time" den gewünschten Zeitraum der anzuzeigenden Werthistorie einstellen.


TwinCAT OPC Server PC/CE : Alarms and Conditions

OPC-UA AC: Konfiguration

Dieser Teil der Dokumentation befasst sich mit dem Thema "OPC-UA Alarm and Conditioning" und erläutert die Vorgehensweise, dieses Feature im TwinCAT OPC-UA Server zu konfigurieren.

Hinweis: Alarm and Conditioning steht ab TwinCAT OPC-UA Server Version 1.6.62 zur Verfügung.

Allgemeines

DIe folgenden Ereignistypen werden unterstützt:

OffNormalAlarm: Wenn der Wert einen Low- und High-Range übersteigt, wird dieser als "OffNormal" deklariert.

ExclusiveLimitAlarm: Alarmzustände mit mehrfachen Grenzen (HighHighLimit, HighLimit, LowLimit, LowLowLimit). Die Alarmgrenzen können einen Alarm auslösen, wenn der Wert gleich einer bestimmten Grenze ist, oder diese übersteigt.

-StateCondition:Der Status einer entsprechenden Variable wird auf TRUE oder FALSE gesetzt.

Um OPC-UA AC zu aktivieren, müssen Sie die folgenden Schritte durchführen:

  • Konfigurieren Sie die Server-Konfigurationsdatei "ServerConfig.xml", um den Pfad zum Ereignisprotokoll anzugeben
  • Konfigurieren Sie das SPS-Programm für AC
  • Erstellen Sie eine Excel-Datei "ConditionConfig.csv", um die Parameter für AC zu setzen

Konfiguration der Datei "ServerConfig.xml"

Der Name der CSV-Datei muß in der Datei "ServerConfig.xml" auf dem OPC-UA Server spezifiziert werden. Führen Sie hierzu die folgenden Schritte durch:

  • Öffnen Sie die Datei mit einem Texteditor, z.B. Notepad. Sie finden die Datei auf dem OPC-UA Server unter dem Verzeichnis "%TwinCATDIR%\OPC\UA\".
  • Legen Sie einen neuen Knoten innerhalb des Knotens "<UaServerConfig>" an und benennen Sie ihn wie folgt: <ConditionConfig CfgFile="\ConditionConfig.csv" />
  • Das Attribut "CfgFile" spezifiziert den Pfad zur CSV-Datei.

Konfiguration des SPS-Programms

Der TwinCAT OPC-UA Server verbindet sich automatisch mit der PLC-Runtime und stellt hieraus diejenigen SPS-Variablen über OPC-UA zur Verfügung, welche im SPS-Programm dafür freigegeben wurden. Weitere Informationen über das Freigeben von SPS-Variablen finden Sie hier. Wie auch beim Freigeben von Variablen für den Zugriff über OPC-UA, können einzelne Variablen für Alarm and Conditioning freigeschaltet werden. Dies erfolgt ebenfalls direkt im SPS-Programm über die Angabe von Kommentaren hinter einer Variable. Die folgenden Parameter müssen hierbei konfiguriert werden:

  • AlarmID: Eindeutige ID für das Alarm Event
  • Sampling Rate: Rate, mit welcher Werte geprüft werden sollen

Beispiele für die Angabe der Alarm and Conditioning Parameter im SPS-Programm:

_limitAlarm      : LREAL;(*~ (OPC:1:available for OPC-UA Clients)
                             (OPC_UA_PROP[6000]:42:Specified AlarmID (42))
                             (OPC_UA_PROP[6000][1]:1000:Alarm sampling Rate = 1000ms (Default: 1000ms)) *)

_offNormalAlarm1 : BOOL; (*~ (OPC:1:available for OPC-UA Clients)
                             (OPC_UA_PROP[6000]:600:Specified AlarmID (600))
                             (OPC_UA_PROP[6000][1]:1000:Alarm sampling Rate = 1000ms (Default: 1000ms)) *)

_OffNormalAlarm2 : INT;  (*~ (OPC:1:available for OPC-UA Clients)
                             (OPC_UA_PROP[6000]:601:Specified AlarmID (601))
                             (OPC_UA_PROP[6000][1]:1000:Alarm sampling Rate = 1000ms (Default: 1000ms)) *)

_stateCondition  : BOOL; (*~ (OPC:1:available for OPC-UA Clients)
                             (OPC_UA_PROP[6000]:500:Specified AlarmID (500))
                             (OPC_UA_PROP[6000][1]:1000:Alarm sampling Rate = 1000ms (Default: 1000ms)) *)

Erstellen einer Excel-Datei (CSV-Datei)

Die weiteren Parameter werden in einer Excel-Datei konfiguriert. Diese wird in der Datei "ServerConfig.xml" als Pfad hinterlegt. Die Parameter werden in der Excel-Datei als Semikolon-getrennte Werte gespeichert und bestehen aus den folgenden Spalten: ConditionType, Template, Name, Message, Severity und Limits. Im folgenden finden Sie ein Beispiel für den Aufbau einer solchen Excel-Datei:

Die Excel-Datei ermöglicht es Ihnen, mehr als eine Nachricht für verschiedene Limits zu konfigurieren. Die Nachricht für den Normalzustand steht hierbei immer in der ersten Nachrichten-Spalte. Die darauf folgenden Nachrichten beziehen sich in ihrer Reihenfolge auf die Spalten 5, 6, 7 und 8.

How to view the Data using UAExpert?

Alarm and Conditioning kann auch über die Software UAExpert eingesehen werden. DIe folgenden Tests wurden mit UAExpert Version 1.2.0.132 durchgeführt.

  • Starten Sie die Software "UAExpert" und fügen Sie ein neues Dokument "Event View" hinzu.

  • Verbinden SIe sich mit dem OPC-UA Server
  • Ziehen Sie per Drag&Drop das Symbol "Server" in den "Event View"

  • Die folgenden Ereignisse und Alarme werden beispielsweise angezeigt, je nach Art Ihrer SPS-Konfiguration:


TwinCAT OPC UA Server (PC/CE) : Configuration

OPC-UA Security: Konfiguration

Die Kommunikation zwischen UA-Client und UA-Server kann optional durch den Einsatz von Zertifikaten abgesichert werden.

Beim ersten Start erzeugt der UA-Server ein maschinenspezifisches Zertifikat zur Serverauthentifizierung.

Falls Sie in Ihrer Umgebung eigene Zertifikate einsetzen möchten, müssen diese wie folgt eingerichtet werden:

Client-Zertifikate

Möchten Sie Ihre UA-Clients über Zertifikate am UA-Server authentifizieren, so muß der UA-Server diesen auch vertrauen. Hierzu muß der Public Key des jeweiligen UA-Clients, abhängig vom Betriebssystem, in den folgenden Ordner kopiert werden:

  • Windows XP / 7: %TwinCATDIR%\OPC\UA\PKI\CA\certs
  • Windows CE: HardDisk\System\PKI\CA\certs

Dieser Ordner beinhaltet alle Zertifikate, welchen der TwinCAT OPC-UA Server vertraut und mit denen eine authentifizierte Verbindung aufbaut werden kann. Die Client-Zertifikate müssen hierbei im Format "<beliebigerName>.der" vorliegen, damit der UA-Server diese verarbeiten kann. Die folgende Anleitung zeigt zwei Möglichkeiten, wie man an das Client-Zertifikat gelangt.

Variante 1: Einmaliger Verbindungsaufbau zum TwinCAT OPC-UA Server

Die erste Variante nutzt ein Feature des TwinCAT OPC-UA Servers und ist für viele Anwendungsfälle wahrscheinlich die einfachste Möglichkeit an ein Clientzertifikat zu gelangen. Hierbei bauen Sie, ohne vorher das Clientzertifikat auf den UA-Server kopiert zu haben, eine Verbindung zum UA-Server unter Berücksichtigung eines Security-Endpunkts auf. Diese Verbindung wird vom UA-Server natürlich abgewiesen, da dieser dem UA-Client noch nicht vertraut. Nach Abweisen der Verbindungsaufforderung speichert der UA-Server jedoch eine Kopie des Clientzertifikats im folgenden Verzeichnis ab:

  • Windows XP / 7: %TwinCATDIR%\OPC\UA\PKI\CA\crl
  • Windows CE: HardDisk\System\PKI\CA\crl

Der Name des Zertifikats entspricht hierbei dem "Thumbprint" des Zertifikats und lässt sich somit eindeutig dem UA-Clientzertifikat zuordnen. Diese Datei können Sie nun direkt in den "certs"-Ordner kopieren, damit der UA-Server bei weiteren Verbindungsanforderungen dem UA-Client vertraut und die Verbindung akzeptiert.

Variante 2: Exportieren des Client-Zertifikats aus dem Zertifikatsspeicher des UA-Clients

Die folgende Anleitung beschreibt, wie Sie ein Zertifikat aus dem lokalen Zertifikatsspeicher des UA-Clients exportieren und dieses an die richtige Stelle auf dem UA-Server kopieren. Diese Anleitung ist hierbei für UA-Clients gültig, welche unter den Betriebssystemen Windows XP oder Windows 7 laufen.

  • Starten Sie über "Start - Ausführen - mmc" die Microsoft Management Console (MMC) auf dem UA-Client

  • Navigieren Sie im Menü zu "File - Add/Remove SnapIn" und fügen Sie das SnapIn "Certificates" hinzu. Als Zertifikatsspeicher wählen Sie den jeweiligen Speicherort Ihres Zertifikats, z.B. "Computer Account"

  • Klicken Sie mir der rechten Maustaste auf das Zertifikat Ihres UA-Clients und wählen Sie "All Tasks" und dann "Export"
  • Wählen Sie "No, do not export the private key" und klicken Sie auf "Next"

  • Beim Dateiformat wählen Sie "DER encoded binary X.509 (.CER)" und klicken Sie auf "Next"

  • Wählen Sie einen temporären Speicherort, an dem das exportierte Zertifikat abgelegt werden soll und verwenden Sie als Dateiendung *.DER

Die erstellte Zertifikatsdatei muß nun, wie bereits weiter oben beschrieben, auf den UA-Server in das entsprechende Verzeichnis kopiert werden. Ein Neustart des UA-Servers ist danach nicht erforderlich.

Server-Zertifikate

Abhängig vom verwendeten UA-Client müssen eventuell unterschiedliche Schritte unternommen werden, damit der UA-Client dem UA-Server vertraut. Die folgende Anleitung ist daher nur für den TwinCAT OPC-UA Client gültig.

Das Zertifikat des UA-Servers befindet sich, abhängig vom verwendeten Betriebssystem, als DER-Datei in dem folgenden Verzeichnis:

  • Windows XP / 7: %TwinCATDIR%\OPC\UA\PKI\CA\certs
  • Windows CE: HardDisk\System\PKI\CA\certs

Der Name der Datei lautet "Beckhoff_OpcUaServer.der". Diese Datei muß beim TwinCAT OPC-UA Client, ebenfalls abhängig vom Betriebssystem, in den folgenden Ordner kopiert werden:

  • Windows XP / 7: %TwinCATDIR%\OPC\UA Client\PKI\CA\certs
  • Windows CE: HardDisk\System\PKI\CA\certs

Nun vertraut der entsprechende TwinCAT OPC-UA Client dem UA Server und erlaubt es, eine Verbindung zu diesem herzustellen.


TwinCAT OPC UA Server PC/CE : Features UA Client

Funktionalitäten

Der OPC-UA Client ermöglicht eine UA-Kommunikation aus der TwinCAT-SPS heraus über Funktionsbausteine.

  • Öffnen einer UA-Verbindung
  • Schliessen einer UA-Verbindung
  • Lesen von UA-Knoten
  • Schreiben von UA Knoten

Link: Detallierte Dokumentation mit Beispielen


TwinCAT OPC Server PC/CE : Samples

OPC-UA: Samples

Sample | Description | Download
1 | OPC-UA Data Access: SPS Sample-Programm | DA_Sample
2 | OPC-UA Historical Access: SPS Sample-Programm | HA_Test
3 | OPC-UA Buffered Values: SPS Sample-Programm und .NET HMI | BufferedValues_Sample


Beispiel OPC UA von Inosoft

IPC Diagnose

Beispiel OPC UA Client von Inosoft (Third Party)

Download Inosoft Beispiel "Boiler"

Download PLC Demo "Boiler"

Kochbuch:

  • Laden Sie das PLC-Demo "Boiler" in die TwinCAT SPS
  • Installieren Sie den TwinCAT-OPC-UA Server (XP oder CE je nach eingesetzter Plattform)
  • Entpacken Sie das Third-Party Demo Inosoft
  • Öffnen Sie die Datei "INOSOFT_UABoilerDemo_PC_800_600.vwn" mit Notepad
  • Suchen Sie die Zeile <Channel Name="Ch1" Type="OPCUA" ProgID="Beckhoff OPCUA" ComputerName="opc.tcp://188.100.13.207:4840">
  • Passen Sie die IP-Adresse an - hier muss die IP Adresse des Gerätes mit dem UA-Servers eingetragen werden
  • Speichern Sie die Datei und Starten Sie die Applikation "INOSOFT_UABoilerDemo_PC_800_600.exe"
  • Bestätigen Sie den Demo-Mode mit OK - das Demo ist jetzt 1h lauffähig


OPC UA Error Codes

The table gives an overview of the global OPC-UA error messages.

Hex | Description
0xE4DD0000 | general UA Server error
0xE4DA0000 | general ADS error
0xE4DB0000 | general API error
0xE4DD0100 | Server is already connected
0xE4DD0101 | general error while establishing a connection to the UA server
0xE4DD0100 | Server is already connected
0xE4DD0101 | general error while establishing a connection to the UA server
0xE4DD0102 | failed to setup UA security
0xE4DD0103 | item ID already exists
0xE4DD0104 | item does not exist
0xE4DD0105 | invalid or unsupported item type
0xE4DD0106 | var types cannot be converted
0xE4DD0107 | device is suspended
0xE4DD0108 | vartype conversion is not supported for this type
0xE4DD0109 | a namespace with the requested name cannot be found
0xE4DD0110 | target host not found
0xE4DD0111 | timeout due to missing reply from target host
0xE4DD0112 | UA Client session handle is invalid
0xE4DD0113 | invalid node ID