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

Ergebnis 1 bis 5 von 5

Thema: Inkonsistenz bei Umwandlung von Gleitpunkt in Festpunkt

  1. #1
    Registriert seit
    19.01.2009
    Ort
    Hannover
    Beiträge
    45
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe ein Problem bei der Umwandlung von Gleitpunktzahlen in Festpunktzahlen. Ja auch schon alles andere durchsucht.

    In der S5 928B tritt folgendes auf:
    Wenn ich eine Gleitpunktzahl L KG +123 +03 direkt lade und diese mit GFD in eine Festpunktzahl umwandele bekomme ich das Ergebniss 123. Ja so sollte es sein.
    Da aber im Programm ein Messwert eingelesen wird z.B. 12,3 (L MD XXX, oder L DD XXX) und ich diesen mit 10,0 multipliziere (damit ich die erste Kommastelle mitnehmen kann) erhalte ich im Gleitpunktformat ebenfalls +123 +03, wenn ich diesen Wert aber nun mit GFD umwandele bekomme ich als Ergebniss 122.
    Warum bitte ist dies so? Kann mir jemand helfen?

    ich habe auch die werte direkt mit
    L KG +123+02 eingegeben bzw
    L KG +10 +02 und mit
    xG multipliziert, hier kommt das gleiche komische Ergebniss von 122.
    Geändert von mknoellner (17.03.2009 um 14:58 Uhr)
    · -·--== Never Touch A Running System ==--·- ·
    Zitieren Zitieren Inkonsistenz bei Umwandlung von Gleitpunkt in Festpunkt  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Hallo,
    das Problem liegt bei den Gleitpunktzahlen. Wahrscheinlich ist dein Wert nach der Multiplikation gar nicht 123 sondern 122,9998 oder so. Umgehen kannst du das in dem du vor der Wandlung nach INT noch 0,5 als Gleitpunktwert draufrechnest. Damit kannst du den "Rundungsfehler" kompensieren ...

    Gruß
    LL

  3. #3
    Registriert seit
    19.01.2009
    Ort
    Hannover
    Beiträge
    45
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    so was in der art hatte ich schon befürchtet.
    habe ein wenig mit den direkten werten herum gespielt.
    Aber warum 0,5 ?
    es werden doch eh Werte bis 0,9 abgeschnitten, oder resultiert das aus dem Aufbau der Gleitpunktzahlen?

    Dann muss ich mir noch mal was überlegen, da es um eine Messwertaufzeichnung geht und um 64 analoge Signale.

    Das Messsystem, bzw das Übertragungsglied arbeitet leider nur mit Int's.

    EDIT: gibt es einen Simulator um die Zahlen binär darzustellen, bzw. kann ich im Bausteinstatus die Ansicht der AKKU von HEX bzw. KG auf binär andern. Oder mir nen Speicherauszug machen, wo (da statische Werte im Test) ich das Ganze noch mal binär nachvollziehen kann?
    Geändert von mknoellner (17.03.2009 um 15:35 Uhr)
    · -·--== Never Touch A Running System ==--·- ·

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    0,5 habe ich deshalb gewählt, weil du vielleicht auch 123,6 nach 124 aufrunden möchtest ...

    Vielleicht baust du dir dafür einen eigenen FB - dass geht auch in der S5 ...

    Gruß
    LL

  5. #5
    Registriert seit
    19.01.2009
    Ort
    Hannover
    Beiträge
    45
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hab ich auch schon drüber nachgedacht.
    dürfte aber bei dem programmieraufwand egal sein.

    ob ich den wert addiere - wäre copy past - ,oder noch nen baustein progge und ne menge aufrufe neu schreiben muss.

    ok wäre sauberer.
    aber der mensch ist ja von natur aus faul. und programmierer sowieso
    · -·--== Never Touch A Running System ==--·- ·

Ähnliche Themen

  1. Umwandlung von DI in I
    Von Blueglasstalisman im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 18.05.2011, 10:13
  2. HW-Inkonsistenz bei altem S7 Projekt beheben
    Von vollmi im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 04.05.2011, 10:12
  3. S7 Gleitpunkt und libnodave 12345678.123
    Von Senator42 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 09.11.2010, 08:18
  4. libnodave S5 und KG (Gleitpunkt)
    Von Senator42 im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 08.11.2010, 22:25
  5. Anzeigeformat für Gleitpunkt
    Von win98 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 10.08.2009, 15:21

Lesezeichen

Berechtigungen

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