ich habe mal eine Frage und stehe völlig auf dem Schlauch.
Ich habe ein Gerät das bei Bewegung seriell eine Hexidezimalen String schicken.
Diesen versuche ich nun auszuwerten.
Ich habe bereits folgendes gemacht.
I/O Instanz Serial Port angelegt
Einen Cutter angelegt und mit der Instanz verbunden
eine RegisterVariable angelegt und sowohl mit der Cutter Instanz verbunden als auch mit einem Script (was ich gerade versuche zu erstellen)
Nun zeigt sich folgendes Bild:
Wir das Gerät bewegt senden es folgenden String:
0B 00 01 00 00 01 7F6E0A 01 00 10
wobei der erste Teil das Gerät und der zweite die Bewegungsrichtung zeigt
Der String in eine andere Richtung sieht folgendermaßen aus:
0B 00 01 00 00 01 7F 6E 0A 00 00 10
Jetzt hätte ich gerne die Geräte-ID und die Bewegung in zwei Variablen abgebildet.
Ich hatte bereits ein bischen probiert aber irgendwie bekomme ich das nicht richtig hin!
Sowas kann man übrigens ohne Script mittem Text Parser auch ganz gut direkt in Variablen hauen. Aber wenns Binärdaten sind wird das nicht gehen, da man da leider nicht Hex anklicken kann.
bin jetzt etwas weiter gekommen habe nun ein weiteres Problem, vielleicht könnte mir jemand kurz einen Gedankenanstoß geben.
Ich empfange auf der seriellen Schnittstelle Binärdaten. Diese lasse ich in die Registervariable schreiben und dann mit „bin2hex“ wieder ausgeben.
Der String sieht zum Beispiel folgendermaßen aus: 0a52017bc3010072400150
Dort zeigen die ersten beiden Stellen (0a) die Länge des nachfolgenden Strings, in dem Falle also 10.
Die nächsten beiden kennzeichnen das Gerät (7b), und die vorletzten beiden (01) den Status.
Die Länge des Strings kann sich von Gerät zu Gerät unterscheiden, daher benötige ich jetzt folgendes.
Auswertung des ersten beiden Stellen und Ausgabe der Länge des Strings
Extraktion der angegebenen Stellen und Speicherung in einer Variablen