Eisbär Posted April 17, 2020 Share Posted April 17, 2020 Hallo zusammen. Die Anleitung "Steuerung über externe Schnittstelle" beschreibt die Möglichkeit Befehle in Gruppen zu übertragen. Wenn ich eine einzelnes Kommand sende erhalte ich sofort eine Antwort. Bei den Gruppen sollen die Antorten beim Schließen der Gruppe nacheinander kommen. Ich kann mir aber nicht recht vorstellen wie das geht, denn beim Einzelbefehl sende ich ja das Kommand und frage danach den Stream ab um die Antwort zu kreiegen. Wie kriege ich denn die nachgelieferten Antworten aus einer Gruppe abgefragt? Leider kann ich das aus der Anleitung nicht so recht rauslesen und wäre für eine Erläuterung dankbar. VG Christian Link to comment Share on other sites More sharing options...
Neo Posted April 17, 2020 Share Posted April 17, 2020 Hallo Christian, in Pseudo-Code würde das so aussehen: // Senden der Kommandos stream.WriteLn("10"); stream.WriteLn("X"); stream.WriteLn("Y"); stream.WriteLn("Z"); stream.WriteLn("11"); // Empfangen der Antworten Antwort1 = stream.ReadLn(); Antwort2 = stream.ReadLn(); Antwort3 = stream.ReadLn(); Antwort4 = stream.ReadLn(); Antwort5 = stream.ReadLn(); Viele Grüße, Neo Link to comment Share on other sites More sharing options...
gmd Posted April 17, 2020 Share Posted April 17, 2020 Christian, Easy hat ein VB script veroeffentlcht welches gruppenkommandos liest. Suche einfach unter seinem namen grus gmd Link to comment Share on other sites More sharing options...
Eisbär Posted April 17, 2020 Author Share Posted April 17, 2020 Danke für die hilfreich Antworten! Link to comment Share on other sites More sharing options...
Eisbär Posted April 17, 2020 Author Share Posted April 17, 2020 vor 7 Stunden schrieb gmd: Easy hat ein VB script veroeffentlcht welches gruppenkommandos liest. Suche einfach unter seinem namen Hallo zusammen. Den Rat von gmd habe ich befolgt, aber den Beitrag mit dem Skript habe ich leider nicht gefunden. Also habe ich es einfach mal versucht. Das ist das Ergebnis: Ich sende Kommando10. Bleibt erartungsgemäß hängen, wenn ich versuche eine Antwort abzufragen. Ohne Anytwortabfrage geht es, also soweit alles fein. Ich sende irgendwelche Kommandos, die Rückgabewerte haben. Laut Beschreibung werden sie nicht ausgeführt, sondern bis zum Schließen der Gruppe nur eingereiht. Ist aber nicht der Fall. Wenn ich nach dem Senden eine Antwort abfrage kriege ich sie auch. Ich sende das Kommando 11. Es sollte nichts zurückliefern, tut es aber. Es liefert "0;Invalid command" Mmmhh, ich bin verwirrt. Kann jemand helfen? VG Christian Link to comment Share on other sites More sharing options...
EASY Posted April 17, 2020 Share Posted April 17, 2020 (edited) Hallo Christian, die Vorgehensweise ist etwas anders... - Kommando 10 senden (Mitteilung ab jetzt kommt eine Kommandogruppe) - Kommando A senden - Kommando B senden - .... - Kommando 11 senden (Mitteilung Ende der Kommandogruppe -> die Kommandos werden ausgeführt) - (jetzt erst (!)) die Antworten auf die Kommandos abrufen (kommen alle auf einmal) (Stapel... "readline" bis Ende) Hinweis: auch die Kommandos 10 und 11 liefern ein Ergebnis zurück (alle Kommandos, auch solche ohne Rückgabewerte liefern mindestens "1" [Ausführung erfolgreich] oder "0" [Ausführung nicht erfolgreich] zurück) Gruß EASY Edited April 17, 2020 by EASY Link to comment Share on other sites More sharing options...
Eisbär Posted April 17, 2020 Author Share Posted April 17, 2020 Hallo EASY. Ah ja jetzt. Ich habe bisher für jedes Kommando eine neue Verbidnung aufgebaut. Deshalb hat es nicht geklappt. Vielen Dank für die Hilfe. VG Christian Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now