Jump to content

Externe Steuerung Gruppen


Empfohlene Beiträge

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

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

 

Bearbeitet von EASY
Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...