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

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

Thema: String in Int. Was ist hier falsch ?

  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 möchte einen String, der in einem DB Steht in eine INT wandeln.
    Der DB20 ist folgendermaßen angelegt:

    COMMENT ARRAY[0..1023]
    CHAR

    In den Positionen 8, 9, 10 und 11 steht jeweils ein ASCII zeichen.
    z.B.
    '4'
    '7'
    '1'
    '1'

    Diese 4 Zeichen sollen nun in ein INT gewandelt werden.
    ICh habe hierzu ohne Erfolg folgenden Code probiert.
    Code:
     
          CALL  "BLKMOV"
           SRCBLK :=P#DB20.DBX8.0 BYTE 4    // //"RCV_DB_A".comment[8] byte 4
           RET_VAL:=#RetVal
           DSTBLK :=P#DB21.DBX0.0 BYTE 4
          L     4                           //4 Zeichen Länge
          T     DB21.DBB    0               //max
          T     DB22.DBB    1               //aktuell
          CALL  "STRNG_I"
           S      :=DB21.IR_CODE_S          //"RCV_DB_A".HS_IR_CODE
           RET_VAL:="IR_Nummer"
    Der DB21 ist angelegt wie folgt:
    IR_CODE_S string[20]

    IR_Nummer ist global angelegt als INT.

    Ich bekomme aber imm eine 0 in IR_Nummer, obwohl beim betrachten des DB20 dort die Zeichen für ca. 2 Sekunden stehen.

    Kann mir jemand helfen, bevor ich verzweifle.

    Danke.

    noeppkes ...
    Zitieren Zitieren String in Int. Was ist hier falsch ?  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von noeppkes Beitrag anzeigen
    Hallo,

    ich möchte einen String, der in einem DB Steht in eine INT wandeln.
    Der DB20 ist folgendermaßen angelegt:

    COMMENT ARRAY[0..1023]
    CHAR

    In den Positionen 8, 9, 10 und 11 steht jeweils ein ASCII zeichen.
    z.B.
    '4'
    '7'
    '1'
    '1'

    Diese 4 Zeichen sollen nun in ein INT gewandelt werden.
    ICh habe hierzu ohne Erfolg folgenden Code probiert.
    Code:
     
          CALL  "BLKMOV"
           SRCBLK :=P#DB20.DBX8.0 BYTE 4    // //"RCV_DB_A".comment[8] byte 4
           RET_VAL:=#RetVal
           DSTBLK :=P#DB21.DBX0.0 BYTE 4
          L     4                           //4 Zeichen Länge
          T     DB21.DBB    0               //max
          T     DB22.DBB    1               //aktuell
          CALL  "STRNG_I"
           S      :=DB21.IR_CODE_S          //"RCV_DB_A".HS_IR_CODE
           RET_VAL:="IR_Nummer"
    Der DB21 ist angelegt wie folgt:
    IR_CODE_S string[20]

    IR_Nummer ist global angelegt als INT.

    Ich bekomme aber imm eine 0 in IR_Nummer, obwohl beim betrachten des DB20 dort die Zeichen für ca. 2 Sekunden stehen.

    Kann mir jemand helfen, bevor ich verzweifle.

    Danke.

    noeppkes ...
    Schreibfehler?
    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

  3. #3
    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,

    das verstehe ich jetzt nicht.
    Was meinst du damit.

    noeppkes ...
    Zitieren Zitieren Schreibfehler ?  

  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von noeppkes Beitrag anzeigen
    Hallo,

    das verstehe ich jetzt nicht.
    Was meinst du damit.

    noeppkes ...
    Code:
    L     4
    T     DB21.DBB    0               //max
    T     DB22.DBB    1               //aktuell
    Das hier!
    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. #5
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Zitat Zitat von noeppkes Beitrag anzeigen
    Hallo,

    das verstehe ich jetzt nicht.
    Was meinst du damit.

    noeppkes ...
    Auf wie viele Datenbausteine ist denn der eine String verteilt?

    DatenBaustein 20, 21, 22
    Geändert von zotos (05.10.2007 um 21:42 Uhr)
    If you open your Mind too much, your Brain will fall out.

  6. #6
    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 Zotos,

    der DB20 wird direkt vom CP340 beschrieben.
    Dort steht mein Eingangsprotokoll.
    Un eben in den Bytes 8 ... 11 (4 Stück) steht ein ASCII-String den ich eben in eine INT wandeln will.

    Ich hoffe ich konnte es vertändlich erklären.

    noeppkes ...
    Zitieren Zitieren String in INT wandeln.  

  7. #7
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Was treibst Du dann mit dem DatenBaustein 22? Da sollte 21 stehen!
    If you open your Mind too much, your Brain will fall out.

  8. #8
    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 Zotos,

    ich bin leider noch ein purer Anfänger.
    Das mit dem DB22 habe ich übersehen.

    Ansonsten würde es funktionieren ?
    (Ich quäle mich schon seit mehreren Stunden damit rum)

    noeppkes ...
    Zitieren Zitieren String in INT  

  9. #9
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Ich habe keine Ahnung probiere es mal aus. Ansonsten hilft Dir der Ralle gerne weiter.

    Wenn Du es Ausführlicher brauchst schreibe dazu das Du gerne einen PDF Ausdruck haben möchtest dann hilft Dir der Kai weiter.
    If you open your Mind too much, your Brain will fall out.

  10. Folgende 2 Benutzer sagen Danke zu zotos für den nützlichen Beitrag:

    argv_user (05.10.2007),noeppkes (05.10.2007)

  11. #10
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das sollte dann eigentlich gehen, wenn die Daten auch wirklich wandelbar sind und nur Ziffern als Char in den Bytes stehen.
    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

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

    noeppkes (05.10.2007)

Ähnliche Themen

  1. Antworten: 31
    Letzter Beitrag: 09.09.2011, 23:02
  2. String: Übergabe der Max Länge Falsch
    Von kai86 im Forum Simatic
    Antworten: 53
    Letzter Beitrag: 01.03.2010, 16:49
  3. Antworten: 16
    Letzter Beitrag: 14.12.2009, 15:55
  4. Flankenauswertung - Was ist hier falsch???
    Von Hardy81 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 24.06.2009, 18:10
  5. Antworten: 15
    Letzter Beitrag: 01.03.2005, 22:25

Lesezeichen

Berechtigungen

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