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
    163
    Danke
    36
    Erhielt 10 Danke für 9 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
    Zitieren Zitieren Aus BYTE ASCII in String  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.201
    Danke
    389
    Erhielt 2.296 Danke für 1.910 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
    163
    Danke
    36
    Erhielt 10 Danke für 9 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

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.201
    Danke
    389
    Erhielt 2.296 Danke für 1.910 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
  •