ich habe einen Stromzähler eHZ Generation N, welchen ich über IR auslesen kann. An der IR Schnittstelle liegt das SML Protokoll an. Dieses möchte ich in IPS auswerten.
Dazu habe ich einen Serial Port, einen Cutter und eine RegVar erstellt. Das Zielscript wird jedoch nur ausgelöst, wenn ich die RegVar direkt mit dem SerialPort verbinde. Wenn ich den Cutter dazwischenhänge, wird das Zielscript nicht ausgelöst und der Debug der RegVar bleibt leer.
Beim Cutter habe ich folgende Einstellungen:
feste Schnitte
Eingabelänge 332
Sync-Zeichen: 31 42 31 42 31 42 31 42 HEX
Timeout 200ms
Im Debug des Cutters sehe ich „BUFFER“ und „RECEIVED“ Meldungen.
Irgendwo scheint da noch der Wurm drin zu sein. Kann mir diesbezüglich jemand weiterhelfen?
Ich nehme alles zurück und behaupte das Gegenteil.
Den Cut muss ich bei der Sequenz „1B 1B 1B 1B“ machen. Also dachte ich, ich wandel das mal schön in Hex um und daraus wird „31 42 31 42 31 42 31 42“. Einmal zu viel gehext …
Ich probiere dann mal, den String vernünftig zu zerlegen.
Weshalb hast du das „1B“ in „31 42“ umgewandelt? Wenn der Cutter 1B erkennen soll musst du auch 1B angeben! So hast du aus 4byte ja 8 Byte gemacht und als ASCII. Gruß Tommy
Ich habe es nicht umgewandelt. Wenn ich den Cutter neu anlege und als Synczeichen „1B1B1B1B“ eingebe (ohne Haken bei HEX) und auf „Setzen“ und übernehmen klicke, dann erscheint beim nächsten Öffnen der Einstellungen „31 42 31 42 31 42 31 42“ mit dem Haken bei HEX.
„76“ ist ein String aus zwei Byte; den Bytes 0x37 und 0x36.
Du möchtest aber ein Zeichen mit dem Byte 0x76 suchen.
Dann musst du auch chr(0x76) schreiben oder „\x76“ oder einfach „v“. Das ist alles identisch und entspricht einen String mit einem Byte welches das Zeichen ‚v‘ == 0x76 enthält.