Ich habe eine Esera Station200, welche ja einen 1wire-Controller beinhaltet. Dieser ist in IPS als serial port verbunden und liefert die 1wire-Daten zur weiteren Verarbeitung.
Nun war es mein Gedanke, dass ich über ein Skript und den Befehl „SPRT_SendText“ auch Befehle senden und die entsprechenden Antworten erhalte.
Als Beispiel die Systeminformationen auslesen:
SPRT_SendText(34253, "GET,SYS,INFO");
Im Debug des serial port wird das auch als Transmit angezeigt, es kommt jedoch keine Antwort.
Wo ist mein Denkfehler? Funktioniert das überhaupt so?
Da muss - glaube ich - dann noch CR und LF am Ende gesendet werden.
Blöde Frage, aber wie kann ich die ASCII-Zeichen CR und LF schreiben? Wie müsste dann mein Text aussehen oder zusammengesetzt sein?
Nall-chan
Gibt doch ein fertiges Modul.
Kannst du nicht über die darin enthaltenen Instanzen deine Befehle senden?
Michael
Es gibt viele Instanzen, die ich auch nutze. Ich brauche aber mindestens einen Befehl, den ich sonst über das Configtool des Controllers absetze. Und das wollte ich gerne direkt in IPS machen.
Es ist keine gute Idee in die Kommunikation einzugreifen, wenn da hinter andere Instanzen hängen.
Sicher das deine Befehle nicht auch z.b. über den Splitter gesendet werden können; es also dort passende PHP-Befehle gibt?
Michael
Ein Splitter hängt dazwischen, das ist richtig. Dort könnte der Befehl auch eingespielt werden. Wenn ich das mit einem vergleichbaren Befehl aus einer Instanz tue, dann erscheinen dort die Nachrichten FWD, Bufferin, Bufferout, Data, Sendtodevice…
Auch wenn es dem Profi vielleicht kühn erscheint, ich habe doch direkt auf dem serial port den Befehl gesetzt. Dabei war nur noch der CR als \r notwendig.