-> Hier kostenlos registrieren
Hallo erstmal,
ich habe ein Problem bei der Konvertierung von KeyDaten (Bytes) in String.
Ich lese im TIA (V15) ein 128 Byte grossen Addressbereich ein. Dort liegen die Daten eines E-Keys.
Unter anderem beinhaltet die Datenstruktur eine Key ID (8Bytes) und eine Benutzer ID (7Bytes).
Benutzer ID:
Byte1 := 16x31 | ergibt CHR(31) = "1"
Byte2 := 16x30 | ergibt CHR(31) = "0"
Byte3 := 16x30 | ergibt CHR(31) = "0"
Byte4 := 16x32 | ergibt CHR(31) = "2"
Byte5 := 16x30 | ergibt CHR(31) = "0"
Byte6 := 16x30 | ergibt CHR(31) = "0"
Byte7 := 16x33 | ergibt CHR(31) = "3"
Die Benutzer ID wird also als Charakter aus dem Wert des Bytes generiert und soll am Ende "1002003" ergeben.
Die Key ID :
Byte1 : 16x31 | ergibt "31"
Byte2 : 16x2B | ergibt "2B"
Byte3 : 16x00 | ergibt "00"
Byte4 : 16xA4 | ergibt "A4"
Byte5 : 16x06 | ergibt "06"
Byte6 : 16x14 | ergibt "14"
Byte7 : 16xB0 | ergibt "B0"
Bei der Key ID wird also nicht das ASCII Zeichengesucht, sondern der hinterlegte HEX Wert soll als String
die Zeichenfolge "312B00A40614B0" ergeben.
Habe die ganze Nacht alle Konvertierungsbefehle und Bausteine in KOP und SCL durchgetestet, bin wohl zu müde oder zu untalentiert
Die BenutzerID habe ich noch hinbekommen (sehr umständliches zusammenbauen von Strings - gefiel mir am Ende nicht wirklich):evil:
(Zu meiner Verteidigung: ich programmiere eigentlich im Bereich C++ und C# ... und ehrlich .... was man im SPS Bereich an Werkzeug (Befehlen)
zur Verfügung gestellt bekommt - auweia, ganz schön mager - Die ganze Funktion wäre in C# ein Fünfzeiler ...oder habe ich nicht die richtigen Bausteine gefunden???)
Also, falls mir da jemand auf die Sprünge helfen kann - mein ewiger Dank wird Dir gehören!
In dem Sinne
Gruss an die Gemeinde
ich habe ein Problem bei der Konvertierung von KeyDaten (Bytes) in String.
Ich lese im TIA (V15) ein 128 Byte grossen Addressbereich ein. Dort liegen die Daten eines E-Keys.
Unter anderem beinhaltet die Datenstruktur eine Key ID (8Bytes) und eine Benutzer ID (7Bytes).
Benutzer ID:
Byte1 := 16x31 | ergibt CHR(31) = "1"
Byte2 := 16x30 | ergibt CHR(31) = "0"
Byte3 := 16x30 | ergibt CHR(31) = "0"
Byte4 := 16x32 | ergibt CHR(31) = "2"
Byte5 := 16x30 | ergibt CHR(31) = "0"
Byte6 := 16x30 | ergibt CHR(31) = "0"
Byte7 := 16x33 | ergibt CHR(31) = "3"
Die Benutzer ID wird also als Charakter aus dem Wert des Bytes generiert und soll am Ende "1002003" ergeben.
Die Key ID :
Byte1 : 16x31 | ergibt "31"
Byte2 : 16x2B | ergibt "2B"
Byte3 : 16x00 | ergibt "00"
Byte4 : 16xA4 | ergibt "A4"
Byte5 : 16x06 | ergibt "06"
Byte6 : 16x14 | ergibt "14"
Byte7 : 16xB0 | ergibt "B0"
Bei der Key ID wird also nicht das ASCII Zeichengesucht, sondern der hinterlegte HEX Wert soll als String
die Zeichenfolge "312B00A40614B0" ergeben.
Habe die ganze Nacht alle Konvertierungsbefehle und Bausteine in KOP und SCL durchgetestet, bin wohl zu müde oder zu untalentiert
Die BenutzerID habe ich noch hinbekommen (sehr umständliches zusammenbauen von Strings - gefiel mir am Ende nicht wirklich):evil:
(Zu meiner Verteidigung: ich programmiere eigentlich im Bereich C++ und C# ... und ehrlich .... was man im SPS Bereich an Werkzeug (Befehlen)
zur Verfügung gestellt bekommt - auweia, ganz schön mager - Die ganze Funktion wäre in C# ein Fünfzeiler ...oder habe ich nicht die richtigen Bausteine gefunden???)
Also, falls mir da jemand auf die Sprünge helfen kann - mein ewiger Dank wird Dir gehören!
In dem Sinne
Gruss an die Gemeinde