Jump to content

Ereignisse anzeigen - Werte abfragen


Empfohlene Beiträge

Hallo,

nachdem es hier http://www.3d-modellbahn.de/forum/thema/3606 etwas Thema war, habe ich ein kleines VB-Projekt für Schnittstellenversuche etwas umgeschrieben (deshalb noch der Name).

Da ein Bild mehr sagt als Worte erst einmal das Bild:

Mbs-schnellversuche.jpg

... nun, es ist jezt zwar nicht der gewünschte "Debugger" für die Ereignisverwaltung, aber ich denke für den Anfang kann man schon etwas damit anfangen um zu sehen, ob etwas geschaltet wird oder auf welchem Wert eine Variable steht oder eine Lokgeschwindigkeit abfragen oder...

Bei Kommando eingeben, kann ein Kommando gemäß der Beschreibung der Schnittstelle in der WIKI eingegeben werden.

Darunter befindet sich ein Ausgabefenster in dem das Kommando rot angezeigt wird und darunter schwarz, die Antwort.

Beispiel: ID 60 (alle Variablen abfragen) wurde gesendet. -> Antwort 1;VH;2 => Kommando senden erfolgreich=1 ; Name der Variable=VH; Wert der Variable=2 (ich hatte nur eine Variable) sonst würde die Antwort erweitert auf ;Name2;Wert2;Name3;Wert3...

(Würde z.B. - 61;VH - gesendet, dann würde nur die Variable "VH" abgefragt und der Rückgabewert wäre- 1;2 - (Kommando senden erfolgreich=1; Wert von VH=2)

... darunter wurde ID 370 Gesendet zur Abfrage der Lokgeschwindigkeit von "Lok1" (Antwort ist glaube ich eindeutig...)

Wenn die Antwort mit  -0- beginnt, dann liegt ein Fehler vor... nicht vergessen das Trennungszeichen ist ein ";"  (ich mache immer noch gelegentlich ein "," ...)

Kommandos zur Abfrage von Werten können jederzeit angesendet werden!

Die Ereignisse, die angezeigt werden sollen, können unten ausgewählt werden (z.B. ID151 Zug verläßt ein Gleis wird nicht angezeigt, da abgewählt)

Beispiel lesen:

210;Start;1 (ID210=Steuerobjekt Wert hat sich geändert) -> Schalter "Start" wurde auf "1" geschaltet.

60;VH;2 (ID60=Variable wurde geändert) -> Variable "VH" wurde der Wert 2 zugewiesen.

50;Vorheizen (ID50=Contdown wurde beendet) -> der Countdown "Vorheizen" ist abgelaufen

200;Signal1;1 (ID200=Signal schaltet) -> "Signal1" wurde auf "1" geschaltet.

... den Rest könnt Ihr dann schon lesen... (siehe WIKI).

... wie gesagt nicht ganz die Wunschvorstellung, aber vielleicht hilft es etwas den einen oder anderen Fehler in der Ereignisverwaltung zu finden...

Das Fenster kann minimiert werden (Aufzeichnung geht trotzdem) und natürlich auch zusammengeschoben oder vergrößert werden...

In der .zip ist das VB-Projekt und wer sich damit nicht beschäftigen möchte / kann... die .exe auch mit dabei.

Gruß

EASY

Mbs-clients-1.0-fuer-schnellversuche.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo EASY,

ist es so auch möglich zu kontrollieren ob bestimmte Ereignisse in der EVW aktiviert/deaktiviert sind (weiß nicht ob die Schnittstelle da was hergibt)?
Wäre es möglich die Ausgabe statt mit ID mit einem Klartext auszugeben, dann könnten auch Leute komplett ohne Wissen der Schnittstelle die Ausgabe "lesen"

Ist aber auf jeden Fall eine super Arbeit, muss doch mal das Studio installieren und mich mit dem ein oder anderen Projekt auseinander setzen.

 

Gruß
MarkoP

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo MarcoP,

... die Schnittstelle hat keinen direkten Zugriff auf in der EVW (eingertagenen) Ereignisse. So ist die Abfrage ob ein Ereignis aktiviert/deaktiviert ist nicht möglich.

Die ID in Klartext umsetzen ist zwar möglich und würde die "Lesbarkeit" verbessern, aber innerlich sträubt sich bei mir etwas dagegen.

Ereignisse werden zwar von Anwender aus passiv angezeigt, aber manches was sonst noch interessant sein könnte, kann nur über Kommandos abgerufen werden und da wird es mit dem Übersetzen schon etwas schwieriger, da das einzugebende Kommando (aktive Eingabe des Anwenders) "in Gedichtform" doch etwas lang werden könnte [ z.B. "Liefert eine Liste der Namen aller Objekte auf der Anlage zurück" und da Kurzformen oder Abkürzungen vorgeben, möchte ich nicht] . Und ein "Mischmasch" ist nicht so mein Ding...

... so würde ich es doch lieber dem Anwender überlassen, durch "geeignete" Namensgebung auf die Art des Objektes und somit auf das Ereignis zu schließen (macht auch für die EVW einen gewissen Sinn)... und die Ereignisse, in denen nur ein allgemeiner Name vorkommt (z.B. Gleisnummer aus dem Katalog) sind ohnehin (meist) ohne Interesse...

Gruß

EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 7 Monate später...

Hallo derus,

... danke für die nette Rückmeldung... es freut mich zu hören, daß das Programm Dir geholfen hat einen Fehler in der Ereignisverwaltung zu finden.

Ohne Rückmeldung ist es manchmal schwer zu entscheiden, ob man etwas "nützliches" geschaffen hat und man sich Gedanken über eine Weiterentwicklung machen soll...

Gruß

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...