CODESYS - the IEC 61131-3 automation software

Welcome to the official CODESYS Forum
Deutsche Version English version russian version 
It is currently Tue Oct 17, 2017 2:58 am

All times are UTC+01:00




Post new topic  Reply to topic  [ 10 posts ] 
Author Message
PostPosted: Tue Apr 18, 2017 8:28 am 
Offline

Joined: Mon Apr 17, 2017 3:46 pm
Posts: 2
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:

OPC Common Definitions and Interfaces Version 1.0
Data Access Custom Interface Standard Version 1.0a
Data Access Custom Interface Standard Version 2.05A
Data Access Custom Interface Standard Version 3.0
Data Access Automation Interface Standard Version 2.02
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 :)


Top
   
PostPosted: Thu Aug 17, 2017 9:12 pm 
Offline

Joined: Thu Jun 29, 2017 1:14 pm
Posts: 6
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


Top
   
PostPosted: Fri Aug 18, 2017 6:24 am 
Offline
Site Admin

Joined: Mon Sep 05, 2005 9:42 am
Posts: 2157
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



7. Führen Sie einen Neustart des Laufzeitsystems durch

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



5. Wählen Sie den Befehl „Server - Connect“
-Er öffnet sich der Dialog „Certificate Validation“ mit einer
Fehlermeldung
6. 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



9. Ziehen Sie das Zertifikat mit der Maus in den Zertifikatsordner „Trusted Certificates“
-Das Clientzertifikat ist nun von Server als "vertrauenswürdig" beurteilt worden.
10. Wählen Sie im Client UaExpert den Befehl „Server
è Connect“
-Er öffnet sich der Dialog „Certificate Validation“ mit einer
Fehlermeldung

11. 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


You do not have the required permissions to view the files attached to this post.


Top
   
PostPosted: Fri Aug 18, 2017 9:56 am 
Offline

Joined: Thu Jun 29, 2017 1:14 pm
Posts: 6
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...


Top
   
PostPosted: Fri Aug 18, 2017 4:40 pm 
Offline
Site Admin

Joined: Mon Sep 05, 2005 9:42 am
Posts: 2157
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


Top
   
PostPosted: Mon Aug 21, 2017 2:28 pm 
Offline

Joined: Thu Jun 29, 2017 1:14 pm
Posts: 6
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


Top
   
PostPosted: Fri Sep 01, 2017 5:24 am 
Offline
Site Admin

Joined: Mon Sep 05, 2005 9:42 am
Posts: 2157
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


Top
   
PostPosted: Mon Sep 11, 2017 3:32 pm 
Offline

Joined: Thu Jun 29, 2017 1:14 pm
Posts: 6
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:

- 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:


You do not have the required permissions to view the files attached to this post.


Top
   
PostPosted: Tue Sep 12, 2017 1:35 pm 
Offline
Site Admin

Joined: Mon Sep 05, 2005 9:42 am
Posts: 2157
Hi,
wie heißt das NI Produkt?
hast mir einen Link, ich würde es einfach gerne kurz ausprobieren.

Grüße
Edwin


Top
   
PostPosted: Thu Sep 14, 2017 11:02 am 
Offline

Joined: Thu Jun 29, 2017 1:14 pm
Posts: 6
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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 10 posts ] 

All times are UTC+01:00


Who is online

Users browsing this forum: A. Akkerman and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited