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

Ergebnis 1 bis 5 von 5

Thema: Kleine STRING_TO_INT Problem

  1. #1
    Registriert seit
    02.08.2006
    Beiträge
    150
    Danke
    47
    Erhielt 5 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo.

    Ich habe folgenden SCL-Code:

    Code:
                   hSTRING:='';
                   bString[0]:=5;
                   bString[1]:=RCV_DB_A.DBB13;
                   bString[2]:=RCV_DB_A.DBB14;
                   bString[3]:=RCV_DB_A.DBB15;
                   bString[4]:=RCV_DB_A.DBB16;
                   bString[5]:=RCV_DB_A.DBB17;
                   bString[6] :=0;
                   wert := STRING_TO_INT(hString);
    Dabei hat der RCV_DB_A.DBB13 ... DBB17 folgenden Wert:

    32960
    Als "wert" erhalte ich dann: 32767 ??????
    Kann STRING_TO_INT nicht weiter als 32767 ?
    D.h. der Range von STRING_TO_INT ist von -32768 ... +32767
    Wenn ja, wie soll ich dann die Wandlung machen.
    Habe Werte von 0 ... 65535 die ich in einem DB als INT Wert speichern möchte.

    noeppkes ...
    Zitieren Zitieren Kleine STRING_TO_INT Problem  

  2. #2
    Registriert seit
    28.10.2005
    Ort
    Ottweiler, Saar
    Beiträge
    940
    Danke
    259
    Erhielt 124 Danke für 109 Beiträge

    Standard

    Der selbstgebaute String sollte im ersten Byte die maximale Länge, im zweiten Byte die aktuelle Länge enthalten, die abschließende 0 ist überflüssig. Oder habe ich da eben was falsch verstanden?
    Geändert von argv_user (30.10.2009 um 11:36 Uhr)

  3. Folgender Benutzer sagt Danke zu argv_user für den nützlichen Beitrag:

    noeppkes (30.10.2009)

  4. #3
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Wenn deine Zahl nun mal größer ist als der Wertebreich einer INT, dann mußt du eine DINT nutzen und auch in eine DINT wandeln! Deren Wertebereich ist entsprechend größer. Do willst Word speichern, wenn den String wandeln willst, dann "zu Fuß", indem du jede einzelne Ziffer von Char nach Int und dann zu einer Zahl wandlest. Eine Funktion String_to_Word gibt es, meines Wissens, in der Standard-Library nicht. Aber vielleicht hilft dir da die Oscat-Library weiter.
    Geändert von Ralle (30.10.2009 um 11:40 Uhr)
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    noeppkes (30.10.2009)

  6. #4
    noeppkes ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.08.2006
    Beiträge
    150
    Danke
    47
    Erhielt 5 Danke für 2 Beiträge

    Standard

    Hallo argv_usr und Ralle,

    vielen Dank.
    Dann lag ich wohl richtig, dass der Wertebereich einer INT von -32768 ... 32767 geht.
    Habe es nun "von Hand" gemacht und dann in einem DINT abgelegt.

    Danke.
    noeppkes ...

  7. #5
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von noeppkes Beitrag anzeigen
    Dann lag ich wohl richtig, dass der Wertebereich einer INT von -32768 ... 32767 geht.
    hast du fein geraten *kopftätschel*
    andere lesen sowas nach oder lernen es bei "Grundlagen der Digital- und Rechentechnik" ... jeder wie er mag ...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

Ähnliche Themen

  1. Kleine Musikempfehlung
    Von Ralle im Forum Stammtisch
    Antworten: 11
    Letzter Beitrag: 21.05.2009, 22:58
  2. Errorhandling für "STRING_TO_INT"
    Von stoecklepator im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 27.02.2009, 15:56
  3. SPS für kleine Hobbybrauerei
    Von borsti27 im Forum Elektronik
    Antworten: 74
    Letzter Beitrag: 23.02.2009, 18:30
  4. Mal ne kleine Zwischenfrage
    Von arcis im Forum Stammtisch
    Antworten: 51
    Letzter Beitrag: 27.06.2008, 19:04
  5. kleine Laptop für DOS und S5
    Von huggy im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 29.05.2008, 18:23

Lesezeichen

Berechtigungen

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