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

Ergebnis 1 bis 9 von 9

Thema: ARRAY OF BYTE in STRING

  1. #1
    Registriert seit
    25.01.2012
    Beiträge
    125
    Danke
    28
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo miteinander,

    ich möchte gerne ein Array, bestehend aus 8 Byte, in einen STRING umwandeln.

    Soll heißen:

    Aus dem Array: [0] := 16#01, [1] := 16#02, [2] := 16#03 ... [7] := 16#FF
    Soll der String werden: '01.02.03.04.05.06.FF'

    Die Punkte ('.') zwischen den einzelnen Bytes werde ich dann mit der INSERT-Funktion einfügen, allerdings stehe ich gerade auf dem Schlauch überhaupt erstmal in diese Form zu kommen: '010203040506FF'
    Gibt es da irgendwelche fertigen Funktionen von TwinCAT oder wie lässt sich das umsetzen?
    BYTE_TO_STRING wandelt das Byte leider nicht so wie ich es möchte (16#0A --> '10', ich möchte aber '0A')

    Viele Grüße
    TimeOUT
    Software:
    STEP 7 5.5 + SP4 + HF6
    TIA Portal V13 SP1 Update 4
    TwinCAT V3.1
    Hardware:
    S7-400 CPU 414-3 PN/DP
    CPU 1516-3 PN/DP
    CX5020-0110
    Zitieren Zitieren ARRAY OF BYTE in STRING  

  2. #2
    Registriert seit
    14.03.2013
    Ort
    Norderstedt
    Beiträge
    28
    Danke
    0
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Moinsen,

    schau mal in die Bibliothek Tc2_System die Funktion F_CreateAmsNetId, ich glaube das ist genau das was du suchst.
    Definition Hobby: Mit möglichst viel Aufwand möglichst wenig erreichen!

  3. #3
    TimeOUT ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.01.2012
    Beiträge
    125
    Danke
    28
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi,

    danke für den Tipp, doch leider Nimmt die Funktion nur ein ARRAY [0..5] OF BYTE an

    Hintergrund der ganzen Geschichte ist, dass ich diesen String dann über FB_FilePuts in ein Textfile schreiben möchte.
    Ich denke da wird er meckern, wenn ich einen anderen Typ als STRING übergeben würde.

    Sorry, das hatte ich vorher vergessen zu erwähnen
    Software:
    STEP 7 5.5 + SP4 + HF6
    TIA Portal V13 SP1 Update 4
    TwinCAT V3.1
    Hardware:
    S7-400 CPU 414-3 PN/DP
    CPU 1516-3 PN/DP
    CX5020-0110

  4. #4
    Registriert seit
    03.12.2013
    Ort
    Bremen
    Beiträge
    165
    Danke
    13
    Erhielt 15 Danke für 15 Beiträge

    Standard

    Moin,

    zur not wandel doch die einzelnen Bereiche in einen String und Verbinde diese dann mit CONCAT =)

    Mfg Hendrik

  5. #5
    TimeOUT ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.01.2012
    Beiträge
    125
    Danke
    28
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Das habe ich mir auch schon überlegt, aber bei der Wandlung von BYTE_TO_STRING brauch cih immer 2 Zeichen.

    Ich wollte mir dazu ein Funktion schreiben, allerdings geht das so nicht ganz:

    Code:
    FUNCTION CBYTEARRAY_TO_STRING : STRING
    VAR_INPUT
    	BYTEARRAY: ARRAY [0..7] OF BYTE;
    END_VAR
    VAR	
    	i: 			USINT;
    	sTemp: 		STRING := '';
    
    
    END_VAR
    
    -----------------------------------
    
    FOR i := 0 TO 7 BY 1 DO
    	sTemp := CONCAT(STR1 := sTemp, STR2 := BYTE_TO_STRING(BYTEARRAY[i],'%02x');  
    END_FOR;
    CBYTEARRAY_TO_STRING := sTemp;
    MIt '%02x' will ich ihm sagen, dass er 16#08 nicht zu 8 sondern 08 wandeln soll. Aber das funktioniert so nicht
    Aber das Problem bei der Wandlung von BYTE_TO_STRING bspw. 16#0A --> 10 besteht ja weiterhin...
    Software:
    STEP 7 5.5 + SP4 + HF6
    TIA Portal V13 SP1 Update 4
    TwinCAT V3.1
    Hardware:
    S7-400 CPU 414-3 PN/DP
    CPU 1516-3 PN/DP
    CX5020-0110

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Hast du mal Byte_to_HexStr versucht ?

    Gruß
    Larry

  7. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    TimeOUT (12.08.2015)

  8. #7
    TimeOUT ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.01.2012
    Beiträge
    125
    Danke
    28
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Super!

    Genau das habe ich gebraucht.
    Danke an alle
    Software:
    STEP 7 5.5 + SP4 + HF6
    TIA Portal V13 SP1 Update 4
    TwinCAT V3.1
    Hardware:
    S7-400 CPU 414-3 PN/DP
    CPU 1516-3 PN/DP
    CX5020-0110

  9. #8
    Registriert seit
    03.12.2013
    Ort
    Bremen
    Beiträge
    165
    Danke
    13
    Erhielt 15 Danke für 15 Beiträge

    Standard

    Hey ich benötige diese Funktion gerade zwar nicht.

    Wollte das gerade auf bei TwinCat 2 ausprobieren und der Kennt kein BYTE_TO_HEXSTR.

    muss man bei TwinCat 2 irgendwas anders machen?


    MfG Hendrik

  10. #9
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ... dder steht bei mir aber in der TC2_Utilities - sollte also unter TC2 auch vorhanden sein ...

Ähnliche Themen

  1. Einen String in ein großes Array of Byte eintragen.
    Von Ralle im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 03.02.2015, 10:16
  2. TIA String aus Byte-Array erstellen (S7-1500)
    Von Beckx-net im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 20.07.2013, 14:54
  3. Array of Byte in String mit Step 7 V10.5
    Von Lord Cartman im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 09.12.2010, 09:34
  4. Array of Byte to String[12] ,S7
    Von sb9674 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 28.09.2009, 19:15
  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
  •