Jump to content
Zum Start hinzufügen

Weitere Informationen

3D-Modellbahn Studio

Eine Vollbild-App auf Ihrem Startbildschirm mit Push-Benachrichtigungen und mehr.

So installieren Sie diese App auf iOS und iPadOS
  1. Tippen Sie auf das Teilen-Symbol in Safari
  2. Scrollen Sie durch das Menü und tippen Sie auf Zum Startbildschirm hinzufügen.
  3. Tippen Sie oben rechts auf Hinzufügen.
So installieren Sie diese App auf Android
  1. Tippen Sie auf das 3-Punkte-Menü (⋮) in der oberen rechten Ecke des Browsers.
  2. Tippen Sie auf Zum Startbildschirm hinzufügen oder App installieren.
  3. Bestätigen Sie durch Tippen auf Installieren.

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben
  • Autor

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

Geschrieben

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
 

 

Geschrieben
  • Autor

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

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Push-Benachrichtigungen konfigurieren

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.