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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: String in Int. Was ist hier falsch ?

  1. #11
    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
    Danke.

    Ich werde es gleich ausprobieren.

    noeppkes ...
    Zitieren Zitieren Danke  

  2. #12
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.732
    Danke
    314
    Erhielt 1.519 Danke für 1.282 Beiträge

    Standard

    Versuchs mal so:
    Code:
          CALL  "BLKMOV"
           SRCBLK :=P#DB20.DBX8.0 BYTE 4    // //"RCV_DB_A".comment[8] byte 4
           RET_VAL:=#RetVal
           DSTBLK :=P#DB21.DBX2.0 BYTE 4
           L     20                          //4 Zeichen Länge
          T     DB21.DBB    0               //max
          L     4     
          T     DB21.DBB    1               //aktuell
          CALL  "STRNG_I"
           S      :=DB21.IR_CODE_S          //"RCV_DB_A".HS_IR_CODE
           RET_VAL:="IR_Nummer"
    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

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

    noeppkes (06.10.2007)

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

    Zitat Zitat von MSB Beitrag anzeigen
    Versuchs mal so:
    Code:
          CALL  "BLKMOV"
           SRCBLK :=P#DB20.DBX8.0 BYTE 4    // //"RCV_DB_A".comment[8] byte 4
           RET_VAL:=#RetVal
           DSTBLK :=P#DB21.DBX2.0 BYTE 4
          L     20                          //4 Zeichen Länge
         T     DB21.DBB    0               //max
         L     4     
         T     DB21.DBB    1               //aktuell
          CALL  "STRNG_I"
           S      :=DB21.IR_CODE_S          //"RCV_DB_A".HS_IR_CODE
           RET_VAL:="IR_Nummer"
    Mfg
    Manuel

    Hallo noch einmal,

    in der Zwischenzeit funktioniert die Wandlung perfekt.
    Allerdings kapiere ich nicht, wofür ich 2 * in den DB 21 schreiben muss.
    Einmal, das ist klar, ist die aktuelle Länge des Strings.
    Aber wofür ist bitte der max-Wert im DB21 ?

    noeppkes ...

  5. #14
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo noeppkes,

    schau dir mal die Beschreibung vom String an,
    in den ersten zwei Byte stehen die Informationen
    Byte 0: die maximale Länge die der String belegen darf
    Byte 1: die benutzte Länge des aktuellen Inhaltes

  6. Folgender Benutzer sagt Danke zu jabba für den nützlichen Beitrag:

    noeppkes (08.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
  •