DP/EIB Link Datenhandling

pjoddi

Level-2
Beiträge
221
Reaktionspunkte
63
Zuviel Werbung?
-> Hier kostenlos registrieren
Frage an alle, die den DP/EIB-Link vom großen S schon mal eingestzt haben:

Die Daten werden mittels SFC 59 in einen DB geschaufelt.
Was mich interessiert, ist die weitere Verarbeitung der Daten.

Wenn ich mich im Handbuch richtig informiert habe, liegen die Werte beispielsweise im 2Byte-Format vor, und sind wie folgt definiert:

Wert (value) 2 Byte

[E] [E] [E] [E] [M] [M] [M] [M] [M] [M] [M] [M] [M] [M] [M]

S = Vorzeichen der Mantisse.
E = Exponent der Basis 2 (0...15).
M = Mantisse im Zweierkomplement ( –2048...0...2047)
EIB_Wert = (–1)(S) * (0.01*M) * 2 (E)
Wertebereich : –671 088.64...0...+670 760.96
Auflösung : 0.01 * 2 (Exponent)


Muss ich die Daten jetzt alle manuell in ein reguläres S7- Format wandeln oder gibt es dafür eine Funktion oder liege ich mit meiner Deutung ganz falsch?

Wenn jemand das schon mal ausprogrammiert hat, würde ich mir das natürlich auch gerne ansehen, man muss das Rad ja nicht immer wieder neu erfinden...
 
Hi,

ich finde es leider jetzt nicht, schaue aber heute Abend noch mal nach.
Aber meines Wissens kann man auch 32 Bit Float Werte über den Bus schicken.

Gruss Daniel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, danke, das wäre super!

Da ich die EIB-Seite nicht selbst mache, sondern vorgesetzt bekomme, interessieren mich speziell die 2 Byte Werte, da mir Soll- und Istwerte in diesem Format übergeben werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@ Dalbi:

Danke Dir für Deine Bemühungen!
Das beantwortet natürlich meine Frage und löst das Wandlungsproblem.
Danke auch für die Offenlegung Deines Codes!

Fazit:

Soweit mein Kenntnisstand jetzt richtig ist, muss man also die vom EIB kommenden Daten, sofern sie als float im 2Byte-Format daherkommen, aus dem Empfangs-DB nochmals anfassen und in ein S7-Real-Format (oder was gewünscht ist) wandeln.
Erst dann kann man in der S7 damit weiterarbeiten.
 
Zurück
Oben