Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched.
Close
ich beschäftige mich gerade mit der CODESYS Control for Raspberry Pi SL Runtime. Und zwar untersuche ich den Implementierungsgrad von Codesys, bezogen auf die OPC UA Spezifikationen. Dazu verwende ich den Test-Client "UA Expert", der alle Spezifikationen der Foundation unterstützt.
Die Runtime liefert einen OPC UA Server, der über die Symbolkonfiguration aktiviert werden kann. Dort kann ich dann auch die Nodes bzw. Variable auswählen die mein OPC UA Server darstellen soll. Das bedeutet die OPC UA Spezifikation "Data Access" wird unterstützt.
Nun zum eigentlichen Thema, laut Codesys Website und der OPC Foundation unterstützt Codesys
folgende Spezifikationen:
Alarms and Events Interface Version 1.10
Unterstützung von hierarchischem Browsen der Variablen
1.)Wie kann ich in meinem Projekt die Spezifikation "Alarms and Events" testen bzw. implementieren? Ich möchte über den UA Expert dann Alarme bzw. Events registrieren können , und somit die Funktion beweisen.
2.)Des Weiteren können ab V3 Zertifikate genutzt werden. Ich würde gerne die Kommunikation zwischen Server und Client per Zertifikat absichern und die Daten verschlüsselt übertragen (was laut dem Security Screen ->"verschlüsselte Kommunikation erzwingen") auch möglich sein sollte. Leider kommt beim übertragen des Projekts: "Verschlüsselte Kommunikation wird nicht unterstützt". Wird die Funktion des OPC UA Servers überhaupt unterstützt?
Da es sich bei dieser Untersuchung um ein wichtiges Projekt meines Studiums handelt, wäre ich über hilfreiche Antworten sehr dankbar.
Grüße
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hast Du hier noch etwas in Erfahrung bringen können? Ich versuche gerade mittels OPC UA Client aus dem National Instruments OPC UA Toolkit auf einen Codesys 3.5 SP11 OPC UA Server zuzugreifen (Raspi und auch Wago PFC200). Aber ich bekomme keine Verbindung hin und vermute es liegt an nicht vorhandenen/ungültigen Zertifikaten. Nun gibt es bei Codesys einige Hinweise auf eine hinsichtlich Zertifikatverwendung verbesserte Version ab Codesys 3.5 SP10 - wir sind nun bei SP11 und es hat sich nichts getan, oder?
Gruß
Sascha
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
es ist so das die Linux SL runtimes aktuell noch keine verschlüsselte OPUCA Kommunikation implemententiert haben (3.5SP12 release Dezember).
Control Win hat es, damit könntest du es verwenden.
Es wird ein zusätzliches PlugIn geben für CODESYS (wird im Store erscheinen) mit dem man das Zetifikatshandling sehr komfortable machen kann.
Funktionieren tut es dann so:
Was muss man tun um mit OPCUA verschlüsselt zu Kommunizieren?
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.
1. Installieren von Add-On CODESYS Security Agent
2. Wählen Sie den Befehl „Ansicht è Security-Screen“
3. 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 „CmpOPCUAServer“
5. Erzeugen Sie ein neues Zertifikat für das Gerät. Dazu klicken
Sie auf das Icon
Es öffnet sich der Dialog „Zertifikatseinstellungen“
6. Definieren Sie die Parameter des Zertifikats und schließen
Sie den Dialog mit „Ok“
- Das Zertifikat wird auf der Steuerung erzeugt
7.FührenSieeinenNeustartdesLaufzeitsystemsdurch
Erstellen einer verschlüsselten Verbindung mit dem Client UaExpert
Der OPC-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 AO-Clients funktionieren ähnlich.
1. Starten Sie das Programm UaExpert
2. Wählen Sie den Befehl „Server è Add...“
-Es öffnet sich der Dialog „Add Server“
3. Expandieren Sie in der Baumansicht „Local
-PCUAServer@...“
4. Wählen Sie die Verbindungsart „Basic256Sha256 - Sign &
Encrypt (uatcp-uasc-uabinary)“ und schließen Sie den Dialog
mit OK
Wählen Sie den Befehl „Server - Connect“
-Er öffnet sich der Dialog „Certificate Validation“ mit einer
Fehlermeldung
Aktivieren Sie die Option „Accept the server certificate
temporarily for this session“ und klicken Sie auf „Continue
7.Aktualisieren Sie im CODESYS Developement System die
Ansicht (Klick auf )
8. Selektieren Sie den Zertifikatsordner „Quarantined
Certificates“
-Im 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 von Server als "vertrauenswürdig" beurteilt worden.
Wählen Sie im Client UaExpert den Befehl „Server
è Connect“
-Er öffnet sich der Dialog „Certificate Validation“ 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 angezeig
Grüße
Edwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ich verstehe also, das die Security Features erst zum Jahresende kommen. Ungesichert müsste es aber schon heute funktionieren, was mit dem UAExpert (Zertifikat einmal akzeptieren) schon heute klappt.
Leider funktioniert die Kommunikation mit dem von uns teuer eingekauften National Instruments OPC UA Toolkit nicht, welches mit anderen OPC Servern problemlos läuft. Es wird mit der Fehler ausgegeben: "Der OPC-UA-Server konnte mindestens einen Parameter in der Anfrage des OPC-UA-Clients nicht validieren. -356619
NI schiebt das Problem Richtung Codesys. Es ist korrekt, das ich mir für eine einfache OPC UA Verbindung keine Gedanken um Zertifikate machen muss? In UA Expert muss ich ein unbekanntes Zertifikat, welches in der Steuerung heute drin ist, einmalig bestätigen. Im NI Toolkit kann ich das so nicht. Bei reinen Zertifikatsproblemen müsste NI wiederum aber auch eine spezifische Meldung generieren...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Zumindest mit einem SoftIng DataFeed OPC UA Server, den ich testweise aufgesetzt habe, lässt sich die NI OPC UA Toolbox planmäßig verbinden.
Ein analog zum Raspberry aufgesetzter OPC UA Zugang auf ControlWin basis wird mit der selben Fehlermeldung zurückgewiesen. Jetzt muss ich mal schauen, wann ich Zeit finde um den OPC UA Server auf ControlWin abzusichern um das zu validieren.
Da ich aber nun schon 2-3 Server abgesehen von ControlWin ohne Probleme mit NI anwählen/subscriben konnte, vermute ich das Problem eher bei euch als bei NI Codesys. Im Laufe der Woche teste ich auch nochmal die WAGO PFC200 auf Basis eCockpit statt Codesys 3.5 - mal schauen ob es da klappt.
PS: Ist der "Bug" bekannt, dass ich seit SP11 sowohl bei der PFC200 als auch am RPi3 einen Neustart/Reset nach übertragen eines neuen Builds ausführen muss? Die Kiste stürzt einfach ab (nur Profinet Master und OPC UA aktiv). War bei SP10 nicht so.
Bucky
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Wie beschrieben mit Control Win sollte deine Kommunikation zum NI OPCUA Client dann funktionieren
Absturz mit SP11: Nein ist nicht bekannt... bitte ins SPS log schauem für mehr details.. und posten.
cat /tmp/codesyscontrol.log
Über ssh in der console ausführen
Grüsse
Edwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
entschuldige bitte die lange Funkstille trotz deiner ausführlichen Hinweise. Die Projektarbeit setzt oft ihre eigenen Prioritäten.
Noch konnte ich die Situation mit Control Win nicht erproben. Jedoch folgendes:
der Fehler scheint dem NI Support schon mehrmals genannt worden zu sein. Steuerungen auf Codesys Basis scheinen betroffen (Wago PFC (mit eCockpit! und auf Codesys 3.5), Festo PLCs und eben Codesys Control auf dem RPI wurden genannt)
der NI support versucht diesen aktuell im Entwicklungszentrum in den USA nachzustellen
Wir haben uns wie folgt beholfen: Die SoftIng DadaFeed Suite ist "zwischengeschaltet", sprich nimmt den Codesys OPC UA Server auf und stellt diesen unbearbeitet auf einem eigens bereitgestellten OPC UA Server wieder bereit. Aber auch hier treten seltsame Effekte auf, nicht immer ist auf dem geklonten Server der Adress-Space bis in die letzte Ebene zugänglich. Mal komme ich nur bis zu dem Punkt wo mir z.B. ein Array of Integer gezeigt wird, den ich als ganzes Subscriben kann, mal geht es bis zum individuellen Integer. Auch Softing vermutet hier (naturgemäß) den Fehler eher auf Seiten des aufgenommenen OPC UA Servers von der Wago Steuerung. Siehe zum Vergleich die beiden Screenshots:
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Das NI Produkt ist LabView 2017 mit dem zugehörigen OPC UA Toolkit. Beides vollwertig läuffähig als Testversion. In der LabView Hilfe direct im Programm findet man ein Beispielprojekt, in dem ein paar Client/Serverbeispiele zu finden sind. Weiterhin gibt es in der NIZone (google: OPC UA Toolkit Tutorial) ein paar Infos zu verschiedenen implementierungen - darunter auch ein Minimalbaispeil bei dem nichts geschieht als die Verbindung zu Server aufzubauen (was bereits scheitert).
Gruß
Sascha
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Guten Tag,
ich beschäftige mich gerade mit der CODESYS Control for Raspberry Pi SL Runtime. Und zwar untersuche ich den Implementierungsgrad von Codesys, bezogen auf die OPC UA Spezifikationen. Dazu verwende ich den Test-Client "UA Expert", der alle Spezifikationen der Foundation unterstützt.
Die Runtime liefert einen OPC UA Server, der über die Symbolkonfiguration aktiviert werden kann. Dort kann ich dann auch die Nodes bzw. Variable auswählen die mein OPC UA Server darstellen soll. Das bedeutet die OPC UA Spezifikation "Data Access" wird unterstützt.
Nun zum eigentlichen Thema, laut Codesys Website und der OPC Foundation unterstützt Codesys
folgende Spezifikationen:
Alarms and Events Interface Version 1.10
Unterstützung von hierarchischem Browsen der Variablen
1.)Wie kann ich in meinem Projekt die Spezifikation "Alarms and Events" testen bzw. implementieren? Ich möchte über den UA Expert dann Alarme bzw. Events registrieren können , und somit die Funktion beweisen.
2.)Des Weiteren können ab V3 Zertifikate genutzt werden. Ich würde gerne die Kommunikation zwischen Server und Client per Zertifikat absichern und die Daten verschlüsselt übertragen (was laut dem Security Screen ->"verschlüsselte Kommunikation erzwingen") auch möglich sein sollte. Leider kommt beim übertragen des Projekts: "Verschlüsselte Kommunikation wird nicht unterstützt". Wird die Funktion des OPC UA Servers überhaupt unterstützt?
Da es sich bei dieser Untersuchung um ein wichtiges Projekt meines Studiums handelt, wäre ich über hilfreiche Antworten sehr dankbar.
Grüße
Hi,
hast Du hier noch etwas in Erfahrung bringen können? Ich versuche gerade mittels OPC UA Client aus dem National Instruments OPC UA Toolkit auf einen Codesys 3.5 SP11 OPC UA Server zuzugreifen (Raspi und auch Wago PFC200). Aber ich bekomme keine Verbindung hin und vermute es liegt an nicht vorhandenen/ungültigen Zertifikaten. Nun gibt es bei Codesys einige Hinweise auf eine hinsichtlich Zertifikatverwendung verbesserte Version ab Codesys 3.5 SP10 - wir sind nun bei SP11 und es hat sich nichts getan, oder?
Gruß
Sascha
Hi,
es ist so das die Linux SL runtimes aktuell noch keine verschlüsselte OPUCA Kommunikation implemententiert haben (3.5SP12 release Dezember).
Control Win hat es, damit könntest du es verwenden.
Es wird ein zusätzliches PlugIn geben für CODESYS (wird im Store erscheinen) mit dem man das Zetifikatshandling sehr komfortable machen kann.
Funktionieren tut es dann so:
Was muss man tun um mit OPCUA verschlüsselt zu Kommunizieren?
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.
1. Installieren von Add-On CODESYS Security Agent
2. Wählen Sie den Befehl „Ansicht è Security-Screen“
3. 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 „CmpOPCUAServer“
5. Erzeugen Sie ein neues Zertifikat für das Gerät. Dazu klicken
Sie auf das Icon
Es öffnet sich der Dialog „Zertifikatseinstellungen“
6. Definieren Sie die Parameter des Zertifikats und schließen
Sie den Dialog mit „Ok“
- Das Zertifikat wird auf der Steuerung erzeugt
Erstellen einer verschlüsselten Verbindung mit dem Client UaExpert
Der OPC-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 AO-Clients funktionieren ähnlich.
1. Starten Sie das Programm UaExpert
2. Wählen Sie den Befehl „Server è Add...“
-Es öffnet sich der Dialog „Add Server“
3. Expandieren Sie in der Baumansicht „Local
-PCUAServer@...“
4. Wählen Sie die Verbindungsart „Basic256Sha256 - Sign &
Encrypt (uatcp-uasc-uabinary)“ und schließen Sie den Dialog
mit OK
-Er öffnet sich der Dialog „Certificate Validation“ mit einer
Fehlermeldung
temporarily for this session“ und klicken Sie auf „Continue
7.Aktualisieren Sie im CODESYS Developement System die
Ansicht (Klick auf )
8. Selektieren Sie den Zertifikatsordner „Quarantined
Certificates“
-Im der rechten Ansicht wird das Client-Zertifikat
„UaExpert@...“ angezeigt
-Das Clientzertifikat ist nun von Server als "vertrauenswürdig" beurteilt worden.
Wählen Sie im Client UaExpert den Befehl „Server
è Connect“
-Er öffnet sich der Dialog „Certificate Validation“ 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 angezeig
Grüße
Edwin
Vielen Dank für die Antwort!
Ich verstehe also, das die Security Features erst zum Jahresende kommen. Ungesichert müsste es aber schon heute funktionieren, was mit dem UAExpert (Zertifikat einmal akzeptieren) schon heute klappt.
Leider funktioniert die Kommunikation mit dem von uns teuer eingekauften National Instruments OPC UA Toolkit nicht, welches mit anderen OPC Servern problemlos läuft. Es wird mit der Fehler ausgegeben: "Der OPC-UA-Server konnte mindestens einen Parameter in der Anfrage des OPC-UA-Clients nicht validieren. -356619
NI schiebt das Problem Richtung Codesys. Es ist korrekt, das ich mir für eine einfache OPC UA Verbindung keine Gedanken um Zertifikate machen muss? In UA Expert muss ich ein unbekanntes Zertifikat, welches in der Steuerung heute drin ist, einmalig bestätigen. Im NI Toolkit kann ich das so nicht. Bei reinen Zertifikatsproblemen müsste NI wiederum aber auch eine spezifische Meldung generieren...
Hi,
wäre gut wenn wir es verifizieren, damit meine ich,
mit Control Win und OPCUA verschlüsselt einen Test machen mit der NI Software.
Grüße
Edwin
Zumindest mit einem SoftIng DataFeed OPC UA Server, den ich testweise aufgesetzt habe, lässt sich die NI OPC UA Toolbox planmäßig verbinden.
Ein analog zum Raspberry aufgesetzter OPC UA Zugang auf ControlWin basis wird mit der selben Fehlermeldung zurückgewiesen. Jetzt muss ich mal schauen, wann ich Zeit finde um den OPC UA Server auf ControlWin abzusichern um das zu validieren.
Da ich aber nun schon 2-3 Server abgesehen von ControlWin ohne Probleme mit NI anwählen/subscriben konnte, vermute ich das Problem eher bei euch als bei NI Codesys. Im Laufe der Woche teste ich auch nochmal die WAGO PFC200 auf Basis eCockpit statt Codesys 3.5 - mal schauen ob es da klappt.
PS: Ist der "Bug" bekannt, dass ich seit SP11 sowohl bei der PFC200 als auch am RPi3 einen Neustart/Reset nach übertragen eines neuen Builds ausführen muss? Die Kiste stürzt einfach ab (nur Profinet Master und OPC UA aktiv). War bei SP10 nicht so.
Bucky
Hi,
Bitte verwende den Security Agent...das Plugin für CODESYS um ganz einfach die verschlüsselte OPCUA Kommunikation zu konfigurieren.
https://store.codesys.com/codesys-security-agent.html
Wie beschrieben mit Control Win sollte deine Kommunikation zum NI OPCUA Client dann funktionieren
Absturz mit SP11: Nein ist nicht bekannt... bitte ins SPS log schauem für mehr details.. und posten.
cat /tmp/codesyscontrol.log
Über ssh in der console ausführen
Grüsse
Edwin
Hallo Edwin,
entschuldige bitte die lange Funkstille trotz deiner ausführlichen Hinweise. Die Projektarbeit setzt oft ihre eigenen Prioritäten.
Noch konnte ich die Situation mit Control Win nicht erproben. Jedoch folgendes:
Hi,
wie heißt das NI Produkt?
hast mir einen Link, ich würde es einfach gerne kurz ausprobieren.
Grüße
Edwin
Das NI Produkt ist LabView 2017 mit dem zugehörigen OPC UA Toolkit. Beides vollwertig läuffähig als Testversion. In der LabView Hilfe direct im Programm findet man ein Beispielprojekt, in dem ein paar Client/Serverbeispiele zu finden sind. Weiterhin gibt es in der NIZone (google: OPC UA Toolkit Tutorial) ein paar Infos zu verschiedenen implementierungen - darunter auch ein Minimalbaispeil bei dem nichts geschieht als die Verbindung zu Server aufzubauen (was bereits scheitert).
Gruß
Sascha