Forum: Mikrocontroller und Digitale Elektronik Ethernet Ip Probleme mit EDS File


von Voltaren (Gast)


Lesenswert?

Guten Tag,
ich weiß nicht in welche Kategorie das Thema EhernetIP dazu passt.
Bzw wo zu SPS Programmierung gehört.
Ich möchte Mit einer SPS auf der Codesys 3.5 läuft per Ethernet Ip 
Scanner Daten von einer Pilz Sicherheit SPS auslesen. Dazu habe ich das 
EDS File von Pilz in meiner Codesys Sps eingebunden. Leider kommt aber 
trotz dieser EDS  zu keiner Kommunikation.Wenn ich das selbe mit einer 
Omron SPS und deren proprietäre Entwicklungsumgebung mache kann ich die 
Daten der Pilz SPS austauschen. Hat jemand einen Tipp wie ich dem Fehler 
auf die Schliche komme?
Mein Verdacht ist das der Verbindungspfad des Ethernet IP Scanners auf 
Codesys Seite falsch aus dem EDS file geparst wird.
Kann man das per Wiresharke mit lesen?
Danke für die Hilfe

von Ulrich K. (elektromechanikus)


Lesenswert?

Hallo Voltaren,

Wireshark kann die EtherNet/IP Kommunikation interpretieren und gibt dir 
Klartext.
Problem kann der Anschluss des Wireshark Rechners sein. Du musst 
sicherstellen, dass die EtherNet/IP Telegramme in beiden Richtungen 
aufgezeichnet werden. Möglichkeiten sind z.B. ein managed Switch mit 
Monitor Port, ein Ethernet Analyzer Tap (z.B.Hilscher oder Beckhof) oder 
evtl ein alter Ethernet Hub.
Die Wireshark Aufzeichnung sollte laufen bevor der EtherNet/IP Scanner 
die Verbindung aufbaut (mit Forward Open).
Ich vermute du willst die Daten mit IO Kommunikation lesen. Ein häufiger 
Fehler ist eine falsche Länge der verwendeten Assemblies.
Wenn du die Kommunikation aufgezeichnet hast kann ich dir gerne 
weiterhelfen.
(Bin zwar seit 4 Jahren im Ruhestand, davor aber intensiv mit 
verschiedenen Feldbussen befasst)
Du solltest zum Vergleich auch die funktionierende OMRON Kommunikation 
aufzeichnen.

Gruß
Ulrich

von Voltaren (Gast)


Angehängte Dateien:

Lesenswert?

Hallo was mir eigenartig vorkommt ist das obwohl ich ein Eds File habe 
und eingebunden habe, ist in der Anzeige der Verbindung"vordefinierte 
Verbindung Eds" ausgegraut.

von Ulrich K. (elektromechanikus)


Lesenswert?

Hallo Voltaren,

offensichtlich kann deine SPS Software das EDS nicht nutzen.
Kannst du die Daten aus der OMRON Konfiguration (Assembly Informationen 
und Größen) nehmen und bei deiner Software manuell eingeben?

Gruß
Ulrich

von Voltaren (Gast)


Lesenswert?

Ulrich K. schrieb:
> Hallo Voltaren,
>
> offensichtlich kann deine SPS Software das EDS nicht nutzen.
> Kannst du die Daten aus der OMRON Konfiguration (Assembly Informationen
> und Größen) nehmen und bei deiner Software manuell eingeben?
>
> Gruß
> Ulrich
Hallo Ulrich
Ne leider nicht die Omron schluckt das EDS und gut ist.

von rdp (Gast)


Lesenswert?

Es könnte ja das EDS-File nicht "100%-validity" sein.
Schon einmal mit z.B. CANchkEDS getestet?

Ist das EDS nicht auch nicht nur XML, da kann man doch
"reingucken" und ggf. das händisch lesen und eingeben oder
sogar dort abändern?
:-)

von Voltaren (Gast)


Angehängte Dateien:

Lesenswert?

rdp schrieb:
> Ist das EDS nicht auch nicht nur XML, da kann man doch
> "reingucken" und ggf. das händisch lesen und eingeben oder
> sogar dort abändern?
habe das eds mal angehängt.
Ich verstehe da nur Bahnhof wenn ich es mir in einem Editor ansehe

von Ulrich K. (elektromechanikus)


Lesenswert?

Hallo Voltaren,

du brauchst das Tool EazyEds von der ODVA. Konnte man früher von deren 
ODVA.org runterladen.
Die EDSn sind zwar lesbar (rein ASCII) aber kaum verstehbar ohne Tool.

Hab grad mal schnell probiert der Download geht noch immer:
https://www.odva.org/subscriptions-services/software/ez-eds-download/

Gruß
Ulrich

von rdp (Gast)


Angehängte Dateien:

Lesenswert?

Nun, lesbar ist ja die Datei.
Aber, die ist Version: v.3.x
Stand deren Software-Entwicklung: ca. 2011 max. 2012
Die Datei selbst ist von 2013.

Mit viel Glück bekommst Du die damit in ein Codesys von
2011/2012/2013 eingelesen, für neuere sehe ich das so
schon nicht mehr.

Vor langer Zeit bin ich da einmal über so etwas dazu
gestolpert:
>
> [Da die eds-Datei] AUS ZEITEN VON CANopen DS301 V3 stammt;
> aus diesem Grund fehlen im Objekt-Dictionary (und damit auch
> in den EDS-Dateien) einige Objekte, die in CANopen DS301 V4
> als "mandatory" gekennzeichnet sind.
>
CANopen ist nicht EhernetIP, aber die Probleme mit den
esd-Dateien sind da ähnlich bis gleich.

ez-eds sagt viele Sachen an, eine ggf. wichtige ist oben im
Bild bei Port1 zu sehen.
Lade Dir ez-esd runter und lese Deine alte esd-Datei dort ein,
und speicher einmal das Eingelesene ab, ez-eds setzt fast alle
fehlende Daten selbst.
ggf. hilft das schon, wenn Du die dann neue Datei in Dein
Codesys einspielst.

Ansonst sehe ich nur selbsteingeben oder eben von
Codesys 2011/12 bis Codesys 2021 "hochupdaten".

ez-eds
https://www.odva.org/subscriptions-services/software/ez-eds-download/

von rdp (Gast)


Lesenswert?

Oh,
zu lange geschrieben und angeteste, betrachte es als
Ergänzung zu Ulrich K.

von Voltaren (Gast)


Lesenswert?

Habe versucht mit dem besagten Programm das Eds neu ab zu speichern.
Leider ohne Erfolg.
Habe ein funktionierendes Eds geöffnet mit dem Programm und auch da 
werden Fehler angezeigt.
Bin Ratlos.

von rdp (Gast)


Lesenswert?

Viele Fehler sind nur Warnungen, ob das Codesys das
auch so sieht, mußt Du eben testen.

Die fehlenden Einträge bei Port1 mußt Du wohl auch
händisch ergänzen, nimm Deine andere funktionierende
EDS-Datei als Muster.
Ist denn Dein Codesys auf dem z.Z. letzten Patch-Stand?

Ansonst eben mit der gewandelten Pilz-EDS-Datei als
Vorlage die Daten händisch als generisch in Codesys
eingeben.
Möglich auch, daß durch das erste Einspielen der alten
Pilz-EDS-Datei Dein Codesys-Projekt jetzt einen Projekt-
Fehler hat, der auch mit der neuen Pilz-Datei nicht
behebbar ist, nimm einen Stand vor dem aller ersten
einspielen.
Probiere alte Codesys-Versionen oder/und "hochupdaten",
vereinzel Dein Codesys-Projekt soweit, daß Du überhaupt
siehst, ob es mit der Pilz-SPS kommuniziert,
Prüfe Dein Codesys-Projekt, ggf. sitzt der Fehler schon
da, ohne EDS-Datei...
"Wiresharke" die funktionierende Verbindung mit
der Omron SPS wurde auch schon genannt
Es gibt sicherlich viele weitere Möglichkeiten, wir haben
hier nur Deine eher lauen Textmitteilungen...

von Voltaren (Gast)


Lesenswert?

rdp schrieb:
> Die fehlenden Einträge bei Port1 mußt Du wohl auch
> händisch ergänzen, nimm Deine andere funktionierende
> EDS-Datei als Muster.
> Ist denn Dein Codesys auf dem z.Z. letzten Patch-Stand?

Guten Morgen ja mein Codesys ist aktuell. Habe auch kein älteres Target 
für diese SPS.

Gibt es Windows Software einen Ethernet Scanner zu simulieren?
Denn da wäre das mit hören mit Wiresharke einfacher.

Das Codesys Projekt kann ich laden und der rest funktioniert.
Andere Geräte kann ich ja auslesen. Nur bei Pilz eiert es.
Ich würde ja gern mehr Infos geben aber ich weiß leider keine:-(!

von Voltaren (Gast)


Lesenswert?

Guten Tag,
habe jetzt einen Switch mit Mirroring Funktion zwischen den zwei Geräten 
gesteckt.
Habe Wireshark gestartet und schaue nun wie das Schwein ins Uhrwerk.
Wie kann ich jetzt das ganze analysieren?
Danke für die Hilfe.

von Ulrich K. (elektromechanikus)


Angehängte Dateien:

Lesenswert?

Hallo Voltaren,

ich hab dir mal eine Wireshark Logdatei angehängt mit einem EIP 
Beispiel. Der Frame #4 ist der Forward Open (Verbindungsaufbau) des 
Scanners.
Diesen Frame musst du in deiner Wireshark Aufzeichnung finden (filtern 
nach Protocol = CIP CM).
Ich bin mir allerdings nicht sicher ob dein Scanner überhaupt einen 
Forward Open sendet wegen fehlerhafter Konfiguration.
Du kannst mir aber gerne ein PCAP File schicken und ich schaue es mal 
an.

Wenn du in meinem File Frame #4 öffnest, kannst du die verschiedenen CIP 
Ebenen aufklappen. Unter dem letzten Punkt: Connection Manager findest 
du all die Daten die eigentlich aus dem EDS File kommen sollten.

Gruß
Ulrich

von Voltaren (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Ulrich,
danke für deine Hilfe. Ich habe mit Wireshark noch nie gearbeitet:(
Anbei mal eine Datei. Ich hoffe ich habe es richtig gemacht.
Hättest du vielleicht Lust per Teamviewer oder sowas einen Blick drauf 
zu werfen?
Würde in Bier bezahlen.....

von Voltaren (Gast)


Angehängte Dateien:

Lesenswert?

Hallo nochmal,
Irgendwie sieht das Bild hier verdächtig aus.
Was meint Ihr

von Ulrich K. (elektromechanikus)


Lesenswert?

Hallo Voltaren,

wie schon gesagt, ich bin seit 4 Jahren raus aus dem Thema und merke 
gerade wie schnell man in meinem Alter Dinge vergisst.
In deinem PCAP siehst du den Forward Open des Scanner in Frame #3 und 
die Connection Failure des Adapters in Frame #5: Invalid consuming 
application path
D.h. der Connection Path den der Scanner sendet passt dem Adapter (Pilz) 
nicht.
Der Connection Path sieht für mich auf jeden Fall unvollständig aus 
(vergleiche mit meinem Beispiel) allerdings krieg ich das nicht mehr aus 
dem Stand hin.
Kannst du die gleiche Aufzeichnung mit der Omron machen?

Gruß
Ulrich

von Voltaren (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Ulrich,
danke für deine Hilfe.
Ich sehe schon das du richtig Ahnung hast von der Materie.
Hier noch die Aufzeichnung wenn die Kommunikation steht zwischen Pilz 
und omron.

von Ulrich K. (elektromechanikus)


Lesenswert?

Hallo Voltaren,

du kannst bei EIP eine laufende I/O Kommunikation nicht interpretieren 
(im Gegensatz zu z.B. Modbus).
Scanner und Adapter vereinbaren zum Beginn der Verbindung WAS übertragen 
werden soll (und noch einige andere Dinge). Dazu dient das 'Forward 
Open' des Scanners und die 'Connection Successful' (bzw Failure) des 
Adapters.
Protocol: CIP CM  ( Connection Manager)
Danach werden nur noch nackte Daten übertragen (Byte-Wurst)
Protocol: CIP I/O

Also du musst die OMRON starten während Wireshark schon läuft. Die CPU 
anhalten und wieder starten (Run - Stop - Run) reicht vermutlich nicht, 
da die Kommunikation nur auf 'Idle' geht und die Verbindung bestehen 
bleibt.

Gruß
Ulrich

von Voltaren (Gast)


Angehängte Dateien:

Lesenswert?

Sorry nochmal die Aufzeichnung.

von Voltaren (Gast)


Lesenswert?

Hallo Ulrich mit deiner Hilfe habe ich im CIP Cm den Unterschied 
gefunden und ich kann jetzt mit der Pilz reden:))))
Danke

von rdp (Gast)


Lesenswert?

Und nun wäre es echt schön, wenn Du uns
das auch hier auch aufzeigst!
Ein Bild falsch/richtig wäre ja wohl freundlich.
:-)

von Ulrich K. (elektromechanikus)


Angehängte Dateien:

Lesenswert?

Hallo Voltaren,

das sieht gut aus. Die OMRON nutzt die korrekten Daten aus der EDS.
Im Bild OMRON habe ich den relevanten Teil mal rauskopiert.
Du siehst 5 Segmente:
- Electronic Key (damit stellt der Scanner sicher, dass unter der IP der 
richtige Adapter steckt)
- Class Segment (hier wird das Assembly Objekt angesprochen (0x04)
- Instance Segment (Instanz 1 des Assembly Objekts)
- Connection Point Segment (die 0x64 stehen im EDS für die InputAssembly 
im Parameter Param2
- Connection Point Segment (die 0x65 stehen im EDS für die 
OutputAssembly im Parameter Param3
Im Bild EZ_Connection hab ich mal die Pfadinfo aus der EDS gezeigt:
20 04 24 01 2C [Param2] 2C [Param3]
und wie EZ das aufdröselt (Create/Decode Path)

Wenn du das mit den Daten in SPS vergleichst siehst du das da einiges 
fehlt.
Ich weiß allerdings nicht wie du das in CoDeSys eingeben kannst. 
Vielleicht erreiche ich einen meiner früheren Kollegen der hier 
weiterhelfen kann.

Gruß
Ulrich

von Ulrich K. (elektromechanikus)


Angehängte Dateien:

Lesenswert?

Bild fehlte

von rdp (Gast)


Lesenswert?

Sorry Ulrich,
das war etwas ungenau formuliert, ich meinte
den TO und sein fehlendes falsch/richtig CoDeSys-Bild.

Es scheint ja jetzt zu funktionieren, klasse Erklärung
dazu von Dir
:-)

von Voltaren (Gast)


Angehängte Dateien:

Lesenswert?

Guten Tag,
hier noch die Einstellungen von Codesys wie es jetzt läuft!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.