Datenpakete entschlüsseln

oORichOo

Level-1
Beiträge
56
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich habe ein Versuchsaufbau mit zwei Controllern und drei Devices, diese Kommunizieren über Profinet.

Die Kommunikation habe ich mit Wireshark mit geschnitten und würde jetzt gern herausfinden wollen, was für Daten im Netzwerk verschickt wurden.
Zum Beispiel würde ich gern im Datenpaket sehen wollen, ob Ausgänge geschalten sind oder ob an den Eingängen ein Signal anliegt.
Ebenfalls würde ich gern wissen, was in den Datenpakete bei der Kommunikation zwischen den beiden CPUs steht.

Gibt es da irgendeine Möglichkeit den Hex-Code zu entschlüsseln?
Gibt es da auch andere Möglichkeiten außer Wireshark?
 
Ich habe das selber nicht gemacht, aber ich denke Wireshark ist das passende Werkzeug dazu.
Ein Programm was so einen Mitschnitt selbstständig interpretieren kann ist mir nicht bekannt. Das wäre auch nur möglich wenn so ein Programm alle verfügbaren GSD-Dateien kennen würde, und zusätzlich auch noch die aktuelle Konfiguration. Also ist zumindest teilweise Handarbeit angesagt.

Ich würde so vorgehen, und nur mit einem relativ einfachen Device beginnen.
Als erstes die Konfiguration aus dem Projektierungswerkzeug in eine Excel-Tabelle übertragen (Slot Nummern, Kurzbezeichnungen etc.).
Dann zusätzlich zumindest einmalig den Hochlauf der Anlage mit Wireshark mitschneiden, bei dem die Controller ihre Konfiguration an das Device übertragen.

Dann die GSD-Datei zerlegen um die Bedeutung des Datensatzes im Run-Modus zu rekonstruieren.

Dürfte etwas Fummelarbeit werden.
 
Du musst in der GSD-Datei zu dem Device nachsehen, wie der Datensatz eines Moduls in deinem Slot aufgebaut ist.

Ich kann nur sagen wie das bei Step7 aussieht:
Ich prüfe dazu bei dem projektieren Device welche GSD-Datei dieses verwendet. Diese GSD-Datei öffne ich mit einem Texteditor.
Als Modul steckt dort z.B. bei einem Wago-Device in Slot 1 die Baugruppe "75x-1415 8DE". Danach suche ich in der GSD (XML)-Datei. Dort findet man dann einen Eintrag wie:

<Text TextId="IDT_NAME_1415_0000_08BIT" Value="75x-1415 8DE"/>

Dann muss man sich anhand der TextId "IDT_NAME_1415_0000_08BIT" den weiteren zugehörigen Datensatz mit der ID "1415_0000_08BIT" raussuchen.
Dort findet man etwas über den Aufbau des Datensatzes zu diesem Modul.

So zumindest meine Theorie. Wenn die Anzahl der Bytes die man sich selber berechnet mit der Anzahl die man in Wireshark sieht übereinstimmt, ist man schonmal auf einem guten Weg.

Leider findet man nur wenig tiefergehende Informationen zu Profinet, zumindest nicht frei verfügbar. Selbst Bücher sind wie immer nur oberflächlich da solche Informationen meistens nur Systementwickler benötigen. Da müsstest du dir schon die offizielle Norm besorgen, das wird das einzig verlässliche Werk dazu sein.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie schon geschrieben, mach am besten noch einen Mitschnitt wenn die Anlage hochläuft. Zumindest wenn das Device neu gestartet wird, denn nur dann siehst du welche Konfiguration der Controller wirklich an das Device überträgt.

Vlt. kannst du die Logfiles ja mal hier reinstellen, und welche Devices dort kommunizieren. Würd mich mal interessieren ob man das anhand der Informationen zurückverfolgen kann.
 
Hallo,
ich hab die mal für eine Wago 750-370 ausgewertet und man kann schon die Übergabe der Konfigurationen erkennen.
Durch "ModulIdentNumber" weiß die Baugrupper wer er ist und die Nummer steht auch in der GSD-Datei.
Durch die Parameterübergabe kann man schon erkenne wo die zuversendenten Informationen im PNIO-Telegramm stehen.
Ich hab noch eine schöne pdf gefunden, wo alle noch ganz gut erklärt wird. (http://profibusgroup.files.wordpress.com/2013/01/w4-profinet-frame-analysis-peter-thomas.pdf)

Sorry. dass es so lange gedauert hat.


Uebergabe.jpg
 
Hallo, in dem beigefügten Bild sind die Informationen die du suchst unter Input / Output Data. Damit bestimmst du die Position der E/A-Daten im RTC Telegramm sowie die dazugehörigen Nutzdatenbegleiter. Die GSD-Datei benötigst du für Projektierung und die WRITE.req. Viel Erfolg
 
Zuletzt bearbeitet:
Zurück
Oben