Jump to content

Empfohlene Beiträge

Geschrieben

Hallo,

BahnLand hatte ja mit seinem Ablaufberg eine grandiose Idee, die mich inspiriert hat, das mal mit VB-Script unterstützung zu versuchen.
Ziel war eigentlich eine minimale EV, ich bin aber daran gescheitert, das Wagenende über die Schnittstelle zu dedektieren ( in der EV-zusatzbedingung wird ja geprüft, od der gesamte Wagen das gleis verlassen hat ). Das Schnittstellenkommando "350;0; >gleis<" gibt nur Fahrzeuge zurück deren MITTE sich auf (über) dem gleis befindet.
Also musste ich einen Mix aus EV und VB-Script verwenden.

Zum starten des Ablaufs wird der Variable "eselsrücken" der Name der Schublok übergeben; das VB-Programm sendet dann die Belegung von _testgleis an die Variable "Ablaufberg".
In einer EV-Schleife wird geprüft ob der Wagen das _testgleis verlassen hat und wenn ja in die Variable eselsrücken "Dummy" geschrieben.
Das VB-Programm erzeugt daraufhin eine Dummylok ( Easys Messlok, die hat die "Länge" 0 ), diese wird auf das Gleis "_trenner" (unmittelbar hinter _testgleis) gesetzt, erhält den Namen des Wagens (mit vorangestellten "#") und eine evtl vorhandene Objektvariable des Wagens mit Namen ".gleis".
( In der Objektvariable ist das Zielgleis der Gleisharfe hinterlegt )
Am Gleisende ist eine Sperrweiche eingebaut, wenn der einfahrende Wagen diese betritt (genaueres siehe EV) wird eine Variable "Dummy_löschen" mit dem Namen der Dummylok
beschrieben und das VB-Programm löscht diese wieder.

Die Wagen können Ihren Orginalnamen behalten, nur Doppelte müssen umbenannt werden ( Zahl hintendran reicht ) Eindeutigkeit-> das ist aber nichts Neues.

Also: Programm "Ablaufberg die zweite" starten, EXE Ablaufberg starten ( oder wer hat/will das MV Studio ), mit Schalter Lok einschalten und zusehen :) .

Übrigens: Im VB-Script ist die Unsichtbakeit der Dummys auskommentiert- Absicht :P

Gruß ~ Lutz

Ablaufberg_die_zweite.mbp

MBS-Ablaufberg.zip

Geschrieben

Hallo Lutz,

... ich bin zwar momentan an einem PC ohne  MBS... aber...

... ich finde die Idee mit der "temporären" Entkupplungslok sehr gelungen...
... braucht man sich schon mal keine Gedanken darüber machen, wie man sie wieder an eine Ausgangsposition zurückbringt und wie viele denn eigentlich (wo) benötigt werden...

... ich werde es mir auf jeden Fall später noch an einem PC mit MBS anschauen...

Noch ein kleiner Hinweis:
wenn Du in VB statt z.B.
Send_Command("105;#" & inhalt_alt & ";" & u & ";" & v & ";" & w)
... dies hier schreibst...
Send_Command(String.Join(";","105","#" & inhalt_alt,u,v,w))
... kannst Du Dir einiges an & ";" & ersparen...

Gruß
EASY

Geschrieben (bearbeitet)

Hallo Lutz,

habe mir nun mal Deinen "Ablaufberg die zweite" angeschaut.

Gut gemacht! Vor Allem das Sortieren nach bestimmten Wagengruppen sieht gut aus.

Viele Grüße
BahnLand

 

Bearbeitet von BahnLand
Geschrieben

hallo Lutz,

da reicht kein "gefällt mir" da muss man schon was schreiben.
das ist ne tolle lösung, man könnte damit sogar einzelne wagen aus dem verbund ziehen.

echt spitze

vg quackster 

Geschrieben

Hallo,

@Alois63:

Nach laden der Anlage im MBS muss noch die MBS-Ablaufberg.exe gestartet werden. Die befindet sich im zip-Paket.
Dazu muss das entpackt werden: Doppelklick, dann im sich öffnenden Fenster alle Dateien extrahieren anklicken und im sich dann öffnenden Fenster
extrahieren. Im neu erzeugten Ordner findest Du dann die .exe.

@Quackster, alle

Sorry, habs vergessen zu schreiben: In V2 ist noch ein Wagenzähler, der benutzt werden kann, Ablaufgruppen zu bilden:
das VB-Programm erzeugt ja nur eine Dummylok, wenn die EV das "sagt" (die Variable "eselsrücken" mit "Dummy" beschrieben wird).

Beispiel: --Folgt--

Gruß ~ Lutz

Geschrieben

Geschafft :)

hat doch länger gedauert, bis ich es hatte: Die Tankwagen ( als Beispiel ) bleiben zusammen.
Mit Drei neuen Ereignissen und zwei Modifizierungen in der EV - das VB-Programm bleibt unverändert - ist es jetzt möglich, Rangiergruppen zu bilden.

Dazu wird in der (Wagen)Objektvariable .gleis ein Wert >11 geschrieben (11 geht auch macht aber keinen Sinn), der in der Variable gruppentest (-10) gespeichert wird-
der Rest (im Beispiel 3) ist die anzahl der zusammenbleibenden Wagen.
Es ist notwendig, im Ordner Sortieren noch den Wert nachzutragen ( ein ereigniss zu erzeugen ), wenn die Rangiergruppe in ein bestimmtes Sammelgleis geleitet werden soll ( fährt Standartmässig sonst in Gleis 3 ).

Gruß ~ Lutz

Ablaufberg_die_zweite_v3.mbp

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