FriLu Geschrieben 17. März 2016 Geschrieben 17. März 2016 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 Gruß ~ Lutz Ablaufberg_die_zweite.mbp MBS-Ablaufberg.zip
EASY Geschrieben 18. März 2016 Geschrieben 18. März 2016 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
FriLu Geschrieben 18. März 2016 Autor Geschrieben 18. März 2016 Hallo, Danke fürs "gefällt mir" @Easy: Wieder mal was gelernt- Ich glaube, ich muss mir doch ein Buch über VB besorgen... Habs nochmal überarbeitet, Script besser kommentiert und Beschreibung in der Hilfe hinzugefügt- ich hoffe, damit kann man das Programm besser in eigene Projekte einfügen. Gruß ~ Lutz Ablaufberg_die_zweite_v2.mbp MBS-Ablaufberg2.zip
BahnLand Geschrieben 18. März 2016 Geschrieben 18. März 2016 (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 18. März 2016 von BahnLand
quackster Geschrieben 18. März 2016 Geschrieben 18. März 2016 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
FriLu Geschrieben 18. März 2016 Autor Geschrieben 18. März 2016 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 Fensterextrahieren. 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
FriLu Geschrieben 18. März 2016 Autor Geschrieben 18. März 2016 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
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden