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

Ergebnis 1 bis 4 von 4

Thema: Aus BYTE ASCII in String

  1. #1
    Registriert seit
    30.07.2014
    Beiträge
    289
    Danke
    66
    Erhielt 33 Danke für 19 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich möchte gerne aus einzelnen Bytes ein String-Code erstellen. Die Zahlen in den Bytes kommen als kommunikativ in ASCII codiert.

    Rauskommen soll ein fertiger String.

    Bsp:

    Byte1 = 71
    Byte2 = 49
    Byte3 = 85

    String = 'G1U'

    Kann ich ASCII's konvertieren, oder muss ich mir hierzu eine Matrix erstellen? Ich habe leider keinen entsprechenden Befehl gefunden, Int_to_String liefert mir den normalen Hex-Wert umgewandelt wieder...

    Danke im Voraus!

    P.S.: CPU ist eine 315PN/DP
    Freundliche Grüße aus München, der Stadt mit Herz


    There are 2#10 kinds of people, those who do the work & those who take the credit.
    Zitieren Zitieren Aus BYTE ASCII in String  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.638
    Danke
    397
    Erhielt 2.379 Danke für 1.985 Beiträge

    Standard

    Hallo,
    du machst dir eine AT-Sicht auf deinen String, die dessen Inhalt z.B. als Array_of_Byte darstellt. Nun kannst du die einzelnen ASCII-Werte direkt an die passenden Stellen schreiben. Beachte aber bitte, dass hierdurch nicht automatisch der String-Header gesetzt wird (du mußt also die deklarierte Länge und die tatsächlich benutzte Länge "zu Fuß" zuweisen).

    Weißt du, wie man das umsetzt ?

    Gruß
    Larry

  3. #3
    Avatar von Münchnerjunge
    Münchnerjunge ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.07.2014
    Beiträge
    289
    Danke
    66
    Erhielt 33 Danke für 19 Beiträge

    Standard

    Hey Larry,

    mein bisheriger Code, der noch nicht geht:

    Code:
        #CODE:= CONCAT(IN1 := INT_TO_STRING(BYTE_TO_INT(#BYTE_1)), IN2 := INT_TO_STRING(BYTE_TO_INT(#BYTE_2)));
        #CODE := CONCAT(IN1 := #CODE, IN2 := INT_TO_STRING(BYTE_TO_INT(#BYTE_3)));
        #CODE := CONCAT(IN1 := #CODE, IN2 := INT_TO_STRING(BYTE_TO_INT(#BYTE_4)));
        #CODE := CONCAT(IN1 := #CODE, IN2 := INT_TO_STRING(BYTE_TO_INT(#BYTE_5)));
    Da steht ja grundsätzlich was drinnen, aber kein ASCII ('G1U') sondern besipielsweise '+31+33+35'
    Freundliche Grüße aus München, der Stadt mit Herz


    There are 2#10 kinds of people, those who do the work & those who take the credit.

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.638
    Danke
    397
    Erhielt 2.379 Danke für 1.985 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wenn du es unbedingt so machen möchtest (und nicht wie von mir vorgeschlagen) dann würde ich es in etwa so machen :
    Code:
    #CODE := ''; 
    #CODE := CONCAT(IN1 := #CODE ,  IN2 :=BYTE_TO_Char(#BYTE_1));
    #CODE := CONCAT(IN1 := #CODE ,  IN2 :=BYTE_TO_Char(#BYTE_2));
    #CODE := CONCAT(IN1 := #CODE ,  IN2 :=BYTE_TO_Char(#BYTE_3));
    #CODE := CONCAT(IN1 := #CODE ,  IN2 :=BYTE_TO_Char(#BYTE_4));
    #CODE := CONCAT(IN1 := #CODE ,  IN2 :=BYTE_TO_Char(#BYTE_5));

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 16.12.2015, 23:29
  2. word nach Ascii String
    Von tiego im Forum WAGO
    Antworten: 4
    Letzter Beitrag: 16.02.2015, 13:57
  3. TIA String aus Byte-Array erstellen (S7-1500)
    Von Beckx-net im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 20.07.2013, 14:54
  4. Word übertragen in String=ASCII
    Von Trötschi im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 26.08.2010, 07:55
  5. Antworten: 13
    Letzter Beitrag: 24.09.2009, 12:54

Lesezeichen

Berechtigungen

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