Zugrol Geschrieben 22. September 2016 Geschrieben 22. September 2016 Hallo MBS-Gemeinde, ich habe folgendes Problem - ich möchte für die Zug bzw. Lkw-Beladung und -Entladung meine Ladegüter nach dem Zufallsprinzip verladen. Ist es möglich mit der Funktion $_random1-4 (ergibt ja nur die Zahlen von 1-4) und z.b Ladefläche oder Ladung + Zufallszahl eine Variablen-Kombination zu machen oder hat jemand eine Lösung für mein "Problem". 1 Kran mit 6 Abstellplätzen Zug hat 4 Waggon jeweils mit 1 Ladefläche LKW mit Anhänger jeweils mit 1 Ladefläche 6 Ladegüter sollen nach dem Zufall auf der Schiene oder der Strasse bewegt werden mit der Bitte um Hilfe Zugrol
tdrewelow Geschrieben 23. September 2016 Geschrieben 23. September 2016 Hallo, FriLu hat sich mit sowas beschäftigt und meiner Meinung nach ne super EV geschrieben. Findest du hier. Da einfach die Anlage runterladen und staunen Gruß Torsten
Zugrol Geschrieben 25. September 2016 Autor Geschrieben 25. September 2016 Hallo, Danke für die Info - aber dieser Anlage blick ich nicht so ganz durch. Werde meine Anlage nach meinen momentanen Möglichkeiten zusammenbauen. Vielleicht wird es in näherer Zukunft eine möglichkeit für zusammengesetzte Variablen geben schöne Grüße Zugrol
FriLu Geschrieben 25. September 2016 Geschrieben 25. September 2016 Hallo Zugrol, _Random generiert Zahlen im Bereich (einschliesslich) der beiden Zahlen, die angegeben sind (ob 1000-1100 oder 5051-5099 ist egal). Die Namen der Ladeflächen sind deshalb in einem Zahlenraum angesiedelt- so kann man bei Bodenabstellflächen einfach eine per Zufall auswählen. Bei LKWs wird der Name in einer Objektvariable gespeichert ( zb LKW4.name ) , so das bei "Zug betritt ein Gleis" der Name der Abstellfläche abgefragt werden kann. Bei Wagons wird es komplizierter- da der Wagonname nicht direkt abgefragt werden kann muss für jeden Wagon eine Definition in der EV stehen; ich hab das so gelöst: Eine Variable (zug_einlesen) wird 0-gesetzt und dann hochgezählt, bei jeden schritt wird geprüft ob der Wagen auf dem Gleis steht, wenn ja, wird die ladefläche in ein "temporäres" Ziel gespeichert, wenn nicht, wird das "temporäre" Ziel als frei gekennzeichnet ( bei mir mit "nv" für nicht vorhanden ) : Gruppe: Zug Gruppe: einlesen Ereignis: zug einlesen / 0-stellen // schritt 1 Auslöser: Variable wird gesetzt Name='zug_einlesen' Wert='1' Aktion: Variable setzen Name='krangleis1.anzahl' Wert='0' Aktion: Variable setzen Name='krangleis1.ort' Wert='0' Aktion: Variable setzen Name='zug_einlesen' Wert='2' Ereignis: zug einlesen /wagen 4001 // schritt 2 Auslöser: Variable wird gesetzt Name='zug_einlesen' Wert='2' Bedingung: Lok/Wagen steht auf einem Gleis Lok/Wagen='4001' Gleis='krangleis1' Negieren='0' Aktion: Variable setzen Name='kran_schiff.quelle1' Wert='zug1a' Aktion: Variable setzen Name='kran_schiff.quelle2' Wert='zug1b' Aktion: Variable setzen Name='krangleis1.anzahl' Wert='+2' Aktion: Variable setzen Name='zug_einlesen' Wert='3' Sonst: (Bedingung nicht erfüllt) Aktion: Variable setzen Name='kran_schiff.quelle1' Wert='nv' Aktion: Variable setzen Name='kran_schiff.quelle2' Wert='nv' Aktion: Variable setzen Name='zug_einlesen' Wert='3' Ereignis: zug einlesen / wagen 4002 // schritt 3 Auslöser: Variable wird gesetzt Name='zug_einlesen' Wert='3' Bedingung: Lok/Wagen steht auf einem Gleis Lok/Wagen='4002' Gleis='krangleis1' Negieren='0' Aktion: Variable setzen Name='kran_schiff.quelle3' Wert='zug2a' Aktion: Variable setzen Name='kran_schiff.quelle4' Wert='zug2b' Aktion: Variable setzen Name='krangleis1.anzahl' Wert='+2' Aktion: Variable setzen Name='zug_einlesen' Wert='4' Sonst: (Bedingung nicht erfüllt) Aktion: Variable setzen Name='kran_schiff.quelle3' Wert='nv' Aktion: Variable setzen Name='kran_schiff.quelle4' Wert='nv' Aktion: Variable setzen Name='zug_einlesen' Wert='4' Ereignis: zug einlesen / wagen 4003 // schritt 4 Auslöser: Variable wird gesetzt Name='zug_einlesen' Wert='4' Bedingung: Lok/Wagen steht auf einem Gleis Lok/Wagen='4003' Gleis='krangleis1' Negieren='0' Aktion: Variable setzen Name='kran_schiff.quelle5' Wert='zug3a' Aktion: Variable setzen Name='kran_schiff.quelle6' Wert='zug3c' Aktion: Variable setzen Name='kran_schiff.quelle7' Wert='zug3d' Aktion: Variable setzen Name='krangleis1.anzahl' Wert='+3' Aktion: Variable setzen Name='zug_einlesen' Wert='5' Sonst: (Bedingung nicht erfüllt) Aktion: Variable setzen Name='kran_schiff.quelle5' Wert='nv' Aktion: Variable setzen Name='kran_schiff.quelle6' Wert='nv' Aktion: Variable setzen Name='kran_schiff.quelle7' Wert='nv' Aktion: Variable setzen Name='zug_einlesen' Wert='5' usw... Wenn der Kran dann einen Wagon Be/entladen will, wird in der EV geprüft, ob das temporäre ziel vorhanden ist ( also nicht "nv" enthält) und dann in das "reguläre" Ziel übernommen: Ereignis: quelle suchen4 // schritt 31 Auslöser: Variable wird gesetzt Name='kran_schiff.schritt' Wert='31' Bedingung: Variable besitzt den Wert Name='(kran_schiff.quelle4).1' Wert='leer' Negieren='1' und: Variable besitzt den Wert Name='kran_schiff.quelle4' Wert='nv' Negieren='1' und: Variable besitzt den Wert Name='krangleis1.ort' Wert='4' Negieren='0' Aktion: Variable setzen Name='kran_schiff.quelle' Wert='$kran_schiff.quelle4' Ereignis: quelle suchen3 // schritt 31 Auslöser: Variable wird gesetzt Name='kran_schiff.schritt' Wert='31' Bedingung: Variable besitzt den Wert Name='(kran_schiff.quelle3).1' Wert='leer' Negieren='1' und: Variable besitzt den Wert Name='kran_schiff.quelle3' Wert='nv' Negieren='1' und: Variable besitzt den Wert Name='krangleis1.ort' Wert='3' Negieren='0' Aktion: Variable setzen Name='kran_schiff.quelle' Wert='$kran_schiff.quelle3' Ereignis: quelle suchen2 // schritt 31 Auslöser: Variable wird gesetzt Name='kran_schiff.schritt' Wert='31' Bedingung: Variable besitzt den Wert Name='(kran_schiff.quelle2).1' Wert='leer' Negieren='1' und: Variable besitzt den Wert Name='kran_schiff.quelle2' Wert='nv' Negieren='1' und: Variable besitzt den Wert Name='krangleis1.ort' Wert='2' Negieren='0' Aktion: Variable setzen Name='kran_schiff.quelle' Wert='$kran_schiff.quelle2' Ereignis: quelle suchen1 // schritt 31 Auslöser: Variable wird gesetzt Name='kran_schiff.schritt' Wert='31' Bedingung: Variable besitzt den Wert Name='(kran_schiff.quelle1).1' Wert='leer' Negieren='1' und: Variable besitzt den Wert Name='kran_schiff.quelle1' Wert='nv' Negieren='1' und: Variable besitzt den Wert Name='krangleis1.ort' Wert='1' Negieren='0' Aktion: Variable setzen Name='kran_schiff.quelle' Wert='$kran_schiff.quelle1' ( BEISPIEL: Hier wird geprüft, ob die Abstellfläche sich über dem Gleis, also in Kranreichweite, befindet- also nicht "nv" enthält und ob sich ein Ladegut darauf befindet, also nicht "leer" ist, am ende steht dann der Name des Ladegutes in der Variable "kran_schiff.quelle"; jetzt kann der Kran das Ladegut aufnehmen.) Das ganze ist ziemlich "um die Ecke" gedacht und benötigt für jede "temporäre" quelle einen eintrag in der EV- So, ich hoffe, ich hab dich nicht zu sehr abgeschreckt Gruß ~ Lutz
Zugrol Geschrieben 26. September 2016 Autor Geschrieben 26. September 2016 Hallo FriLu, Danke für die ausführliche Erklärung deiner Anlage - ich werde mich aber erst schön langsam hinein versetzen können und hoffentlich den einen oder anderen Ansatz für meine Anlage verwenden können. schöne Grüße und Danke nochmals Zugrol
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