Jump to content

Externe Steuerung Gruppen


Eisbär
 Share

Recommended Posts

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

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

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

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 by EASY
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...