INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

S5 Gleitpunktzahl lesen und umwandeln



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

11.11.2010, 10:47
Beitrag #1

stenzr Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Jun 2006

7.1 / 2009
1996
de

59
Deutschland
S5 Gleitpunktzahl lesen und umwandeln
Hallo

Ich lese aus einer Siemens S5 Steuerung eine Gleitpunktzahl (Doppelwort) aus einem Datenbaustein aus.

Mein Problem, ich bekomme den Ausgelesenen Wert nicht in eine Real zahl (SGL Format) umgewandelt.
Ich habe im Doppelwort 0 eine KG =1000000+03 stehen und lese jetzt Datenwort 0 und 1 aus der SPS aus, dann steht in meinem Array Index 0 =1892 und Index 1 = 0 als Ergebnis erwarte ich eine 100.0 im SGL – Format wenn ich diese beiden Werte zu einem Doppelwort zusammenführe.
Vielleicht hat jemand einen Vorschlag.
Gruß
Ralf
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.11.2010, 10:57 (Dieser Beitrag wurde zuletzt bearbeitet: 11.11.2010 11:58 von Lucki.)
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
S5 Gleitpunktzahl lesen und umwandeln
Ja, einfach dem Doppelwort (=U32-Zahl) per Typumwandlung den Typ SGL unterschieben - das müßte normalerweise funktionieren.

Edit: Was soll denn diese seltsame "S5-Gleitpunktzahl" für eine interne Struktur haben? Eine normale Single-Gleitkommazahl nach IEEE-754, wie sie der Rest der Welt - und dazu gehört auch Labview - benutzt, scheint es ja nicht zu sein: dazu passt Dein Zahlenbeispiel nicht.

Zitat:Ich habe im Doppelwort 0 eine KG =1000000+03 stehen und lese jetzt Datenwort 0 und 1 aus der SPS aus, dann steht in meinem Array Index 0 =1892 und Index 1 = 0
Der Wahrheit näher liegen diese beiden Werte
   
Außerdem: KG (Körbchengröße?) 1E9, gibt es das überhaupt?Mellow

Zitat:als Ergebnis erwarte ich eine 100.0 im SGL – Format wenn ich diese beiden Werte zu einem Doppelwort zusammenführe.
Das normale Ergebnis wäre:
   

@ unicorn (Beitrag unten)
Genau!
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.11.2010, 11:38
Beitrag #3

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
S5 Gleitpunktzahl lesen und umwandeln
Single 100.0 ist im Hi-Word 17096 und im Lo-Word 0.

Irgendwas passt da nicht.

Ansonsten: Ist die Byte-Order richtig?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.11.2010, 14:05
Beitrag #4

stenzr Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Jun 2006

7.1 / 2009
1996
de

59
Deutschland
S5 Gleitpunktzahl lesen und umwandeln
Siemensformate sind halt etwas anders die Bit Zählrichtung von dem Doppelwort ist von rechts nach links.
Beschreibung der Gleitpunktzahl (in der Siemenswelt auch als KG bezeichnet)
Bit 0 bis 22 ist die Mantisse dann kommt ein Bit Vorzeichen und 7 Bit Exponent und wieder ein Bit Vorzeichen.
Wenn ich mir das Doppelwort in der SPS Wortweise anschau sehe ich dort auch in dem Wort die 1892 und in dem Anderen die 0 und dieses Wort in KG dargestellt bedeutet +1000000+03
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.11.2010, 17:19 (Dieser Beitrag wurde zuletzt bearbeitet: 14.11.2010 10:44 von Lucki.)
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
S5 Gleitpunktzahl lesen und umwandeln
Mit diesen Angaben lässt sich nichts anfangen, und ich verliere die Lust. Wer weitermachen will, findet hier die notwendigen Formatangaben.
Kurfassung:
a) Mantisse = bit 0..23, Zweierkomlement-Darstellung
b) Exponent = bit 24..31, Zweierkomplement-Darstellung
c) Es wird Basis 10 verwendet, nicht wie üblich Basis 2. Also Zahl = Mantisse * 10^(Exponent)
d) Ausnahme für Zahl=0 beachten.

Edit: Aussage c) ist falsch
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.11.2010, 13:24
Beitrag #6

stenzr Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Jun 2006

7.1 / 2009
1996
de

59
Deutschland
S5 Gleitpunktzahl lesen und umwandeln
Vielen Dank für eure Hilfe dank der richtigen Formatangaben auf der Siemensseite konnte ich mein Problem selber lösen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.11.2010, 17:29
Beitrag #7

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
S5 Gleitpunktzahl lesen und umwandeln
Hallo Ralf,

könntest Du bitte die Lösung posten. Vielleicht hat noch jemand anderes Interesse daran.

Gruß Markus

' schrieb:Vielen Dank für eure Hilfe dank der richtigen Formatangaben auf der Siemensseite konnte ich mein Problem selber lösen.

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2010, 08:09
Beitrag #8

stenzr Offline
LVF-Grünschnabel
*


Beiträge: 41
Registriert seit: Jun 2006

7.1 / 2009
1996
de

59
Deutschland
S5 Gleitpunktzahl lesen und umwandeln

Sonstige .vi  KG_NACH_SGL_V1.vi (Größe: 26,82 KB / Downloads: 647)
Hier mein Lösungsweg wenn jemand Interesse hat.

In LabVIEW 2009

Gruß Ralf
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2010, 10:09 (Dieser Beitrag wurde zuletzt bearbeitet: 13.11.2010 10:21 von Lucki.)
Beitrag #9

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
S5 Gleitpunktzahl lesen und umwandeln
Es geht einfacher:
   
Lv09_img2
Sonstige .vi  KG_NACH_SGL_V2.vi (Größe: 21,19 KB / Downloads: 337)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.11.2010, 10:16 (Dieser Beitrag wurde zuletzt bearbeitet: 15.03.2013 12:07 von jg.)
Beitrag #10

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
S5 Gleitpunktzahl lesen und umwandeln
Das passt aber vorne und hinten nicht! Die Vorzeichen-Behandlung beim Exponenten fehlt komplett (im Prinzip ist der Exponent genau eine I8, wenn -128 = 0x80, laut Link unten) und in der Mantisse ist sie verkehrt! (EDIT: Mantisse ist korrekt. Mein Fehler).
vgl. mal hier Link zu Siemens

Bei der Anzeige der Mantisse im FP solltest du auch noch Bit 0 anzeigen.Wink

Ich glaube, so stimmt es (EDIT: Nein, stimmt nicht, deshalb Upload gelöscht):
Lv09_img2[attachment=59588:KG_NACH_SGL_V2.vi]

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: