Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 6 von 6

Thema: Fragen zu Gleitpunktberechnung (FB15-FB21) Simatic S5

  1. #1
    Registriert seit
    12.12.2004
    Beiträge
    55
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute !
    Da die Simatic S5 keine Gleipunktberechnung kann, gibt es von Siemens die Gleitpunktarithmetik. Diese besteht aus den Bausteinen FB15-FB21, um diverse Grundrechenoperationen abwickeln zu können.
    Dabei wird eine Festpunktzahl mit dem FB15 in eine Gleitpunktzahl umgewandelt. Da die S5 nur einen 16 Bit Speicher hat, wird die Rechenoperation auf beide Akkus aufgeteilt und dann in 2 Datenwörtern gespeichert.
    Nun möchte ich den 32 Bit Hex-Wert der die Gleitpunktzahl enthält von Hand in eine Dezimalzahl zurück rechnen.
    Im Handbuch folgendes Beispiel gegeben:
    3,141593 = 02 64 87EE
    dabei soll 02 der Exponent und 64 87EE die Mantisse sein
    1,414214 = 01 5A 827B
    dabei ist wieder 01 der Exponent und 5A 827B die Mantisse

    Kann mir jemand erklären wie ich auf dieses Ergebnis komme ?

    Zusätzlich steht folgender Text im Handbuch:
    Eine Gleitpunktzahl besteht aus einem 8-Bit Exponenten in Zweierkomplementdarstellung und einer 24-Bit-Mantisse in Zweierkomplementdarstellung. Der Exponent und das höchste Byte der Mantisse stehen im High Word; die beiden unteren Bytes der Mantisse im Low-Word. Gleitpunktzahlen in dieser Darstellung sind auf 6 Dezimalstellen genau. Durch die begrenzte Länge der Mantisse treten jedoch bei Kettenrechnungen größere Ungenauigkeiten auf. Es läßt sich ein Wertebereich von +/- 0,1469368 E-38 bis +/- 0,1701412 E+39 erfassen.

    Vielen Dank für eure Hilfe !

    Gruß Steffen
    Zitieren Zitieren Fragen zu Gleitpunktberechnung (FB15-FB21) Simatic S5  

  2. #2
    Registriert seit
    30.04.2005
    Beiträge
    908
    Danke
    57
    Erhielt 161 Danke für 147 Beiträge

    Standard

    Hi,

    ich weiß nicht genau ob's hier auch zutrifft aber vielleicht hilft dir das weiter:

    http://de.wikipedia.org/wiki/Gleitkommazahl

    Gruß Centi

  3. #3
    Registriert seit
    12.12.2004
    Beiträge
    55
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für die schnelle Antwort !

    Habe mir den Text zum Gemüte geführt und kann die Zahl immer noch nicht umrechnen. Im Internet gibt es dazu zwar viele Infos, Siemens scheint aber eine eigene Darstellung zu haben.

    Kennt sich denn keiner mit diesen Bausteinen aus ?

    Gruß Steffen

  4. #4
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

  5. #5
    Registriert seit
    05.04.2005
    Beiträge
    27
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Moin! Ich versuche es mal kurz zu erklären!

    Du musst zunächst die Mantisse aus dem Hex-Format ins Binär-Format umrechnen (kann jeder Taschenrechner, sogar der von Windows )
    Bei dieser Zahl verschiebst Du ein imaginäres Komma vor die erste Stelle!
    Also 111 ->0,111
    Diese Zahl wird dann ins Dezimal-Format umgerechnet
    0,111 -> 0,5+0,25+0,125 = 0,875
    Diese Zahl wird dann mit 2 hoch "Exponent" multipliziert.


    Also 3,141593 = 02 64 87EE

    64 87EE -> 6588398 -> 11001001000011111101110
    -> 1/2+1/4+1/32+1/256+... = 0.78515625 (nur die 4 Zahlen)
    * 2 hoch 2 -> 3,140625
    (Wenn Du alle Zahlen der Mantisse umrechnest, ist die Zahl exakt)

  6. #6
    Registriert seit
    12.12.2004
    Beiträge
    55
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke für eure Hilfe !
    Habe mal versucht nachzurechnen und bin sogar auf das Ergebnis gekommen. Der Hintergrund ist, daß ein berechnetes Ergebnis nicht stimmt. Deswegen muss ich die Teilergebnisse nachrechnen, um den Fehler zu finden.
    Am Freitag war ich auch noch mal kurz an der S5 mit folgendem Ergebnis:
    Man kann sich im Status die Gleitpunktzahl auch anzeigen lassen, indem man das zugehörige Doppelwort MD oder DD aufruft und statt KF= KG= wählt. Ich dachte das würde nicht funktionieren, weil die Bausteine einen anderen Zahlenbereich verwenden.

    Noch mal vielen Dank für eure Hilfe
    Ohne euch wäre ich nicht so weit gekommen

    Gruß Steffen

Ähnliche Themen

  1. Probleme mit FB15 PUT in S7-300
    Von Uwe01 im Forum Simatic
    Antworten: 45
    Letzter Beitrag: 12.05.2010, 07:36
  2. Fragen zum OPC Simatic Server
    Von BorisDieKlinge80 im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 14.01.2010, 22:16
  3. Antworten: 10
    Letzter Beitrag: 29.08.2008, 10:19
  4. Antworten: 4
    Letzter Beitrag: 02.03.2008, 10:30
  5. Antworten: 2
    Letzter Beitrag: 10.09.2006, 12:13

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •