Jump to content

Variable als Schnittstelle zur Ereignisverwaltung...


Empfohlene Beiträge

Hallo,

... da hier im Forum schon der Gedanke von "Plugins" für das MBS aufkam, habe ich mir mal überlegt, wie man so etwas einbinden könnte.

Da Neo so nett war und nun den "Vollzugriff" auf Variablen der Ereignisverwaltung in der Schnittstelle implementiert hat, kam mir die Idee eine Variable als Schnittstelle zwischen Ereignisverwaltung und Steuerschnittstelle zu verwenden.

So ein richtiges Plugin ist es zwar nicht geworden, aber ich wollte einfach etwas anschaulich demonstrieren, wo ich die Stärke der Steuerschnittstelle sehe... darin, daß ich über die Steuerschnittstelle Dinge tun kann, die im MBS nur über Umwege (oder gar nicht) zu erreichen sind.

Dazu ist mir als Beispiel das Verladens eines Containers auf einen Wagon in den Sinn gekommen. (Ereigniswerwaltung - Zug steuern ; Steuerschnittstelle - Container bewegen)

In der Ereignisverwaltung und im VB-Projekt gibt es die Variable "VCStart". Sie ist so angelegt, daß wenn sie den Wert "0" hat, der Steuerschnittstelle signalisiert wird etwas zu tun und wenn sie den Wert "1" hat die Ereignisverwaltung darauf reagiert.

Nun, was steckt dahinter?

Der Zug ist über die Ereignisverwaltung gesteuert und macht eine Runde, um dann an einer bestimmten Stelle anzuhalten. Mit dem Setzen der Variable "VCStart" auf "0" wird der Schnittstelle signalisiert, daß die Position erreicht ist und der Container verladen werden kann (Die Ereignisverwaltung sagt, "Ich bin fertig, Du (Steuerschnittstelle) bist dran..."), über das VB-Projekt wird nun der Container verladen und die Variable auf "1" gesetzt ( (Die Steuerschnittstelle sagt, "Ich bin fertig, Du (Ereignisverwaltung) bist dran...")

... die Variabe dient also der Synchronisation zwischen Ereignisverwaltung und Steuerschnittstelle.

(Das VB Projekt erkennt von sich aus, ob der Container Be- oder Entladen werden muß und findet im entladenen Zustand die Position des Wagons....)

... prinzipiell, könnte man das VB-Projekt gänzlich ohne Bedienoberfläche gestalten... aber für Anfangsprojekte habe ich eben gerne noch die Buttons "Connect" (Verbindung herstellen) und "Disconnect" (Verbindung trennen)...

Ich hoffe mit diesem Beispiel meine prinzipielle Überlegung zum Einbinden von Plugins vermitteln zu können...

...in der .zip ist das VB-Projekt, das MBS-Projekt und die entsprechende .exe

Gruß

EASY

Beentladen-01.jpg

 

Beentladen-01.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Easy,

hier hast du ein Tor aufgemacht, hinter dem ein Füllhorn von Möglichkeiten steht. Wenn Neo jetzt noch dafür eine ''AddOn-Verwaltung'' in das MBS integriert, steht es jedem User frei, was er so Alles im Hintergrund laufen lassen will, ohne die Standard-Version zu belasten.

Gruß Seehund

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Das Prinzip ist das gleiche (einen Teil macht die Ereignisverwaltung, den anderen das VB-Skript) nur, daß die Funktionalität etwas komplexer ist.

Die ernsthaften Anlagenbauer unter Euch mögen mir verzeihen, denn es ist etwas realitätsfern. Wer mich kennt, weiß, daß ich nun einmal verspielt bin... und ich sammle eben auf diese Weise meine Erfahrungen... (Der Name ist wörtlich zu nehmen...)

...in der .zip ist das VB-Projekt, das MBS-Projekt und die entsprechende .exe

Gruß

EASY

Spar-schattenbahnhof.jpg

Spar_schattenbahnhof.zip

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