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

Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: S5 Gleitkommazahl <-> Integer

  1. #1
    Join Date
    04.12.2007
    Posts
    58
    Danke
    5
    Erhielt 7 Danke für 4 Beiträge

    Default


    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
    Reply With Quote Reply With Quote S5 Gleitkommazahl <-> Integer  

  2. #2
    Join Date
    27.10.2005
    Location
    Schwäbisch Gmünd
    Posts
    5,629
    Danke
    698
    Erhielt 996 Danke für 809 Beiträge

    Default

    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

    Die Kritik an anderen hat noch niemandem die eigene Leistung erspart (Noël Coward)

  3. #3
    Join Date
    04.12.2007
    Posts
    58
    Danke
    5
    Erhielt 7 Danke für 4 Beiträge

    Default

    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
    Join Date
    08.04.2008
    Location
    Köln
    Posts
    846
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Default

    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
    Join Date
    04.12.2007
    Posts
    58
    Danke
    5
    Erhielt 7 Danke für 4 Beiträge

    Default

    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
    Join Date
    08.04.2008
    Location
    Köln
    Posts
    846
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Default

    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
    Join Date
    27.10.2005
    Location
    Schwäbisch Gmünd
    Posts
    5,629
    Danke
    698
    Erhielt 996 Danke für 809 Beiträge

    Default

    Quote Originally Posted by Gebs View Post
    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

    Die Kritik an anderen hat noch niemandem die eigene Leistung erspart (Noël Coward)

  8. #8
    Join Date
    08.04.2008
    Location
    Köln
    Posts
    846
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Default

    @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
    Join Date
    27.10.2005
    Location
    Schwäbisch Gmünd
    Posts
    5,629
    Danke
    698
    Erhielt 996 Danke für 809 Beiträge

    Default

    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

    Die Kritik an anderen hat noch niemandem die eigene Leistung erspart (Noël Coward)

  10. #10
    Join Date
    08.04.2008
    Location
    Köln
    Posts
    846
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Default


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

Similar Threads

  1. Step 7 Integer in Double Integer umwandeln
    By Anger in forum Simatic
    Replies: 8
    Last Post: 05.02.2015, 08:08
  2. Step 7 Gleitkommazahl
    By defender882001 in forum Simatic
    Replies: 5
    Last Post: 26.09.2013, 17:45
  3. Gleitkommazahl in INT darstellen
    By taylor1982 in forum Simatic
    Replies: 8
    Last Post: 01.02.2011, 20:32
  4. integer 32Bit in integer 16 Bit wandeln
    By slk230-power in forum Simatic
    Replies: 11
    Last Post: 09.11.2009, 22:35
  5. Umwandlung Integer(32bit) in Integer(16bit)
    By Kojote in forum Simatic
    Replies: 4
    Last Post: 18.08.2005, 10:56

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •