TIA Problem bei der Konvertierung von IO-Link Sensordaten zu Dezimalwerten

TomyReini

Level-2
Beiträge
7
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Forenmitglieder,

ich stehe vor einer Herausforderung beim Auslesen und Weiterverarbeiten von IO-Link Sensordaten und hoffe auf eure Hilfe. Konkret geht es um einen Wenglor FX9P002 Drucksensor, der auf 2 Bytes (16 Bit) die Messwerte übermittelt. Der Sensor ist an einen Balluff Master IO-Link angeschlossen und über Profinet in eine S7-1200 eingebunden.

Bis hierhin läuft alles reibungslos: Ich erhalte die Daten des Sensors an den jeweiligen Eingangsadressen der Bytes, und diese Werte stimmen mit den Angaben im Webbrowser des Master IO-Links überein.

Nun zu meinem Problem: Die Daten kommen in Form von Hex-Werten an jedem Byte an. Ich habe diese als Byte definiert, da ich in der Herstellerdokumentation keine explizite Information dazu gefunden habe. Mein Ziel ist es, die beiden Bytes zusammenzuführen und sie dann zu konvertieren, um einen Dezimalwert zu erhalten (der auch negativ sein kann). Leider bin ich in meinen Versuchen bisher gescheitert.

Ich möchte darauf hinweisen, dass dieses Thema für mich neu ist und ich mich noch in der Lernphase befinde.

Auch nach einer ausführlichen Internetrecherche und der Durchsuchung dieses Forums konnte ich keine Lösung finden. Möglicherweise denke ich zu kompliziert und es gibt eine einfache Lösung, auf die ich noch nicht gestoßen bin 😊.

Ich wäre euch sehr dankbar, wenn jemand einen Tipp oder eine Lösung für mein Problem hätte.

Vielen Dank im Voraus für eure Unterstützung!

Beste Grüße
 

Anhänge

  • Interface_Protocol_IO-Link_Parameter_Process_Data_FXxPxxx_DE.pdf
    646,1 KB · Aufrufe: 21
Entweder definierst du in der Hardware direkt zwei Byte dafür EB0..EB1

oder du nimmst einfach das Wort.

EB0 + EB1 = EW0

Dann schmeisst du das einfach 1:1 auf einen Integer in einem Datenbaustein.. dann schauste mal was dabei rauskommt.
 
Nun zu meinem Problem: Die Daten kommen in Form von Hex-Werten an jedem Byte an. Ich habe diese als Byte definiert, da ich in der Herstellerdokumentation keine explizite Information dazu gefunden habe. Mein Ziel ist es, die beiden Bytes zusammenzuführen und sie dann zu konvertieren, um einen Dezimalwert zu erhalten (der auch negativ sein kann). Leider bin ich in meinen Versuchen bisher gescheitert.
Also die Doku von wenglor ist eigentlich ziemlich gut.
 
Zurück
Oben