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

Ergebnis 1 bis 5 von 5

Thema: String in einer DB nach Integer wandeln

  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 in eine Integer-Zahl wandeln.
    Der String liegt bei mir in DB20 ab Position 8 mit 4 Bytes Länge.

    Ich habe herausgefunden, dass ich dazu den FC38 nehmen kann.
    Nur wie bekomme ich die Daten in den FC38

    in "C" wäre das:

    st[0] = db20.DBB 8
    st[1] = db20.dbb 9
    st[2] = db20.dbb 10
    st[3] = db20.dbb 11

    dann FC38 mit st füttern und das Ergebnis auslesen.

    Wie aber setze ich st zusammen in AWL.

    Kann mir jemand helfen ?

    noeppkes ...
    Zitieren Zitieren String in einer DB nach Integer wandeln  

  2. #2
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Guten Morgen,

    du mussst dir über das Format des Strings im klaren sein bevor du den wandelst. Wenn du den FC38 im Werkzeugkasten auswählst und dann F1 drückst, bekommst du die Hilfe dazu. Den String wirst du wohl symbolisch am einfachsten anbinden können.

    Am besten du postet mal den Aufbau des Strings im DB, dann können dir schon mehr Leute Info´s bringen.

    Gruß, pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  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 ganze verstehe ich leider nicht. Ich bin leider noch Anfänger.

    Mein DB20 wurde wie folgt angelegt:

    Name: COMMENT Type: Array [0 ... 1023]

    In den Bytes von 8 ... einschl. 11 steht nun ein ASCII-String.
    z.B.:

    0327

    Diesen möchte ich nun in eine Integer-Zahl wandeln.
    Da stehe ich vor folgendem Problem:

    Wie bekomme ich die Bytes ausgeschnitten und wie übergebe ich diese dann dem (ich glaube) FC38.

    Ich habe das ganze folgendermaßen probiert, jedoch ohne Erfolg:


    Code:
     
          CALL  "BLKMOV"
           SRCBLK :="RCV_DB_A".COMMENT[8]   //"RCV_DB_A".comment[8] byte 4
           RET_VAL:="BLKMOV_ERROR"
           DSTBLK :=#HS_IR_Code
     
           CALL  "STRNG_I"
           S      :=#HS_IR_Code
           RET_VAL:="IR_Nummer"
    IR_Nummer ist hierbei global angelegt als Integer,
    #HS_IR_Code ist als Temp (String[20]) im OB1 angelegt.

    Kann mir jemand helfen ?

    noeppkes ...
    Zitieren Zitieren String in INT wandeln ?  

  4. #4
    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

    Probiere es mal so:

    Code:
          CALL  SFC   20
           SRCBLK :=P#DB20.DBX8.0 BYTE 4    // //"RCV_DB_A".comment[8] byte 4
           RET_VAL:=#RetVal
           DSTBLK :=P#DB20.DBX1026.0 BYTE 20
    
          L     4                     //4 Zeichen Länge
          T     DB20.DBB 1024         //max
          T     DB20.DBB 1025         //aktuell
    
          CALL  FC    38
           S      :="RCV_DB_A".HS_IR_CODE
           RET_VAL:=#IR_Nummer
    In deinem DB20 ab DBB1024: HS_IR_CODE STRING[20] ''
    Oder auch in einem beliebigen anderen DB. Nur wenn in Byte 0 und 1 des Strings HS_IR_CODE auch etwas > 0 eingetragen ist, arbeitet der FC38.
    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
    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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Ralle,

    das sieht gut aus.
    Ich werde es heute abend gleich probieren.
    Danke schon mal im voraus.

    (Es kann doch so einfach sein, wenn man es weiss)

    noeppkes ...
    Zitieren Zitieren Danke Ralle  

Ähnliche Themen

  1. integer 32Bit in integer 16 Bit wandeln
    Von slk230-power im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 09.11.2009, 22:35
  2. FC16 Integer in String wandeln
    Von peraho im Forum Simatic
    Antworten: 27
    Letzter Beitrag: 09.04.2009, 08:05
  3. von Real nach Integer wandeln
    Von tuppes38 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 27.09.2005, 18:41
  4. Real nach Integer wandeln
    Von paula23 im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 14.06.2005, 22:53
  5. Integer nach String umwandeln
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 04.07.2004, 13:42

Lesezeichen

Berechtigungen

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