String bearbeiten

SCLNewbie

Level-1
Beiträge
42
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich lese mit dem SFB52 die Seriennummer einer Baugruppe aus. Das sind 15 Bytes, davon wandle ich jedes BYTE in einen CHAR um und setze
diese mit Hilfe des CONCAT-Befehls zu einem STRING zusammen. Das funktioniert soweit auch, nur reserviert das Programm die ersten 2 BYTE's vor meinem eigentlichen STRING laut Step 7 Hilfe für einen sogenannten "Kopf". Da ich den STRING nur mit der Seriennummer im Programm weiterverwenden möchte, muss der "Kopf" abgeschnitten werden. Wie mache ich das?...ich habs auch schon mit RIGHT(IN:=...,L:=...) bzw. LEFT(IN:=...,L:=...) versucht, das hat leider nicht funktioniert. Vielen Dank!
 
Wenn du in Step7 einen String verwenden willst, dann sind nun mal die 2 Kopfbyte da, die gehören in Step7 zum String. Wenn du ohne diesen Kopf arbeiten willst, dann hast du 15 Byte, die du nutzen kannst. Im einfachsten Fall kopierst du die 15 Byte in ein Array of Char mit der Länge 15 und arbeitest dann mit diesem Array. Left und Right können ja den Kopf nicht wegschneiden, denn es sind Stringfunktionen und die arbeiten nur mit Step7-Strings, also mit Kopf.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo SCLNewbie, wenn Du in SCL mit einem String arbeitest, was dort noch relativ kompfortabel geht, dann merkst Du diese 2 Kopfbyte doch eigentlich gar nicht. Zumindest solange Du mit Funktionen arbeitest, die für Strings vorgesehen sind. Willst Du es irgendwo anders hin übergeben, wo diese Kopfbytes doch stören, dann kommt das ARRAY OF CHAR in Betracht. Dann brauchst Du natürlich nicht erst Deine Bytes in Char wandeln und in String zusammenfügen, um sie danch wieder in ein Array zu kopieren, sondern kannst sie auch gleich in das Array einlesen.
 
.
Quick-and-dirty-Solution:
Einfach deine 15 Bytes aus dem String (2+15Byte=17Byte) ab dem 3.Byte rauskopieren, die ersten beiden Bytes (Kopf) bleiben, wo sie sind.
 
Zurück
Oben