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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: S5 Gleitkommazahl <-> Integer

  1. #1
    Registriert seit
    04.12.2007
    Beiträge
    58
    Danke
    5
    Erhielt 7 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Mal wieder eine Anfängerfrage von einem der versucht noch die letzten paar Jahre mit einer S5 155 CPU 948 zurecht zukommen.

    Also folgendes:
    Ich habe eine Wäageeinrichtung über Profibus (IM308C) an unsere S5 angeschlossen. Kommunikation ist auch gegeben. Es kann direkt auf die PEW/PAW ( bzw. PW) zugegriffen werden.

    Nun gibt es bei dem Gerät die Möglichkeit sämtliche Gleitkommazahlen (also die Messwerte) als IEEE oder als Siemens KG anzugeben. Wie ich bis jetzt weiß, kann die S5 keine Gleitkommazahlen.

    Nur wie verarbeite ich dann dieses Siemens KG (Integer) Format?

    MFG
    Zitieren Zitieren S5 Gleitkommazahl <-> Integer  

  2. #2
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Die großen S5-Steuerungen (also auch die 94 können mit Gleitpunktzahlen rechnen. Die S5 verwendet dazu allerdings das KG und nicht das IEEE-Format.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  3. #3
    Registriert seit
    04.12.2007
    Beiträge
    58
    Danke
    5
    Erhielt 7 Danke für 4 Beiträge

    Standard

    Das heißt also ich müsste den Messwert von z.B. 100t auch als 100 angezeigt bekommen wenn ich als Format KG wähle? Weil das hatte ich eigentlich gedacht, jedoch geht es so nicht. Auch wenn ich dann wieder IEEE als Format anwähle, bekomme ich keine realistischen Werte.

  4. #4
    Registriert seit
    08.04.2008
    Ort
    Köln
    Beiträge
    844
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Standard

    Hallo Eddy,

    die Formate KG und Real (IEEE) unterscheiden sich in der Basis. KG hat als Basis die 2 und
    Real hat als Basis die Eulerzahl.
    Liest Du die Werte mit L PED aus?

    Wenn Du dann auch bei Format KG keine vernüftigen Werte bekommst, dann versuche mal die
    Worte und Bytes zu swappen. Vllt. klappt es dann.

    Grüße
    Gebs

  5. #5
    Registriert seit
    04.12.2007
    Beiträge
    58
    Danke
    5
    Erhielt 7 Danke für 4 Beiträge

    Standard

    Das mit dem L PED habe ich versucht. Geht aber nicht. Kann nur L PY oder L PW angeben. Was ist denn swappen? Habe ja nur Worte die ich übertragen habe.
    Also
    L PW 192
    T DW 0

    L PW 194
    T DW 1

    ...

  6. #6
    Registriert seit
    08.04.2008
    Ort
    Köln
    Beiträge
    844
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Standard

    Hallo Eddy,

    versuch dann mal:

    Code:
    L   PY 195
    T   DL 0
    
    L   PY 194
    T   DR 0
    
    L   PY 193
    T   DL 1
    
    L   PY 192
    T   DR 1
    Grüße
    Gebs

    [Edit]
    Swappen ist das Vertauschen der Low und High-Bytes
    [/Edit]

  7. #7
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von Gebs Beitrag anzeigen
    Hallo Eddy,

    die Formate KG und Real (IEEE) unterscheiden sich in der Basis. KG hat als Basis die 2 und
    Real hat als Basis die Eulerzahl.
    Liest Du die Werte mit L PED aus?

    Wenn Du dann auch bei Format KG keine vernüftigen Werte bekommst, dann versuche mal die
    Worte und Bytes zu swappen. Vllt. klappt es dann.

    Grüße
    Gebs
    Das stimmt so nicht. Beide sind binärbasiert, sie unterscheiden sich in der Größe des Exponenten (Stellenzahl) und in der Normierung (implizite führende 1 oder nicht). Mehr zum KG-Format ist in den Berger-Büchern zu den großen S5en nachzulesen. Den Aufbau der IEEE-Zahl gibt es im Internet.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  8. #8
    Registriert seit
    08.04.2008
    Ort
    Köln
    Beiträge
    844
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Standard

    @Rainer:
    Ich hab's etwas verkürzt dargestellt. Im Endeffekt ist es aber so.
    KG : Vorzeichen * Mantisse * 2 ^ Exponent
    Real: Vorzeichen * Mantisse * e ^ Exponent

    Natürlich gibt es auch noch weitere Unterscheide.

    Grüße
    Gebs

  9. #9
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Das stimmt nicht. Es wird in der Darstellung oft e für Exponent verwendet, dies hat aber nichts mit unserem Freund Euler zu tun.

    Bitfolge 31 ....0

    Vorzeichen (VZ) : Bit(31)
    Exponent (e) : Bit 23-30 Wertebereich 0-255
    Mantisse (f) : Bit 0 - 22 Wertebereich 2^-1 ..2^-23

    Eine normalisierte Real Zahl wird wie folgt dargestellt VZ * (1,f) * 2 ^ (e-127)
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  10. #10
    Registriert seit
    08.04.2008
    Ort
    Köln
    Beiträge
    844
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Stimmt. Ich weiss auch nicht wieso sich Euler bei mir festgesetzt hat .

Ähnliche Themen

  1. Gleitkommazahl in INT darstellen
    Von taylor1982 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 01.02.2011, 20:32
  2. Gleitkommazahl auf MP 277 10" Key
    Von DerPate im Forum HMI
    Antworten: 10
    Letzter Beitrag: 07.01.2011, 07:36
  3. integer 32Bit in integer 16 Bit wandeln
    Von slk230-power im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 09.11.2009, 22:35
  4. B&R: Gleitkommazahl verwenden
    Von fighter im Forum Sonstige Steuerungen
    Antworten: 4
    Letzter Beitrag: 09.10.2008, 22:10
  5. Umwandlung Integer(32bit) in Integer(16bit)
    Von Kojote im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 18.08.2005, 10:56

Lesezeichen

Berechtigungen

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