OPC UA Server
Die Standardinstallation von CODESYS beinhaltet einen OPC UA Server. Sie können Ihrem Projekt den OPC UA Server hinzufügen, in dem Sie der Applikation zunächst ein Objekt Kommunikationsverwalter hinzufügen und darunter dann das Objekt OPC UA Server
Mit Objekt OPC UA Server können Sie über einen Client auf die Variablenschnittstelle der Steuerung zugreifen. Der OPC UA Server kommuniziert mit angeschlossenen OPC UA Clients über eine separate TCP-Verbindung. Deshalb müssen diese Verbindungen noch einmal gesondert auf ihre Sicherheit hin überprüft werden.
Der OPC UA Server kann nun durch die Verwendung einer verschlüsselten Kommunikation zum Client und durch eine OPC UA-Benutzerverwaltung abgesichert werden. Die möglichen Einstellungen hierzu finden Sie in den nachfolgenden Abschnitten:
Wichtig
Ab Laufzeitsystemversion 3.5 SP17 muss für den Zugriff auf die CODESYS-Laufzeitsysteme standardmäßig eine Gerätebenutzerverwaltung eingerichtet werden. Für den OPC UA Server besteht jedoch die Möglichkeit, weiterhin anonyme Zugänge zu ermöglichen, wenn dies explizit erlaubt wird. Diese Erlaubnis wird erteilt im Dialog Kommunikationsrichtlinie ändern in der Registerkarte Kommunikation des Geräteeditors.
Browsen der Datentypen und Variablen
Standard-Lese- und Schreibdienste
Benachrichtigung für Wertänderungen: Subscription- und Monitored-Item-Dienste
Verschlüsselte Kommunikation nach „OPC UA Standard (Profil: Basic256SHA256)“
Abbildung der IEC-Applikation nach „OPC UA Information Model for IEC 61131-3“
Unterstütztes Profil: „Micro Embedded Device Server Profile“
Anzahl an Sessions
Monitored-Items und Subscriptions standardmäßig sind nicht begrenzt. Die Anzahl ist abhängig von der Performance der jeweiligen Plattform.
Versenden von Events nach OPC UA Standard
Kommunikation mit einer Datenquelle OPC UA Client
Für weitere Informationen siehe: Verbindung einer Datenquelle OPC UA Client zu einem OPC UA Server herstellen
Tipp
In diesem Kapitel wird mehrfach der OPC UA Client UAExpert genannt. UAExpert ist ein Produkt des Anbieters „Unified Automation“.
Für weitere Informationen siehe: Unified Automation
Wenn Sie mit dem Kommunikationsverwalter eine IEC-Symbolgruppenkonfiguration erstellen, erfolgt der OPC UA-Zugriff automatisch.
Ein Projekt für den OPC UA-Zugriff erstellen
Legen Sie ein neues Projekt mit einer Steuerung CODESYS Control Win an.
Deklarieren Sie im Programm
PLC_PRG
einige Variablen unterschiedlichen Typs.Fügen Sie ein Objekt Kommunikationsverwalter unterhalb der Applikation ein.
Wenn Sie IEC-Variablen der Applikation über den OPC UA Server mit anderen OPC UA Clients austauschen möchten, fügen Sie unterhalb des Objekts Kommunikationsverwalter ein Objekt OPC UA Server hinzu.
Die weiteren Schritte hierzu finden Sie unter IEC-Symbolgruppenkonfiguration.
Wenn Sie Daten eines OPC UA-Informationsmodells veröffentlichen möchten, fügen Sie unterhalb des Objekts Kommnikationsverwalter ein Objekt OPC UA-Informationsmodell hinzu.
Die weiteren Schritt hierzu finden Sie unter OPC UA-Informationsmodelle verwenden
Konfiguration und Inbetriebnahme des OPC UA Servers
Der OPC UA Server kann an die Anforderungen unterschiedlicher Umgebungen angepasst werden. Zu diesem Zweck stehen eine Reihe von verschiedenen Security-Einstellungen bereit. Eine Änderung dieser Einstellungen erfordert einen Neustart der SPS. Die Einstellung dieser Werte kann über den Gerätesicherheitseinstellungen (OPC UA Server) der SPS erfolgen.
Für weitere Informationen siehe: Sicheren OPC UA Server verwenden
Konfiguration der OPC UA Zertifikate
Um Daten verschlüsselt und sicher mit dem Client auszutauschen, benötigt der Server ein Zertifikat, das beim ersten Verbindungsaufbau vom Client als „vertrauenswürdig“ eingestuft werden muss.
Voraussetzung: Der aktive Pfad zur Steuerung ist gesetzt.
Installieren Sie das Add-on CODESYS Security Agent.
Wählen Sie den Befehl
.Wechseln Sie die zur Registerkarte Geräte.
Selektieren Sie in der linken Ansicht die Steuerung.
In der rechten Ansicht werden alle Dienste der Steuerung, die ein Zertifikat erfordern, angezeigt.
Selektieren Sie den Dienst OPC UA Server.
Erzeugen Sie ein neues Zertifikat für das Gerät. Klicken Sie dazu auf das Icon
.
Es öffnet sich der Dialog Zertifikatseinstellungen.
Definieren Sie die Parameter des Zertifikats und schließen Sie den Dialog mit OK.
Das Zertifikat wird auf der Steuerung erzeugt.
Führen Sie einen Neustart des Laufzeitsystems durch.
Wenn OPC UA-Client-Zertifikate über eine vertrauenswürdige Zertifizierungsstelle (CA = Certificate Authority
) erzeugt werden, muss diese CA als eine vertrauenswürdige CA im OPC UA-Server konfiguriert sein. Um dies zu erreichen, muss die CA unter "Vertrauenswürdige Zertifikate" installiert werden.
Um Zertifikatssperrlisten (CRL
: Certificate Revocation List
) der CAs zu installieren, sind folgende Schritte notwendig:
Übertragung der
CRL
s per Filetransfer in dascert/import
-VerzeichnisAusführung des SPS-Shell Kommandos
cert-importcrl
Falls die Client-Zertifikate nicht direkt von der vertrauenswürdigen CA unterschrieben sind, sondern eine längere Kette haben, müssen die Zertifikate der Zwischen-CAs gesondert installiert werden. Sie müssen per Dateiübertragung in das Verzeichnis OPCUAServer/Intermediate
gebracht werden. Nach der Übertragung werden diese Zertifikate automatisch durch den OPC UA-Server verwendet.
Anmerkung
Um auch für das reine Browsen auf dem OPC UA-Server einen verschlüsselten Zugang einzurichten, kann im Dialog Kommunikation des Datenquellenverwalters ein Zertifikat erstellt werden, das nur für diesen Zweck dient.
Spezifikationskonforme Konfiguration des OPC UA Servers
Um den OPC UA Server anhand der OPC UA Spezifikation zu betreiben sind folgende Einstellungen zwingend notwendig:
Der Ort City muss für das Zertifikat konfiguriert werden.
Ein OPC UA Server Zertifikat muss erzeugt werden
Die CRL Prüfungen EnableCRLChecks müssen aktiviert sein.
Der CommunicationMode muss auf
MIN_SIGNED
oder aufSIGNED_AND_ENCRYPTED
stehen.
Verschlüsselte Verbindung mit dem Client "UaExpert" einrichten
Der OPC UA Client "UaExpert“ ist eine frei verfügbare Software, die Sie aus dem Internet herunterladen können. Mit diesem Client können Sie sich mit dem CODESYS OPC UA Server verbinden. Die nachfolgende Beschreibung bezieht sich auf dieses Programm. Andere OPC UA Clients funktionieren ähnlich.
Starten Sie das Programm UaExpert.
Wählen Sie den Befehl
.Es öffnet sich der Dialog Add Server.
Expandieren Sie in der Baumansicht
.Wählen Sie die Verbindungsart Basic256Sha256 - Sign & Encrypt (uatcp-uasc-uabinary) und schließen Sie den Dialog mit OK.
Wählen Sie den Befehl
.Der Dialog Certificate Validation öffnet sich mit einer Fehlermeldung.
Aktivieren Sie die Option Accept the server certificate temporarily for this session und klicken Sie auf Continue.
Klicken Sie in CODESYS auf das Symbol
.
Die Ansicht wird aktualisiert.
Selektieren Sie den Zertifikatsordner Quarantined Certificates.
In der rechten Ansicht wird das Client-Zertifikat UaExpert@ angezeigt.
Ziehen Sie das Zertifikat mit der Maus in den Zertifikatsordner Trusted Certificates.
Das Clientzertifikat ist nun vom Server als „vertrauenswürdig“ beurteilt worden.
Wählen Sie im Client UaExpert den Befehl
.Der Dialog Certificate Validation öffnet sich mit einer Fehlermeldung.
Aktivieren Sie die Option Accept the server certificate temporarily for this session und klicken Sie auf Continue.
Die Verbindung ist aufgebaut, in der Ansicht Address Space werden Objekte angezeigt.
Benutzerverwaltung unter OPC UA
Der CODESYS OPC UA Server unterstützt die CODESYS Benutzerverwaltung. Die Zugriffsrechte auf den Server stellen Sie über die Registerkarte: Zugriffsrechte der Steuerung ein. Wählen Sie dazu das Objekt Laufzeitsystemobjekte - RemoteConnections - OPCUAServer.
Wenn trotz aktiver Benutzerverwaltung ein anonymer Zugang zum OPC UA Server erlaubt ist, dann können Sie auch für diesen Zugang die Zugriffsrechte konfigurieren: Vergeben Sie für die implizit vorhandene Gruppe "Anonymous_OPCUAServer“ entsprechende Rechte. Die Erlaubnis für den anonymen Zugang zum OPC UA Server wird im Dialog Kommunikationsrichtlinie ändern erteilt. Eine Beschreibung dieses Dialog finden Sie auf der Hilfeseite Registerkarte Kommunikation.
Zugriffsrechte können nicht nur auf Dienstebene, sondern auch auf Objektebene geprüft werden. Dadurch kann eine Variable durch einen Benutzer möglicherweise nicht geschrieben werden, obwohl dieser Benutzer grundsätzlich auf den OPC UA Server schreiben darf.
OPC UA-Service | Zugriffsrecht |
---|---|
AttributeRead | Ansehen |
AttributeWrite | Ändern |
Call | Ausführen |
CreateMonitoredItem | Ansehen |
ModifyMonitoredItem | Ansehen |
SetMonitoringMode | Ansehen |
DeleteMonitoredItem | Ansehen |
CloseSession | Ansehen |
CreateSubscription | Ansehen |
ModifySubscription | Ansehen |
SetPublishingMode | Ansehen |
DeleteSubscriptions | Ansehen |
Publish | Ansehen |
Republish | Ansehen |
Browse | Ansehen |
BrowseNext | Ansehen |
TranslateBrowsePathsToNodeIds | Ansehen |
RegisterNodes | Ansehen |
UnregisterNodes | Ansehen |
Für weitere Informationen siehe: Gerätebenutzerverwaltung handhaben
Variablen mit dem OPC UA Client ändern
Expandieren Sie im Client UaExpert in der Ansicht Address Space das Objekt .
Die Variablen der globalen Variablenliste werden sichtbar.
Selektieren Sie die Variablen und ziehen Sie sie mit der Maus in die Ansicht Data Access View.
Die Variablen und ihre aktuellen Werte werden angezeigt.
Ändern Sie die Variablenwerte durch einen Doppeklick auf das Feld Value.
Events oder Alarme im CODESYS-Projekt verwenden
Der CODESYS OPC UA Server bietet die Möglichkeit, Standard-OPC UA-Events zu versenden und Alarme in einer vereinfachten Form abzubilden.
Achtung
Ab CODESYS Communication Version 4.6.0.0 und CODESYS Development System Version 3.5.21.0 entspricht die Bestätigungsmethode ACK_REP
dem OPC UA Standard.
Alle anderen Bestätigungsmethoden entsprechen nicht den Anforderungen aus der OPC UA Spezifikation. In diesen Fällen sind insbesondere die Zustandsautomaten unterschiedlich und es können keine Kommentare vergeben werden. Die Abbildung dieser Alarme dient dazu, dass eine grundlegende Interaktion zwischen einem OPC UA Client und der Alarmverwaltung möglich ist.
Legen Sie ein neues Projekt mit einer Steuerung CODESYS Control Win an.
Fügen Sie ein Objekt Alarmkonfiguration unterhalb der Applikation ein.
Fügen Sie im Bibliotheksverwalter die Bibliothek
CmpOPCUAProviderAlarmConfiguration
ein.Ab CODESYS Development System Version 3.5.21.0 muss anstelle der Bibliothek
CmpOPCUAProviderAlarmConfiguration
die BibliothekCompatibleAlarmManagerToOpcUaConnector
eingebunden sein.Wenn die Bibliothek eingebunden ist, verbindet sie sich automatisch als Client mit der Alarmkonfiguration und sendet die Events zum OPC UA-Server.
Fügen Sie ein Objekt Symbolkonfiguration unterhalb der Applikation ein.
Fügen Sie ein Objekt Visualisierung unterhalb der Applikation ein.
Übertragen Sie das Projekt auf die Steuerung und starten Sie sie.
Alarme werden ganz normal verwendet und erzeugt. Hier sind keine besonderen Schritte notwendig.
Wenn Sie Events erzeugen wollen, sind zusätzlich nachfolgende Schritte notwendig
Fügen Sie ein Objekt Alarmklasse unterhalb der Alarmkonfiguration ein. Benennen Sie es beispielsweise mit
Event
.Die neue Alarmklasse öffnet im Editor.
Wählen Sie die Quittierungsmethode REP.
Fügen Sie ein Objekt Alarmgruppe unterhalb der Alarmkonfiguration ein. Benennen Sie es beispielsweise mit
ApplicationEvent
.Die neue Alarmgruppe öffnet im Editor.
- . Ändern Sie folgende Parameter:
Überwachungstyp: Ereignis
Klasse: Event
Nachricht: „Message 1“
Fügen Sie in Programm, beispielsweise in der POU
PLC_PRG
, einen Programmaufruf zum Auslösen des Ereignisalarms ein.AlarmManager.AlarmGlobals.g_AlarmHandler.RaiseEvent(Alm_AlarmConfiguration_Alarmgroup_IDs.ID_ApplicationEvent, Alm_ApplicationEvent_Alarm_IDs.ID_0);
Für Informationen zur Alarmverwaltung und Alarmvisualisierung siehe: Alarmverwaltung und Alarmvisualisierung
Events mit dem OPC UA Client "UaExpert" beobachten
Starten Sie das Programm
UaExpert
.Wählen Sie den Befehl
.Der Dialog Add Server öffnet sich.
Expandieren Sie in der Baumansicht
.Wählen Sie die Verbindungsart None und schließen Sie den Dialog mit OK.
Wählen Sie den Befehl
.In der Ansicht Address Space wird ein Objektbaum angezeigt.
Wählen Sie den Befehl
.Der Dialog Add Document öffnet sich.
Wählen Sie den „Document Type“ Event View.
Die Registerkarte Event-View öffnet sich.
Expandieren Sie in der Ansicht Address Space das Objekt .
Selektieren Sie im Address Space das Objekt "CODESYS Control Win V3" und ziehen Sie es mit der Maus in die Ansicht Event-View.
Die Events werden angezeigt.