TS6100-0030 | TwinCAT OPC-UA Server CE
Home
twincat communication web


Vorwort

TS6100-0030 | TwinCAT OPC-UA Server CE
Vorwort
Vorwort
Weiterführende Informationen
•
Hinweise zur Dokumentation
•
Sicherheitshinweise


Hinweise zur Dokumentation

Vorwort [image] Hinweise zur Dokumentation
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 Dokumentation und der nachfolgenden Hinweise und Erklärungen unbedingt notwendig.
Das Fachpersonal ist verpflichtet, für jede Installation und Inbetriebnahme die zu dem betreffenden Zeitpunkt veröffentliche Dokumentation zu verwenden.
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.
Wir behalten uns das Recht vor, die Dokumentation jederzeit und ohne Ankündigung zu überarbeiten und zu ändern.
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®, EtherCAT G®, EtherCAT G10®, EtherCAT P®, Safety over EtherCAT®, TwinSAFE®, XFC®, XTS® und XPlanar® 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, EP1456722, EP2137893, DE102015105702
mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.
EtherCAT® ist eine eingetragene Marke und patentierte Technologie lizenziert durch die Beckhoff Automation GmbH, Deutschland
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.


Sicherheitshinweise

Vorwort [image] Sicherheitshinweise
Sicherheitshinweise
Sicherheitsbestimmungen
Beachten Sie die folgenden Sicherheitshinweise und Erklärungen!
Produktspezifische Sicherheitshinweise finden Sie auf den folgenden Seiten oder in den Bereichen Montage, Verdrahtung, Inbetriebnahme usw.
Haftungsausschluss
Die gesamten Komponenten werden je nach Anwendungsbestimmungen in bestimmten Hard- und Software-Konfigurationen ausgeliefert. Änderungen der Hard- oder Software-Konfiguration, die über die dokumentierten Möglichkeiten hinausgehen, sind unzulässig und bewirken den Haftungsausschluss der Beckhoff Automation GmbH & Co. KG.
Qualifikation des Personals
Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs-, Automatisierungs- und Antriebstechnik, das mit den geltenden Normen vertraut ist.
Erklärung der Symbole
In der vorliegenden Dokumentation werden die folgenden Symbole mit einem nebenstehenden Sicherheitshinweis oder Hinweistext verwendet. Die Sicherheitshinweise sind aufmerksam zu lesen und unbedingt zu befolgen!
SmallWarningYellow GEFAHR
Akute Verletzungsgefahr!
Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, besteht unmittelbare Gefahr für Leben und Gesundheit von Personen!
SmallWarningYellow WARNUNG
Verletzungsgefahr!
Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, besteht Gefahr für Leben und Gesundheit von Personen!
SmallWarningYellow VORSICHT
Schädigung von Personen!
Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, können Personen geschädigt werden!
Hinweis
Schädigung von Umwelt oder Geräten
Wenn der Hinweis neben diesem Symbol nicht beachtet wird, können Umwelt oder Geräte geschädigt werden.
Tipp oder Fingerzeig
Dieses Symbol kennzeichnet Informationen, die zum besseren Verständnis beitragen.


Übersicht

Übersicht
Übersicht
OPC Unified Architecture (OPC UA) ist die nächste Generation des klassischen OPC‑Standards. Es handelt es sich hierbei um ein weltweit standardisiertes Kommunikationsprotokoll, über das Maschinendaten hersteller- und plattformunabhängig ausgetauscht werden können. OPC UA integriert gängige Sicherheitsstandards bereits direkt im Protokoll. Ein weiterer großer Vorteil von OPC UA gegenüber dem klassischen OPC-Standard ist die Unabhängigkeit vom COM/DCOM-System.
Detaillierte Informationen zu OPC UA finden Sie auf den Webseiten der OPC Foundation.
Komponenten
Folgende Softwarekomponenten wurden für Win32/64- und Windows-CE-basierte Systeme eingebunden:
Software-Komponente | Beschreibung
OPC UA Server | Stellt eine OPC-UA-Server-Schnittstelle zur Verfügung, damit UA-Clients auf die TwinCAT‑Laufzeit zugreifen können.
OPC UA Client | Stellt eine OPC-UA-Client-Funktionalität zur Verfügung, damit die Kommunikation mit anderen OPC UA Servern auf der Grundlage von PLCopen-genormten Funktionsbausteinen sowie einem einfach zu konfigurierenden I/O-Gerät möglich ist.
Folgende Softwarekomponenten wurden für Win32/64-basierte Systeme eingebunden:
Software-Komponente (nur Windows) | Beschreibung
OPC UA Configurator | Grafische Benutzerschnittstelle für die Konfiguration des TwinCAT OPC UA Server
OPC UA Sample Client | Grafische Beispielimplementierung eines OPC UA Clients um einen ersten Verbindungstest mit dem TwinCAT OPC UA Server durchführen zu können.
OPC UA Gateway | Wrapper-Technologie, die sowohl eine OPC‑COM-DA-Server-Schnittstelle als auch OPC-UA-Server-Aggregationsfähigkeiten zur Verfügung stellt.
Weiterführende Informationen
•
Szenarien
•
Änderungsübersicht OPC UA Server
•
Versionsübersicht
•
Anwendungsbeispiele


Szenarien

Übersicht [image] Szenarien
Szenarien
Im Folgenden werden einige Szenarien erläutert, gemäß derer die Komponenten je nach Anwendungsfall und Infrastruktur implementiert und verwendet werden können:
▪
OPC UA Server: Integriert in Industrie-PC oder Embedded-PC
▪
OPC UA Server: Läuft auf einem Zentralrechner mit Verbindung zu ferner(n) TwinCAT‑Laufzeit(en).
▪
OPC UA Server: Zugriff auf BC Controller
OPC UA Server: Integriert in Industrie-PC oder Embedded-PC
Empfohlenes Szenario
Dieses Szenario beschreibt, wie der TwinCAT OPC UA Server unter normalen Umständen eingesetzt werden sollte.
Einer der größten Vorteile des TwinCAT OPC UA Servers besteht darin, dass er selbst in die kleinste Embedded-Plattform, z. B. die CX8000-Baureihe, integriert werden kann. Dank dieser Integration ist das allgemeine Handling sehr einfach und komfortabel. OPC UA Clients, z. B. HMI-oder MES/ERP-Systeme, können eine Verbindung mit dem OPC UA Server herstellen und aus der TwinCAT-Laufzeit stammende Symbolinformationen lesen oder schreiben.
Auf dem zentralen Server laufen folgende Softwarekomponenten und Konfigurationen:
▪
Dritter OPC UA Client, der z. B. ein HMI-, MES-, oder ERP-System sein kann.
Auf dem Industrie-PC oder Embedded-PC laufen folgende Softwarekomponenten und Konfigurationen:
▪
Der OPC UA Server stellt automatisch eine Verbindung mit der ersten lokalen TwinCAT‑SPS‑Laufzeit her.
▪
TwinCAT-Laufzeit
Dieses Szenario hat folgende Vorteile:
▪
Die Netzwerknutzung ist optimiert, weil sie auf OPC-UA-Kommunikationstechniken aufbaut, z. B. OPC-UA-Registrierungen.
▪
Die Speichernutzung ist dezentral. Jedes Gerät ist ausschließlich für den eigenen Speicherbedarf zuständig.
▪
OPC UA verfügt über direkt ins Protokoll integrierte Sicherheitsmechanismen. Dies ist z. B. sehr praktisch, wenn einer der Industrie-PCs oder Embedded-PC übers Internet verbunden ist.
OPC UA Server: Läuft auf einem Zentralrechner mit Verbindung zu ferner(n) TwinCAT-Laufzeit(en)
Dieses Szenario beschreibt die klassische Implementierung von OPC-Server. Server, die die alte OPC‑DA‑Technologie verwenden, waren häufig auf einem zentralen Server implementiert, statt auf dem Industrie-PC, auf dem die TwinCAT-Laufzeit ausgeführt wird, um die DCOM-Konfigurationen zu vermeiden. (Zur Erinnerung: Im Gegensatz zu OPC UA basiert OPC DA auf COM/DCOM‑Technologien)
Auf dem zentralen Server laufen folgende Softwarekomponenten und Konfigurationen:
▪
TwinCAT 3 ADS (oder TwinCAT 2 CP) für die erforderliche ADS-Konnektivität
▪
OPC UA Server mit Datenzugriffsgeräten für ferne TwinCAT-Laufzeiten konfiguriert
▪
ADS-Routen zu fernen TwinCAT-Laufzeiten
▪
Symboldateien von jeder fernen TwinCAT-Laufzeit
▪
OPC UA Client, der z. B. ein HMI-, MES- oder ERP-System sein kann.
Auf dem Industrie-PC oder Embedded-PC laufen folgende Softwarekomponenten und Konfigurationen:
▪
TwinCAT-Laufzeit
▪
ADS-Route zum zentralen Server
Je mehr ferne TwinCAT-Laufzeiten mit dem zentralen OPC UA Server verbunden werden, desto höher ist die Netzwerknutzung.
Der OPC UA Server verwendet fortschrittliche ADS-Aufzeichnungstechniken, um die Symbolwerte von der TwinCAT-Laufzeit abzufragen. Je mehr Symbole vorhanden sind, desto mehr zyklische Abfragen sind unterwegs. Demzufolge findet die optimierte OPC-UA-Kommunikation nur lokal auf dem zentralen Server statt (zwischen OPC UA Client und OPC UA Server).
Dieses Szenario weist im Vergleich zu Szenario 1 folgende Nachteile auf:
▪
Die Netzwerknutzung kann abhängig von der Anzahl vorhandener Geräte und Symbole sehr hoch sein.
▪
Der Speicherbedarf auf dem zentralen Server ist sehr hoch, weil der OPC UA Server Symbolinformationen von jeder TwinCAT-Laufzeit importieren muss.
▪
Keine Sicherheit zwischen zentralem Server und der TwinCAT-Laufzeit dank Datenverschlüsselung – ADS wurde auf hohe Leistung ausgelegt.
▪
Die Notwendigkeit, bei jeder SPS-Programmänderung Symboldateien zwischen TwinCAT‑Laufzeit und zentralem Server auszutauschen.
OPC UA Server: Zugriff auf BC Controller
Auch wenn kleine BC Controller nicht in der Lage sind, einen eigenen OPC UA Server auszuführen, können Sie trotzdem Zugriff auf die auf einem fernen BC Controller, z. B. ein BC9191, ausgeführte SPS‑Laufzeit haben und deren Symbolwerte über OPC UA veröffentlichen. Bei diesem Szenario muss der OPC UA Server zusammen mit einer TwinCAT 3 ADS (oder TwinCAT 2 CP) auf einem anderen Rechner ausführt und das Szenario auf die gleiche Weise wie Szenario 2 konfiguriert werden.


Änderungsübersicht OPC UA Server

Übersicht [image] Änderungsübersicht OPC UA Server
Änderungsübersicht OPC UA Server
In der nachfolgenden Änderungsübersicht werden wichtige Unterschiede zwischen den Produktversionen dargestellt. Diese Informationen sind wichtig, wenn das Softwareprodukt eine bedeutende Softwareaktualisierung erfährt.
Wichtige Änderungen in der Version | Komponente | Anmerkungen
Alle Versionen | Arrays in einem SPS-Programm | Standardmäßig werden Array-Elemente eines SPS-Arrays nicht als getrennte Knoten im UA-Namensraum angezeigt. Stattdessen wird nur ein Knoten für das gesamte Array verwendet und UA-Clients können auf jedes Element über dessen IndexRange zugreifen. (Siehe auch: Verwendung von Arrays)
2.1 | Aufzählungen (Enums) in einem SPS-Programm | Standardmäßig werden Aufzählungen in einem SPS-Programm nicht als EnumTypen im UA-Namensraum angezeigt. In der vorherigen Version waren diese einfach ein Int16.
2.1 | NamespaceName | Seit der Version 2.1 wird der NamespaceName gemäß dem URI-Konzept generiert und beinhaltet stets den Hostnamen des Rechners, auf dem der UA-Server läuft. In älteren Versionen ist der NamespaceName gleich dem Namen, der im Konfigurator festgelegt wurde, z. B. „PLC1“. Diese Information ist besonders dann wichtig, wenn ein UA-Client vor dem Zugriff auf einen Knoten den NamespaceName in einen NamespaceIndex auswertet. Für Kompatibilitätszwecke und zur Vereinfachung der Aktualisierung ohne Eingriff auf den UA-Client, bietet die Version 2.2 des TwinCAT OPC UA Servers einen Mechanismus, um das alte NamespaceName-Konzept zu aktivieren. (Siehe auch: TwinCAT OPC UA Server)
2.2 | Strukturen in SPS | Seit Version 2.2.x kann auf Strukturen in einem SPS-Programm über ein StructuredType im UA-Namensraum zugegriffen werden. Dadurch können UA‑Clients Typen von Elementen im STRUCT interpretieren. (Siehe auch: Strukturierte Typen)
2.2 | Namensraum-Auslegung einer C++-Modulinstanz | Im Vergleich zu älteren Versionen (bis 2.1.x) wurde der UA-Namensraum eines C++‑Moduls in Version 2.2.x neu entworfen, um fortschrittliche Funktionalitäten, wie Methodenaufruf für eine C++‑Modulinstanz zuzulassen.


Versionsübersicht

Übersicht [image] Versionsübersicht
Versionsübersicht
Das Supplement/Function-Produkt TwinCAT OPC UA wird in verschiedenen Setup-Versionen ausgeliefert, welche unterschiedliche Entwicklungsstände widerspiegeln. Für neue Projekte wird der Wechsel auf die aktuellste Setup-Version empfohlen, um alle neuen Produktfunktionalitäten verwenden zu können. Für Bestandsprojekte stehen weiterhin ältere Setup-Versionen zum Download bereit.
Aktuell gibt es zwei Versionsstände:
▪
Setup-Version 3.x.x: Langjährige Bestandsversion, welche bereits eine Vielzahl an Funktionen bietet. Die Version wird weiterhin im Hinblick auf Optimierungen gepflegt.
▪
Setup-Version 4.x.x: Neue Version. Zukünftige Weiterentwicklungen und neue Produktfunktionalitäten finden nur noch in dieser Version statt.
Die folgende Tabelle gibt einen Überblick über die verschiedenen Versionsstände im Hinblick auf deren Produktfunktionalitäten.
Funktionalität | 3.x.x | 4.x.x | Bemerkungen
Server - Data Access (DA)
Anbindung einer / mehrerer SPS | ja | ja | Ermöglicht Lese/Schreib-Zugriff auf die TwinCAT-2/3-SPS
Anbindung eines TcCOM Moduls | ja | ja | Ermöglicht Lese/Schreib-Zugriff auf TwinCAT-3-TcCOM-Module
Anbindung einer I/O Task | ja | ja | Ermöglicht Lese/Schreib-Zugriff auf die TwinCAT-2/3-I/O-Task
Anbindung von BC-Steuerungen | ja | ja | Ermöglicht Lese/Schreib-Zugriff auf Beckhoff-BC-Steuerungen
Anbindung von existierenden Projekten ("Brownfield") | ja | ja | Ermöglicht die Anbindung von existierenden Steuerungen, z.B. über einen Gateway-PC
Server - Historical Access (HA)
Verwendung von HA für SPS | ja | ja | Ermöglicht die Aktivierung von Variablen aus der TwinCAT-2/3-SPS für Historical Access
Verwendung von HA für TcCOM Module | ja (nur TC3 C++) | ja | Ermöglicht die Aktivierung von Variablen aus einem TwinCAT-3-TcCOM-Modul für Historical Access
Verwendung von HA für I/O Tasks | nein | ja | Ermöglicht die Aktivierung von Variablen aus einer TwinCAT-2/3-I/O-Task für Historical Access
Verwendung von HA für BC-Steuerungen | nein | ja | Ermöglicht die Aktivierung von Variablen aus einer Beckhoff-BC-Steuerung für Historical Access
Verwendung von HA für existierende Projekte ("Brownfield") | nein | ja | Ermöglicht die Aktivierung von Variablen für Historical Access ohne dabei das Laufzeitprojekt anpassen zu müssen
Mehrfachinstanziierung von Datenspeichern | nein | ja | Ermöglicht die Verwendung von mehreren Instanzen pro Storage-Type.
Server - Alarms & Conditions (AC)
Verwendung von AC für SPS | ja | ja | Ermöglicht die Aktivierung von Variablen aus der TwinCAT 2/3 SPS für Alarms and Conditions
Verwendung von AC für TcCOM Module | nein | ja | Ermöglicht die Aktivierung von Variablen aus einem TwinCAT-3-TcCOM-Modul für Alarms and Conditions
Verwendung von AC für I/O Tasks | nein | ja | Ermöglicht die Aktivierung von Variablen aus einer TwinCAT-2/3-I/O-Task für Alarms and Conditions
Verwendung von AC für BC-Steuerungen | nein | ja | Ermöglicht die Aktivierung von Variablen aus einer Beckhoff-BC-Steuerung für Alarms and Conditions
Verwendung von AC für existierende Projekte ("Brownfield") | nein | ja | Ermöglicht die Aktivierung von Variablen für Alarms and Conditions ohne dabei das Laufzeitprojekt anpassen zu müssen
Server - Method Calls
Methodenaufrufe für SPS | ja | ja | OPC UA Server ermöglicht die Aktivierung und Darstellung von TwinCAT‑3‑SPS‑Methoden als OPC‑UA‑Methode
Methodenaufrufe für TcCOM Module | ja (nur TC3 C++) | ja | OPC UA Server ermöglicht die Aktivierung und Darstellung von TwinCAT‑3‑C++‑Methoden als OPC‑UA‑Methode
Server - Security
X509 Zertifikate self-signed | ja | ja | Generierung von selbst-signierten Zertifikaten
X509 Zertifikate custom | ja | ja | Ermöglicht die Verwendung von eigenen Zertifikatsautoritäten
Benutzerauthentifizierung | ja | ja | OPC UA Server ermöglicht Authentifizierung von lokalen oder Domänenbenutzern
Zugriffslevel auf Namespace-Ebene | nein | ja | OPC UA Server ermöglicht Definition von verschiedenen Zugriffsleveln auf Namensraum-Ebene
Zugriffslevel auf Node-Ebene | nein | ja | OPC UA Server ermöglicht Definition von verschiedenen Zugriffsleveln auf Node-Ebene
Server - Konfiguration
Visual Studio | nein | ja | In das Visual Studio ("TwinCAT XAE") integrierter Konfigurator zur Parametrisierung der einzelnen Funktionalitäten.
Remotezugriff | nein | ja | Konfigurator ermöglicht die Remote-Konfiguration von TwinCAT OPC UA Servern unabhängig vom verwendeten Betriebssystem auf dem Zielgerät.
Konfigurationsnamensraum zur Anbindung von eigenen Tools | nein | ja | Ein eigener Namespace im Server ermöglicht die Anbindung von eigenen Tools (basierend auf OPC UA) zum Management von Zertifikaten, Konfigurationsdateien oder zum Neustarten des Servers. Kombinierbar mit Sicherheitsmechanismen, s.o.
Client - SPS
Connect/Read/Write/Disconnect | ja | ja | SPS Funktionsbausteine basierend auf PLCopen Spezifikation mit Connect/Read/Write/Disconnect Funktion.
Methodenaufrufe mit einfachen Datentypen | ja | ja | SPS Funktionsbausteine basierend auf PLCopen Spezifikation mit der Möglichkeit OPC UA Methoden von einem Server aufzurufen, welche einfache Datentypen als Ein-/Ausgabeparameter verwenden.
Methodenaufrufe mit komplexen Datentypen | nein | nein | SPS Funktionsbausteine basierend auf PLCopen Spezifikation mit der Möglichkeit OPC UA Methoden von einem Server aufzurufen, welche komplexe Datentypen als Ein-/Ausgabeparameter verwenden.
Einfache Datentypen | ja | ja | Read/Write Operationen auf einfachen Datentypen, z.B. Int16, Int32, Float, Double, String, ...
Arrays mit einfachen Datentypen | ja | ja | Read/Write Operationen auf Arrays mit einfachen Datentypen, z.B. Int16, Int32, Float, Double, String, ...
Komplexe Datentypen | nein | nein | Read/Write Operationen auf komplexen Datentypen, z.B. Strukturen, ByteString, NodeId, LocalizedText, ...
Arrays mit komplexen Datentypen | nein | nein | Read/Write Operationen auf Arrays mit komplexen Datentypen, z.B. Strukturen, ByteString, NodeId, LocalizedText, ...
X509 Zertifikate self-signed | ja | ja | Generierung von selbst-signierten Zertifikaten
X509 Zertifikate custom | ja | ja | Ermöglicht die Verwendung von eigenen Zertifikatsautoritäten
Benutzerauthentifizierung | ja | ja | OPC UA Server ermöglicht Authentifizierung von lokalen oder Domänenbenutzern
Client - I/O
Connect/Read/Write/Disconnect | nein | ja | Einfach zu konfigurierendes I/O Gerät mit Connect/Read/Write/Disconnect Funktion.
Methodenaufrufe mit einfachen Datentypen | nein | ja | Einfach zu konfigurierendes I/O Gerät mit der Möglichkeit OPC UA Methoden von einem Server aufzurufen, welche einfache Datentypen als Ein-/Ausgabeparameter verwenden.
Methodenaufrufe mit komplexen Datentypen | nein | ja | Einfach zu konfigurierendes I/O Gerät mit der Möglichkeit OPC UA Methoden von einem Server aufzurufen, welche komplexe Datentypen als Ein-/Ausgabeparameter verwenden.
Einfache Datentypen | nein | ja | Read/Write Operationen auf einfachen Datentypen, z.B. Int16, Int32, Float, Double, String, ...
Arrays mit einfachen Datentypen | nein | ja | Read/Write Operationen auf Arrays mit einfachen Datentypen, z.B. Int16, Int32, Float, Double, String, ...
Komplexe Datentypen | nein | ja | Read/Write Operationen auf komplexen Datentypen, z.B. Strukturen, ByteString, NodeId, LocalizedText, ...
Arrays mit komplexen Datentypen | nein | ja | Read/Write Operationen auf Arrays mit komplexen Datentypen, z.B. Strukturen, ByteString, NodeId, LocalizedText, ...
X509 Zertifikate self-signed | ja | ja | Generierung von selbst-signierten Zertifikaten
X509 Zertifikate custom | ja | ja | Ermöglicht die Verwendung von eigenen Zertifikatsautoritäten
Benutzerauthentifizierung | ja | ja | OPC UA Server ermöglicht Authentifizierung von lokalen oder Domänenbenutzern
Gateway
Server-Aggregation | ja | ja | Aggregation von mehreren TwinCAT OPC UA Servern. Der Zugriff zu den aggregierten Servern wird dann über einen im Gateway integrierten OPC UA Server zur Verfügung gestellt.
OPC COM DA Server | ja | ja | Aggregation von mehreren TwinCAT OPC UA Servern. Der Zugriff zu den aggregierten Servern wird dann über einen im Gateway integrierten OPC COM DA Server zur Verfügung gestellt.
X509 Zertifikate self-signed | ja | ja | Generierung von selbst-signierten Zertifikaten
X509 Zertifikate custom | ja | ja | Ermöglicht die Verwendung von eigenen Zertifikatsautoritäten
Benutzerauthentifizierung | ja | ja | Der in das Gateway integrierte OPC UA Server ermöglicht die Authentifizierung von lokalen oder Domänenbenutzern. Des weiteren kann bei der Verbindungsherstellung zu den aggregierten TwinCAT OPC UA Servern ebenfalls eine Benutzerauthentifizierung verwendet werden.


Anwendungsbeispiele

Übersicht [image] Anwendungsbeispiele
Anwendungsbeispiele
Weiterführende Informationen
•
Nachbearbeitung in der Cloud


Nachbearbeitung in der Cloud

Übersicht [image] Anwendungsbeispiele [image] Nachbearbeitung in der Cloud
Nachbearbeitung in der Cloud
Das Gesamtkonzept zur Bereitstellung einer generischen, standardisierten und aufrufbaren Schnittstelle in der Cloud, die eingehende Daten zur weiteren Analyse akzeptiert, basiert neben den dezentralisierten Clients, die diesen Service aufrufen, auf einem Endpunkt in der Cloud, der entweder eine Windows-basierte virtuelle Maschine oder ein echte Hardware ist, auf der ein Windows Betriebssystem läuft. In dieser Dokumentation wird dieses Gerät im Allgemeinen als „OPC UA Server” (in der Cloud) bezeichnet.
Grafik aus Post-processing in the Cloud (ie2en0n1.png)
Daten-Logger
Die Dokumentation zeigt, wie auf Rechenressourcen in der Cloud zugegriffen werden kann und dezentrale TwinCAT-SPS-Geräte angeschlossen werden können, um diese Ressourcen zu nutzen. Als erstes Anwendungsbeispiel kann dieser Anwendungsfall auf ein typisches Datenspeicherungsszenario angewandt werden, in dem dezentrale TwinCAT-SPS-Geräte Daten an die Cloud senden, in der die eingehenden Daten in einer SQL-Datenbank über den TwinCAT Database Server gespeichert werden. Obwohl das allgemeine Szenario ebenfalls das Hin- und Zurücksenden von Daten umfasst (d. h. Senden von Parametern an die Cloud, Ausführung der Berechnungen in der Cloud und dann Rücksendung der berechneten Ergebnisse), erfordert dieses spezifische Szenario nicht die Rückgabe von Ergebnissen aus der Cloud.
Grafik aus Post-processing in the Cloud (ifdspl62.png)
Systemanforderungen: OPC UA Server („Die Cloud“)
Die Cloud muss in der Lage sein, eine der folgenden Betriebssystemvarianten zu hosten. Beachten Sie dabei, dass die Verwendung von Virtualisierungstechnologie eine kostenintensivere Lösung für 64‑Bit‑Betriebssysteme erfordert.
Gerät ist eine virtuelle Maschine
▪
32-Bit-Windows-Betriebssystem
▪
64-Bit-Windows-Betriebssystem mit CPU Core Isolation (mindestens 2 Kerne erforderlich)
Gerät ist eine dedizierte Hardware
▪
32-Bit-Windows-Betriebssystem
▪
64-Bit-Windows-Betriebssystem
Zusätzlich müssen die folgenden Softwarekomponenten auf dem Gerät installiert werden:
▪
TwinCAT 3 XAR (nur Runtime) oder XAE (Runtime und Engineering)
▪
TwinCAT 3 Function TF6100 OPC UA
Beachten Sie, dass bei Installation eines kompletten TwinCAT 3 XAE weitere Konfigurationseinstellungen sinnvoll sein können, wie z. B. das Handling von Lizenzen oder die Möglichkeit zum Debuggen des Geräts direkt in der Cloud. Zum Speichern von Daten in einer zentralen Datenbank die von einem Client eingehen, müssen die folgenden Softwarekomponenten installiert sein:
▪
TwinCAT 3 Function TF6420 Database
Systemanforderungen: Dezentralisierter OPC UA Client
Der dezentralisierte OPC UA Client basiert auf einer TwinCAT-3-SPS-Laufzeit und kann daher auf jeder Hardwarekonfiguration gehostet werden, die den Betrieb einer TwinCAT-3-SPS unterstützt. Zudem muss die TwinCAT 3 Function TF6100 OPC UA auf dem Client-Gerät installiert werden, um den TwinCAT OPC UA Client nutzen zu können, um UA-Methoden auf dem Server in der Cloud auszuführen.
Technische Beschreibung
Die Realisierung eines OPC UA Servers in der Cloud ist sehr anwendungsspezifisch. Beckhoff stellt eine allgemeine Architekturbeschreibung zur Verfügung, unabhängig von dem Anwendungsfall im Einzelnen. Als Anwendungsbeispiel beschreibt dieser Artikel häufig ein Datenaggregationsszenario, bei dem Prozessdaten von dezentralisierten Clients über OPC UA zu einem zentralen Server übertragen werden, auf welchem die Daten in einer zentralen Datenbank angesammelt werden. Der Vorteil von OPC UA besteht in diesem Fall nicht nur in der standardisierten Schnittstelle (und daher zur Nutzung dieses Konzepts für jede Art von OPC UA Client), sondern auch in der Möglichkeit, den Kommunikationskanal zu sichern, indem der integrierte Sicherheitsmechanismus von OPC UA eingesetzt wird.
Der TwinCAT OPC UA Server wird verwendet, um die in der IEC61131-3 SPS-definierten Methoden dem OPC‑UA‑Namensraum offenzulegen. Diese Methoden können von jedem TwinCAT OPC UA Client (auf der Grundlage der PLCopen‑Funktionsbausteine) oder von 3rd-Party OPC UA Clients aufgerufen werden.
Dezentralisierter OPC UA Client
Der Hauptzweck des OPC UA Clients besteht darin, Methoden auf dem Remote-Server aufzurufen. Der Client ist mit großer Wahrscheinlichkeit ein TwinCAT-3-Embedded-Gerät, das den dezentralen Teil der Anwendung erfüllt. Dies würde für das Datenaggregations-Beispiel bedeuten, Prozessdaten abzufragen und sie durch Aufruf einer Methode an den Server zu senden.
Schnittstellenbeschreibung (zur Cloud)
Als Schnittstelle zu einem zentralisierten Cloud-System gibt es nur zwei vom Server bereitgestellte Methoden:
▪
int Send(data): Diese Methode überträgt die Daten über einen OPC-UA-Methodenaufruf vor und gibt eine JobID zurück
▪
int QueryState(jobID): Unter Verwendung der zuvor abgerufenen JobID kann der Client zyklisch den aktuellen Status des Jobs abfragen. Dies könnte ausgelassen werden, wenn der Server in der Cloud alle Situationen bearbeiten kann oder der Client bei Problemen ohnehin nicht aushelfen kann.
Die Kommunikation zwischen Clients und der Cloud kann durch die eingebauten Sicherheitskonzepte von OPC UA gesichert werden, z. B. durch die Verwendung von Client- und Server-Zertifikaten zur Verschlüsselung der Datenkommunikation.
Die Cloud
Der OPC UA Server in der Cloud basiert auf TwinCAT-3-SPS-Methoden, die dem OPC‑UA‑Namensraum offengelegt werden. Das SPS-Projekt enthält die folgenden drei Komponenten:
▪
MethodCall Provider: Diese Komponente bietet die zuvor erwähnte Send-Methode, bei der Daten gesammelt, eine JobID erstellt und die Daten als verschiedene Jobs in die Queue eingestellt werden. Darüber hinaus könnte es eine QueryState-Methode geben, um es OPC UA Clients zu ermöglichen, den aktuellen Jobstatus abzufragen.
▪
Queue: Die Warteschlange speichert eine Liste der Jobs, die ausgeführt werden sollen. Jeder Job in der Warteschlange enthält die folgenden Informationen: {ID, Status, Data}. Neue Elemente (Jobs) werden durch den MethodCall Provider hinzugefügt und können durch diesen auch gelöscht werden. Die gesamte Warteschlange kann innerhalb des SPS-Programms auf einer Hash-Tabelle basieren.
▪
Aggregator: Die Anwendung, die die Jobs verarbeitet. Sie schaut zyklisch in der Queue, ob es zu bearbeitende Jobs gibt. Wenn dies der Fall ist, übernimmt sie den Job (stellt den Status auf „verarbeitet“) und beginnt mit der Verarbeitung des Jobs, z. B. der Verbindung zu einer Datenbank über die Funktionsbausteine des TwinCAT Database Server. Beachten Sie, dass es mehr als einen Aggregator geben kann, um eine parallele Verarbeitung der Queue zu ermöglichen.
Grafik aus Post-processing in the Cloud (ivkkemq1.png)
Beispiel
Das folgende Beispiel illustriert das Szenario durch die Ausführung einfacher Jobs: Jobs können dem Server von einem OPC UA Client vorgelegt werden. In diesem Beispiel bestehen die Jobdaten aus einem definierbaren Zeitintervall, das vom Aggregator aufgenommen wird, um den Job fertigzustellen. Das Beispiel besteht aus den folgenden SPS-Komponenten auf dem OPC UA Server:
▪
ST_JobEntry: Repräsentiert einen Job in der Queue. Der Job besteht bei den Daten lediglich aus einem Namen und einer Zeitdauer. Eine Dauer definiert die Zeitspanne, die ein Job benötigt.
▪
E_JobState: Repräsentiert den Status eines Jobs. Die Beispielimplementierung definiert die folgenden Werte: QUEUED, PROCESSING, READY, FAILED und INVALID.
▪
LongTerm: Repräsentiert den MethodCall Server (besteht aus den Methoden Calc_Request und Calc_Response) sowie den Aggregator, der den Job verarbeitet (der im Funktionsbaustein implementiert ist)
▪
FB_SpecialHashTableCtrl: Repräsentiert die Queue in Form einer Hash-Tabelle, wie dies durch SPS-Beispiele vom Beckhoff Informationssystem wiedergegeben ist. Hier werden verschieden Methoden zum Umgang mit der Warteschlange gegeben (Hinzufügen, Zählen, GetFirst, GetNext, Lookup, Entfernen, Zurücksetzen).
Verwendung des Beispiels
Der UA-Expert könnte als Beispiel-Client verwendet werden, um die Methoden aufzurufen, die vom OPC UA Server in der Cloud bereitgestellt werden. Durch Aufruf der Methode Calc_Request erhält der Client eine JobID (oder 0 zur Anzeige eines Fehlers):
Grafik aus Post-processing in the Cloud (ij24v1l1.png)
Durch Aufruf der Methode Calc_Response mit der JobID kann der Client den JobState abfragen. Zudem werden die vorher eingestellte Dauer und der Jobname als spätere Referenz zurückgegeben.
Grafik aus Post-processing in the Cloud (igclmg7.png)
Installation
Das folgende Kapitel beschreibt die Installation und Konfiguration jeder Softwarekomponente, die auf dem Server in der Cloud erforderlich ist.
Nur Runtime
Wenn der Server nicht die Engineering‑Umgebung von TwinCAT 3 hostet, muss die TwinCAT‑3‑XAR‑Installation verwendet werden. Beachten Sie, dass in diesem Fall das gesamte Handling zur ordnungsgemäßen Funktion mehrere Schritte involviert und die zukünftige Wartung ggf. schwieriger ist, da der XAR-Installation die Programmierungs- und Debugging-Umgebung fehlt. In diesem Szenario muss der Benutzer sicherstellen, dass die Pflege der ADS-Routen zwischen dem tatsächlichen Engineering-Computer (auf dem das SPS-Programm für den Server entwickelt wird) und dem Gerät, das den Server in der Cloud hostet, nicht nur den Download und das Debugging des SPS-Programms erlauben muss, sondern auch die Aktivierung von Lizenzen für die TwinCAT‑3‑Laufzeit. Beachten Sie, dass Sie die Firewall-Ports öffnen müssen, um ADS-Verkehr zu ermöglichen. In der ADS‑Dokumentation erhalten Sie weitere Informationen. Zur einfacheren Handhabung der TwinCAT‑3‑Laufzeitlizenzen wurde das Tool TC3 License Request Generator entwickelt. Dieses kann über den Beckhoff FTP-Server heruntergeladen werden und ermöglicht die Erstellung von License Request Files und den Import von License Response Files:
https://download.beckhoff.com/download/Software/TwinCAT/Unsupported_Utilities/TC3-LicenseGen/
Runtime und Engineering
Dies ist das empfohlene Setup-Szenario. Der Server in der Cloud hostet eine TwinCAT 3 Runtime und die entsprechenden Engineering‑Komponenten, um das Debuggen und eine einfachere Handhabung des Laufzeitsystems zu ermöglichen. In diesem Fall ist es erforderlich, TwinCAT 3 XAE auf dem System zu installieren.
Zusätzliche Software
Nach erfolgreicher Installation von TwinCAT XAE oder XAR müssen die folgenden Softwarekomponenten auf dem Gerät installiert und konfiguriert werden:
TF6100 OPC UA
Die Function TF6100 installiert einen OPC UA Server (und Client) auf dem Gerät. Der Server ist erforderlich, um den OPC UA Clients die SPS-Methoden zur Verfügung zu stellen. Wenn das SPS-Programm in die Laufzeit heruntergeladen wird, importiert der OPC UA Server automatisch die erste SPS-Laufzeit in seinen Namensraum. Sämtliche Variablen und Methoden der SPS, die als verfügbar über OPC UA gekennzeichnet sind, werden in den OPC-UA-Namensraum importiert und werden für Clients verfügbar. In der TF6100-Dokumentation erhalten Sie weitere Informationen.
TF6420 Database
Wenn der Server die von den Clients erhaltenen Daten in einer Datenbank speichern soll, muss die TF6420-Function verwendet werden. Sie bietet generische Funktionsblöcke für die TwinCAT-3-SPS für den Zugriff auf die Datenbank, z. B. um Werte in eine Datenbanktabelle einzufügen. Installieren Sie das TF6420-Setup und konsultieren Sie die TF6420-Dokumentation für weitere Informationen zur Nutzung der entsprechenden Funktionsbausteine.
Lizenzierung
Alle TwinCAT‑3‑Softwareprodukte erfordern eine Lizenz, um auf dem Server verfügbar zu sein. Die Lizenz kann entweder aus einer 7-Tage-Testlizenz oder aus einer uneingeschränkten Lizenz bestehen. Lizenzen können unter Verwendung des TwinCAT 3 XAE Lizenzmanagers aktiviert werden. Wenn eine TwinCAT-3-XAR-Installation auf dem Server verwendet wird, verwenden Sie den TC3 License Generator.


Installation

Installation
Installation
Weiterführende Informationen
•
Systemvoraussetzungen
•
Installation (TC3)
•
Installation (TC2)
•
Installation Windows CE (TC3)
•
Installation Windows CE (TC2)
•
Lizenzierung (TC3)
•
Lizenzierung (TC2)


Systemvoraussetzungen

Installation [image] Systemvoraussetzungen
Systemvoraussetzungen
OPC UA Server
Technische Daten | Beschreibung
Betriebssystem | Windows 7, 10 Windows CE 6/7 Windows Embedded Standard 2009 Windows Embedded 7 Windows Server 2008 R2 Windows Server 2012 Windows Server 2016
Zielplattformen | PC-Architektur (x86, x64)
.NET Framework | 4.5.2 (nur benötigt für Konfigurator)
TwinCAT-Version | TwinCAT 2, TwinCAT 3
TwinCAT-Installationslevel | TwinCAT 2 CP, PLC, NC-PTP TwinCAT 3 XAE, XAR, ADS
Benötigte TwinCAT-Lizenz | TS6100 TwinCAT OPC UA (für TwinCAT 2) TF6100 TC3 OPC UA (für TwinCAT 3)
OPC UA Client
Technische Daten | Beschreibung
Betriebssystem | Windows 7, 10 Windows CE 6/7 Windows Embedded Standard 2009 Windows Embedded 7 Windows Server 2008 R2 Windows Server 2012 Windows Server 2016
Zielplattformen | PC-Architektur (x86, x64)
.NET Framework | ---
Minimale TwinCAT-Version | TwinCAT 2, TwinCAT 3
Minimales TwinCAT-Installationslevel | TwinCAT 2 PLC, NC-PTP TwinCAT 3 XAE, XAR
Benötigte TwinCAT-Lizenz | TS6100 TwinCAT OPC UA (für TwinCAT 2) TF6100 TC3 OPC UA (für TwinCAT 3)
OPC UA I/O Client
Technische Daten | Beschreibung
Betriebssystem | Windows 7, 10 Windows CE 7 Windows Embedded 7 Windows Server 2008 R2 Windows Server 2012 Windows Server 2016
Zielplattformen | PC-Architektur (x86, x64)
.NET Framework | 4.6 (only for namespace browser)
Minimale TwinCAT-Version | TwinCAT 3.1 Build 4022.4
Minimales TwinCAT-Installationslevel | TwinCAT 3 XAE, XAR
Benötigte TwinCAT-Lizenz | TF6100 TC3 OPC UA
OPC UA Gateway
Technische Daten | Beschreibung
Betriebssystem | Windows 7, 10 Windows Embedded Standard 2009 Windows Embedded 7 Windows Server 2008 R2 Windows Server 2012 Windows Server 2016
Zielplattformen | PC-Architektur (x86, x64)
.NET Framework | ---
Minimale TwinCAT-Version | ---
Minimales TwinCAT-Installationslevel | ---
Benötigte TwinCAT-Lizenz | ---
OPC UA Configurator
OPC UA Configurator | Beschreibung
Betriebssystem | Windows 7, 10 Windows Embedded Standard 2009 Windows Embedded 7 Windows Server 2008 R2 Windows Server 2012 Windows Server 2016
Zielplattformen | PC-Architektur (x86, x64)
Visual Studio 2017-Abhängigkeit | Installation des .NET-Targeting Package 4 über den Visual Studio Installer
.NET Framework | 4.5.2
Minimale TwinCAT-Version | TwinCAT 2 (Standalone-Tool, bis Setup-Version 3) TwinCAT 3 (Visual Studio integriert, ab Setup-Version 4)
Minimales TwinCAT-Installationslevel | TwinCAT 2 CP, PLC, NC-PTP (Standalone-Tool, bis Setup-Version 3) TwinCAT 3 XAE, XAR, ADS (Standalone-Tool, bis Setup-Version 3) TwinCAT 3 XAE (Visual Studio integriert, ab Setup-Version 4)
Benötigte TwinCAT-Lizenz | ---
UPC UA Sample Client
OPC UA Sample Client | Beschreibung
Betriebssystem | Windows 7, 10 Windows Embedded 7 Windows Server 2008 R2 Windows Server 2012 Windows Server 2016
Zielplattformen | PC-Architektur (x86, x64)
.NET Framework | 4.6
Minimale TwinCAT-Version | ---
Minimales TwinCAT-Installationslevel | ---
Benötigte TwinCAT-Lizenz | ---


Installation (TC3)

Installation [image] Installation (TC3)
Installation (TC3)
Nachfolgend wird beschrieben, wie die TwinCAT 3 Function TF6100 OPC UA für Windows-basierte Betriebssysteme installiert wird.
➢
Die Setup-Datei der TwinCAT 3 Function wurde von der Beckhoff-Homepage heruntergeladen.
1.
Führen Sie die Setup-Datei als Administrator aus. Wählen Sie dazu im Kontextmenü der Datei den Befehl Als Administrator ausführen.
⇨
Der Installationsdialog öffnet sich.
2.
Akzeptieren Sie die Endbenutzerbedingungen und klicken Sie auf Next.
3.
Geben Sie Ihre Benutzerdaten ein.
4.
Wenn Sie die TwinCAT 3 Function vollständig installieren möchten, wählen Sie Complete als Installationstyp. Wenn Sie die Komponenten der TwinCAT 3 Function separat installieren möchten, wählen Sie Custom.
5.
Wählen Sie Next und anschließend Install, um die Installation zu beginnen.
⇨
Ein Dialog weist Sie darauf hin, dass das TwinCAT-System für die weitere Installation gestoppt werden muss.
6.
Bestätigen Sie den Dialog mit Yes.
7.
Wählen Sie Finish, um das Setup zu beenden.
⇨
Die TwinCAT 3 Function wurde erfolgreich installiert und kann lizenziert werden (siehe Lizenzierung (TC3)).


Installation (TC2)

Installation [image] Installation (TC2)
Installation (TC2)
Nachfolgend wird beschrieben, wie das TwinCAT 2 Supplement TwinCAT OPC UA für Windows-basierte Betriebssysteme installiert wird.
▪
Download der Setup-Datei und Installation
▪
Nach der Installation
Download der Setup-Datei und Installation
Genauso wie viele andere TwinCAT-Ergänzungsprodukte steht OPC UA als 30‑Tage‑Demoversion oder als Vollversion zum Download auf der Beckhoff Homepage www.beckhoff.com zur Verfügung.
➢
Die Setup-Datei des TwinCAT 2 Supplement wurde von der Beckhoff-Homepage heruntergeladen.
1.
Führen Sie die heruntergeladene Setup-Datei TcOpcUaSvr.exe als Administrator aus. Wählen Sie dazu im Kontextmenü der Datei den Befehl Als Administrator ausführen.
⇨
Der Installationsdialog öffnet sich.
2.
Wählen Sie eine Installationssprache.
3.
Klicken Sie auf Weiter und stimmen Sie der Lizenzvereinbarung zu.
Grafik aus Installation Tc2 (i7ud5kc1.png)
4.
Geben Sie Ihre Benutzerinformationen ein. Alle Felder müssen ausgefüllt werden. Wenn Sie eine 30-Tage-Demo installieren möchten, geben Sie bitte „DEMO“ als Lizenzschlüssel ein.
Grafik aus Installation Tc2 (iimv13l2.png)
5.
Klicken Sie auf Installieren, um die Installation zu starten.
Grafik aus Installation Tc2 (i4gasnj.png)
6.
Starten Sie den Computer neu, um die Installation abzuschließen.
Nach der Installation
Die TwinCAT-Ergänzung OPC UA wird automatisch während der Installation konfiguriert und es sind keine weiteren Einstellungen für die Nutzung dieses Produkts erforderlich. Zu den weiteren Schritten gehören gegebenenfalls:
▪
Stellen Sie eine erste Verbindung mit dem installierten UA-Server her und testen Sie dessen Konfiguration mit dem OPC UA Sample Client. (Siehe TwinCAT OPC UA Sample Client)
▪
Personalisieren Sie das UA-Server-Setup mithilfe des OPC‑UA‑Konfigurators. (Siehe Konfiguration)
▪
Vergewissern Sie sich zudem, dass Ihre Firewall den TCP Port 4840 öffnet, weil der OPC UC Server diesen Port benötigt.


Installation Windows CE (TC3)

Installation [image] Installation Windows CE (TC3)
Installation Windows CE (TC3)
Nachfolgend wird beschrieben, wie die TwinCAT 3 Function TF6100 OPC UA auf einem Beckhoff Embedded-PC mit Windows CE installiert wird.
▪
Download der Setup-Datei und Installation
▪
CAB-Datei auf das Windows-CE-Gerät übertragen
▪
CAB-Datei auf dem Windows-CE-Gerät ausführen
Wenn schon eine ältere TF6100-Version auf dem Windows-CE-Gerät installiert ist, kann diese aktualisiert werden:
▪
Upgrade der Software
Download der Setup-Datei und Installation
Die für Windows CE ausführbare Datei ist Teil des TF6100-OPC-UA-Setups. Dieses wird Ihnen auf der Beckhoff Homepage www.beckhoff.com zur Verfügung gestellt und enthält automatisch alle Versionen für Windows XP, Windows 7 und Windows CE (x86 und ARM).
Laden Sie das Setup herunter und installieren Sie die Function wie es im Abschnitt Installation beschrieben wird.
Nach der Installation enthält der Installationsordner drei Verzeichnisse (pro Hardware‑Plattform ein Verzeichnis)
▪
CE-ARM: ARM-basierte Embedded-PC, die unter Windows CE laufen, z. B. CX8090, CX9020
▪
CE-X86: X86-basierte Embedded-PC, die unter Windows CE laufen, z. B. CX50xx, CX20x0
▪
Win32: Embedded-PC, die unter Windows XP, Windows 7 oder Windows Embedded Standard laufen
Die Verzeichnisse CE-ARM und CE-X86 enthalten die CAB-Dateien der TwinCAT 3 Function für Windows CE in Bezug auf die jeweilige Hardware-Plattform des Windows‑CE‑Gerätes.
Beispiel: Installationsordner „TF6310“
CAB-Datei auf das Windows-CE-Gerät übertragen
Übertragen Sie die entsprechende ausführbare Datei auf das Windows-CE-Gerät.
Für die Übertragung der ausführbaren Datei stehen Ihnen verschiedene Möglichkeiten zur Verfügung:
▪
über Netzwerkfreigaben
▪
über den integrierten FTP-Server
▪
über ActiveSync
▪
über CF/SD-Karten
Weitere Informationen finden Sie im Beckhoff Information System in der Dokumentation „Betriebssysteme“ (Embedded-PC> Betriebssysteme > CE).
CAB-Datei auf dem Windows-CE-Gerät ausführen
Nachdem Sie die CAB-Datei auf das Windows-CE-Gerät übertragen haben, führen Sie die Datei dort mit einem Doppelklick aus. Bestätigen Sie den Installationsdialog mit OK. Starten Sie das Windows-CE-Gerät anschließend neu.
Nach dem Neustart des Gerätes werden die Dateien (Client und Server) automatisch im Hintergrund geladen und sind verfügbar.
Die Software wird in dem folgenden Verzeichnis auf dem Windows-CE-Gerät installiert:
\Hard Disk\TwinCAT\Functions\TF6310-TCP-IP
Upgrade der Software
Wenn auf dem Windows-CE-Gerät bereits eine ältere TF6100-Version installiert ist, führen Sie die folgenden Schritte auf dem Windows-CE-Gerät durch, um ein Upgrade auf eine neue Version durchzuführen:
1.
Öffnen Sie den CE Explorer, indem Sie auf Start > Run klicken und „Explorer“ eingeben.
2.
Navigieren Sie nach \Hard Disk\TwinCAT\Functions\Tf6100-OPC-UA\Server bzw. (in einem zweiten Schritt) \Hard Disk\TwinCAT\Functions\Tf6100-OPC-UA\Client.
3.
Benennen Sie die Datei TcOpcUaServer.exe bzw. TcOpcUaClient.exe um.
4.
Starten Sie das Windows-CE-Gerät neu.
5.
Übertragen Sie die neue CAB-Datei auf das Windows-CE-Gerät.
6.
Führen Sie die CAB-Datei auf dem Windows-CE-Gerät aus und installieren Sie die neue Version.
7.
Löschen Sie die alten (umbenannten) Dateien.
8.
Starten Sie das Windows-CE-Gerät neu.
⇨
Nach dem Neustart ist die neue Version aktiv.


Installation Windows CE (TC2)

Installation [image] Installation Windows CE (TC2)
Installation Windows CE (TC2)
Nachfolgend wird beschrieben, wie das TwinCAT 2 Supplement auf einem Beckhoff Embedded-PC mit Windows CE, z. B. CX1000, CX1020, CX9000, CX9001, CX9010, CX8090, CP62xx, CP69xx, installiert wird.
▪
Download der Setup-Datei und Installation
▪
Setup-Datei auf ein Windows-CE-Gerät übertragen
▪
Setup-Datei auf dem Windows-CE-Gerät ausführen
Installation auf kleinen Embedded-Plattformen (CX9001, CX9010)
Sehr kleine Embedded-Geräte erfordern möglicherweise einige zusätzliche manuelle Schritte, damit die CAB-Datei installiert werden kann. Zu diesen Schritten kann z. B. das Löschen von unnötigen Dateien im Speicher der Geräte gehören, damit ausreichend Platz bereitsteht, um alle Dateien der Anwendung zu installieren.
Download der Setup-Datei und Installation
Genauso wie viele andere TwinCAT-Ergänzungsprodukte steht OPC UA für CE als Download auf dem Beckhoff Homepage zur Verfügung. Damit Sie die Installierungsdateien für Windows CE erhalten können, müssen Sie zunächst die heruntergeladene Setup-Datei auf einem Host-Computer installieren. Dieser kann ein beliebiges Windows-CE-basiertes System sein kann.
1.
Doppelklicken Sie auf die heruntergeladene Datei TcOpcUaSvrCE.exe.
2.
Wählen Sie eine Installationssprache.
3.
Klicken Sie auf Weiter und stimmen Sie der Lizenzvereinbarung zu.
Grafik aus Installation Windows CE Tc2 (irb07pl3.png)
4.
Geben Sie ihre Benutzerinformationen ein. Alle Felder müssen ausgefüllt werden. Beachten Sie, dass OPC UA für CE derzeit nicht als Demo-Version verfügbar ist. Demzufolge benötigen Sie einen gültigen Lizenzschlüssel, um mit der Installierung fortzufahren.
Grafik aus Installation Windows CE Tc2 (ikeeluv2.png)
5.
Wählen Sie als Installationsart Vollständig und klicken Sie auf Weiter
Grafik aus Installation Windows CE Tc2 (ip6f7ll3.png)
6.
Klicken Sie auf Installieren, um die Installation zu starten.
⇨
Nach der Installierung finden Sie die Setup-Dateien für Windows CE im Verzeichnis ...\TwinCAT\CE. Dieses Verzeichnis beinhaltet Setup-Dateien für die folgenden CE-Plattformen:
▪
TwinCAT OPC UA Client CE\I586: OPC UA Client (SPS-Bibliothek) für x86 basierte CPUs (wie CX10xx, CP62xx, C69xx, ...)
▪
TwinCAT OPC UA Client CE\ARMV4I: OPC UA Client (SPS-Bibliothek) für ARM-basierte CPUs (wie CX9001, CX9010, CP6608, ...)
▪
TwinCAT OPC UA Server CE\I586: OPC UA Server für x86-basierte CPUs (wie CX10xx, CP62xx, C69xx, ...)
▪
TwinCAT OPC UA Server CE\ARMV4I: OPC UA Server für ARM-basierte CPUs (wie CX9001, CX9010, CP6608, ...)
Setup-Datei auf das Windows-CE-Gerät übertragen
Übertragen Sie die entsprechende ausführbare Datei auf Ihr Windows-CE-Gerät. Für die Übertragung der Setup-Datei stehen Ihnen verschiedene Möglichkeiten zur Verfügung:
▪
über einen freigegebenen Ordner
▪
über den integrierten FTP-Server
▪
über ActiveSync
▪
über eine CF-Karte
Weitere Informationen finden Sie im Beckhoff Information System in der Dokumentation „Betriebssysteme“ (Embedded‑PC > Betriebssysteme > CE)
Setup-Datei auf dem Windows-CE-Gerät ausführen
Führen Sie die übertragene Setup-Datei TcOpcUaSvrCe.xxxx.CAB auf dem CE-Gerät aus:
1.
Navigieren Sie zu dem Verzeichnis, in das Sie die Setup-Datei übertragen haben.
Grafik aus Installation Windows CE Tc2 (ipb21v32.png)
2.
Doppelklicken Sie auf die CAB-Datei. Wird ein Meldungsdialog eingeblendet, dass dieses Programm nicht mit dem aktuellen Betriebssystem kompatibel ist, vergewissern Sie sich, dass Sie die richtige CAB-Datei (ARM, I586) für Ihren IPC/Embedded-PC verwenden.
3.
Wenn Sie sicher sind, dass die CAB-Datei zum Embedded-PC/IPC passt, bestätigen Sie diesen Meldungsdialog mit Ja.
Grafik aus Installation Windows CE Tc2 (i7nd0cg1.png)
4.
Wählen Sie \Hard Disk\System\ als Zielverzeichnis
Grafik aus Installation Windows CE Tc2 (i51h2g12.png)
5.
Klicken Sie auf OK, um die Installation zu starten.
Grafik aus Installation Windows CE Tc2 (irag07u2.png)
⇨
Nach der Installierung wird die Setup-Datei automatisch gelöscht.
Wenn Sie den OPC UA Server installiert haben, wird diese Komponente nach einem Neustart Ihres Windows-CE-Geräts verfügbar.


Lizenzierung (TC3)

Installation [image] Lizenzierung (TC3)
Lizenzierung (TC3)
Die TwinCAT 3 Function ist als Vollversion oder als 7-Tage-Testversion freischaltbar. Beide Lizenztypen sind über die TwinCAT-3-Entwicklungsumgebung (XAE) aktivierbar.
Nachfolgend wird die Lizenzierung einer TwinCAT 3 Function beschrieben. Die Beschreibung gliedert sich dabei in die folgenden Abschnitte:
▪
Lizenzierung einer 7-Tage Testversion
▪
Lizenzierung einer Vollversion
Weitere Informationen zur TwinCAT‑3‑Lizenzierung finden Sie im Beckhoff Information System in der Dokumentation „Lizenzierung“ (TwinCAT 3 > Lizenzierung).
Lizenzierung der 7-Tage-Testversion einer TwinCAT 3 Function
Eine 7-Tage-Testversion kann nicht für einen TwinCAT 3 Lizenzdongle freigeschaltet werden.
1.
Starten Sie die TwinCAT-3-Entwicklungsumgebung (XAE).
2.
Öffnen Sie ein bestehendes TwinCAT-3-Projekt oder legen Sie ein neues Projekt an.
3.
Wenn Sie die Lizenz für ein Remote-Gerät aktivieren wollen, stellen Sie das gewünschte Zielsystem ein. Wählen Sie dazu in der Symbolleiste in der Drop-down-Liste Choose Target System das Zielsystem aus.
⇨
Die Lizenzierungseinstellungen beziehen sich immer auf das eingestellte Zielsystem. Mit der Aktivierung des Projekts auf dem Zielsystem werden automatisch auch die zugehörigen TwinCAT-3-Lizenzen auf dieses System kopiert.
4.
Klicken Sie im Solution Explorer im Teilbaum SYSTEM doppelt auf License.
⇨
Der TwinCAT-3-Lizenzmanager öffnet sich.
5.
Öffnen Sie die Registerkarte Manage Licenses. Aktivieren Sie in der Spalte Add License das Auswahlkästchen für die Lizenz, die Sie Ihrem Projekt hinzufügen möchten (z. B. „TF6420: TC3 Database-Server“).
6.
Öffnen Sie die Registerkarte Order Information (Runtime).
⇨
In der tabellarischen Übersicht der Lizenzen wird die zuvor ausgewählte Lizenz mit dem Status „missing“ angezeigt.
7.
Klicken Sie auf 7 Days Trial License..., um die 7-Tage-Testlizenz zu aktivieren.
⇨
Ein Dialog öffnet sich, der Sie auffordert, den im Dialog angezeigten Sicherheitscode einzugeben.
8.
Geben Sie den Code genauso an, wie er angezeigt wird, und bestätigen Sie diesen sowie den nachfolgenden Dialog, der Sie auf die erfolgreiche Aktivierung hinweist.
⇨
In der tabellarischen Übersicht der Lizenzen gibt der Lizenzstatus nun das Ablaufdatum der Lizenz an.
9.
Starten Sie das TwinCAT-System neu.
⇨
Die 7-Tage-Testversion ist freigeschaltet.
Lizenzierung der Vollversion einer TwinCAT 3 Function
Die Beschreibung der Lizenzierung einer Vollversion finden Sie im Beckhoff Information System in der Dokumentation „TwinCAT 3 Lizenzierung“.


Lizenzierung (TC2)

TS6100-0030 | TwinCAT OPC-UA Server CE
Installation [image] Lizenzierung (TC2)
Lizenzierung (TC2)
Die Lizenzierung der TwinCAT OPC UA für TwinCAT 2 erfolgt im Rahmen der Installation über die Eingabe eines Lizenzschlüssels.


Konfiguration

Konfiguration
Konfiguration
Weiterführende Informationen
•
Setup-Version 3.x.x
•
Setup-Version 4.x.x


Setup-Version 3.x.x

Konfiguration [image] Setup-Version 3.x.x
Setup-Version 3.x.x
Weiterführende Informationen
•
Übersicht
•
Data Access
•
Historical Access
•
Server Security
•
Alarms and Conditions
•
Online Panel


Übersicht

Konfiguration [image] Setup-Version 3.x.x [image] Übersicht
Übersicht
Dieser Abschnitt beschreibt den Umgang mit dem TwinCAT‑OPC‑UA‑Konfigurator. Der OPC‑UA‑Konfigurator parametriert den OPC UA Server bzw. ist eine grafische Benutzeroberfläche zur Konfiguration der Datei ServerConfig.xml. Er bietet folgende Konfigurationsmöglichkeiten:
▪
Hinzufügen/Entfernen von Geräten zum Data Access (SPS-Laufzeiten, TwinCAT‑3‑C++‑Instanzen, I/O-Tasks)
▪
Aktivieren/Deaktivieren von Historical Access
▪
Aktivieren/Deaktivieren von anonymen Zugriffen bzw. Benutzername/Passwort‑Authentifizierung
▪
Neustart oder Shutdown des OPC UA Servers
Beim Starten des OPC‑UA‑Konfigurators wird automatisch die derzeit aktive Konfiguration des OPC UA Servers geladen, die sich standardmäßig als Datei ServerConfig.xml im Verzeichnis \%InstallDir%\Server\ befindet. Sie können über das Menü aber auch andere ServerConfig.xml-Dateien laden, abspeichern und aktivieren.
Die Benutzeroberfläche des OPC‑UA‑Konfigurators besteht aus folgenden Bereichen:
▪
Menü-Bereich (Menu): Speichern und Aktivieren von Konfigurationen
▪
Kategorien-Bereich (Category): Gruppiert die Einzelparameter in verschiedene Kategorien, z. B. Data Access
▪
Parameter-Bereich (Parameters): Einzelparameter zum Aktivieren/Deaktivieren bestimmter Features
Weitere Informationen zu den einzelnen Konfigurationsparametern finden Sie in den Beschreibungen der einzelnen Kategorien:
▪
Data Access
▪
Historical Access
▪
Server Security
▪
Alarms and Conditions
▪
Online Panel


Data Access

Konfiguration [image] Setup-Version 3.x.x [image] Data Access
Data Access
Die Registerkarte Data Access zeigt die Konfigurationseinstellung für TwinCAT‑Runtime‑Geräte. Hier konfigurieren Sie ein Gerät, wenn es über OPC UA verfügbar sein soll.
Einstellung | Beschreibung
Name | Anzeige Name der TwinCAT Runtime im OPC‑UA‑Namensraum
AdsNetId | AmsNetId der TwinCAT Runtime. 127.0.0.1.1.1 für eine lokale Laufzeit oder die entsprechende AmsNetId eines Remote-Geräts. ADS-Routen müssen konfiguriert werden, wenn mit einem Remote-Gerät kommuniziert wird.
AdsPort | AdsPort der TwinCAT‑Runtime, z. B. 851 für die erste TwinCAT‑3‑SPS‑Laufzeit.
SymbolFile | Symboldatei, die Informationen über alle verfügbaren Variablen und Objektinstanzen der Laufzeit enthält.
AdsTimeout | Timeout-Einstellung, wenn mit der Ziel-Runtime kommuniziert wird. Es wird empfohlen, diese Einstellung auf dem Standardwert zu belassen.
AdsTimeSuspend | TimeSuspend-Einstellung, wenn mit der Ziel-Runtime kommuniziert wird. Es wird empfohlen, diese Einstellung auf dem Standardwert zu belassen. TimeSuspend Timeout wird ausgelöst, wenn eine Ziel-Runtime vorübergehend nicht verfügbar ist. Der OPC UA Server startet nach TimeSuspend einen erneuten Kommunikationsversuch.
Typ | Typ der Ziel-Runtime, mit der der OPC UA Server kommunizieren soll, z. B. TwinCAT 3 SPS, TwinCAT 2 SPS, ...
AccessMode | Der Zugriffsmodus wird normalerweise nur benötigt, wenn der OPC UA Server mit einer auf einem Beckhoff BC/BX‑Gerät gehosteten Laufzeit kommunizieren soll. In diesem Fall muss die entsprechende Einstellung aktiviert werden. Ansonsten kann die Standardeinstellung übernommen werden.
LegacyArrayHandling | Wenn auf veralteten OPC UA Clients Array-Elemente als separate UA-Knoten verfügbar sein müssen, aktivieren Sie diese Einstellung.
LegacyUriFormat | Aktiviert verschiedene Namensschemata zum Generieren von NamespaceUri, wie im Abschnitt Generierung von NamespaceUri beschrieben.
ReleaseHandles | Aktiviert die Freigabe von Handles für TwinCAT‑Laufzeitsymbole, wenn UaClients einen Knoten nicht mehr „benötigen“. Das ist der Fall, wenn ein Knoten aus der Überwachung entfernt wird, (DeleteMonitoredItem) oder der Überwachungsmodus eines Elements deaktiviert wird.
ForceIdentifierCase | Gilt nur für die Typen TPY und SYM. Erzwingt die Groß- oder Kleinschreibung der Bezeichner aller Knoten.
Disabled | Kontrollkästchen anklicken, um die Laufzeit zu deaktivieren, sodass sie nicht im OPC‑UA‑Namensraum erscheint.
Weitere Informationen über laufzeitspezifische Parameter finden Sie im Abschnitt TwinCAT OPC UA Server.


Historical Access

Konfiguration [image] Setup-Version 3.x.x [image] Historical Access
Historical Access
Die Registerkarte Historical Access zeigt die allgemeinen Einstellungen für die Konfiguration von Historical Access. Hier aktivieren und konfigurieren Sie die Speichermedien, die für Historical Access verwendet werden sollen.
Grafik aus Historical Access (ic7f01n1.png)
Weitere Informationen zu Historical Access erhalten Sie im Abschnitt TwinCAT OPC UA Server.


Server Security

Konfiguration [image] Setup-Version 3.x.x [image] Server Security
Server Security
Die Registerkarte Server Security zeigt die allgemeinen Einstellungen zu Sicherheits- und Endpunktmechanismen des OPC UA Servers.
Grafik aus Security (in6g9r9.png)
Einstellungen | Beschreibung
Benutzeridentität (User Identity) | Aktivierung oder Deaktivierung einer bestimmten Benutzeridentität, z. B. Deaktivierung des Kontrollkästchens „Anonymous Access“ (Anonymer Zugriff), um eine Benutzerauthentifizierung zu erzwingen.
Endpunkte (Endpoints) | Aktivierung oder Deaktivierung bestimmter Endpunkte, z. B. zur Deaktivierung des Endpunkts „No security“ (Keine Sicherheit), um UA Clients zu zwingen, sich mit dem Endpunkt „Sign and Encrypt“ (Signieren und Verschlüsseln) zu verbinden.
Konfiguration des Namensraums (Configuration namespace) | Ermöglicht die Aktivierung oder Deaktivierung der Konfiguration des Namensraums und die Einstellung einer spezifischen Sicherheitsstufe, die für den Zugriff dieses Namensraums erforderlich ist (Benutzerauthentifizierung erforderlich).
Benutzerverwaltung (User Management) | Ermöglicht die Konfiguration bestehender Benutzerkonten und stellt eine Zugriffsebene für jedes Konto ein. Zugriffsebenen werden derzeit lediglich zur Konfiguration des Zugriffs auf die Konfiguration des Namensraums verwendet. Beachten Sie, dass das Benutzerkonto - wenn der Computer, auf dem der OPC UA Server läuft, ein Mitglied einer Windows-Domäne ist - ebenfalls ein Konto in dieser Domäne sein kann.
Client-Zertifikate (Client certificates) | Ermöglicht das Verschieben von OPC‑UA‑Client‑Zertifikaten zwischen den Vertrauenslisten „Abgelehnt“ und „Akzeptiert“. Hier können Client-Zertifikate einfach identifiziert, ihnen vertraut oder diese abgelehnt werden, wenn die Clients mit einem der sicheren Endpunkte verbunden werden.


Alarms and Conditions

Konfiguration [image] Setup-Version 3.x.x [image] Alarms and Conditions
Alarms and Conditions
Der Konfigurator Alarms and Conditions (A&C) ist ein separates grafisches Tool. Es erstellt eine XML-basierte Konfigurationsdatei, mit der der OPC UA Server seine A&C-Konfiguration erstellt.
Graphic from Alarms _ Conditions (io325pi2.png)
Der A&C‑Konfigurator befindet sich im Installationsverzeichnis von TwinCAT OPC UA: C:\TwinCAT\Functions\TF6100-OPC-UA\Win32\ConfiguratorAc.
Verwendung des A&C-Konfigurators
1.
Stellen Sie eine Verbindung mit dem OPC UA Server her, dessen Alarms and Conditions konfiguriert werden sollen. Geben Sie dazu die Server-URL ein und wählen Sie einen Endpunkt, mit dem sich der Konfigurator verbinden soll.
2.
Wenn die Verbindung hergestellt und der Namensraum des Servers sichtbar ist, erstellen Sie einen oder mehrere ConditionController. Ein ConditionController ist eine administrative Einheit, die die aktuelle Alarmkonfiguration als eine oder mehrere Conditions enthält.
3.
Wählen Sie einen ConditionController aus und erzeugen Sie eine oder mehrere Conditions, indem Sie zu überwachende Variablen in das Conditions-Fenster in der unteren rechten Ecke ziehen und dort ablegen.
4.
Folgen Sie schrittweise den Anweisungen der QuickStart-Information des Konfigurators.
Graphic from Alarms _ Conditions (i596mue1.png)


Online Panel

Konfiguration [image] Setup-Version 3.x.x [image] Online Panel
Online Panel
Das Online Panel erweitert den OPC‑UA‑Konfigurator um OPC‑UA‑Client‑Funktionalitäten. Es ermöglicht Ihnen die lokale oder Fernverbindung mit einem OPC UA Server zwecks Erhalt von Diagnose- oder Verwaltungsfunktionalitäten.
Grafik aus Online Panel (ids7tsp2.png)
Bereich/Registerkarte
Beschreibung
Serverinformationen (Server information)
Liefert allgemeine Diagnoseinformationen des derzeit mit dem OPC UA Server verbundenen Teilnehmers. Mögliche nützliche Informationen:
▪
Lizenzstatus
▪
Anzahl der derzeit hergestellten OPC‑UA‑Client‑Sitzungen
▪
Anzahl verfügbarer Knoten (Berechnung kann einige Zeit in Anspruch nehmen)
▪
Server-Version
Server-Protokollierung (Server Logging)
Stellt Funktionalitäten zur Verfügung, um eine Log-Datei auf dem OPC UA Server zu aktivieren. Diese sollte aber nur dann verwendet werden, wenn sie vom Beckhoff-Support empfohlen wurde, da die Erstellung der Log-Datei die allgemeine Systemleistung beeinträchtigen kann.
Gerätezustände (Device States)
Stellt Diagnoseinformationen über jedes auf dem OPC UA Server konfigurierte ADS-Gerät zur Verfügung. Diese Information kann sehr hilfreich sein, wenn die Verbindung mit einem ADS-Gerät überprüft werden muss. Häufig auftretendes Konfigurationsproblem kann z.B. darin bestehen, dass die entsprechende Symboldatei (TPY, TMC) nicht vom OPC UA Server geladen werden kann. Das Device States Panel wird in diesem Falle eine entsprechende Fehlermeldung ausgeben.


Setup-Version 4.x.x

Konfiguration [image] Setup-Version 4.x.x
Setup-Version 4.x.x
Weiterführende Informationen
•
Übersicht
•
Neues Projekt anlegen
•
Zielgerät auswählen
•
ADS-Geräte hinzufügen
•
Konfiguration downloaden und uploaden
•
Konfigurationsdateien importieren und exportieren
•
Historical Access konfigurieren
•
Alarms and Conditions konfigurieren
•
Alarmtexte konfigurieren
•
Endpunkte konfigurieren
•
Zertifikatsvertrauenseinstellungen konfigurieren
•
Sicherheitseinstellungen konfigurieren
•
Server neu starten
•
Troubleshooting und Logging


Übersicht

Konfiguration [image] Setup-Version 4.x.x [image] Übersicht
Übersicht
Das TF6100‑Setup (Version 4.x.x und höher) beinhaltet die aktuellste Version des OPC‑UA‑Server‑Konfigurators. Dieser wurde für ein durchgängiges und einheitliches Engineering-Konzept in Microsoft Visual Studio als eigener Projekttyp integriert. Sie können alle unterschiedlichen Facetten vom OPC UA Server konfigurieren und hierbei auch Source‑Control‑Mechanismen wie z. B. Team Foundation Server oder Subversion Integrationen verwenden.
Graphic from Übersicht (2017-10-24 09_37_24-Windows 7 Professional (32-bit) (Sicherungspunkt 2) [wird ausgeführt] - Oracle V.png)
Symbolleiste
Über die Symbolleiste des OPC‑UA‑Konfigurators können Sie eine Verbindung mit einem lokalen oder remote TwinCAT OPC UA Server herstellen. Für den jeweils selektierten Server können Sie dann sämtliche Konfigurationseinstellungen vornehmen.
Graphic from Übersicht (irmvtih1.png)
Wenn die Symbolleiste nicht eingeblendet ist, können Sie diese der Oberfläche über das Menü View > Toolbars hinzufügen.
Graphic from Übersicht (ifr7kfv2.png)
Voraussetzungen
Produkte | Setup-Versionen | Zielplattform
TF6100 | 4.x.x | IPC oder CX (x86, x64, ARM)


Neues Projekt anlegen

Konfiguration [image] Setup-Version 4.x.x [image] Neues Projekt anlegen
Neues Projekt anlegen
Das Projektpaket vom OPC‑UA‑Konfigurator bindet sich in das sogenannte Connectivity-Paket ein. Sie können dieses beim Anlegen eines neuen Visual‑Studio‑Projekts auswählen.
Projektvorlage „TwinCAT Connectivity Project“:
Graphic from Anlegen eines neuen Projekts (2017-11-02 14_27_36-Windows 7 Professional (32-bit) (Sicherungspunkt 2) [wird ausgeführt] - Oracle V.png)
Projektvorlage „TwinCAT OPC-UA Server Project”:
Graphic from Anlegen eines neuen Projekts (2017-11-02 14_29_00-Windows 7 Professional (32-bit) (Sicherungspunkt 2) [wird ausgeführt] - Oracle V.png)
Voraussetzungen
Produkte | Setup-Versionen | Zielplattform
TF6100 | 4.x.x | IPC oder CX (x86, x64, ARM)


Zielgerät auswählen

Konfiguration [image] Setup-Version 4.x.x [image] Zielgerät auswählen
Zielgerät auswählen
Der OPC‑UA‑Konfigurator ermöglicht die vollständige Parametrierung des Servers über OPC UA. Ähnlich wie im TwinCAT‑XAE‑System können Sie über die Symbolleiste einen Ziel-OPC-UA-Server auswählen.
Graphic from Auswahl eines Zielgeräts (2017-11-02 14_39_54-Windows 7 Professional (32-bit) (Sicherungspunkt 2) [wird ausgeführt] - Oracle V.png)
Sämtliche Einstellungen in der Konfiguration werden dann für diesen OPC UA Server vorgenommen. Grundlage hierfür ist der sogenannte Configuration-Namespace des Servers (siehe Konfiguration des Namensraums).
Graphic from Auswahl eines Zielgeräts (ito06p.png)
Voraussetzungen
Produkte | Setup-Versionen | Zielplattform
TF6100 | 4.x.x | IPC oder CX (x86, x64, ARM)


ADS-Geräte hinzufügen

Konfiguration [image] Setup-Version 4.x.x [image] ADS-Geräte hinzufügen
ADS-Geräte hinzufügen
DerOPC UA Server kann mit einem oder mehreren ADS-Geräten „sprechen“. Zur Herstellung einer Verbindung ist eine Route zu dem jeweiligen ADS-Gerät erforderlich. Im OPC-UA-Konfigurator werden ADS-Geräte in der Facette Data Access angelegt, konfiguriert und somit dem OPC UA Server bekannt gegeben.
Neue ADS-Geräte fügen Sie der Konfiguration über den Kontextmenübefehl Add new Device Type hinzu.
Graphic from Hinzufügen von ADS Geräten (Configurator_AddNewDataAccessDevice.png)
Nach Ausführung des Befehls öffnet sich ein Dialogfenster, in dem Sie die Verbindungsparameter für dieses Gerät konfigurieren können, z. B. AMS Net ID, ADS-Port oder auch die Symboldatei.
Graphic from Hinzufügen von ADS Geräten (Configurator_AddNewDataAccessDeviceDialog.png)
Die Verbindungsparameter können Sie bei Bedarf nachträglich über das Eigenschaftenfenster von Visual Studio modifizieren.
Graphic from Hinzufügen von ADS Geräten (Configurator_DataAccessPropertiesWindow.png)
Symboldatei auswählen
Auf dem ausgewählten Zielgerät vorhandene Symboldateien können direkt eingelesen werden. Die Symboldateien können dabei entweder im TwinCAT‑Bootverzeichnis oder im Symbolverzeichnis des OPC UA Servers hinterlegt sein. Über den entsprechenden Dialog bei der Symboldatei-Konfiguration können Sie die Dateien selektieren.
Graphic from Hinzufügen von ADS Geräten (iodgp4h2.png)
Der TwinCAT OPC UA File Explorer kann entweder mit dem lokalen TwinCAT‑Verzeichnis oder dem Remote‑Bootverzeichnis verbunden werden. Letzteres wird über den Configuration-Namespace des Servers eingelesen (siehe Konfiguration des Namensraums).
Voraussetzungen
Produkte | Setup-Versionen | Zielplattform
TF6100 | 4.x.x | IPC oder CX (x86, x64, ARM)


Konfiguration downloaden und uploaden

Konfiguration [image] Setup-Version 4.x.x [image] Konfiguration downloaden und uploaden
Konfiguration downloaden und uploaden
Über den Konfigurator können Sie sowohl den Download/Upload von kompletten Server-Konfigurationen anstoßen als auch jede einzelne Facette (Data Access, Historical Access, etc.) einzeln auf ein Zielgerät aufspielen bzw. von dort öffnen. Die hierfür notwendigen Funktionen sind sowohl in die Symbolleiste als auch in das Kontextmenü der jeweiligen Facette eingebunden.
Konfiguration vom Zielgerät öffnen
Über die entsprechende Schaltfläche in der Symbolleisten können Sie die Konfiguration des selektierten Zielgeräts öffnen.
Graphic from Download_Upload der Konfiguration (irs51f33.png)
Siehe auch: Zielgerät auswählen
Konfiguration auf einem Zielgerät aktivieren
Über die entsprechende Schaltfläche in der Symbolleiste können Sie die aktuell geöffnete Konfiguration auf das selektierte Zielgerät herunterladen.
Graphic from Download_Upload der Konfiguration (i7rler63.png)
Siehe auch: Zielgerät auswählen
Teilkonfiguration öffnen
Über den Befehl Read Configuration from Target im Kontextmenü einer bestimmten Facette der Konfiguration können Sie die Teilkonfiguration vom selektierten Zielgerät öffnen.
Graphic from Download_Upload der Konfiguration (ijrrk6j1.png)
Siehe auch: Zielgerät auswählen
Teilkonfiguration herunterladen
Über den Befehl Write Configuration to Target im Kontextmenü einer bestimmten Facette der Konfiguration können Sie die Teilkonfiguration auf das selektierte Zielgerät herunterladen.
Graphic from Download_Upload der Konfiguration (iv2n4541.png)
Siehe auch: Zielgerät auswählen


Konfigurationsdateien importieren und exportieren

Konfiguration [image] Setup-Version 4.x.x [image] Konfigurationsdateien importieren und exportieren
Konfigurationsdateien importieren und exportieren
Die Befehle des Kontextmenüs ermöglichen den Import/Export von Konfigurationsdateien des OPC UA Servers.
Teilkonfiguration importieren
Über den Befehl Import UA Configuration im Kontextmenü einer bestimmten Facette der Konfiguration können Sie die Teilkonfiguration (z. B. Historical Access) aus einer XML-Konfigurationsdatei importieren.
Graphic from Import_Export von Konfigurationsdateien (i3tlrqm.png)
Teilkonfiguration exportieren
Über den Befehl Export UA Configuration im Kontextmenü einer bestimmten Facette der Konfiguration können Sie die Teilkonfiguration (z. B. Historical Access) in eine XML-Konfigurationsdatei exportieren.
Graphic from Import_Export von Konfigurationsdateien (im87nhb3.png)


Historical Access konfigurieren

Konfiguration [image] Setup-Version 4.x.x [image] Historical Access konfigurieren
Historical Access konfigurieren
Zur Konfiguration von Historical Access müssen zunächst die History Adapter eingerichtet werden. Hierbei handelt es sich um die unterschiedlichen Speicherorte für die historischen Daten, z. B. RAM, Datei, SQL Server.
History Adapter fügen Sie der Konfiguration über den Kontextmenübefehl Add new History Adapter hinzu.
Graphic from Konfiguration von Historical Access (Configurator_HistoricalAccessAddAdapter.png)
Je nach Adaptertyp müssen Sie weitere Parameter spezifizieren, z. B. den gewünschten Pfad zur Dateiablage oder die Zugangsdaten zum SQL Server.
Graphic from Konfiguration von Historical Access (Configurator_HistoricalAccessAddAdapter2.png)
Nachdem Sie einen History Adapter angelegt haben, können Sie dem Adapter die gewünschten Variablen hinzufügen. Die Variablen müssen zum Zeitpunkt des Engineerings bereits auf dem selektierten OPC UA Server vorliegen. Zur Selektion der Variablen können Sie den integrierten OPC UA Target Browser verwenden und die Variablen aus dem Target Browser per Drag-and-drop zum History Adapter hinzufügen.
Graphic from Konfiguration von Historical Access (Configurator_TargetBrowser.png)
Im Eigenschaftenfenster der neu hinzugefügten Variable können Sie weitere Parameter spezifizieren, z. B. die gewünschte SamplingRate oder die Größe des zu verwendenden Ringbuffers im History Adapter.
Graphic from Konfiguration von Historical Access (Configurator_HistoricalAccessPropertiesWindow.png)
Siehe auch: Zielgerät auswählen


Alarms and Conditions konfigurieren

Konfiguration [image] Setup-Version 4.x.x [image] Alarms and Conditions konfigurieren
Alarms and Conditions konfigurieren
Zur Konfiguration von Alarms and Conditions (A&C) müssen zunächst die Condition Controller eingerichtet werden. Hierbei handelt es sich um Container-Einheiten, die Alarme gruppieren.
Condition Controller fügen Sie der Konfiguration über den Kontextmenübefehl Add New Condition Controller hinzu.
Graphic from Konfiguration von Alarms _ Conditions (Configurator_AlarmsConditionsAddController.png)
Nachdem Sie einen Condition Controller angelegt haben, können Sie dem Controller die gewünschten Variablen hinzufügen und im Sinne des Alarms and Conditions überwachen. Für jede Variable wird hierbei eine Condition angelegt, welche die Parameter für die Überwachung spezifiziert. Die Variablen müssen zum Zeitpunkt des Engineerings bereits auf dem selektierten OPC UA Server vorliegen. Zur Selektion der Variablen können Sie den integrierten OPC UA Target Browser verwenden und die Variablen aus dem Target Browser per Drag-and-drop zum Condition Controller hinzufügen.
Graphic from Konfiguration von Historical Access (Configurator_TargetBrowser.png)
In dem sich öffnenden Dialogfenster können Sie den Condition-Typ und weitere Parameter für die Überwachung definieren, z. B. SamplingRate und Severity.
Graphic from Konfiguration von Alarms _ Conditions (Configurator_AlarmsConditionsAddCondition2.png)
Je nach ausgewähltem Condition-Typ können Sie zusätzliche Parameter im Eigenschaftenfenster der Condition spezifizieren. Die Schwellenwerte für den jeweiligen Condition‑Typ werden als einzelne Einträge in der Baumansicht der Konfiguration angezeigt. Auch hier können Sie die entsprechenden Parameter im Eigenschaftenfenster konfigurieren.
Graphic from Konfiguration von Alarms _ Conditions (Configurator_AlarmsConditionsPropertyWindow.png)
Anschließend müssen Sie die Alarmtexte definieren, die beim Triggern einer Condition an den OPC UA Client versendet werden sollen. Wie Sie Alarmtexte anlegen, wird im Abschnitt Alarmtexte konfigurieren beschrieben. Die Alarmtexte können Sie per Drag-and-drop auf den jeweiligen Schwellenwert einer Condition ziehen.
Graphic from Konfiguration von Alarms _ Conditions (Configurator_AlarmsConditionsDragDropAlarmText.png)
Alarmtyp OffNormal
Bei einem Alarmtyp OffNormal definieren Sie einen Normalwert, den eine Variable üblicherweise haben sollte. Wenn der Variablenwert hiervon abweicht, wird ein Alarm ausgelöst.
Graphic from Konfiguration von Alarms _ Conditions (Configurator_AlarmsConditionsOffNormalAlarmPropertyWindow.png)
Nachdem Sie den Normalwert konfiguriert haben, müssen Sie die zu versendenden Alarmtexte in dem Resources-Bereich selektieren und per Drag-and-drop auf den jeweiligen Schwellenwert der Condition ziehen.
Alarmtyp Limit
Bei einem Alarmtyp Limit definieren Sie unterschiedliche Schwellenwerte, bei deren Erreichen ein Alarm verschickt werden soll.
Graphic from Konfiguration von Alarms _ Conditions (Configurator_AlarmsConditionsLimitAlarmPropertyWindow.png)
Nachdem Sie die Schwellenwerte konfiguriert haben, müssen Sie die zu versendenden Alarmtexte in dem Resources-Bereich selektieren und per Drag-and-drop auf den jeweiligen Schwellenwert der Condition ziehen.
Voraussetzungen
Produkte | Setup-Versionen | Zielplattform
TF6100 | 4.x.x | IPC oder CX (x86, x64, ARM)
Siehe auch: Zielgerät auswählen


Alarmtexte konfigurieren

Konfiguration [image] Setup-Version 4.x.x [image] Alarmtexte konfigurieren
Alarmtexte konfigurieren
Der OPC‑UA‑Konfigurator ermöglicht die (mehrsprachige) Verwaltung von Alarmtexten, die zum Beispiel beim Alarms and Conditions verwendet werden. Die Konfiguration der Alarmtexte erfolgt in der Facette Resources. Jeder Alarmtext wird durch eine eindeutige ID identifiziert. Dieser ID können dann mehrere Sprachtexte zugeordnet werden.
Über den Befehl Add new Resource Item im Kontextmenü können Sie sogenannte „Resource Items“ anlegen.
Graphic from Konfiguration von Alarmtexten (Configurator_ResourcesAddItem.png)
Über den Befehl Add new Language Item im Kontextmenü eines „Resource Items“ fügen Sie diesem neue Sprachelemente („Language Items“) hinzu.
Graphic from Konfiguration von Alarmtexten (Configurator_ResourcesAddLanguage.png)
Im Eigenschaftenfenster können Sie ein Sprachelement weiter parametrieren, z. B. den Sprachtext und die zugeordnete Sprache. Wenn Sie die Sprache festlegen, wird automatisch die zugehörige LocaleID gesetzt. Die LocaleID wird vom OPC UA Client angefordert, um anzugeben, in welcher Sprache er Alarmtexte erwartet.
Graphic from Konfiguration von Alarmtexten (Configurator_ResourcesPropertyWindow.png)
Voraussetzungen
Produkte | Setup-Versionen | Zielplattform
TF6100 | 4.x.x | IPC oder CX (x86, x64, ARM)


Endpunkte konfigurieren

Konfiguration [image] Setup-Version 4.x.x [image] Endpunkte konfigurieren
Endpunkte konfigurieren
Die Endpunkte des OPC UA Servers geben an, welche Security-Mechanismen bei der Verbindungsherstellung eines Clients benutzt werden sollen. Diese reichen von „unverschlüsselt“ bis zu „verschlüsselt und signiert“, basierend auf verschiedenen Schlüsselstärken.
Die Endpunkte können Sie über den Konfigurator aktivieren und deaktivieren. Es kann z. B. sinnvoll sein, den unverschlüsselten Endpunkt zu deaktivieren, damit sich alle Clients nur mit gültigem und als vertrauenswürdig eingestuftem Zertifikat verbinden können.
Sie konfigurieren die Endpunkte direkt auf Ebene des OPC‑UA‑Server‑Projekts. Durch einen Doppelklick auf das Projekt können Sie in der Registerkarte UA Endpoints die entsprechenden Einstellungen vornehmen. Die Einstellungen werden nach einem Aktivieren der Konfiguration und einem anschließenden Neustart des Servers wirksam (siehe Konfiguration downloaden und uploaden und Server neu starten).
Graphic from Konfiguration der Endpunkte (Configurator_Endpoints.png)
Voraussetzungen
Produkte | Setup-Versionen | Zielplattform
TF6100 | 4.x.x | IPC oder CX (x86, x64, ARM)


Zertifikatsvertrauenseinstellungen konfigurieren

Konfiguration [image] Setup-Version 4.x.x [image] Zertifikatsvertrauenseinstellungen konfigurieren
Zertifikatsvertrauenseinstellungen konfigurieren
Die auf dem Server vorhandenen Client-Zertifikate können über den Konfigurator komfortabel verwaltet werden. In den Projekteinstellungen können Sie die Zertifikate in der Registerkarte UA Endpoints im Bereich Client certificates als vertrauenswürdig einstufen oder verweigern.
Nachdem ein OPC UA Client zum ersten Mal versucht hat, sich mit einem sicheren Endpunkt des Servers zu verbinden, wird das Client-Zertifikat auf dem Server hinterlegt und als „rejected“ deklariert. Anschließend kann der Server-Administrator das Zertifikat freischalten. Ein anschließender Verbindungsversuch des Clients mit einem gesicherten Endpunkt wird dann erfolgreich sein.
Graphic from Konfiguration von Zertifikats-Vertrauenseinstellungen (Configurator_CertificateManagementTrustList.png)


Sicherheitseinstellungen konfigurieren

Konfiguration [image] Setup-Version 4.x.x [image] Sicherheitseinstellungen konfigurieren
Sicherheitseinstellungen konfigurieren
Der OPC UA Server ermöglicht die Konfiguration von Berechtigungen auf Namespace- und Node-Ebene. Hierdurch kann sowohl der Zugriff auf ADS-Geräte (z. B. auf verschiedene SPS‑Laufzeiten) als auch Variablen feingranular eingestellt werden. Diese Sicherheitseinstellungen sind für alle ADS-Geräte verfügbar, die im Server-Namespace dargestellt werden können.
Graphic from Access Level (i6k0pr22.png)
Konfiguration
Die Konfiguration der Berechtigungen erfolgt auf Basis einer XML-basierten Konfigurationsdatei (TcUaSecurityConfig.xml), die in demselben Verzeichnis wie der Server liegt. Die Konfigurationsdatei besteht aus den drei Bereichen „Benutzer (Users)“, „Gruppen (Groups)“ und „AccessInfos“.
Benutzer (Users)
Im Bereich „Users“ können Sie Benutzerkonten konfigurieren, die vom OPC UA Server als Login akzeptiert werden sollen. Hierbei gibt es drei verschiedene Authentifizierungsmethoden:
OS (empfohlene Authentifizierungsmethode) | Es werden die Mechanismen vom Betriebssystem verwendet, um Benutzername und Passwort zu validieren. Das Benutzerkonto obliegt vollständig der Kontrolle des Betriebssystems und/oder der Domäne.
Server (nicht empfohlen) | Benutzername und Passwort sind nur dem OPC UA Server bekannt. Beide Informationen werden hierbei im Klartext in der XML-Datei hinterlegt.
None | Es wird nur der Benutzername vom Server ausgewertet, das Passwort wird ignoriert.
Benutzer können mit einem Tag <DefaultAccess> konfiguriert werden, das den Standardzugriff des Benutzers auf einen bestimmten Namespace angibt.
Benutzer können Mitglied einer oder mehrerer Gruppen sein. Dies können Sie über das Attribut MemberOf spezifizieren. Bei Mitgliedschaft in mehreren Gruppen trennen Sie die Gruppen durch ein Semikolon.
Grafik aus Konfiguration von Sicherheitseinstellungen (i602ipa.png)
Gruppen (Groups)
Um eine einfachere Konfiguration mit mehreren Benutzeraccounts zu ermöglichen, können Sie die Benutzer in Gruppen zusammenfassen.
Gruppen können ebenfalls mit einem Tag <DefaultAccess> konfiguriert werden.
Über das Attribut MemberOf können Sie Gruppen verschachteln. Bei Mitgliedschaft in mehreren Gruppen trennen Sie die Gruppen durch ein Semikolon.
Grafik aus Konfiguration von Sicherheitseinstellungen (inbgnvv1.png)
AccessInfos
Wenn eine feingranulare Einstellung von Berechtigungen auf Node-Ebene erfolgen soll, können Sie zusätzlich AccessInfos konfigurieren, welche die Zugriffsberechtigungen auf Nodes spezifizieren. Zugriffsrechte können hierbei auf Unterelemente vererbt werden. Obwohl AccessInfos die feingranularste Konfigurationsmöglichkeit von Berechtigungen ermöglichen, wird eine solche Konfiguration auch schnell unübersichtlich. Prüfen Sie daher, ob eine Konfiguration von Zugriffsrechten auf Namespace-Ebene (siehe oben) nicht ausreichend ist.
Die AccessInfo für eine Node beinhaltet die folgenden Einstellungen:
NS | Konfiguriert den NamespaceName, in dem die Node lokalisiert ist
Id | Konfiguriert den Identifier der Node, inklusive des IdentifierTypes (z. B. s = String)
Depth | Vererbungstiefe der Berechtigungen (-1 für unendlich)
User/Group | Benutzer oder Gruppe, der/die auf diese Node Zugriff erhalten soll, inklusive des AccessLevels
Grafik aus Konfiguration von Sicherheitseinstellungen (io7fnbk3.png)
AccessInfos können per Drag-and-drop von Variablen aus dem Target Browser konfiguriert werden. Die konfigurierbaren Berechtigungen sind kumulativ.
Beispielkonfiguration
Gegeben sei folgendes einfaches Steuerungsprogramm. Die Variablen sind bereits im OPC-UA-Namespace des Servers veröffentlicht. Der OPC UA Server befindet sich zunächst im Auslieferungszustand.
Grafik aus Konfiguration von Sicherheitseinstellungen (iaunslq.png)
Zugriffbeschränkungen
Der Zugriff auf den Server soll für Clients wie folgt eingeschränkt werden:
▪
Anonymous Zugriff soll deaktiviert werden.
▪
Es soll einen Benutzer „Administrator“ geben, der Vollzugriff auf den kompletten Server hat.
▪
Es soll einen Benutzer „User1“ geben, der ausschließlich Lesezugriff auf MAIN.Instance1 hat. Der Benutzer soll hierbei nicht aus dem Betriebssystem kommen, sondern nur intern im Server verwendet werden.
▪
Es soll einen Benutzer „User2“ geben, der ausschließlich Lesezugriff auf MAIN.Instance2 hat. Der Benutzer soll hierbei nicht aus dem Betriebssystem kommen, sondern nur intern im Server verwendet werden.
▪
Über eine Gruppe "Users" sollen allgemeine Zugriffsberechtigungen für alle Benutzer konfiguriert werden.
Einstellungen
Die Konfiguration des OPC UA Server wird wie folgt eingestellt:
Grafik aus Konfiguration von Sicherheitseinstellungen (ioukn0c3.png)
Einstellungen für den Benutzer „Administrator“:
Grafik aus Konfiguration von Sicherheitseinstellungen (it0baot3.png)
Einstellungen für den Benutzer „User1“:
Grafik aus Konfiguration von Sicherheitseinstellungen (imojdht3.png)
Einstellungen für den Benutzer „User2“:
Grafik aus Konfiguration von Sicherheitseinstellungen (i9c7sg02.png)
Einstellungen Access Infos „MAIN.Instance1“:
Grafik aus Konfiguration von Sicherheitseinstellungen (iddph031.png)
Einstellungen Access Infos „MAIN.Instance2“:
Grafik aus Konfiguration von Sicherheitseinstellungen (iarklrm2.png)
Einstellungen für die Gruppe „Users“:
Die Benutzergruppe wird sowohl mit grundlegendem Zugriff auf benötigte Server- und Typsystem-Namensräume ausgestattet als auch mit Read- und Browse-Berechtigungen auf den PLC1-Namensraum.
Grafik aus Konfiguration von Sicherheitseinstellungen (it7546f2.png)
Ergebnis
Nach Aktivierung der Konfiguration stellt sich der Namensraum des Servers für „User1“ nach einem Verbindungsaufbau wie folgt dar:
Grafik aus Konfiguration von Sicherheitseinstellungen (iduh9er1.png)
Auf die Node „Instance1“ hat der Benutzer nur Leserechte, was durch das Attribut UserAccessLevel deutlich wird:
Grafik aus Konfiguration von Sicherheitseinstellungen (i2336df2.png)
Der Benutzer „Administrator“ hingegen hat volle Zugriffsrechte auf alle Elemente des Namensraums:
Grafik aus Konfiguration von Sicherheitseinstellungen (iddlfkh3.png)


Server neu starten

Konfiguration [image] Setup-Version 4.x.x [image] Server neu starten
Server neu starten
Der OPC‑UA‑Konfigurator ermöglicht das Triggern eines Neustarts des OPC UA Server. Dies kann lokal oder remote erfolgen und bezieht sich auf das jeweils selektierte Zielgerät.
Verbindungsverlust
Ein Neustart des OPC UA Server führt immer zu einem Verbindungsverlust aller verbundenen Clients.
Den Neustart triggern Sie über die Symbolleiste.
Graphic from Neustart des Servers (iu8vdei2.png)
Voraussetzungen
Produkte | Setup-Versionen | Zielplattform
TF6100 | 4.x.x | IPC oder CX (x86, x64, ARM)
Siehe auch: Zielgerät auswählen


Troubleshooting und Logging

Konfiguration [image] Setup-Version 4.x.x [image] Troubleshooting und Logging
Troubleshooting und Logging
Für eine erweiterte Diagnose können Sie die Logging-Funktion des OPC UA Servers aktivieren.
Schreiben der Log-Datei
Durch das Aktivieren der Logging-Funktion auf dem Server wird eine Protokolldatei auf dem Dateisystem geschrieben. Stellen Sie sicher, dass ausreichend Speicherplatz zur Verfügung steht und setzen Sie die Logging-Parameter entsprechend (Anzahl Log-Dateien, Größe pro Log-Datei).
Performance- und Timingverhalten
Durch das Aktivieren der Protokollfunktionen verändert sich das Timing-Verhalten des OPC UA Servers. Hierdurch können je nach Plattform und Projekt Geschwindigkeitseinbußen entstehen.
Sie aktivieren die Logging-Funktion im Konfigurator des Projekts in der Registerkarte Online Panel über die Schaltfläche Activate. Sie können die Funktion je nach selektiertem Zielgerät lokal oder remote aktiveren. Die Logging-Funktion ist so lange aktiv, bis sie über den Konfigurator wieder deaktiviert oder bis der OPC UA Server neu gestartet wird.
Graphic from Troubleshooting _ Logging (Configurator_ServerLogging.png)
Activate App Trace
In den meisten Fällen ist es ausreichend ein sogenanntes „AppTrace“ zu erstellen. Es gilt: Je höher der „Trace level“, desto detailliertere (und mehr) Daten werden geschrieben.
Activate Stack Trace
In einigen wenigen Fällen ist es zusätzlich notwendig ein sogenanntes „StackTrace“ zu erstellen. Auch hier gilt: Je höher der „Trace level“, desto detailliertere (und mehr) Daten werden geschrieben.
Voraussetzungen
Produkte | Setup-Versionen | Zielplattform
TF6100 | 4.x.x | IPC oder CX (x86, x64, ARM)
Siehe auch: Auswahl eines Zielgeräts


SPS API

SPS API
SPS API
Weiterführende Informationen
•
Tc2_OpcUa
•
Tc3_PLCopen_OpcUa


Tc2_OpcUa

SPS API [image] Tc2_OpcUa
Tc2_OpcUa
Weiterführende Informationen
•
Datentypen
•
Funktionsbausteine


Datentypen

SPS API [image] Tc2_OpcUa [image] Datentypen
Datentypen
Weiterführende Informationen
•
ST_OpcUAServerInfo
•
E_OpcUAServerOption
•
E_OpcUAServerStatus


ST_OpcUAServerInfo

SPS API [image] Tc2_OpcUa [image] Datentypen [image] ST_OpcUAServerInfo
ST_OpcUAServerInfo
TYPE ST_OpcUAServerInfo :
STRUCT
nReserved : UDINT;
nCummulatedSessionCount : UDINT;
nCurrentSessionCount : UDINT;
nRejectedSessionCount : UDINT;
nSecurityRejectedSessionCount : UDINT;
nSessionTimeoutCount : UDINT;
nCurrentSubscriptionCount : UDINT;
nRejectedRequestCount : UDINT;
nSecurityRejectedRequestCount : UDINT;
END_STRUCT
END_TYPE
ST_OpcUAServerInfo beinhaltet Sessioninformationen eines TwinCAT OPC UA Servers.


E_OpcUAServerOption

SPS API [image] Tc2_OpcUa [image] Datentypen [image] E_OpcUAServerOption
E_OpcUAServerOption
TYPE E_OpcUAServerOption
(
eOPCUAServerOption_None,
eOPCUAServerOption_Restart,
eOPCUAServerOption_Shutdown,
eOPCUAServerOption_RefreshCfg,
eOPCUAServerOption_ServerInfo
);
END_TYPE
E_OpcUAServerOption legt fest welches Kommando an den TwinCAT OPC UA Server geschickt werden soll.


E_OpcUAServerStatus

SPS API [image] Tc2_OpcUa [image] Datentypen [image] E_OpcUAServerStatus
E_OpcUAServerStatus
TYPE E_OpcUAServerStatus
(
eOPCUAServerStatus_None,
eOPCUAServerStatus_Alive,
eOPCUAServerStatus_NotResponding
);
END_TYPE
E_OpcUAServerStatus repräsentiert den Laufzeitstatus eines TwinCAT OPC UA Servers.


Funktionsbausteine

SPS API [image] Tc2_OpcUa [image] Funktionsbausteine
Funktionsbausteine
Weiterführende Informationen
•
FB_OpcUAServer
•
FB_OpcUAServerGetStatus


FB_OpcUAServer

SPS API [image] Tc2_OpcUa [image] Funktionsbausteine [image] FB_OpcUAServer
FB_OpcUAServer
Der Funktionsbaustein ermöglicht das Auslesen von Statusinformationen und neu starten eines TwinCAT OPC UA Servers.
Syntax
Definition:
FUNCTION_BLOCK FB_OpcUAServer
VAR_INPUT
sNetId : T_AmsNetId;
bExecute : BOOL;
eOpcUAServerOption : E_OpcUAServerOption;
tTimeout : TIME;
END_VAR
VAR_OUTPUT
stOpcUAServerInfo : ST_OpcUAServerInfo;
bBusy : BOOL;
bError : BOOL;
nErrorId : UDINT;
END_VAR
VarInput Eingänge
Name | Typ | Beschreibung
sNetId | T_AmsNetId | AmsNetId des Systems auf dem der TwinCAT OPC UA Server läuft.
bExecute | BOOL | Eine steigende Flanke startet die Abarbeitung des Funktionsbausteins.
eOpcUAServerOption | E_OpcUAServerOption | Gibt die auszuführende Operation an.
tTimeout | TIME | ADS Timeout
VarOutput Ausgänge
Name | Typ | Beschreibung
stOpcUAServerInfo | ST_OpcUAServerInfo | Enthält Statusinformationen vom Server wenn beim Eingang eOpcUAServerOption "ServerInfo" ausgewählt wurde.
bBusy | BOOL | TRUE, solange die Abarbeitung des Funktionsbausteins nicht beendet ist.
bError | BOOL | Wird TRUE, sobald eine Fehlersituation eintritt.
nErrorId | UDINT | Enthält bei Auftreten eines Fehlers (bError) den Fehlercode.


FB_OpcUAServerGetStatus

SPS API [image] Tc2_OpcUa [image] Funktionsbausteine [image] FB_OpcUAServerGetStatus
FB_OpcUAServerGetStatus
Der Funktionsbaustein ermöglicht das Auslesen des aktuellen Status (Running, NotResponding) eines TwinCAT OPC UA Servers.
Syntax
Definition:
FUNCTION_BLOCK FB_OpcUAServerGetStatus
VAR_INPUT
sNetId : T_AmsNetId;
bGetStatus : BOOL;
tTimeout : TIME;
END_VAR
VAR_OUTPUT
eOPCUAServerStatus : E_OPCUAServerStatus;
bDone : BOOL;
bBusy : BOOL;
bError : BOOL;
nErrorId : UDINT;
END_VAR
VarInput Eingänge
Name | Typ | Beschreibung
sNetId | T_AmsNetId | AmsNetId des Systems auf dem der TwinCAT OPC UA Server läuft.
bGetStatus | BOOL | Eine steigende Flanke startet die Abarbeitung des Funktionsbausteins.
tTimeout | TIME | ADS Timeout
VarOutput Ausgänge
Name | Typ | Beschreibung
eOPCUAServerStatus | E_OpcUAServerStatus | Enthält Statusinformationen vom Server, wenn beim Eingang eOpcUAServerOption "ServerInfo" ausgewählt wurde.
bDone | BOOL | TRUE wenn die Abarbeitung des Funktionsbausteins beendet ist.
bBusy | BOOL | TRUE, solange die Abarbeitung des Funktionsbausteins nicht beendet ist.
bError | BOOL | Wird TRUE, sobald eine Fehlersituation eintritt.
nErrorId | UDINT | Enthält bei Auftreten eines Fehlers (bError) den Fehlercode.


Tc3_PLCopen_OpcUa

SPS API [image] Tc3_PLCopen_OpcUa
Tc3_PLCopen_OpcUa
Weiterführende Informationen
•
Datentypen
•
Funktionsbausteine


Datentypen

SPS API [image] Tc3_PLCopen_OpcUa [image] Datentypen
Datentypen
Weiterführende Informationen
•
E_UAAttributeID
•
E_UADataType
•
E_UAIdentifierType
•
E_UASecurityMsgMode
•
E_UASecurityPolicy
•
E_UATransportProfile
•
ST_UASessionConnectInfo
•
ST_UAIndexRange
•
ST_UAMethodArgInfo
•
ST_UANodeID
•
ST_UANodeAdditionalInfo
•
UAHADataValue
•
UAHAUpdateStatusCode


E_UAAttributeID

SPS API [image] Tc3_PLCopen_OpcUa [image] Datentypen [image] E_UAAttributeID
E_UAAttributeID
TYPE E_UAAttributeID:
(
eUAAI_NodeID := 1,
eUAAI_NodeClass := 2,
eUAAI_BrowseName := 3,
eUAAI_DisplayName := 4,
eUAAI_Description := 5,
eUAAI_WriteMask := 6,
eUAAI_UserWriteMask := 7,
eUAAI_IsAbstract := 8,
eUAAI_Symmetric := 9,
eUAAI_InverseName := 10,
eUAAI_ContainsNoLoops := 11,
eUAAI_EventNotifier := 12,
eUAAI_Value := 13,
eUAAI_DataType := 14,
eUAAI_ValueRank := 15,
eUAAI_ArrayDimensions := 16
)DINT;
END_TYPE
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


E_UADataType

SPS API [image] Tc3_PLCopen_OpcUa [image] Datentypen [image] E_UADataType
E_UADataType
TYPE E_UADataType:
(
eUAType_Undefinied := -1,
eUAType_Null := 0,
eUAType_Boolean := 1,
eUAType_SByte := 2,
eUAType_Byte := 3,
eUAType_Int16 := 4,
eUAType_UInt16 := 5,
eUAType_Int32 := 6,
eUAType_UInt32 := 7,
eUAType_Int64 := 8,
eUAType_UInt64 := 9,
eUAType_Float := 10,
eUAType_Double := 11,
eUAType_String := 12,
eUAType_DateTime := 13,
eUAType_Guid := 14,
eUAType_ByteString := 15,
eUAType_XmlElement := 16,
eUAType_NodeId := 17,
eUAType_ExpandedNodeId := 18,
eUAType_StatusCode := 19,
eUAType_QualifiedName := 20,
eUAType_LocalizedText := 21,
eUAType_ExtensionObject := 22,
eUAType_DataValue := 23,
eUAType_Variant := 24,
eUAType_DiagnosticInfo := 25
)DINT;
END_TYPE
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


E_UAIdentifierType

SPS API [image] Tc3_PLCopen_OpcUa [image] Datentypen [image] E_UAIdentifierType
E_UAIdentifierType
TYPE E_UAIdentifierType:
(
eUAIdentifierType_String := 1,
eUAIdentifierType_Numeric := 2,
eUAIdentifierType_GUID := 3,
eUAIdentifierType_Opaque := 4
)DINT;
END_TYPE
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


E_UASecurityMsgMode

SPS API [image] Tc3_PLCopen_OpcUa [image] Datentypen [image] E_UASecurityMsgMode
E_UASecurityMsgMode
TYPE E_UASecurityMsgMode:
(
eUASecurityMsgMode_BestAvailable := 0,
eUASecurityMsgMode_None := 1,
eUASecurityMsgMode_Sign := 2,
eUASecurityMsgMode_Sign_Encrypt := 3
)DINT;
END_TYPE
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


E_UASecurityPolicy

SPS API [image] Tc3_PLCopen_OpcUa [image] Datentypen [image] E_UASecurityPolicy
E_UASecurityPolicy
TYPE E_UASecurityPolicy:
(
eUASecurityPolicy_BestAvailable := 0
eUASecurityPolicy_None := 1,
eUASecurityPolicy_Basic128 := 2,
eUASecurityPolicy_Basic128Rsa15 := 3,
eUASecurityPolicy_Basic256 := 4
)DINT;
END_TYPE
None: Richtlinie für Konfigurationen mit geringsten Sicherheitsanforderungen.
Basic128: Richtlinie für Konfigurationen mit geringen bis mittleren Sicherheitsanforderungen.
Basic128Rsa15: Definiert eine Sicherheitsrichtlinie für Konfigurationen mit mittleren bis hohen Sicherheitsanforderungen.
Basic256: Definiert eine Sicherheitsrichtlinie für Konfigurationen mit hohen Sicherheitsanforderungen.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


E_UATransportProfile

SPS API [image] Tc3_PLCopen_OpcUa [image] Datentypen [image] E_UATransportProfile
E_UATransportProfile
TYPE E_UATransportProfile:
(
eUATransportProfileUri_UATcp := 1,
eUATransportProfileUri_WSHttpBinary := 2,
eUATransportProfileUri_WSHttpXmlOrBinary := 3,
eUATransportProfileUri_WSHttpXml := 4
)DINT;
END_TYPE
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


ST_UASessionConnectInfo

SPS API [image] Tc3_PLCopen_OpcUa [image] Datentypen [image] ST_UASessionConnectInfo
ST_UASessionConnectInfo
TYPE ST_UASessionConnectInfo:
STRUCT
sApplicationUri : STRING(MAX_STRING_LENGTH);
sApplicationName : STRING(MAX_STRING_LENGTH);

eSecurityMode : E_UASecurityMsgMode;
eSecurityPolicyUri : E_UASecurityPolicy;
eTransportProfileUri : E_UATransportProfile;

tSessionTimeout : TIME;
tConnectTimeout : TIME;
END_STRUCT
END_TYPE
sApplicationUri: Anwendungs-Uri maximale Zeichenkettenlänge 255.
Ab TcUAClient 2.0.0.14 wird diese automatisch vom Zertifikat vorgegeben, wie in der PLCOpen Spezifikation definiert.
sApplicationName: Anwendungsname mit maximaler Zeichenkettenlänge von 255.
eSecurityMode: Sicherheitsmeldungsmodus. Verfügbare Modi siehe E_UASecurityMsgMode.
eSecurityPolicyUri: Sicherheitsrichtlinien-Uri. Verfügbare Sicherheitsrichtlinien-Uri siehe E_UASecurityPolicy.
eTransportProfileUri: Transportprofil-Uri. Verfügbare Transportprofil-Uri siehe E_UATransportProfile;
nSessionTimeout: Wert Sitzungstimeout.
nConnectTimeout: Wert für den Verbindungstimeout. Dieser muss passend zum ADS Timeout am UA_Connect Baustein gesetzt werden. Hierbei gilt die Faustregel: ADS Timeout > 2 * ConnectionTimeout.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


ST_UAIndexRange

SPS API [image] Tc3_PLCopen_OpcUa [image] Datentypen [image] ST_UAIndexRange
ST_UAIndexRange
TYPE ST_UAIndexRange:
STRUCT
nStartIndex : UDINT;
nEndIndex : UDINT;
END_STRUCT
END_TYPE
nStartIndex: Startindex der Daten.
nEndIndex: Endindex der Daten.
Für alle Dimensionen:
▪
StartinIndex und EndIndex müssen zugewiesen werden.
▪
StartIndex muss kleiner als EndIndex sein.
▪
Um auf alle Elemente in einer Dimension zugreifen zu können, müssen StartIndex und EndIndex abhängig von der Gesamtzahl Elemente in der Dimension zugewiesen werden.
▪
Einzelne Elemente einer Dimension können ausgewählt werden, indem der gleiche StartIndex und EndIndex angegeben wird.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


ST_UAMethodArgInfo

SPS API [image] Tc3_PLCopen_OpcUa [image] Datentypen [image] ST_UAMethodArgInfo
ST_UAMethodArgInfo
TYPE ST_UAMethodArgInfo:
STRUCT
DataType : E_UADataType := -1;
ValueRank : DINT := 2147483647;
ArrayDimensions : ARRAY[1..3] OF UDINT := [0,0,0];
nLenData : DINT;
END_STRUCT
END_TYPE
DataType: Legt den UA‑Datentyp für den Methodenparameter fest. (Typ: E_UADataType)
ValueRank: Legt fest, ob der Parameter Skalar (-1) oder Array ist.
ArrayDimensions: Wenn der Parameter ein Array ist, spezifiziert dieser die Dimensionen des Arrays. Jedes Element bestimmt die Länge pro Dimension.
nLenData: Spezifiziert die Länge des Arguments. Bei Ausgabeinformationen wird von STRUCT nur dieses Element gefordert.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


ST_UANodeID

SPS API [image] Tc3_PLCopen_OpcUa [image] Datentypen [image] ST_UANodeID
ST_UANodeID
TYPE ST_UANodeID:
STRUCT
nNamespaceIndex : UINT;
nReserved : ARRAY [1..2] OF BYTE; //fill bytes
sIdentifier : STRING(MAX_STRING_LENGTH);
eIdentifierType : E_UAIdentifierType;
END_STRUCT
END_TYPE
nNamespaceIndex: Namensraum-Index unter dem der Knoten verfügbar ist. Kann mit dem Funktionsbaustein UA_GetNamespaceIndex bestimmt werden.
sIdentifier: Bezeichner wie im UA‑Namensraum gezeigt (Attribut 'Identifier').
eIdentifierType: Typ der Variablen, beschrieben mittels E_UAIdentifierType.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


ST_UANodeAdditionalInfo

SPS API [image] Tc3_PLCopen_OpcUa [image] Datentypen [image] ST_UANodeAdditionalInfo
ST_UANodeAdditionalInfo
TYPE ST_UANodeAdditionalInfo:
STRUCT
eAttributeID : E_UAAttributeID;
nIndexRangeCount : UINT;
nReserved : ARRAY[1..2] OF BYTE; // fill bytes
stIndexRange : ARRAY[1..nMaxIndexRange] OF ST_UAIndexRange;
END_STRUCT
END_TYPE
eAttributeID: Spezifiziert die ID des OPC‑UA‑Attributs. Standardmäßig wird eUAAI_Value verwendet. (Typ: E_UAAttributeID)
nIndexRangeCount: Legt fest, wie viele Indexbereiche in stIndexRange verwendet werden.
stIndexRange: Spezifiziert einen Indexbereich für das Lesen von Werten aus einem Array. (Typ: ST_UAIndexRange)
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


UAHADataValue

SPS API [image] Tc3_PLCopen_OpcUa [image] Datentypen [image] UAHADataValue
UAHADataValue
Dieser Funktionsbaustein agiert als Datenobjekt. Eine Instanz repräsentiert einen Wert für die OPC-UA-Historical-Access-Funktionalität. Dem Funktionsbaustein UA_HistoryUpdate wird ein ganzes Feld dieser Werte beim Aufruf übergeben.
Deklaration
aDataValues : ARRAY [1..50] OF UAHADataValue(ValueSize:=SIZEOF(LREAL));
Jedes Datenobjekt wird mit der zu erwartenden Größe (in Bytes) des Wertes initialisiert.
Eigenschaften
Value (PVOID): Gibt die Adresse einer Variablen an, welche den gewünschten Wert beinhaltet. Typischerweise wird diese mithilfe des Operators ADR() zugewiesen. Hiermit wird zugleich intern der Wert selbst zugewiesen und in das Datenobjekt kopiert.
StatusCode (UAHAUpdateStatusCode): Gibt den Statuscode des Wertes an.
SourceTimeStamp (ULINT): Gibt den Zeitstempel der Quelle im UTC-Format an. Dieser kann mit der Funktion F_GetSystemTime (Tc2_System SPS Bibliothek) ermittelt werden.
ServerTimeStamp (ULINT): Gibt den Zeitstempel des OPC UA Servers im UTC-Format an. Diese Funktionalität wird aktuell nicht unterstützt.
Datentypgröße des Wertes
Die Größe des verwendeten Datentypen wird bereits bei der Deklaration des Datenobjektes angegeben und damit festgelegt. Bei späterer Zuweisung eines Wertes wird diese Größe zugrunde gelegt.
Werte vom Typ STRING werden demnach ebenso mit fest initialisierter Größe abgespeichert und übertragen. Es kann keine Angabe über die aktuelle Textlänge gemacht werden.
Beispiel
{attribute 'OPC.UA.DA' := '1'}
fMyValue : LREAL; // Variable for HistorcalAccess
aDataValues : ARRAY [1..50] OF UAHADataValue(ValueSize:=SIZEOF(LREAL));
fMyValue := 27.75;
aDataValues[1].Value := ADR(fMyValue);
aDataValues[1].StatusCode := UAHAUpdateStatusCode.HistorianRaw;
aDataValues[1].SourceTimeStamp := F_GetSystemTime();
In diesem Beispiel wird ein Feld von 50 Werten definiert, welche jeweils durch ein Datenobjekt repräsentiert werden. Dem ersten Wert wird der aktuelle Inhalt der Variablen fMyValue (= 27.75) zugewiesen.
Das Feld kann nun mittels weiterer Zuweisungen in späteren SPS-Zyklen gefüllt werden.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken
TwinCAT 3.1 >= 4024.1 | Win32, Win64, WinCE-x86 | Tc3_PLCopen_OpcUa >= v3.1.9.0


UAHAUpdateStatusCode

SPS API [image] Tc3_PLCopen_OpcUa [image] Datentypen [image] UAHAUpdateStatusCode
UAHAUpdateStatusCode
Jedem mit der OPC-UA-Historical-Access-Funktionalität übertragenen Datenwert wird ein Statuscode zugeordnet. Dies ist eine Eigenschaft des Objektes UAHADataValue.
Enumeration
{attribute 'qualified_only'}
TYPE UAHAUpdateStatusCode :
(
HistorianRaw := 0, // A raw data value.
HistorianCalculated := 1, // A data value which was calculated.
HistorianInterpolated := 2, // A data value which was interpolated.
Reserved := 3, // Undefined.
HistorianPartial := 4, // A data value which was calculated with an incomplete interval.
HistorianExtraData := 8, // A raw data value that hides other data at the same timestamp.
HistorianMultiValue := 16 // Multiple values match the Aggregate criteria (i.e. multiple minimum values at different timestamps within the same interval).
) UDINT;
END_TYPE
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken
TwinCAT 3.1 >= 4024.1 | Win32, Win64, WinCE-x86 | Tc3_PLCopen_OpcUa >= v3.1.9.0


Funktionsbausteine

SPS API [image] Tc3_PLCopen_OpcUa [image] Funktionsbausteine
Funktionsbausteine
Weiterführende Informationen
•
UA_Connect
•
UA_Disconnect
•
UA_GetNamespaceIndex
•
UA_MethodCall
•
UA_MethodGetHandle
•
UA_MethodReleaseHandle
•
UA_NodeGetHandle
•
UA_NodeGetHandleList
•
UA_NodeReleaseHandle
•
UA_NodeReleaseHandleList
•
UA_Read
•
UA_ReadList
•
UA_Write


UA_Connect

SPS API [image] Tc3_PLCopen_OpcUa [image] Funktionsbausteine [image] UA_Connect
UA_Connect
Dieser Funktionsbaustein stellt eine OPC-UA-Remote-Verbindung zu einem anderen OPC UA Server her, der via ServerUrl und SessionConnectInfo spezifiziert wird. Der Funktionsbaustein gibt ein Verbindungshandle zurück, der für andere Funktionsbausteine, z. B. UA_Read, verwendet werden kann.
VAR_INPUT
VAR_INPUT
Execute : BOOL;
ServerUrl : STRING(MAX_STRING_LENGTH);
SessionConnectInfo : ST_UASessionConnectInfo;
Timeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Execute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.
ServerUrl: OPC UA Server URL, d. h. 'opc.tcp://172.16.3.207:4840' oder 'opc.tcp://CX_0193BF:4840'.
SessionConnectInfo: Verbindungsinformation (siehe ST_UASessionConnectInfo)
Timeout: Zeit bis zum Abbruch der Funktion. DEFAULT_ADS_TIMEOUT ist eine globale Konstante, gesetzt auf 5 Sekunden. Der Wert muss passend zum ST_UASessionConnectInfo.tConnectionTimeout gesetzt werden. Hierbei gilt die Faustregel: ADS Timeout > 2 * ConnectionTimeout.
VAR_OUTPUT
VAR_OUTPUT
ConnectionHdl : DWORD;
Done : BOOL;
Busy : BOOL;
Error : BOOL;
ErrorID : DWORD;
END_VAR
ConnectionHdl: OPC‑UA‑Verbindungshandle.
Done: Schaltet auf TRUE, wenn der Funktionsbaustein erfolgreich ausgeführt wurde.
Busy: TRUE, bis der Baustein einen Befehl ausführt hat, maximal für die Dauer des „Timeout“ am Eingang. Solange Busy = TRUE ist, akzeptieren die Eingänge keinen neuen Befehl. Es wird nicht die Zeit der Verbindung sondern die Empfangszeit überwacht.
Error: Schaltet auf TRUE, wenn bei der Ausführung eines Befehls ein Fehler auftritt. Der befehlsspezifische Fehlercode ist in ErrorID enthalten.
ErrorID: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


UA_Disconnect

SPS API [image] Tc3_PLCopen_OpcUa [image] Funktionsbausteine [image] UA_Disconnect
UA_Disconnect
Dieser Funktionsbaustein schließt eine OPC-UA-Remote-Verbindung zu einem anderen OPC UA Server. Die Verbindung wird über ihr Verbindungshandle spezifiziert.
VAR_INPUT
VAR_INPUT
Execute : BOOL;
ConnectionHdl : DWORD;
Timeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Execute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.
ConnectionHdl: Verbindungshandle, das vorher vom Funktionsbaustein UA_Connect ausgegeben wurde.
Timeout: Zeit bis zum Abbruch der Funktion. DEFAULT_ADS_TIMEOUT ist eine globale Konstante, gesetzt auf 5 Sekunden.
VAR_OUTPUT
VAR_OUTPUT
Done : BOOL;
Busy : BOOL;
Error : BOOL;
ErrorID : DWORD;
END_VAR
Done: Schaltet auf TRUE, wenn der Funktionsbaustein erfolgreich ausgeführt wurde.
Busy: TRUE, bis der Baustein einen Befehl ausführt hat, maximal für die Dauer des „Timeout“ am Eingang. Solange Busy = TRUE ist, akzeptieren die Eingänge keinen neuen Befehl. Es wird nicht die Zeit der Verbindung sondern die Empfangszeit überwacht.
Error: Schaltet auf TRUE, wenn bei der Ausführung eines Befehls ein Fehler auftritt. Der befehlsspezifische Fehlercode ist in nErrID enthalten.
ErrorID: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


UA_GetNamespaceIndex

SPS API [image] Tc3_PLCopen_OpcUa [image] Funktionsbausteine [image] UA_GetNamespaceIndex
UA_GetNamespaceIndex
Dieser Funktionsbaustein erfasst den Namespace Index für einen Namespace URI. Der Namespace Index wird für die Identifizierung von Symbolen benötigt, z. B. wenn die Funktionsbausteine UA_Read oder UA_Write genutzt werden.
VAR_INPUT
VAR_INPUT
Execute : BOOL;
ConnectionHdl : DWORD;
NamespaceUri : STRING(MAX_STRING_LENGTH);
Timeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Execute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.
ConnectionHdl: Verbindungshandle, das vorher vom Funktionsbaustein UA_Connect ausgegeben wurde.
NamespaceUri: Namensraum-URI, der aufgelöst werden soll. Beim TwinCAT OPC UA Server ist das für die erste SPS-Laufzeit „urn:BeckhoffAutomation:Ua:PLC1“.
Timeout: Zeit bis zum Abbruch der Funktion. DEFAULT_ADS_TIMEOUT ist eine globale Konstante, gesetzt auf 5 Sekunden.
VAR_OUTPUT
VAR_OUTPUT
NamespaceIndex : UINT;
Done : BOOL;
Busy : BOOL;
Error : BOOL;
ErrorID : DWORD;
END_VAR
NamespaceIndex: Namespace Index des gegebenen Namensraum-URI. Dieser kann in anderen Funktionsbausteinen verwendet werden, z. B. UA_NodeGetHandle oder UA_MethodGetHandle.
Done: Schaltet auf TRUE, wenn der Funktionsbaustein erfolgreich ausgeführt wurde.
Busy: TRUE, bis der Baustein einen Befehl ausführt hat, maximal für die Dauer des „Timeout'“ am Eingang. Solange Busy = TRUE ist, akzeptieren die Eingänge keinen neuen Befehl. Es wird nicht die Zeit der Verbindung sondern die Empfangszeit überwacht.
Error: Schaltet auf TRUE, wenn bei der Ausführung eines Befehls ein Fehler auftritt. Der befehlsspezifische Fehlercode ist in ErrorID enthalten.
ErrorID: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


UA_MethodCall

SPS API [image] Tc3_PLCopen_OpcUa [image] Funktionsbausteine [image] UA_MethodCall
UA_MethodCall
Dieser Funktionsbaustein ruft eine Methode auf einem Remote-UA-Server auf. Die Methode wird durch eine Verbindung und ein Methodenhandle bestimmt. Erstere kann durch UA_Connect und letzterer durch UA_MethodGetHandle abgefragt werden.
VAR_INPUT
VAR_INPUT
Execute : BOOL;
ConnectionHdl : DWORD;
MethodHdl : DWORD;
nNumberOfInputArguments : UDINT;
pInputArgInfo : POINTER TO ST_UAMethodArgInfo;
cbInputArgInfo : UDINT;
pInputArgData : PVOID;
cbInputArgData : UDINT;
pInputWriteData : PVOID;
cbInputWriteData : UDINT;
nNumberOfOutputArguments : UDINT;
pOutputArgInfo : POINTER TO ST_UAMethodArgInfo;
cbOutputArgInfo : UDINT;
pOutputArgInfoAndData : PVOID;
cbOutputArgInfoAndData : UDINT;
Timeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Execute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.
ConnectionHdl: Verbindungshandle, das vorher vom Funktionsbaustein UA_Connect ausgegeben wurde.
MethodHdl: Methodenhandle, zuvor vom Funktionsbaustein UA_MethodGetHandle ausgegeben.
nNumberOfInputArguments: Anzahl Eingabeparameter.
pInputArgInfo: Zeigt auf die Pufferadresse, wo Eingabeparameterinformationen in Form eines Arrays ST_UAMethodArgInfo hinterlegt sind.
cbInputArgInfo: Größe des Puffers, wo die Eingabeparameterinformation hinterlegt ist.
pInputArgData: Zeigt auf die Pufferadresse, wo Eingabeparameter (konstanter Länge) hinterlegt sind.
cbInputArgData: Größe des Eingabepuffers, wo Eingabeparameter (mit konstanter Länge) hinterlegt sind.
pInputWriteData: Zeiger auf Pufferadresse, wo Eingabeparameter (dynamischer Länge) hinterlegt sind.
cbInputWriteData: Größe des Eingabepuffers, wo Eingabeparameter (mit dynamischer Länge) hinterlegt sind.
nNumberOfOutputArguments: Anzahl Ausgabeparameter.
pOutputArgInfo: Zeigt auf die Pufferadresse, wo Ausgabeparameterinformationen als Array ST_UAMethodArgInfo hinterlegt sind.
Für die Bestimmung des Zielspeichers der einzelnen Ausgabeparameter ist nLenData erforderlich. Die anderen Elemente können so gesetzt werden, dass eine Typprüfung der zurückgegebenen Parameter erfolgt oder undefiniert bleiben.
cbOutputArgInfo: Größe des Puffers, wo die Ausgabeparameterinformation hinterlegt ist.
pOutputArgInfoAndData: Zeigt auf die Pufferadresse, wo die Ausgabeparameter als BYTE-Array gespeichert werden sollen. Das BYTE-Array enthält die Anzahl der Ausgabeparameter als DINT, 4 reservierte Bytes und Parameterinformationen als ARRAY OF ST_UAMethodArgInfo (mit der Länge der Ausgabeparameter) gefolgt von reinen Daten. Beachten Sie, dass die Daten als 1-byte-Alignment gepackt sind.
cbOutputArgInfoAndData: Größe des Puffers, in dem die Ausgabeparameter als BYTE-Array gespeichert werden sollen.
Timeout: Zeit bis zum Abbruch der Funktion. DEFAULT_ADS_TIMEOUT ist eine globale Konstante, gesetzt auf 5 Sekunden.
VAR_OUTPUT
VAR_OUTPUT
cbRead_R : UDINT;
Done : BOOL;
Busy : BOOL;
Error : BOOL;
ErrorID : UDINT;
END_VAR
cbRead_R: Zählt alle empfangenen Bytes.
Done: Schaltet auf TRUE, wenn der Funktionsbaustein erfolgreich ausgeführt wurde.
Busy: TRUE, bis der Baustein einen Befehl ausführt hat, maximal für die Dauer des „Timeout“ am Eingang. Solange Busy = TRUE ist, akzeptieren die Eingänge keinen neuen Befehl. Es wird nicht die Zeit der Verbindung sondern die Empfangszeit überwacht.
Error: Schaltet auf TRUE, wenn bei der Ausführung eines Befehls ein Fehler auftritt. Der befehlsspezifische Fehlercode ist in nErrID enthalten.
ErrorID: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa


UA_MethodGetHandle

SPS API [image] Tc3_PLCopen_OpcUa [image] Funktionsbausteine [image] UA_MethodGetHandle
UA_MethodGetHandle
Dieser Funktionsbaustein erfasst ein Handle für eine UA-Methode, das dann für den Aufruf einer Methode über UA_MethodCall verwendet werden kann.
VAR_INPUT
VAR_INPUT
Execute : BOOL;
ConnectionHdl : DWORD;
ObjectNodeID : ST_UANodeID;
MethodNodeID : ST_UANodeID;
Timeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Execute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.
ConnectionHdl: Verbindungshandle, das vorher vom Funktionsbaustein UA_Connect ausgegeben wurde.
ObjectNodeID: Objektknoten-ID der aufzurufenden Methode. (Typ: ST_UANodeID)
MethodNodeID: Methoden-Knoten-ID der aufzurufenden Methode. Entspricht dem ID-Atttribut im UA‑Namensraum. (Typ: UA_Connect)
Timeout: Zeit bis zum Abbruch der Funktion. DEFAULT_ADS_TIMEOUT ist eine globale Konstante, gesetzt auf 5 Sekunden.
VAR_OUTPUT
VAR_OUTPUT
MethodHdl : DWORD;
Done : BOOL;
Busy : BOOL;
Error : BOOL;
ErrorID : UDINT;
END_VAR
MethodHdl: Gibt ein Methodenhandle zurück, das für den Aufruf einer Methode über UA_MethodCall verwendet werden kann.
Done: Schaltet auf TRUE, wenn der Funktionsbaustein erfolgreich ausgeführt wurde.
Busy: TRUE, bis der Baustein einen Befehl ausführt hat, maximal für die Dauer des „Timeout“ am Eingang. Solange Busy = TRUE ist, akzeptieren die Eingänge keinen neuen Befehl. Es wird nicht die Zeit der Verbindung sondern die Empfangszeit überwacht.
Error: Schaltet auf TRUE, wenn bei der Ausführung eines Befehls ein Fehler auftritt. Der befehlsspezifische Fehlercode ist in nErrID enthalten.
ErrorID: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa


UA_MethodReleaseHandle

SPS API [image] Tc3_PLCopen_OpcUa [image] Funktionsbausteine [image] UA_MethodReleaseHandle
UA_MethodReleaseHandle
Dieser Funktionsbaustein gibt das spezifizierte Methodenhandle frei.
VAR_INPUT
VAR_INPUT
Execute : BOOL;
ConnectionHdl : DWORD;
MethodHdl : DWORD;
Timeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Execute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.
ConnectionHdl: Verbindungshandle, das vorher vom Funktionsbaustein UA_Connect ausgegeben wurde.
MethodHdl: Methodenhandle, das zuvor vom Funktionsbaustein UA_MethodGetHandle ausgegeben wurde.
Timeout: Zeit bis zum Abbruch der Funktion. DEFAULT_ADS_TIMEOUT ist eine globale Konstante, gesetzt auf 5 Sekunden.
VAR_OUTPUT
VAR_OUTPUT
Done : BOOL;
Busy : BOOL;
Error : BOOL;
ErrorID : UDINT;
END_VAR
Done: Schaltet auf TRUE, wenn der Funktionsbaustein erfolgreich ausgeführt wurde.
Busy: TRUE, bis der Baustein einen Befehl ausführt hat, maximal für die Dauer des „Timeout“ am Eingang. Solange Busy = TRUE ist, akzeptieren die Eingänge keinen neuen Befehl. Es wird nicht die Zeit der Verbindung sondern die Empfangszeit überwacht.
Error: Schaltet auf TRUE, wenn bei der Ausführung eines Befehls ein Fehler auftritt. Der befehlsspezifische Fehlercode ist in nErrID enthalten.
ErrorID: Enthält den befehlsspezifischen ADS Fehlercode des zuletzt ausgeführten Befehls.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa


UA_NodeGetHandle

SPS API [image] Tc3_PLCopen_OpcUa [image] Funktionsbausteine [image] UA_NodeGetHandle
UA_NodeGetHandle
Dieser Funktionsbaustein fragt ein Knotenhandle für ein gegebenes Symbol im UA-Namensraum ab. Das Symbol wird durch ein Verbindungshandle und seine Knoten-ID spezifiziert.
VAR_INPUT
VAR_INPUT
Execute : BOOL;
ConnectionHdl : DWORD;
NodeID : ST_UANodeID;
Timeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Execute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.
ConnectionHdl: Verbindungshandle, das vorher vom Funktionsbaustein UA_Connect ausgegeben wurde.
Node ID: Eindeutige Adressierung der UA Node, bestehend aus Identifier, IdentifierType und NamespaceIndex, welcher aus einem NamespaceName aufgelöst wird, z.B. mittels der Methode UA_GetNamespaceIndex.
Timeout: Zeit bis zum Abbruch der Function. DEFAULT_ADS_TIMEOUT ist eine globale Konstante, gesetzt auf 5 Sekunden.
VAR_OUTPUT
VAR_OUTPUT
NodeHdl : DWORD;
Done : BOOL;
Busy : BOOL;
Error : BOOL;
ErrorID : DWORD;
END_VAR
NodeHdl: Knotenhandle, das für andere Funktionsbausteine verwendet werden kann, z. B. UA_Read oder UA_Write.
Done: Schaltet auf TRUE, wenn der Funktionsbaustein erfolgreich ausgeführt wurde.
Busy: TRUE, bis der Baustein einen Befehl ausführt hat, maximal für die Dauer des „Timeout“ am Eingang. Solange Busy = TRUE akzeptieren die Eingänge keinen neuen Befehl. Es wird nicht die Zeit der Verbindung sondern die Empfangszeit überwacht.
Error: Schaltet auf TRUE, wenn bei der Ausführung eines Befehls ein Fehler auftritt. Der befehlsspezifische Fehlercode ist in ErrorID enthalten.
ErrorID: Enthält den befehlsspezifischen ADS Fehlercode des zuletzt ausgeführten Befehls.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


UA_NodeGetHandleList

SPS API [image] Tc3_PLCopen_OpcUa [image] Funktionsbausteine [image] UA_NodeGetHandleList
UA_NodeGetHandleList
Graphic from UA_NodeGetHandleList (il01v4n3.png)
Dieser Funktionsbaustein fragt Knotenhandles für Knoten im UA-Namensraum ab.
VAR_INPUT
VAR_INPUT
Execute : BOOL;
ConnectionHdl : DWORD;
NodeIDCount : UINT;
NodeIDs : ARRAY[1..nMaxNodeIDsInList] OF ST_UANodeID;
Timeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Execute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.
ConnectionHdl: Verbindungshandle, das vorher vom Funktionsbaustein UA_Connect ausgegeben wurde.
NodeIDCount: Anzahl Knoten, für die ein Knotenhandle erforderlich ist.
NodeIDs: Array von NodeIDs, die mit der struct ST_UANodeID erstellt wurden.
Timeout: Zeit bis zum Abbruch der Funktion. DEFAULT_ADS_TIMEOUT ist eine globale Konstante, gesetzt auf 5 Sekunden.
VAR_OUTPUT
VAR_OUTPUT
NodeHdls : ARRAY[1..nMaxNodeIDsInList] OF DWORD;
NodeErrorIDs : ARRAY[1..nMaxNodeIDsInList] OF DWORD;
cbData_R : UDINT;
Done : BOOL;
Busy : BOOL;
Error : BOOL;
ErrorID : DWORD;
END_VAR
NodeHdls: Array angeforderter Knotenhandles.
NodeErrorIDs: Array von Fehler-IDs, falls keine Knotenhandles zur Verfügung stehen.
cbData_R: Größe der gelesenen Daten.
Done: Schaltet auf TRUE, wenn der Funktionsbaustein erfolgreich ausgeführt wurde.
Busy: TRUE, bis der Baustein einen Befehl ausführt hat, maximal für die Dauer des „Timeout“ am Eingang. Solange Busy = TRUE ist, akzeptieren die Eingänge keinen neuen Befehl. Es wird nicht die Zeit der Verbindung sondern die Empfangszeit überwacht.
Error: Schaltet auf TRUE, wenn bei der Ausführung eines Befehls ein Fehler auftritt. Der befehlsspezifische Fehlercode steht in nErrID.
ErrorID: Enthält die Fehler-ID, wenn ein Fehler auftritt.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


UA_NodeReleaseHandle

SPS API [image] Tc3_PLCopen_OpcUa [image] Funktionsbausteine [image] UA_NodeReleaseHandle
UA_NodeReleaseHandle
Dieser Funktionsbaustein gibt ein Knotenhandle frei.
VAR_INPUT
VAR_INPUT
Execute : BOOL;
ConnectionHdl : DWORD;
NodeHdl : DWORD;
Timeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Execute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.
ConnectionHdl: Verbindungshandle, das vorher vom Funktionsbaustein UA_Connect ausgegeben wurde.
NodeHdl: Freizugebendes Knotenhandle.
Timeout: Zeit bis zum Abbruch der Funktion. DEFAULT_ADS_TIMEOUT ist eine globale Konstante, gesetzt auf 5 Sekunden.
VAR_OUTPUT
VAR_OUTPUT
Done : BOOL;
Busy : BOOL;
Error : BOOL;
ErrorID : DWORD;
END_VAR
Done: Schaltet auf TRUE, wenn der Funktionsbaustein erfolgreich ausgeführt wurde.
Busy: TRUE, bis der Baustein einen Befehl ausführt hat, maximal für die Dauer des „Timeout“ am Eingang. Solange Busy = TRUE ist, akzeptieren die Eingänge keinen neuen Befehl. Es wird nicht die Zeit der Verbindung sondern die Empfangszeit überwacht.
Error: Schaltet auf TRUE, wenn bei der Ausführung eines Befehls ein Fehler auftritt. Der befehlsspezifische Fehlercode ist in ErrorID enthalten.
ErrorID: Enthält den befehlsspezifischen ADS Fehlercode des zuletzt ausgeführten Befehls.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


UA_NodeReleaseHandleList

SPS API [image] Tc3_PLCopen_OpcUa [image] Funktionsbausteine [image] UA_NodeReleaseHandleList
UA_NodeReleaseHandleList
Graphic from UA_NodeReleaseHandleList (i76r9at2.png)
Dieser Funktionsbaustein gibt mehrere Knotenhandles frei.
VAR_INPUT
VAR_INPUT
Execute : BOOL;
ConnectionHdl : DWORD;
NodeHdlCount : UINT;
NodeHdls : ARRAY[1..nMaxNodeIDsInList] OF DWORD;
Timeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Execute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.
ConnectionHdl: Verbindungshandle, das vorher vom Funktionsbaustein UA_Connect ausgegeben wurde.
NodeHdlCount: Anzahl Knotenhandles.
NodeHdls: Array von Knotenhandles, die freizugeben sind.
Timeout: Zeit bis zum Abbruch der Funktion. DEFAULT_ADS_TIMEOUT ist eine globale Konstante, gesetzt auf 5 Sekunden.
VAR_OUTPUT
VAR_OUTPUT
NodeErrorIDs : ARRAY[1..nMaxNodeIDsInList] OF DWORD;
Done : BOOL;
Busy : BOOL;
Error : BOOL;
ErrorID : DWORD;
END_VAR
NodeErrorIDs: Array von Fehler-IDs, falls ein Knotenhandle nicht freigegeben werden konnte.
Done: Schaltet auf TRUE, wenn der Funktionsbaustein erfolgreich ausgeführt wurde.
Busy: TRUE, bis der Baustein einen Befehl ausführt hat, maximal für die Dauer des „Timeout“ am Eingang. Solange Busy = TRUE ist, akzeptieren die Eingänge keinen neuen Befehl. Es wird nicht die Zeit der Verbindung sondern die Empfangszeit überwacht.
Error: Schaltet auf TRUE, wenn bei der Ausführung eines Befehls ein Fehler auftritt. Der befehlsspezifische Fehlercode steht in nErrID.
ErrorID: Enthält die Fehler-ID, wenn ein Fehler auftritt.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


UA_Read

SPS API [image] Tc3_PLCopen_OpcUa [image] Funktionsbausteine [image] UA_Read
UA_Read
Dieser Funktionsbaustein liest Werte aus einem gegebenen Knoten- und Verbindungshandle.
VAR_INPUT
VAR_INPUT
Execute : BOOL;
ConnectionHdl : DWORD;
NodeHdl : DWORD;
stNodeAddInfo : ST_UANodeAdditionalInfo;
pVariable : PVOID;
cbData : UDINT;
Timeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Execute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.
ConnectionHdl: Verbindungshandle, das vorher vom Funktionsbaustein UA_Connect ausgegeben wurde.
NodeHdl: Knotenhandle, das zuvor vom Funktionsbaustein UA_NodeGetHandle ausgegeben wurde.
stNodeAddInfo: Definiert zusätzliche Informationen, z. B. welches Attribut aus dem UA‑Namensraum gelesen (Standard: 'Value'-Attribut) oder welcher IndexRange verwendet werden soll. Wird durch STRUCT ST_UANodeAdditionalInfo spezifiziert.
pVariable: Zeiger auf Datenspeicher, wo die gelesenen Daten abgespeichert werden sollen.
cbData: Bestimmt die Größe der zu lesenden Daten.
Timeout: Zeit bis zum Abbruch der Funktion. DEFAULT_ADS_TIMEOUT ist eine globale Konstante, gesetzt auf 5 Sekunden.
VAR_OUTPUT
VAR_OUTPUT
Done : BOOL;
Busy : BOOL;
Error : BOOL;
ErrorID : UDINT;
cbData_R : UDINT;
END_VAR
Done: Schaltet auf TRUE, wenn der Funktionsbaustein erfolgreich ausgeführt wurde.
Busy: TRUE, bis der Baustein einen Befehl ausführt hat, maximal für die Dauer des „Timeout“ am Eingang. Solange Busy = TRUE ist, akzeptieren die Eingänge keinen neuen Befehl. Es wird nicht die Zeit der Verbindung sondern die Empfangszeit überwacht.
Error: Schaltet auf TRUE, wenn bei der Ausführung eines Befehls ein Fehler auftritt. Der befehlsspezifische Fehlercode ist in nErrID enthalten.
ErrorID: Enthält den befehlsspezifischen ADS‑Fehlercode des zuletzt ausgeführten Befehls.
cbData_R: Anzahl zu lesender Bytes.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


UA_ReadList

SPS API [image] Tc3_PLCopen_OpcUa [image] Funktionsbausteine [image] UA_ReadList
UA_ReadList
Grafik aus UA_ReadList (i9hmrgm2.png)
Dieser Funktionsbaustein liest Werte aus mehreren gegebenen Knoten- und Verbindungshandles.
VAR_INPUT
VAR_INPUT
Execute : BOOL;
ConnectionHdl : DWORD;
NodeHdlCount : UINT;
NodeHdls : ARRAY[1..nMaxNodeIDsInList] OF DWORD;
stNodeAddInfo : ARRAY[1..nMaxNodeIDsInList] OF ST_UANodeAdditionalInfo;
pVariable : PVOID;
cbData : ARRAY[1..nMaxNodeIDsInList] UDINT;
cbDataTotal : UDINT;
Timeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Execute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.
ConnectionHdl: Verbindungshandle, das vorher vom Funktionsbaustein UA_Connect ausgegeben wurde.
NodeHdlCount: Anzahl Knotenhandles, die in der Eingangsvariablen NodeHdls gespeichert sind.
NodeHdls: Array von Knotenhandles, die vorher vom Funktionsbaustein UA_NodeGetHandle oder UA_NodeGetHandleList erhalten wurden.
stNodeAddInfo: Definiert zusätzliche Informationen, z. B. welches Attribut aus dem UA‑Namensraum gelesen (Standard: 'Value'-Attribut) oder welcher IndexRange verwendet werden soll. Wird durch STRUCT ST_UANodeAdditionalInfo spezifiziert.
pVariable: Zeiger auf Datenspeicher, wo die gelesenen Daten abgespeichert werden sollen.
cbData: Bestimmt die Größe der zu lesenden Daten.
cbDataTotal: Gesamtgröße der zu empfangenden Daten.
Timeout: Zeit bis zum Abbruch der Funktion. DEFAULT_ADS_TIMEOUT ist eine globale Konstante, gesetzt auf 5 Sekunden.
VAR_OUTPUT
VAR_OUTPUT
Done : BOOL;
Busy : BOOL;
Error : BOOL;
ErrorID : UDINT;
cbData_R : UDINT;
END_VAR
Done: Schaltet auf TRUE, wenn der Funktionsbaustein erfolgreich ausgeführt wurde.
Busy: TRUE, bis der Baustein einen Befehl ausführt hat, maximal für die Dauer des „Timeout“ am Eingang. Solange Busy = TRUE ist, akzeptieren die Eingänge keinen neuen Befehl. Es wird nicht die Zeit der Verbindung sondern die Empfangszeit überwacht.
Error: Schaltet auf TRUE, wenn bei der Ausführung eines Befehls ein Fehler auftritt. Der befehlsspezifische Fehlercode steht in nErrID.
ErrorID: Enthält den befehlsspezifischen ADS‑Fehlercode des zuletzt ausgeführten Befehls.
cbData_R: Anzahl der gelesenen Bytes
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


UA_Write

SPS API [image] Tc3_PLCopen_OpcUa [image] Funktionsbausteine [image] UA_Write
UA_Write
Dieser Funktionsbaustein schreibt Werte in ein gegebenes Knoten- und Verbindungshandle.
VAR_INPUT
VAR_INPUT
Execute : BOOL;
ConnectionHdl : DWORD;
NodeHdl : DWORD;
stNodeAddInfo : ST_UANodeAdditionalInfo;
pVariable : PVOID;
cbData : UDINT;
Timeout : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR
Execute: Der Befehl wird durch eine steigende Flanke an diesem Eingang ausgelöst.
ConnectionHdl: Verbindungshandle, das vorher vom Funktionsbaustein UA_Connect ausgegeben wurde.
NodeHdl: Knotenhandle, der zuvor vom Funktionsbaustein UA_NodeGetHandle ausgegeben wurde.
stNodeAddInfo: Definiert zusätzliche Informationen, z. B. auf welchen IndexRange oder welches Attribut geschrieben werden soll (standardmäßig wird das 'Value'-Attribut verwendet). Wird durch STRUCT ST_UANodeAdditionalInfo spezifiziert.
pVariable: Zeiger auf zu schreibende Daten.
cbData: Legt die Größe der zu schreibenden Werte fest.
Timeout: Zeit bis zum Abbruch der Funktion. DEFAULT_ADS_TIMEOUT ist eine globale Konstante, gesetzt auf 5 Sekunden.
VAR_OUTPUT
VAR_OUTPUT
Done : BOOL;
Busy : BOOL;
Error : BOOL;
ErrorID : DWORD;
END_VAR
Done: Schaltet auf TRUE, wenn der Funktionsbaustein erfolgreich ausgeführt wurde.
Busy: TRUE, bis der Baustein einen Befehl ausführt hat, maximal für die Dauer des „Timeout“ am Eingang. Solange Busy = TRUE ist, akzeptieren die Eingänge keinen neuen Befehl. Es wird nicht die Zeit der Verbindung sondern die Empfangszeit überwacht.
Error: Schaltet auf TRUE, wenn bei der Ausführung eines Befehls ein Fehler auftritt. Der befehlsspezifische Fehlercode ist in ErrorID enthalten.
ErrorID: Enthält den befehlsspezifischen ADS‑Fehlercode des zuletzt ausgeführten Befehls.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken
TwinCAT 3.1 | Win32, Win64, CE-X86, CE-ARM | Tc3_PLCopen_OpcUa
TwinCAT 2.11 R3 Build 2245 | Win32, CE-X86, CE-ARM | Tc2_PLCopen_OpcUa


Beispiele

Beispiele
Beispiele
Übersicht
Beispiel
Kategorie
TwinCAT-Version
Beschreibung
Download
TF6100 Server und Client Sample
Server
Client
TC3 (>=3.1.4020.0)
Das Beispiel beinhaltet eine SPS zur Bereitstellung von Variablen für den TwinCAT OPC UA Server (Data Access). Des Weiteren sind Beispiele für die Verwendung der Funktionsbausteine UA_Read, UA_Write, UA_ReadList und UA_MethodCall (Tc3_PLCopen_OpcUa) enthalten.
TF6100 Client Funktonsbaustein UA_HistoryUpdate
Client
TC3
Das Beispiel beinhaltet eine SPS zur Verwendung des Funktionsbausteins UA_HistoryUpdate (Tc3_PLCopen_OpcUa).
TS6100 Client Funktionsbausteine
Client
TC2
Beispiele für die Verwendung der Funktionsbausteine UA_Read und UA_Write.
TS6100 Server Historical Access
Server
TC2
Historical Access: SPS-Beispielprogramm.


Anhang

Anhang
Anhang
Weiterführende Informationen
•
Fehlerdiagnose
•
OPC-UA-Client-Fehlercodes
•
I/O-Client-Statuscodes
•
ADS Return Codes
•
Support und Service


Fehlerdiagnose

Anhang [image] Fehlerdiagnose
Fehlerdiagnose
Die folgende Tabelle bietet einige hilfreiche Informationen zur Fehlerdiagnose.
TwinCAT OPC UA Server
Verhalten | Hinweise
Ein OPC UA Client sieht den PLC Namespace nicht | TF6100 Setup Version 3.x und kleiner: Dieser Status ist ein Hinweis auf eine fehlende Lizenz. Überprüfen Sie, ob Sie eine gültige TF6100 Lizenz aktiviert haben.
Ein OPC UA Client bekommt bei Auslesen von Nodes den StatusCode 0x810e0000 | TF6100 Setup Version 4.x: Dieser Status ist ein Hinweis auf eine fehlende Lizenz. Überprüfen Sie, ob Sie eine gültige TF6100 Lizenz aktiviert haben.
Die über Kommentare/Attribute freigegebenen Variablen werden nicht im OPC UA Server angezeigt | Überprüfen Sie, ob die Symboldatei ordnungsgemäß auf die Steuerung übertragen wurde (z. B. Auswahlkästchen im SPS-Projekt), im Bootverzeichnis vorhanden ist und der Pfad zur Symboldatei in der Konfigurationsdatei des Servers auf die richtige Symboldatei verweist. Sie können auch über die DeviceState Node im jeweiligen Namespace eventuell aufgetretene ErrorMessages überprüfen. Hier wird z. B. auch eingetragen, wenn die Symboldatei nicht gefunden wurde. Überprüfen Sie auch die ordnungsgemäße Schreibweise der Kommentare/Attribute.
Die vom OPC UA Client geforderte Samplingrate/PublishingInterval werden vom Server nicht eingehalten | OPC UA Client/Server ist kein Echtzeitprotokoll, d. h. dass es keine Garantie gibt, dass der Server eine vom Client geforderte Samplingrate oder PublishingInterval auch immer zu 100% einhält. Die zur Verfügung stehenden Samplingraten und PublishingIntervalle können in der Konfigurationsdatei des Servers eingesehen und bei Bedarf modifiziert werden (<AvailableSamplingRates> und <MinPublishingInterval>).
Ein OPC UA Client kann sich nicht mit dem Server verbinden, obwohl der Server im Windows Task Manager angezeigt wird. Es erscheint die Fehlermeldung „Host unreachable“ (o.ä.) | Überprüfen Sie, ob gegebenenfalls Firewall-Einstellungen eine Kommunikation mit dem Server verhindern. Der Serverport muss für eine eingehende TCP-Kommunikation geöffnet sein, damit sich ein Client verbinden kann.
Ein OPC UA Client sieht zwar die Endpunkte des Servers, eine Verbindung mit diesen schlägt jedoch mit der Fehlermeldung „Host unreachable“ fehl | Überprüfen Sie, ob die Namensauflösung in Ihrem Netzwerk ordnungsgemäß funktioniert und der Server unter seinem Hostnamen erreichbar ist. Auch wenn sich der OPC UA Client augenscheinlich mit der IP-Adresse des Servers verbindet (z. B. opc.tcp://192.168.0.1:4840), um auf die Endpunkte des Servers zuzugreifen, so returniert der Server in seinen Endpunkten dennoch immer den eigenen Hostnamen. Wenn sich nun der Client direkt mit einem der Endpunkte verbindet, so verwendet er wieder den Hostnamen des Servers. Im Falle einer nicht funktionierenden Namensauflösung schlägt dann die Verbindung fehl.
Ein OPC UA Client sieht zwar die Endpunkte des Servers, eine Verbindung mit einem sicheren Endpunkt schlägt jedoch fehl. Es erscheint die Fehlermeldung „BadSecurityChecksFailed“ | Überprüfen Sie, ob der Server dem Client-Zertifikat vertraut. Die notwendigen Konfigurationsschritte können Sie im Abschnitt Zertifikatsaustausch nachlesen.
Bei Verwendung eines SQL Servers zur Speicherung von Historical Access Informationen, werden die Werte nicht zur SQL-Datenbank hinzugefügt | Überprüfen Sie die Zugangsdaten zum SQL Server und dass der SQL Server auch im Netzwerk erreichbar ist. Stellen Sie auch sicher, dass Sie ein „Big Windows“-Betriebssystem auf dem TwinCAT OPC UA Server verwenden, da SQL Server nicht unter Windows CE für Historical Access verwendet werden können (SQL Compact hingegen schon).
Beim Auslesen von Variablen erhält ein OPC UA Client die Fehlermeldung „BadDeviceFailure“ | Dies ist ein Hinweis darauf, dass das zugehörige ADS-Gerät nicht erreichbar ist, z. B. wenn kein SPS-Programm gestartet ist. Überprüfen Sie die Konnektivität mit dem ADS-Gerät und stellen Sie sicher, dass die entsprechende Laufzeit aktiv ist.
Arrays werden nicht voll aufgelöst im Namespace dargestellt | Standardmäßig werden Arrays von einfachen Datentypen nicht „aufgeklappt“ im Namensraum dargestellt. Einzelne Array-Indizes sind dennoch über die sogenannte IndexRange Funktion von OPC UA adressierbar. Ein OPC UA Client sollte diese Funktion entsprechend unterstützen. Ist dies nicht der Fall, so kann über einen Optionsschalter in der Konfigurationsdatei des Servers bewirkt werden, dass ein Array „aufgeklappt“ dargestellt und somit jedes einzelne Arrayelement als separate Node adressierbar ist. Dieser Optionsschalter ist im Abschnitt Verwendung von Arrays beschrieben.


OPC-UA-Client-Fehlercodes

Anhang [image] OPC-UA-Client-Fehlercodes
OPC-UA-Client-Fehlercodes
Die Funktionsbausteine des TwinCAT OPC UA Client besitzen eigene Fehlercodes, die das Auftreten eines Fehlers signalisieren und mit einer ErrorID weitere Informationen zum aufgetretenen Problem anzeigen. Es können sowohl TwinCAT-ADS-Fehlermeldungen (ADS Return Codes) mit dem Highword 0x0000 als auch eigene Fehlermeldungen aus dem Client oder der SPS-Bibliothek mit dem Highword 0xE4DD auftreten.
Verwendete TwinCAT-ADS-Fehler sind beispielsweise folgende:
Hex | Name | Beschreibung
0x 0000 0705 | DEVICE_INVALIDSIZE | Parametergröße nicht korrekt
0x 0000 0706 | DEVICE_INVALIDDATA | Ungültige Parameterwerte
0x 0000 070A | DEVICE_NOMEMORY | Nicht genügend Speicher
Diese Fehlercodeliste führt die möglichen eigenen Fehlerwerte auf:
Hex | Name | Beschreibung
0x E4DD 0001 | UAC_E_FAIL | Aufruf von UA Service fehlgeschlagen
0x E4DD 0100 | UAC_E_CONNECTED | Server bereits verbunden
0x E4DD 0101 | UAC_E_CONNECT | Allgemeiner Fehler beim Aufbau einer Verbindung
0x E4DD 0102 | UAC_E_UASECURITY | UA Security konnte nicht eingerichtet werden
0x E4DD 0103 | UAC_E_ITEMEXISTS | Element ID bereits vorhanden
0x E4DD 0104 | UAC_E_ITEMNOTFOUND | Element existiert nicht
0x E4DD 0105 | UAC_E_ITEMTYPE | Ungültiger oder nicht unterstützter Elementtyp
0x E4DD 0106 | UAC_E_CONVERSION | Variablentypen können nicht konvertiert werden
0x E4DD 0107 | UAC_E_SUSPENDED | Gerät hängt. Bitte später erneut versuchen...
0x E4DD 0108 | UAC_E_TYPE_NOT_SUPPORTED | Konvertierung Variablentyp wird nicht unterstützt.
0x E4DD 0109 | UAC_E_NSNAME_NOTFOUND | Kein Namensraum mit dem angegebenen Namen gefunden.
0x E4DD 0110 | UAC_E_CONNECT_NOTFOUND | Verbindung fehlgeschlagen: Ziel-Host konnte nicht gefunden werden.
0x E4DD 0111 | UAC_E_TIMEOUT | Timeout: d. h. Ziel-Host antwortet nicht
0x E4DD 0112 | UAC_E_INVALIDHDL | Sitzungshandle ungültig
0x E4DD 0113 | UAC_E_INVALIDNODEID | UA-Knoten-ID unbekannt
0x E4DD 0114 | UAC_E_INVAL_IDENTIFIER_TYPE | Bezeichnertyp der UaNodeId ungültig
0x E4DD 0115 | UAC_E_IDENTIFIER_NOTSUPP | Bezeichnertyp UaNodeId wird nicht unterstützt
0x E4DD 0116 | UAC_E_INVAL_NODE_HDL | Ungültiges Knotenhandle
0x E4DD 0117 | UAC_E_UAREADFAILED | UA Read aus unbekannter Ursache fehlgeschlagen
0x E4DD 0118 | UAC_E_UAWRITEFAILED | UA Write aus unbekannter Ursache fehlgeschlagen
0x E4DD 0119 | UAC_E_INVAL_NODEMETHOD_HDL | Ungültiges Methodenhandle
0x E4DD 011A | UAC_E_CALL_FAILED | Aufruf fehlgeschlagen, Ursache unbekannt
0x E4DD 011B | UAC_E_CALLDECODE_FAILED | Aufruf erfolgreich, Decodierung Rückgabewert fehlgeschlagen
0x E4DD 011C | UAC_E_NOTMAPPEDTYPE | Nicht zugeordneter Datentyp in Rückgabewert
0x E4DD 011D | UAC_E_CALL_FAILED_BADINTERNAL | Aufruf fehlgeschlagen mit UA_BadInternal
0x E4DD 011E | UAC_E_METHODIDINVALID | Unbekannte MethodenID (bei Aufruf zurückgegeben, auch wenn von GetMethodHdl bereitgestellt)
0x E4DD 011F | UAC_E_TOOMUCHDIM | Methodenaufruf hat Parameter mit mehr als 3 Dimensionen zurückgegeben - wird nicht unterstützt.
0x E4DD 0120 | UAC_E_CALL_FAILED_INVALIDARG | Aufruf fehlgeschlagen mit OpcUa_BadInvalidArgument
0x E4DD 0121 | UAC_E_CALL_FAILED_TYPEMISMATCH | Aufruf fehlgeschlagen mit UAC_E_CALL_FAILED_TYPEMISMATCH
0x E4DD 0122 | UAC_E_CALL_FAILED_OUTOFRANGE | Aufruf fehlgeschlagen mit UAC_E_CALL_FAILED_OUTOFRANGE
0x E4DD 0123 | UAC_E_CALL_FAILED_BADSTRUCTURE | Aufruf fehlgeschlagen mit OpcUa_BadStructureMissing
0x E4DD 0124 | UAC_E_CALL_TYPEMISMATCH_OUTPARAM | Aufruf erfolgreich, aber keine Typenübereinstimmung der bereitgestellten Ausgabeinformation
0x E4DD 0125 | UAC_E_NONVALIDTYPEINFO | Knoten hat unzureichende Typinformationen
0x E4DD 0126 | UAC_E_INVALIDATTRIBID | Zugriff auf ungültiges Attribut von Knoten
0x E4DD 0128 | UAC_E_NOTSUPPORTED | Das Kommando wird vom verbundenen UaServer nicht unterstützt, z. B. beim Aufruf von UA_HistoryUpdate.
0x E4DE 0100 | UAC_E_INVALID_ARRAY_LENGTH | Es wurde eine ungültige, nicht zu DataValueCount passende, Array-Länge am UA_HistoryUpdate zugewiesen.
0x E4DE 0101 | UAC_E_INVALID_DATASIZE | Es wurde ein Datenwert mit ungültiger Datentypgröße am UA_HistoryUpdate zugewiesen. Alle zugewiesenen DataValues müssen vom gleichen Datentyp sein.
0x E4DE 0102 | UAC_E_SUBERROR | Ein unterlagerter Fehler an mindestens einem der übertragenen Datenwerte wurde ausgegeben. Siehe ValueErrorIDs am UA_HistoryUpdate.


I/O-Client-Statuscodes

Anhang [image] I/O-Client-Statuscodes
I/O-Client-Statuscodes
Die zu einem virtuellen OPC UA-Gerät gehörenden OPC UA Client-Module bieten verschiedene Statusvariablen sowie Kontrollvariablen an. Nachfolgend findet sich die Erläuterung dieser Variablen.
OPCUAClientModulesStatusCodes
Variable | Schema | 0 | 1- State Machine-Status (state machinestate) | 2- Keep alive-Zähler beim Verwenden von Subscriptions (keep alive count if using subscriptions) | 3- Verbindungsstatus (&Write-Modus) (connection state(&write mode))
VarInput Status | 0x0123 | - | 0 = Initialisieren (init) |  | 0 = false(&off)
 |  |  | 1 = Verbinden (connect) |  | 1 = true(&off)
 |  |  | 2 = Namespaces auflösen (resolve namespace) |  | 2 = false(&on)
 |  |  | 3 = Node Handles abfragen (get node handles) |  | 3 = true(&on)
 |  |  | 4 = Zyklisches Lesen/Schreiben (continuous read/write) |  |
 |  |  | 5 = Lesen/Schreiben über Trigger-Variablen (triggered read/write) |  |
 |  |  | 6 = Warten auf Benachrichtigungen bezgl. Datenänderungen (awaiting data change notifications (subscriptions)) |  |
 |  |  | 7 = Verbindung trennen (disconnect) |  |
 |  |  | 8 = Zurücksetzen (reset) |  |
VarOutput Control | 0x0123 | - | - | - | 0 = Standard (default) 1 = State Machine zurücksetzen (reset state machine) 2 = Ausführen (beim Lesen/Schreiben mit Trigger-Variablen) (execute (in triggered read mode))
Variable | Datentyp | Beschreibung
VarInput Connected | BIT | 1 TRUE | 0= FALSE.
VarInput ReadBusy | BIT | 1 TRUE | 0= FALSE. Diese Funktion ist nur beim Lesen und Schreiben über Trigger-Variablen aktiv.
VarInput KeepAlives | BIT4 | Zeigt die Anzahl an gezählten KeepAlive-Nachrichten. Ist nur beim Lesen und Schreiben mithilfe von Subscriptions aktiv.
VarInput StmState | BYTE | Abzulesen in der obigen Tabelle.
VarOutput ResetStm | BIT | Der Client wird zurückgesetzt, wenn dieses Bit auf 1 gesetzt wird.
VarOutput Execute | BIT | 1 TRUE | 0= FALSE. Wenn dieses Bit beim Lesen und Schreiben über Trigger-Variablen auf 1 gesetzt wird, wird gelesen/geschrieben. Achtung: Wenn dieses Bit gesetzt bleibt, besteht kein Unterschied zum zyklischen Lesen/Schreiben.


ADS Return Codes

Anhang [image] ADS Return Codes
ADS Return Codes
Gruppierung der Fehlercodes: 0x000..., 0x500..., 0x700..., 0x1000...
Globale Fehlercodes
Hex | Dec | HRESULT | Name | Beschreibung
0x0 | 0 | 0x9811 0000 | ERR_NOERROR | Kein Fehler.
0x1 | 1 | 0x9811 0001 | ERR_INTERNAL | Interner Fehler.
0x2 | 2 | 0x9811 0002 | ERR_NORTIME | Keine Echtzeit.
0x3 | 3 | 0x9811 0003 | ERR_ALLOCLOCKEDMEM | Zuweisung gesperrt - Speicherfehler.
0x4 | 4 | 0x9811 0004 | ERR_INSERTMAILBOX | Postfach voll – Es konnte die ADS Nachricht nicht versendet werden. Reduzieren der Anzahl der ADS Nachrichten pro Zyklus bringt Abhilfe.
0x5 | 5 | 0x9811 0005 | ERR_WRONGRECEIVEHMSG | Falsches HMSG.
0x6 | 6 | 0x9811 0006 | ERR_TARGETPORTNOTFOUND | Ziel-Port nicht gefunden – ADS Server ist nicht gestartet oder erreichbar.
0x7 | 7 | 0x9811 0007 | ERR_TARGETMACHINENOTFOUND | Zielrechner nicht gefunden – AMS Route wurde nicht gefunden.
0x8 | 8 | 0x9811 0008 | ERR_UNKNOWNCMDID | Unbekannte Befehl-ID.
0x9 | 9 | 0x9811 0009 | ERR_BADTASKID | Ungültige Task-ID.
0xA | 10 | 0x9811 000A | ERR_NOIO | Kein IO.
0xB | 11 | 0x9811 000B | ERR_UNKNOWNAMSCMD | Unbekannter AMS-Befehl.
0xC | 12 | 0x9811 000C | ERR_WIN32ERROR | Win32 Fehler.
0xD | 13 | 0x9811 000D | ERR_PORTNOTCONNECTED | Port nicht verbunden.
0xE | 14 | 0x9811 000E | ERR_INVALIDAMSLENGTH | Ungültige AMS-Länge.
0xF | 15 | 0x9811 000F | ERR_INVALIDAMSNETID | Ungültige AMS Net ID.
0x10 | 16 | 0x9811 0010 | ERR_LOWINSTLEVEL | Installations-Level ist zu niedrig –TwinCAT 2 Lizenzfehler.
0x11 | 17 | 0x9811 0011 | ERR_NODEBUGINTAVAILABLE | Kein Debugging verfügbar.
0x12 | 18 | 0x9811 0012 | ERR_PORTDISABLED | Port deaktiviert – TwinCAT System Service nicht gestartet.
0x13 | 19 | 0x9811 0013 | ERR_PORTALREADYCONNECTED | Port bereits verbunden.
0x14 | 20 | 0x9811 0014 | ERR_AMSSYNC_W32ERROR | AMS Sync Win32 Fehler.
0x15 | 21 | 0x9811 0015 | ERR_AMSSYNC_TIMEOUT | AMS Sync Timeout.
0x16 | 22 | 0x9811 0016 | ERR_AMSSYNC_AMSERROR | AMS Sync Fehler.
0x17 | 23 | 0x9811 0017 | ERR_AMSSYNC_NOINDEXINMAP | Keine Index-Map für AMS Sync vorhanden.
0x18 | 24 | 0x9811 0018 | ERR_INVALIDAMSPORT | Ungültiger AMS-Port.
0x19 | 25 | 0x9811 0019 | ERR_NOMEMORY | Kein Speicher.
0x1A | 26 | 0x9811 001A | ERR_TCPSEND | TCP Sendefehler.
0x1B | 27 | 0x9811 001B | ERR_HOSTUNREACHABLE | Host nicht erreichbar.
0x1C | 28 | 0x9811 001C | ERR_INVALIDAMSFRAGMENT | Ungültiges AMS Fragment.
0x1D | 29 | 0x9811 001D | ERR_TLSSEND | TLS Sendefehler – Secure ADS Verbindung fehlgeschlagen.
0x1E | 30 | 0x9811 001E | ERR_ACCESSDENIED | Zugriff Verweigert – Secure ADS Zugriff verweigert.
Router Fehlercodes
Hex | Dec | HRESULT | Name | Beschreibung
0x500 | 1280 | 0x9811 0500 | ROUTERERR_NOLOCKEDMEMORY | Lockierter Speicher kann nicht zugewiesen werden.
0x501 | 1281 | 0x9811 0501 | ROUTERERR_RESIZEMEMORY | Die Größe des Routerspeichers konnte nicht geändert werden.
0x502 | 1282 | 0x9811 0502 | ROUTERERR_MAILBOXFULL | Das Postfach hat die maximale Anzahl der möglichen Meldungen erreicht.
0x503 | 1283 | 0x9811 0503 | ROUTERERR_DEBUGBOXFULL | Das Debug Postfach hat die maximale Anzahl der möglichen Meldungen erreicht.
0x504 | 1284 | 0x9811 0504 | ROUTERERR_UNKNOWNPORTTYPE | Der Porttyp ist unbekannt.
0x505 | 1285 | 0x9811 0505 | ROUTERERR_NOTINITIALIZED | Router ist nicht initialisiert.
0x506 | 1286 | 0x9811 0506 | ROUTERERR_PORTALREADYINUSE | Die Portnummer ist bereits vergeben.
0x507 | 1287 | 0x9811 0507 | ROUTERERR_NOTREGISTERED | Der Port ist nicht registriert.
0x508 | 1288 | 0x9811 0508 | ROUTERERR_NOMOREQUEUES | Die maximale Portanzahl ist erreicht.
0x509 | 1289 | 0x9811 0509 | ROUTERERR_INVALIDPORT | Der Port ist ungültig.
0x50A | 1290 | 0x9811 050A | ROUTERERR_NOTACTIVATED | Der Router ist nicht aktiv.
0x50B | 1291 | 0x9811 050B | ROUTERERR_FRAGMENTBOXFULL | Das Postfach hat die maximale Anzahl für fragmentierte Nachrichten erreicht.
0x50C | 1292 | 0x9811 050C | ROUTERERR_FRAGMENTTIMEOUT | Fragment Timeout aufgetreten.
0x50D | 1293 | 0x9811 050D | ROUTERERR_TOBEREMOVED | Port wird entfernt.
Allgemeine ADS Fehlercodes
Hex | Dec | HRESULT | Name | Beschreibung
0x700 | 1792 | 0x9811 0700 | ADSERR_DEVICE_ERROR | Allgemeiner Gerätefehler.
0x701 | 1793 | 0x9811 0701 | ADSERR_DEVICE_SRVNOTSUPP | Service wird vom Server nicht unterstützt.
0x702 | 1794 | 0x9811 0702 | ADSERR_DEVICE_INVALIDGRP | Ungültige Index-Gruppe.
0x703 | 1795 | 0x9811 0703 | ADSERR_DEVICE_INVALIDOFFSET | Ungültiger Index-Offset.
0x704 | 1796 | 0x9811 0704 | ADSERR_DEVICE_INVALIDACCESS | Lesen oder Schreiben nicht gestattet.
0x705 | 1797 | 0x9811 0705 | ADSERR_DEVICE_INVALIDSIZE | Parametergröße nicht korrekt.
0x706 | 1798 | 0x9811 0706 | ADSERR_DEVICE_INVALIDDATA | Ungültige Daten-Werte.
0x707 | 1799 | 0x9811 0707 | ADSERR_DEVICE_NOTREADY | Gerät nicht betriebsbereit.
0x708 | 1800 | 0x9811 0708 | ADSERR_DEVICE_BUSY | Gerät beschäftigt.
0x709 | 1801 | 0x9811 0709 | ADSERR_DEVICE_INVALIDCONTEXT | Ungültiger Kontext vom Betriebssystem - Kann durch Verwendung von ADS Bausteinen in unterschiedlichen Tasks auftreten. Abhilfe kann die Multitasking-Syncronisation in der SPS geben.
0x70A | 1802 | 0x9811 070A | ADSERR_DEVICE_NOMEMORY | Nicht genügend Speicher.
0x70B | 1803 | 0x9811 070B | ADSERR_DEVICE_INVALIDPARM | Ungültige Parameter-Werte.
0x70C | 1804 | 0x9811 070C | ADSERR_DEVICE_NOTFOUND | Nicht gefunden (Dateien,...).
0x70D | 1805 | 0x9811 070D | ADSERR_DEVICE_SYNTAX | Syntax-Fehler in Datei oder Befehl.
0x70E | 1806 | 0x9811 070E | ADSERR_DEVICE_INCOMPATIBLE | Objekte stimmen nicht überein.
0x70F | 1807 | 0x9811 070F | ADSERR_DEVICE_EXISTS | Objekt ist bereits vorhanden.
0x710 | 1808 | 0x9811 0710 | ADSERR_DEVICE_SYMBOLNOTFOUND | Symbol nicht gefunden.
0x711 | 1809 | 0x9811 0711 | ADSERR_DEVICE_SYMBOLVERSIONINVALID | Symbol-Version ungültig – Kann durch einen Online-Change auftreten. Erzeuge einen neuen Handle.
0x712 | 1810 | 0x9811 0712 | ADSERR_DEVICE_INVALIDSTATE | Gerät (Server) ist im ungültigen Zustand.
0x713 | 1811 | 0x9811 0713 | ADSERR_DEVICE_TRANSMODENOTSUPP | AdsTransMode nicht unterstützt.
0x714 | 1812 | 0x9811 0714 | ADSERR_DEVICE_NOTIFYHNDINVALID | Notification Handle ist ungültig.
0x715 | 1813 | 0x9811 0715 | ADSERR_DEVICE_CLIENTUNKNOWN | Notification-Client nicht registriert.
0x716 | 1814 | 0x9811 0716 | ADSERR_DEVICE_NOMOREHDLS | Keine weiteren Notification Handles verfügbar.
0x717 | 1815 | 0x9811 0717 | ADSERR_DEVICE_INVALIDWATCHSIZE | Größe der Notification zu groß.
0x718 | 1816 | 0x9811 0718 | ADSERR_DEVICE_NOTINIT | Gerät nicht initialisiert.
0x719 | 1817 | 0x9811 0719 | ADSERR_DEVICE_TIMEOUT | Gerät hat einen Timeout.
0x71A | 1818 | 0x9811 071A | ADSERR_DEVICE_NOINTERFACE | Interface Abfrage fehlgeschlagen.
0x71B | 1819 | 0x9811 071B | ADSERR_DEVICE_INVALIDINTERFACE | Falsches Interface angefordert.
0x71C | 1820 | 0x9811 071C | ADSERR_DEVICE_INVALIDCLSID | Class-ID ist ungültig.
0x71D | 1821 | 0x9811 071D | ADSERR_DEVICE_INVALIDOBJID | Object-ID ist ungültig.
0x71E | 1822 | 0x9811 071E | ADSERR_DEVICE_PENDING | Anforderung steht aus.
0x71F | 1823 | 0x9811 071F | ADSERR_DEVICE_ABORTED | Anforderung wird abgebrochen.
0x720 | 1824 | 0x9811 0720 | ADSERR_DEVICE_WARNING | Signal-Warnung.
0x721 | 1825 | 0x9811 0721 | ADSERR_DEVICE_INVALIDARRAYIDX | Ungültiger Array-Index.
0x722 | 1826 | 0x9811 0722 | ADSERR_DEVICE_SYMBOLNOTACTIVE | Symbol nicht aktiv.
0x723 | 1827 | 0x9811 0723 | ADSERR_DEVICE_ACCESSDENIED | Zugriff verweigert.
0x724 | 1828 | 0x9811 0724 | ADSERR_DEVICE_LICENSENOTFOUND | Fehlende Lizenz.
0x725 | 1829 | 0x9811 0725 | ADSERR_DEVICE_LICENSEEXPIRED | Lizenz abgelaufen.
0x726 | 1830 | 0x9811 0726 | ADSERR_DEVICE_LICENSEEXCEEDED | Lizenz überschritten.
0x727 | 1831 | 0x9811 0727 | ADSERR_DEVICE_LICENSEINVALID | Lizenz ungültig.
0x728 | 1832 | 0x9811 0728 | ADSERR_DEVICE_LICENSESYSTEMID | Lizenzproblem: System-ID ist ungültig.
0x729 | 1833 | 0x9811 0729 | ADSERR_DEVICE_LICENSENOTIMELIMIT | Lizenz nicht zeitlich begrenzt.
0x72A | 1834 | 0x9811 072A | ADSERR_DEVICE_LICENSEFUTUREISSUE | Lizenzproblem: Zeitpunkt in der Zukunft.
0x72B | 1835 | 0x9811 072B | ADSERR_DEVICE_LICENSETIMETOLONG | Lizenz-Zeitraum zu lang.
0x72C | 1836 | 0x9811 072C | ADSERR_DEVICE_EXCEPTION | Exception beim Systemstart.
0x72D | 1837 | 0x9811 072D | ADSERR_DEVICE_LICENSEDUPLICATED | Lizenz-Datei zweimal gelesen.
0x72E | 1838 | 0x9811 072E | ADSERR_DEVICE_SIGNATUREINVALID | Ungültige Signatur.
0x72F | 1839 | 0x9811 072F | ADSERR_DEVICE_CERTIFICATEINVALID | Zertifikat ungültig.
0x730 | 1840 | 0x9811 0730 | ADSERR_DEVICE_LICENSEOEMNOTFOUND | Public Key vom OEM nicht bekannt.
0x731 | 1841 | 0x9811 0731 | ADSERR_DEVICE_LICENSERESTRICTED | Lizenz nicht gültig für diese System.ID.
0x732 | 1842 | 0x9811 0732 | ADSERR_DEVICE_LICENSEDEMODENIED | Demo-Lizenz untersagt.
0x733 | 1843 | 0x9811 0733 | ADSERR_DEVICE_INVALIDFNCID | Funktions-ID ungültig.
0x734 | 1844 | 0x9811 0734 | ADSERR_DEVICE_OUTOFRANGE | Außerhalb des gültigen Bereiches.
0x735 | 1845 | 0x9811 0735 | ADSERR_DEVICE_INVALIDALIGNMENT | Ungültiges Alignment.
0x736 | 1846 | 0x9811 0736 | ADSERR_DEVICE_LICENSEPLATFORM | Ungültiger Plattform Level.
0x737 | 1847 | 0x9811 0737 | ADSERR_DEVICE_FORWARD_PL | Kontext – Weiterleitung zum Passiv-Level.
0x738 | 1848 | 0x9811 0738 | ADSERR_DEVICE_FORWARD_DL | Kontext – Weiterleitung zum Dispatch-Level.
0x739 | 1849 | 0x9811 0739 | ADSERR_DEVICE_FORWARD_RT | Kontext – Weiterleitung zur Echtzeit.
0x740 | 1856 | 0x9811 0740 | ADSERR_CLIENT_ERROR | Clientfehler.
0x741 | 1857 | 0x9811 0741 | ADSERR_CLIENT_INVALIDPARM | Dienst enthält einen ungültigen Parameter.
0x742 | 1858 | 0x9811 0742 | ADSERR_CLIENT_LISTEMPTY | Polling-Liste ist leer.
0x743 | 1859 | 0x9811 0743 | ADSERR_CLIENT_VARUSED | Var-Verbindung bereits im Einsatz.
0x744 | 1860 | 0x9811 0744 | ADSERR_CLIENT_DUPLINVOKEID | Die aufgerufene ID ist bereits in Benutzung.
0x745 | 1861 | 0x9811 0745 | ADSERR_CLIENT_SYNCTIMEOUT | Timeout ist aufgetreten – Die Gegenstelle antwortet nicht im vorgegebenen ADS Timeout. Die Routeneinstellung der Gegenstelle kann falsch konfiguriert sein.
0x746 | 1862 | 0x9811 0746 | ADSERR_CLIENT_W32ERROR | Fehler im Win32 Subsystem.
0x747 | 1863 | 0x9811 0747 | ADSERR_CLIENT_TIMEOUTINVALID | Ungültiger Client Timeout-Wert.
0x748 | 1864 | 0x9811 0748 | ADSERR_CLIENT_PORTNOTOPEN | Port nicht geöffnet.
0x749 | 1865 | 0x9811 0749 | ADSERR_CLIENT_NOAMSADDR | Keine AMS Adresse.
0x750 | 1872 | 0x9811 0750 | ADSERR_CLIENT_SYNCINTERNAL | Interner Fehler in Ads-Sync.
0x751 | 1873 | 0x9811 0751 | ADSERR_CLIENT_ADDHASH | Überlauf der Hash-Tabelle.
0x752 | 1874 | 0x9811 0752 | ADSERR_CLIENT_REMOVEHASH | Schlüssel in der Tabelle nicht gefunden.
0x753 | 1875 | 0x9811 0753 | ADSERR_CLIENT_NOMORESYM | Keine Symbole im Cache.
0x754 | 1876 | 0x9811 0754 | ADSERR_CLIENT_SYNCRESINVALID | Ungültige Antwort erhalten.
0x755 | 1877 | 0x9811 0755 | ADSERR_CLIENT_SYNCPORTLOCKED | Sync Port ist verriegelt.
RTime Fehlercodes
Hex | Dec | HRESULT | Name | Beschreibung
0x1000 | 4096 | 0x9811 1000 | RTERR_INTERNAL | Interner Fehler im Echtzeit-System.
0x1001 | 4097 | 0x9811 1001 | RTERR_BADTIMERPERIODS | Timer-Wert nicht gültig.
0x1002 | 4098 | 0x9811 1002 | RTERR_INVALIDTASKPTR | Task-Pointer hat den ungültigen Wert 0 (null).
0x1003 | 4099 | 0x9811 1003 | RTERR_INVALIDSTACKPTR | Stack-Pointer hat den ungültigen Wert 0 (null).
0x1004 | 4100 | 0x9811 1004 | RTERR_PRIOEXISTS | Die Request Task Priority ist bereits vergeben.
0x1005 | 4101 | 0x9811 1005 | RTERR_NOMORETCB | Kein freier TCB (Task Control Block) verfügbar. Maximale Anzahl von TCBs beträgt 64.
0x1006 | 4102 | 0x9811 1006 | RTERR_NOMORESEMAS | Keine freien Semaphoren zur Verfügung. Maximale Anzahl der Semaphoren beträgt 64.
0x1007 | 4103 | 0x9811 1007 | RTERR_NOMOREQUEUES | Kein freier Platz in der Warteschlange zur Verfügung. Maximale Anzahl der Plätze in der Warteschlange beträgt 64.
0x100D | 4109 | 0x9811 100D | RTERR_EXTIRQALREADYDEF | Ein externer Synchronisations-Interrupt wird bereits angewandt.
0x100E | 4110 | 0x9811 100E | RTERR_EXTIRQNOTDEF | Kein externer Sync-Interrupt angewandt.
0x100F | 4111 | 0x9811 100F | RTERR_EXTIRQINSTALLFAILED | Anwendung des externen Synchronisierungs-Interrupts ist fehlgeschlagen.
0x1010 | 4112 | 0x9811 1010 | RTERR_IRQLNOTLESSOREQUAL | Aufruf einer Service-Funktion im falschen Kontext
0x1017 | 4119 | 0x9811 1017 | RTERR_VMXNOTSUPPORTED | Intel VT-x Erweiterung wird nicht unterstützt.
0x1018 | 4120 | 0x9811 1018 | RTERR_VMXDISABLED | Intel VT-x Erweiterung ist nicht aktiviert im BIOS.
0x1019 | 4121 | 0x9811 1019 | RTERR_VMXCONTROLSMISSING | Fehlende Funktion in Intel VT-x Erweiterung.
0x101A | 4122 | 0x9811 101A | RTERR_VMXENABLEFAILS | Aktivieren von Intel VT-x schlägt fehl.
TCP Winsock-Fehlercodes
Hex | Dec | Name | Beschreibung
0x274C | 10060 | WSAETIMEDOUT | Verbindungs Timeout aufgetreten - Fehler beim Herstellen der Verbindung, da die Gegenstelle nach einer bestimmten Zeitspanne nicht ordnungsgemäß reagiert hat, oder die hergestellte Verbindung konnte nicht aufrecht erhalten werden, da der verbundene Host nicht reagiert hat.
0x274D | 10061 | WSAECONNREFUSED | Verbindung abgelehnt - Es konnte keine Verbindung hergestellt werden, da der Zielcomputer dies explizit abgelehnt hat. Dieser Fehler resultiert normalerweise aus dem Versuch, eine Verbindung mit einem Dienst herzustellen, der auf dem fremden Host inaktiv ist—das heißt, einem Dienst, für den keine Serveranwendung ausgeführt wird.
0x2751 | 10065 | WSAEHOSTUNREACH | Keine Route zum Host - Ein Socketvorgang bezog sich auf einen nicht verfügbaren Host.
Weitere Winsock-Fehlercodes: Win32-Fehlercodes


Support und Service

Anhang [image] Support und Service
Support und Service
Beckhoff und seine weltweiten Partnerfirmen bieten einen umfassenden Support und Service, der eine schnelle und kompetente Unterstützung bei allen Fragen zu Beckhoff Produkten und Systemlösungen zur Verfügung stellt.
Beckhoff Support
Der Support bietet Ihnen einen umfangreichen technischen Support, der Sie nicht nur bei dem Einsatz einzelner Beckhoff Produkte, sondern auch bei weiteren umfassenden Dienstleistungen unterstützt:
▪
Support
▪
Planung, Programmierung und Inbetriebnahme komplexer Automatisierungssysteme
▪
umfangreiches Schulungsprogramm für Beckhoff Systemkomponenten
Hotline: | +49(0)5246/963-157
Fax: | +49(0)5246/963-9157
E-Mail: | support@beckhoff.com
Beckhoff Service
Das Beckhoff Service-Center unterstützt Sie rund um den After-Sales-Service:
▪
Vor-Ort-Service
▪
Reparaturservice
▪
Ersatzteilservice
▪
Hotline-Service
Hotline: | +49(0)5246/963-460
Fax: | +49(0)5246/963-479
E-Mail: | service@beckhoff.com
Weitere Support- und Serviceadressen finden Sie auf unseren Internetseiten unter http://www.beckhoff.de.
Beckhoff Firmenzentrale
Beckhoff Automation GmbH & Co. KG
Hülshorstweg 20
33415 Verl
Deutschland
Telefon: | +49(0)5246/963-0
Fax: | +49(0)5246/963-198
E-Mail: | info@beckhoff.com
Die Adressen der weltweiten Beckhoff Niederlassungen und Vertretungen entnehmen Sie bitte unseren Internetseiten:
http://www.beckhoff.de
Dort finden Sie auch weitere Dokumentationen zu Beckhoff Komponenten.


Third Party Beispiele

Third Party Beispiele
Third Party Beispiele
Weiterführende Informationen
•
Beispiel OPC UA Client von Inosoft (Third Party)


Beispiel OPC UA Client von Inosoft (Third Party)

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