Jump to content

fzonk

Mitglieder
  • Gesamte Inhalte

    570
  • Benutzer seit

  • Letzter Besuch

Beiträge erstellt von fzonk

  1. Hallo an Alle,

    ich habe eine weitere Anlage von mir überarbeitet, da auch diese Probleme mit dem Import in V5 hatte.

    image.thumb.jpeg.cdff97050f4b8fd04b46efb8955334fd.jpeg

    Die Anlage als solches werden die meisten bereits kenne, die Steuerung habe ich komplett neu erstellt (ohne Lua, habe es noch immer nicht geschafft mich näher damit zu beschäftigen). Ich habe ihr aber noch ein paar Upgrades verpasst, unter anderem habe ich ihr eine Oberleitung und entsprechende Signale spendiert.

    image.thumb.jpeg.76ff1b2f27b2b37d5870ca93fa7f7a02.jpeg

    Des weiterem wurde auf dem Gelände auf Rillengleis umgebaut, somit könnten nun Fahrzeuge ohne Probleme über die Gleise fahren.

    image.thumb.jpeg.d17d739c7dfdba3312030d7a34b089b3.jpeg

    Schaut es euch einfach mal an, die Anlage findet ihr unter der altbekannten Content ID: 4C772DEB-7521-43F5-A612-C705AC4D9C56 im Onlinekatalog.

    Gruß Frank

  2. Hallo @Neo

    Gibt es vielleicht die Möglichkeit eine Bedingung für Gleiskontakte mit einzufügen welche als Option beinhaltet „in Richtung A“ und „in Richtung B“. Man kann jetzt schon für die Gleiskontakte eine oder beide Richtungen Einstellen, jetzt habe ich aber den Fall dass ich einen Gleiskontakt mehrfach in der Steuerung nutzen will, die Richtungen in die die Züge fahren sind wichtig. Ich möchte dass der Zug in Richtung A eine andere Aktion auslöst als in Richtung B. Aktuell kann ich aber nur im Gleiskontakt „einmalig“ die gewünschte Richtung hinterlegen oder eben für alle Ereignisse beide Richtungen hinterlegen. In meinem Anwendungsbeispiel handelt es sich um Rangierabläufe, daher ständig wechselnde Richtungen. Durch eine Bedingung für Gleiskontakte könnte ich mir zusätzliche sparen.

    Gruß Frank

  3. Mir kam da gerade so ein Gedanke wie man das Modul erweitern könnte und dass man die Module ohne großen Aufwand hintereinander schalten kann. Ich habe dazu die Baugruppe mit Objektvariablen ausgestattet, ja dies ist riskant, denn sobald die Gruppe aufgelöst wird sind die Variablen gelöscht, was aber auch nicht schlimm ist, denn nur der Blockübertrag ist betroffen. Nun muss nur noch der Name der vorhergehenden Gruppen in eine Objektvariable eigetragen werden und schon kann man aus dem Modul eine Automatik heraus kitzeln. In der EV habe ich nur folgendes ergänzt:

    image.thumb.jpeg.b6b0c250a6438e3ec9f2aad144e03bc0.jpeg

    Ich habe @HWB seine Musteranlage direkt damit ausgestattet und des Weiteren auch @BahnLand sein Modul mit meiner Erweiterung mal angehangen. Wenn dies für nützlich betrachtet wird kann @BahnLand (wenn er will) sein Modul im Onlinekatalog gern damit ergänzen.

    Gruß Frank

    Signalhalt-Baustein mit freigabe des vorherigen Blockes.mbp

    Bahnland Signalhalt-Baustein und V4 Block Spur N Formsignal rechts 6x-1 edit by fzonk2.mbp

  4. Hallo Hermann,

    ich habe mal genauer geschaut und hier ein paar Hilfestellungen für dich:

    so wie ich deine Anlage geöffnet habe waren auf dem äußeren Ring 3 Lokomotiven als Verbund, zwei von diesen haben eine Geschwindigkeit gesetzt, eine davon sogar mit einer negativen Geschwindigkeit. Damit kommt die Steuerung nicht klar und Fehler sind schon mal vorprogrammiert. Daher habe ich den Verbund erst einmal aufgelöst.

    Wie schon erwähnt soll der EV-Eintrag nur einmal bestehen, daher bitte nicht immer wieder die Musteranlage einfügen sondern nur die Gruppe kopieren. An welcher Stelle der Ordner in der EV steht ist völlig egal, ebenso wie er heißt.

    BahnLand hat in der Beschreibung darauf hingewiesen dass jede BAUgruppe einen eigenen Namen bekommt soll. Dies hattest du übersehen und nur die Ordner in der EV umbenannt.

    Bei dem Modul von BahnLand werden die Züge nur gestoppt, ein automatisches öffnen der Hauptsignale ist nicht vorgesehen, daher hast du glaube ich diesen Befehl mit zusätzlich eingefügt:

    image.thumb.jpeg.dcafb7f0ed59559d24636f2140a32aa6.jpeg

    Dies verträgt sich nicht mit der allgemeingültigen Steuerung und wird der Hauptgrund für die Fehlfunktionen sein, da die Steuerung  ja für alle Baugruppen gilt. Für einen automatischen Start der Züge müsstest du eine andere Lösung nutzen. Aktuell habe ich die Anlage soweit aufbereitet dass die Loks wieder ordnungsgemäß an jedem Signal gestoppt werden. Starten kannst du sie aktuell nur manuell durch einen Doppelklick im Simulationsmodus auf das entsprechende Hauptsignal.

    Ich habe dir deine Anlage überarbeitet und wieder angehangen, ich hoffe es hilft für ein besseres Verständnis.

    Gruß Frank

    Bahnland Signalhalt-Baustein und V4 Block Spur N Formsignal rechts 6x-1 edit by fzonk.mbp

  5. Hallo @BahnLand

    vor 6 Stunden schrieb BahnLand:

    Was haltet Ihr von dieser Alternative?

    1210854726_01Bausteinbeschreibung.thumb.jpg.f0f75343df17051169a917b22df90e63.jpg

    Im Gegensatz zum Textfeld auf der Anlage, das mit der Länge des Textes automatisch bis zu einer festen Obergrenze vergrößert wird und danach den Text einfach abschneidet, kann man hier einen Text belibiger Länge unterbringen, der dann mithilfe eines Scrollbalkens verschoben werden kann. Wenn man nun der Objektgruppe des Anlagenbausteins denselben Namen verpasst wie dem dazugegehörigen Ereignismodul, kann man die Beschreibung dazu in der EV leicht finden, wenn man sich zuvor den Namen der Objektgruppe anzeigen lässt. 

    Dafür gibt es einfach nur (y) da war es wieder, das Alte gewohnte :/

    vor 6 Stunden schrieb BahnLand:

    Dass ein Form-Vorsignal dann, wenn es in Kombination mit einem Hauptsignal aufgestellt ist, immer geschlossen sein muss, solange dieses Hauptsignal geschlossen ist, ist klar (dies entspricht der Dunkelschaltung bei Licht-Vorsignalen). Dass aber auch ein allein stehendes Vorsignal dann geschlossen bleiben soll, wenn sich beim Öffnen des zugehörigen Hauptsignals ein Zug auf dem dazwischen befindlichen Gleisabschnitt befindet, ist mir neu. Gibt es dazu irgendwelche Quellen zum Nachlesen?

    Von Bahnvorschriften habe ich nicht im Ansatz eine Ahnung, die Frage die ich mir gestellt habe ist: was macht es für einen Sinn, dass das Vorsignal mit öffnet, obwohl der Zug dieses bereits passiert hat und zum Beispiel am Hauptsignal auf freie Fahrt wartet? :/

    Gruß Frank

  6. Hallo @BahnLand

    Ich habe mir dein Modul mal genauer angeschaut und ich finde diese vorgefertigten Module eine richtig gute Idee (y). Aber ich hätte ein paar Anmerkungen.

    vor 5 Stunden schrieb BahnLand:
    • Fügt jedem der angetriebenen Fahrzeuge zwei Objektvariablen "VSoll" und "VBrems" hinzu. Die in "VSoll" hinterlegte "Reisegeschwindigkeit" des Zuges könnt ihr dabei frei wählen (sollte zwischen 50 und 150 km/h liegen). Für die in "VBrems" zu hinterlegende Bremsgeschwindigkeit (Annäherungsgeschwindigkeit an das Signal) solltet Ihr 50 km/h einstellen.
    • Stellt dann zusätzlich bei Euren Triebfahrzeugen im Eigenschaftsfenster eine Bremverzögerung von 10 m/s² ein (bei der Beschleunigung seid Ihr wieder frei).

    Zum besseren Einbauen in Anlagen solltest du die Beschreibung vielleicht in einem Textfeld dem Modul beilegen. Bei der Beschreibung solltest du vielleicht auch noch erwähnen dass die Objektvariablen als Zahl zu hinterlegen sind (es gibt ja doch eine große Auswahl an Möglichkeiten).

    Mich verwirrt etwas das Sperrgleis, ich gehe mal davon aus dass du dies als Sicherung eingebaut hast, denn an und für sich hat es doch keine Funktion oder übersehe ich da was? Wenn du es weglassen würdest wäre die Steuerung noch viel übersichtlicher.

    Gruß Frank

    P.S.: vielleicht auch noch das Vorsignal anpassen, dass dies nur auf Vr1 schaltet wenn kein Zug am Hauptsignal steht ;)

  7. Hallo Ralf,

    so gravierend ist es dann auch nicht und nur weil @BahnLand und ich ein paar Vorschläge machen heißt dies noch lange nicht dass du diese auch umsetzen musst und schon gar nicht wenn es den Charakter der jetzigen Anlage verändern würde. Bei sehr vielen Tunneleinfahrten kannst du auch ohne Probleme die Röhren verlängern, so dass du die „Betonwände“ an den Einfahrten entfernen könntest. Bei eins zwei Einfahrten geht es halt nicht anders.

    Gruß Frank

  8. Hallo Ralf

    Du arbeitest ja auch sehr viel mit dem Tunnelsystem von @Roter Brummer, welches ich auch sehr gern einsetzte. Wenn du vielleicht nicht die Variante „Tunnel1 zweispurig“ nutzt sondern mit den Varianten „Tunnel1 zweispurig links2“ und „Tunnel1 zweispurig rechts2“ arbeitest sind die Tunnel um einiges niedriger, zusätzlich die Oberleitung auf „Fahrleitung Tunnel“ umrüsten, dann harmonieren diese sehr gut. Somit könntest du die Tunnel um einiges weiter bauen und nur an einigen Stellen würde es noch im Gelände nachbesserungsbedarf geben. Sie dies nur als Anregung und Möglichkeit ;). Ansonsten baust du da wirklich ein Prachtobjekt von einer Anlage und ich bin begeistert wie Detailreich du bei dieser Größe die Anlage gestaltest (y).

    Gruß Frank

  9. Hallo Tjakrheinrich,

    An und für sich keine schlechte Idee und für einen Anfang in Ordnung, aber nicht zu sehr auf die „Übersetzungen“ in V5 versteifen. Es gibt viele praktische Neuerungen in V5 und diese wirst du bei Importen aus früheren Versionen nicht finden, da dies bei der Integration nicht angewendet wird. Es ist sogar so dass mit V5 die Steuerung in Teilen noch einfacher zu erstellen ist und manch umständliche Art aus Vorgängern nicht mehr angewendet werden müssen…

    Gruß Frank

  10. Hallo Tom,

    es freut mich dass die Steuerung so viel Begeisterung findet :D. Ja V5 hat viele Neuerungen und wenn man schon sehr intensiv mit V4 und/oder auch deren Vorgänger gearbeitet hat ist die Umstellung auf die neuen Möglichkeiten, dank alter Gewohnheiten, gar nicht so einfach und man muss sich erst einmal an sie „gewöhnen“ ;). Aber die Neuerungen bringen eben auch viele smarte Möglichkeiten und da ist der Weg das Ziel und davon gibt es jetzt noch mehr die nach Rom führen B|. Daher habe ich dir gleich noch einmal die Anlage mit angehangen, die Funktion der Steuerung an sich hat sich nicht geändert, es besteht „nur“ der Unterschied dass nun die beiden Befehle konsequent Allgemeingültig sind. Dies soll heißen: ich habe in den Gleiskontakten Schlagwörter hinterlegt und die Steuerung so angepasst dass sie nun auf die Schlagwörter „anspringt“. Du könntest nun auf ganz vielen Gleisen die Gleiskontakte mit den entsprechenden Schlagwörtern verteilen und du müsstest in der EV nichts zusätzlich hinzufügen, außer ab einen gewissen Punkt ein paar Sicherungen dass die Züge nur bei freier Strecke wieder starten dürfen (aber dies ist schon wieder ein ganz anderes Thema ;)).

    Gruß Frank

    P.S.: ich musste den Anhang noch mal austauschen, da habe ich doch glatt eine Variable vergessen auf allgemein zu ändern :/

     

    V5 wechselbespannung u einzelbespannung einspurige pendelstrecke mit wendeschleife allgemein by fzonk.mbp

  11. Hallo Tom,

    wie versprochen hier ein Beispiel für dich. Verzeih mir bitte, aber ich habe die Steuerung komplett neu erstellt, mit deinem Ansatz wäre es zu umständlich geworden. Ich habe die Steuerung so erstellt, dass sie sowohl für Gespanne mit Wechsellok, als auch für jeden anderen Zug funktioniert. So wie diese Steuerung nun ist muss gar kein Objekt mehr die Variable „Umspannlok“ besitzen, damit sie keine Fehler auslöst. Wichtig ist nur, wenn du Gespanne trennst muss die Variable „Umspannlok“ in beiden Fahrzeugen gelöscht werden. Dies kann man auch über die EV bewerkstelligen. Ich habe dir gleich zur Demonstration einen zweiten Zug mit auf die Anlage gestellt, dieser besitzt keinerlei Variablen. Ich hoffe du kannst die Steuerung durchschauen, der wichtigste Aspekt ist die erste Bedingung.

    image.thumb.jpeg.fe2560e6a2dfe695109a44d5d2fdb2c7.jpeg

    Gruß Frank

    V5 wechselbespannung u einzelbespannung einspurige pendelstrecke mit wendeschleife by fzonk.mbp

  12. Hallo Tom,

    du kannst den Fehler „attempt to index a nil value“  vermeiden, indem du eine Bedingung vor die Aktionen setzt. Diese muss in etwa lauten „Variable hat Wert“, die zu überprüfende Variable ungleich „Objektname“ und das Textfeld leer lassen, damit werden alle Objekte(Variablen) ausgeschlossen die die Variable nicht haben. Ich kann es gerade nicht besser wiedergeben da ich unterwegs bin, ein Beispiel kann ich dir später aber gern nachreichen.

    Gruß Frank

  13. Hallo an alle Interessierten,

    Ich habe meine erste unter V5 programmierte Anlage in den Katalog geladen.

    image.thumb.jpeg.dfa1dfb5908f0bf4dba31a79c4754a79.jpeg

    Diese Anlage wurde ursprünglich mit MBS V4 erstellt (Content ID: 089CAFCE-ED9E-489B-A013-8D217197E842). Da ich aber mit zu viel „Trigger“ und Objektvariablen(-Verknüpfungen) gearbeitet habe konnte V5 die Steuerung nicht korrekt übernehmen und funktioniert nicht mehr. Daher habe ich die Steuerung komplett neu erstellt und dabei viele Neuerungen der V5 EV einfließen lassen. Abgesehen davon dass noch ein paar Züge dazugekommen sind können die, die dafür vorgesehen sind, in zwei Richtungen fahren. Die Steuerung ist vollkommen Automatisch und funktioniert nach dem Zufallsprinzip. Schaut es euch einfach mal an, ich würde mich über Kommentare, Meinungen und Kritiken freuen.

    Die Anlage findet ihr nun unter der Content ID: 4CDF8714-BDB3-45E7-BC7A-47A92C58F4C0 "Kleine Anlage mit Vollautomatischer Steuerung V5"

    Gruß Frank

  14. Hallo @Goetz

    Ich habe mir deine Steuerung mal etwas genauer angeschaut, an und für sich funktional, aber ich sehe ein paar Probleme. Du hast die Steuerung insoweit verändert dass das Gleis erst als besetz gemeldet wird wenn der Zug bereits auf diesem steht. Für diese Beispielanlage völlig in Ordnung ABER dies würde bei einer Anlage wo die Züge von beiden Seiten in den Bahnhof einfahren wohl früher oder später zu einem Unfall führen. Daher habe ich immer in dem Moment wo ein Gleis zugewiesen wird dieses sofort als besetzt melden lassen. Ich habe bereits einige Anlagen unter MBS V4 erstellt wo die Steuerung vollautomatisch und zufällig geschieht. Daher kenne ich die Probleme, denn es kann durchaus sein das 2 oder mehr Züge von verschieden Seiten einen Bahnhof ansteuern. Wenn es dich oder jemand anderen interessiert kann ich gern die entsprechenden Content IDs hier einstellen. Ich bin gerade dabei einer dieser Anlagen mit einer vollkommen neuen EV auszustatten, da MBS V5 ganz andere Möglichkeiten bereit hält und damit ich auch gleichzeitig die Neuerungen kennenlerne.

    Gruß Frank

     

  15. Hallo @Goetz

    Das schlimme ist, mir ist dies wohl bekannt, aber da ich alle Ereignisse in dem Ordner Sonstiges „nur auf die Schnell“ zusammengewürfelt habe war ich mal wieder Blind und habe an die einfachsten Sachen nicht gedacht. An und für sich würden die Lampen bei einer Anlage gar nicht zum Einsatz kommen, aber hier im Beispiel sollen sie halt mehrere Züge simulieren (die Gleise besetzen oder wieder freigeben), man hätte sie auch hier schon weglassen können, aber dann wäre zum einen eine schlechtere Übersicht und zum Anderen müsste ich jedes Mal die Objektvariablen öffnen um diese umzuschalten. Und nun schau ich mir erst mal in Ruhe seine Steuerung an.

    Gruß Frank

    P.S.: ich habe inzwischen auch Variante7 allgemeingültig umgeschrieben zu Variante8, so könnte man die Ereignisse mehrfach nutzen auf einer Anlage und nein dies mit den Lampen habe ich noch nicht umgeschrieben…

    Benutzerdefinierte Aktion oder Steuerung über Objektvariablen2.mbp

  16. Hallo @Neo @Goetz und allen Interessierten,

    Und da ist auch schon die erste Umsetzung mit Objektvariablen (Variante7), erst einmal in „kleiner“ Form. Ich habe auf die Vorarbeit von Goetz zurückgegriffen und die von ihm angelegten Objektvariablen weiter genutzt und noch etwas erweitert, von den Benutzerdefinierten Ereignis habe ich mich vorübergehend verabschiedet. Der „Steuerungsblock“ im Ereignis „Objekt-Variable wird gesetzt“ stammt mehr oder weniger immer noch aus Variante1, nur dass nun die Objektziele und Objektwerte aus dem jeweiligen Objekt genutzt werden. Der nächste Schritt wird sein diese Steuerung allgemeingültig zu schreiben, so dass man sie mehrfach auf einer Anlage nutzen kann und jeweils „nur“ die Objektvariablen hinterlegen muss…

    Gruß Frank

    P.S.: Die Ereignisse aus Variante3 habe ich gelöscht, da diese nicht Zielführend waren.

    Benutzerdefinierte Aktion oder Steuerung über Objektvariablen.mbp

  17. Hallo @Goetz

    vor 20 Minuten schrieb Goetz:

    Ich habe sie ja alle drei getestet (und laaange gebraucht, bis ich alle Fehler rausgebügelt hatte)

    Dies kenn ich nur zu gut

    vor 20 Minuten schrieb Goetz:

    Viel interessanter ist daher, ob du die Varianten durchschaust.

    In Teilen ja, aber wie gesagt, Skriptsprache ist nicht meine Stärke

    vor 20 Minuten schrieb Goetz:

    Die Version 5 bekommst du, wenn du bei Version 4 auf das <> Symbol klickst.

    Ist bekannt und ohne es zu Testen habe ich mir es gedacht

    vor 20 Minuten schrieb Goetz:

    Diese automatischen Übersetzungen helfen anfangs enorm dabei, die richtigen Schreibweisen von z.B. Objektnamen zu lernen.

    Und genau die richtige Schreibweise ist mein Handicap, ich habe zu viel Respekt davor dass ich ein Zeichen vergesse und dann den Fehler nicht finde

    vor 21 Minuten schrieb Goetz:

    Das stimmt nicht ganz. Denn die EV ist auch eine Programmiersprache. Nicht erst in V5, sondern auch in den Vorgängerversionen. Du bist also geübt in der Anwendung. Ob die einzelnen Befehle dabei direkt als text untereinander stehen oder in kleinen, farbigen Feldern, macht keinen sooo großen Unterschied.

    Daher sind mir die (jetzt) bunten Felder lieber, da beschränken sich die Fehler „nur“ in der Zuweisung

    vor 21 Minuten schrieb Goetz:

    Genau das wollte ich damit bezwecken. Deshalb habe ich dir alle drei Versionen zum Vergleich angeboten.

    Hast du auf jeden Fall

    Gruß Frank

  18. Hallo @Goetz

    Vielen Dank für deine Beispiele, alle 3 weiteren Varianten funktionieren super. Variante4 unterscheidet sich ja nur minimal von Variante1, daher ergibt sich bei größeren Anlagen ja auch weiterhin ein großer Aufwand um die Ereignisse zu erstellen. So wie ich es verstanden habe ist Variante5 vom Inhalt identisch mit Variante4, mit dem unterschied dass die Abfolge mit LUA geschrieben ist. Da muss ich ehrlich zugeben dass ich mich an LUA noch nicht heran getraue, ich habe seit 25 Jahren nicht mehr mit Programmiersprachen gearbeitet und mein Wissen von damals tendiert Richtung Null, ich müsste mich erst einmal wieder intensiv damit beschäftigen und da fehlt mir noch die Lust zu. Variante6 sieht in Skript natürlich sehr kompakt und übersichtlich aus, an der Stelle wird dann doch schon etwas mehr mein Interesse geweckt sich mit LUA zu beschäftigen.

    vor 8 Stunden schrieb Neo:

    Ich hätte noch eine andere Idee. Bau dir eine verkettete Liste, indem du abstrakt gesehen Gleis 1 mit Gleis 2 verbindest (in einer Objektvariable), Gleis 2 mit Gleis 3, Gleis 3 mit Gleis 4 usw. Anschließend rufst du dein benutzerdefiniertes Ereignis für Gleis 1 auf. Ist es belegt, rufst du rekursiv erneut dein benutzerdefiniertes Ereignis auf, diesmal aber mit dem "Nachbargleis", also der Verknüpfung, die du in einer Objektvariable gespeichert hast. Somit ruft sich dein benutzerdefiniertes Ereignis selber solange auf, bis ein freies Gleis gefunden wurde oder kein Nachbargleis mehr existiert. Klassische rekursive Verarbeitung einer verketteten Liste. Vorteil dieser Methode ist, dass sie für beliebige Gleise funktioniert (im Studio bis maximal 25 Gleise, weil dann ein Skript wegen zu vielen Rekursionen abgebrochen wird) und du in der EV nicht die Anzahl der Gleise kennen musst (die EV funktioniert dann also für jeden Bahnhof).

    Finde ich eine gute Idee, ich hatte unter V4 schon einmal eine solche, jedoch war mit der damaligen EV dies nicht umsetzbar. Ich werde den Vorschlag mal aufgreifen, mal sehen wie weit ich komme und ob ich es zum Laufen bekomme (ohne LUA)…

    Gruß Frank

  19. Hallo @Neo, @Goetz und Alle anderen

    Ich habe eine kleine Musteranlage gebaut, damit ihr euch direkt ein Bild meiner Gedankengänge / Problem mit Benutzerdefinierten Ereignissen machen könnt.

    image.thumb.jpeg.08427b221696eb14ec8e49c1f2d0e91d.jpeg

    Eine kleine Erklärung, Ziel ist es dass sich ein Zug beim einfahren in einen Bahnhof selbständig ein freies Gleis sucht und dieses anfährt (der Weichenweg zu diesem Gleis gestellt wird), gleichzeitig soll dieses Gleis für alle weiteren Züge gesperrt werden. Bei diesem Beispiel gibt es nur eine Lok, die stellvertretend für mehrere Züge ist. Zur Simulation ob ein Gleis belegt oder frei ist habe ich die Lampen (können nach Belieben geschalten werden) auf die jeweiligen Gleisabschnitte gesetzt (rot=belegt, grün=frei). Der jeweilige Gleisabschnitt wird bei Zuweisung automatisch als Belegt gesetzt, es erfolgt nach Verlassen des Gleisabschnittes aber in dieser Beispielanlage kein automatische Freigabe, dies muss manuell durch umschalten der entsprechenden Lampe geschehen. In der EV gibt es mehrere Ereignismodule (Ordner). Das Ereignismodul „Sonstige“ sollte außer Acht gelassen werden, in diesem sind nur ein paar Grundlagen für den Ablauf / die Steuerung. Des Weiteren gibt es 3 Varianten Ereignismodule. Aktuell ist Variante1 aktiv und Variante 2 und 3 deaktiviert. Bitte immer nur eine Variante Aktiv setzen und die übrigen beiden Varianten deaktivieren.

    Variante1 (funktioniert fehlerfrei)

    image.thumb.jpeg.7efeed53a2e3e6ee193534c6250fcde6.jpeg

    In dieser habe ich den kompletten Ablauf der Ereignisfolge mit jedem einzelnen Schritt programmiert, bei dieser Variante ist die Grundlogik auch am besten nachvollziehbar. Diese ist:

    1.       überprüfe ob Gleis1 frei ist

    2.       wenn Gleis1 frei ist, setzte für weitere Züge das Gleis als Besetzt und schalte den Weichenweg zu Gleis1 (Ereignis Ende)

    3.       wenn Gleis1 NICHT frei ist überprüfe ob Gleis2 frei ist

    4.       wenn Gleis2 frei ist, setzte für weitere Züge das Gleis als Besetzt und schalte den Weichenweg zu Gleis2 (Ereignis Ende)

    5.       wenn Gleis2 NICHT frei ist überprüfe ob Gleis3 frei ist

    6.       wenn Gleis3 frei ist, setzte für weitere Züge das Gleis als Besetzt und schalte den Weichenweg zu Gleis (Ereignis Ende)

    Man könnte noch mehr Bedingungen und Aktionen einbauen, aber für dieses Muster habe ich darauf verzichtet.

    Variante2 (funktioniert fehlerfrei)

    Da Variante1 sehr aufwendig ist jede Bedingung und Aktion für sich zu erstellen und der Ablauf für jedes Gleis immer wieder der Selbe ist (Blöcke die sich wiederholen) habe ich mir die Parameter herausgesucht die sich von Block zu Block ändern, es sind bei diesem Beispiel nur 3 Parameter (das Gleis was angesteuert werden soll, Stellung der Weiche1 und Stellung der Weiche2). Diese 3 habe ich als Parameter in einem Benutzerdefinierten Ereignis angelegt. Des Weiteren habe ich die Aktionen eines Blockes angelegt.

    image.thumb.jpeg.e08700581b81464bb3d67961f878b6d8.jpegimage.thumb.jpeg.b428a24e1a35eaeb444321af22a32959.jpeg

    Als zweites Ereignis habe ich nun nur noch die jeweilige Bedingung und dann das jeweilige Benutzerdefinierte Ereignis nach demselben Schema wie in Variante1 zusammengestellt, diese Variante ist um einiges schneller (auf Masse gesehen) zu erstellen, da nur noch die sich ändernden Parameter eintragen muss.

    Variante3 (funktioniert nur für ein Gleis)

    Nun gibt es bei den Benutzerdefinierten Ereignissen nicht nur die Möglichkeit Aktionen zu hinterlegen sondern auch Bedingungen.

    image.thumb.jpeg.afe1279fb3fa173903632a00927c55f8.jpeg

    Die Bedingungen die verwendet wurden enthalten keine anderen Parameter als auch die Aktionen aus Variante2. Daher habe ich nun die Bedingung mit in das Benutzerdefinierte Ereignis gepackt.

    image.thumb.jpeg.a99a148203c37e1438e2db7476ef78e9.jpeg

    In einem weiteren Ereignis (wie auch in Variante2) habe ich nun die Benutzerdefinierte Aktion mit den jeweiligen Parametern angelegt. Die Bedingung, so wie die Aktionen, wird von der EV ordnungsgemäß abgearbeitet, ABER an der Stelle komm ich nicht weiter. Da die Bedingung ja nun in einem Ereignis mit eingebaut habe ich nicht die Möglichkeit weiter zu arbeiten wenn die integrierte Bedingung nicht erfüllt ist ODER DOCH???

    So nun habe ich ganz viel Text geschrieben, ich hoffe ihr konntet dem ganzen Folgen. Für alle anderen ist es vielleicht eine Anregung wie sie eine Steuerung erstellen können unter V5.

    Gruß Frank

    Benutzerdefinierte Aktion.mbp

  20. vor 1 Stunde schrieb Goetz:

    Doch, das kannst du ganz bestimmt.

    Hast du schon entdeckt, dass benutzerdefinierte Ereignisse eigene Variablen bekommen können? Einfach oben auf (keine Parameter) klicken und dann die Parameter-Liste bauen. Anschließend kannst du beim Aufruf des Ereignisses diese selbst definierten Parameter mit Werten befüllen. Und im Ereignis kannst du diese Werte als Bedingung oder anderweitig weiter verarbeiten.

    Hallo Goetz,

    mein Ziel (Anliegen) ist wahrscheinlich ohne ein Muster schwer nachzuvollziehen, daher werde ich heute Abend, spätestens morgen ein Muster erstellen. Mit den Variablen als Parameter ist bekannt, auch dass diese in Bedingungen eingearbeitet werden können, hatte ich bereits aber dann bin ich nicht weiter gekommen wenn die Bedingung falsch sind, daher habe ich die Bedingung und die Aktionen wieder getrennt. Wie gesagt ich werde eine Musteranlage erstellen, dann könnt ihr besser nachvollziehen was meine Gedankengänge sind.

    bis dahin...

    Gruß Frank

  21. Hallo @Neo und @Goetz

    Ich habe nun das Ereignis wieder etwas aufgeschlüsselt und die Bedingungen und Aktionen getrennt. Vielleicht ist dieses Bild aufschlussreicher was mein Ziel ist.

    image.jpeg.fe2f08da87b96c63e898a2625ab160cc.jpeg

    Aktuell habe ich keine andere Lösung gefunden, schade ist dass ich nicht (nach meinem Wissenstand) die Bedingung und die Aktionen in einem Benutzerdefinierten Ereignis lassen konnte, denn die Inhalte der Bedingung kommen gleichzeitig in einer Aktion vor (Prüfe ob eine bestimmte Objektvariable einen Wert von 0 hat, wenn ja setze bei dieser Variable einen Wert von 1 (hätte man auch mit einer Boolescher Wert umsetzen können) und führe weitere Aktionen aus, wenn die Objektvariable nicht den Wert 0 hat dann prüfe die nächste Objektvariable).

    Gruß Frank

     

×
×
  • Neu erstellen...