Posts by Warner

    Neue ICNG der Nederlandse Spoorwegen.


    Am 2. Juli 2022 stellte die Nederlandse Spoorwegen ihren neuen Zug vor: ICNG (IC New Generation)

    Das beigefügte YouTube-Video berichtet über diesen Zug. Natürlich auf Niederländisch, aber in der richtigen Sprache leicht zu untertiteln.


    Hallo Allen,


    Vielen Dank für den Hinweis auf SlotNames und die andere Hinsweisen.

    Die Link hat mir geholfen, den ganzen Mechismus besser zu verstehen, und ich konnte das Skript Slot_tab_Data aus dem Rus Paket so umbauen, dass es genau das tut, was ich im Sinn hatte.

    Jetzt muss ich noch den letzten Schritt lösen, damit der RuS-Code tatsächlich die Fahrstraße schaltet. Das ist ein bisschen knifflig. Wenn ich es nicht hinbekomme, werde ich wieder um Hilfe rufen.


    Ich danke Ihnen für den Augenblick.


    Dieser Thread kann geschlossen werden.

    Hallo zusammen,


    Ich bin auf der Suche nach einem Stück Lua-Code, mit dem ich eine Tabelle erstellen kann, die bestehen bleibt, wenn ich den Lua-Code neu lade oder wenn ich die Anlagen neu starte. In dieser Tabelle müssen pro record (key) 4 Variablen gespeichert werden können. Diese Datensätze werden der Tabelle während der Nutzung der Anlagen hinzugefügt und aus ihr gelöscht.


    Da ich ein begeisterter Nutzer des RuS-Pakets bin, habe ich mich als jemand ohne Lua-Kenntnisse eingestuft, wie ich weiß. :ad_1:


    Natürlich kenne ich mich bis zu einem gewissen Grad mit Lua aus, und ich kann die verschiedenen Skripte nach meinem Willen biegen. Im Moment habe ich eine Lösung gebaut, bei der die Meldung mit Verzögerungauf einer Fahrstraße durch eine KontactPunkt nicht pro Zugname oder Strecke erfolgt, sondern über Tabellen. Das spart eine Menge Arbeit auf der Strecke selbst. Vor allem, wenn innerhalb eines 8-Spur-Bahnhofs von beiden Seiten 32 Strecken aktiv sind. Leider sind diese Tabellen beim Neuladen der Anlagen oder des Lua-Skripts immer wieder leer.


    Ich habe mir bereits das Skript SlotDaten von Parry36 angesehen, aber in diesem Skript finde ich nicht die Möglichkeiten, die ich suche.


    Es wäre schön, wenn Sie mir diesbezüglich einen Rat geben könnten.


    Vielen Dank im Voraus.

    Hallo Andreas Parry36 ,


    Wenn es in den Niederlanden eine solche Kreuzung gäbe, wäre sie sicherlich ampelgesteuert. Das Rechtsfahrgebot wird jedoch immer durchgesetzt werden.


    Und Fried had Recht: "Ich glaube sogar, dass man so einen Mittelüberweg in den Niederlanden nicht anlegen würde. Meiner Meinung nach würde man auch in einem solchen Fall die Radspur (nur) außen rum legen."


    Was die kreisförmige Lösung von #47 betrifft, so wird in den Niederlanden derzeit diskutiert, die Radwege quadratischer zu gestalten. Dadurch können sich Radfahrer besser von rechts nähern und ein möglicher toter Winkel (blinder Fleck?) wird vermieden. Darüber hinaus können die Prioritätsregeln angepasst werden. Derzeit haben Radfahrer beim Überqueren der Straße oft Vorrang. Infolgedessen kommt es zu zahlreichen Zusammenstößen und Unfällen.

    Hallo Andreas, Parry36


    Die niederländische Version ist noch ziemlich kompliziert. In den Niederlanden ist die Fahrtrichtung immer rechts. So auch an den sich kreuzenden Radwegen in der Mitte. Das solltest du eigentlich anpassen. Zum Glück für unsere Radfahrer kommt diese Art von Kreuzung bei uns selten vor.:ae_1:

    Hey Frank ( frank.buchholz ) and Ruud ( RudyB ),


    Thanks for the last video. I have again all kinds of different possibilities to use and test your script.

    You started this series with the statement that you have found a way to automate a layout with Lua without having knowledge of Lua. That seemed like a no-go to me. In the last video, you show that manual adjustments are needed to make the reverse mechanism work.

    Isn't it possible to include these 'reverse' signals in a new variable just like the signals that should be disregarded? Then you would also please the EEP-user with no Lua knowledge. Just an idea...


    I am curious about the next adjustments.

    Hey Frank ( frank.buchholz ) and Ruud ( RudyB ),


    I followed Ruud's advice. First I compiled the Lua control file without the exit signals. Then I installed the exit signals. Again I compiled the Lua control file but I used the Routes and the 2-way blocks from the first file. In addition, I manually removed both exit signals from the local block-signals table.

    Now the exit signals work synchronously with the hidden signals on the dead-end tracks.


    I think I have tested all current functionality here. I am curious about the functionalities in the pipeline.

    Ruud has already mentioned something about reversing the driving direction on 2-way tracks. I am also curious about the control of signals with the different speeds.


    I am looking forward to the new functions.

    Hey Frank ( frank.buchholz ) and Rudy ( RudyB ),


    I have downloaded the latest version of the module BlockControl v2.2.0 from 02.06.2022 and placed it in the LUA directory.


    My test track looks like this:


    I then used the WebTool to compile the LUA file belonging to the test track. I no longer use a contact point for reversing the direction according to the last video by Rudy . As Rudy explains in his Demo 7 video, the deadend tracks must have a certain waiting time otherwise the train will reverse immediately. Once that is all sorted out, EVERYTHING WORKS PRIMATELY.


    But....

    Because the dead-end tracks should have an exit signal, I added an HP01 signal on block 17 and 18. These are connected to the invisible signals of the concerning blocks with the settings Fahrt=Fahrt and Halt=Halt.

    Next I compiled the Lua file via WebTools. Although the added exit signals (6 and 8) have no further function, they are included in the Lua file. The reverse function is not overruled, but for some reason the exit signals are delayed set to Fahrt. No delay has been entered. I expected these exit signals to be set to Fahrt immediately.


    Do you have an explanation for this behaviour?


    I am very curious about it.

    Hey Frank ( frank.buchholz ) en Rudy ( RudyB ),


    Thanks for your reply. I definitely find it challenging to work with your solution. In my enthusiasm, I then regularly want a little too much. Sorry for that.....


    Additional, I do have something to think about.

    I have noticed that when the WebTool Lua Modul BlockControl is requested via WebTool GleisPlan that the current route of the train is stored in the Trains table as "Allowed=Name.Route". See post Lua Automatische Zugsteuerung für jedes Layout: Version 2 #19


    An addition to this could be Nice when the Trains table is used as an init table during the startup of the Anlage.

    But via contact points, the New current route assigned to train is store in this table when it is overwritten for the appropriate train by thé New (example) Lua command blockControl.changeRoute(Zugname, CurrentRoute).

    With this you can get a very dynamic handling of the train traffic.

    For example, when passing a station the train with value "Allowed = WeiterFahren" in the Trains-table will remain within a block for 20 seconds as defined in the block defenition with the same Allowed name. And will continue its journey.

    When the value Allowed is changed in this table to "UmkehrenCW" or "UmkehrenCCW" with the Lua command above the same rain will stand in front of the same signal for a minute and then return in the direction from which it came like it is defined in the table "UmkehrenCW" or "UmkehrenCCW".


    It's just an idea, which I hope will end up on the backlog.


    Should you want to have a layout available that has an issue in it. I have those available for you...Haha.:bo_1:


    I'm going to sit back and give you guys the opportunity to implement whatever plans you have. I'm curious to see what all of you have on this backlog already.


    Good luck with the development.

    Hey Frank ( frank.buchholz ) and Rudy ( RudyB ),


    I have made several attempts to get the reversal mechanism active in my test layout. Unfortunately I did not succeed yet.

    I took demolay-out 02 as a basis and added the train contacts at signal 7 and 8. From signal 7 CounterClockWise, from signal 8 ClockWise.

    On the other side, between block signals 10 and 11, there are 2 train contacts which randomly change the route from WeiterFahren to respectively UmkehrenCW or UmkehrenCCW.

    The train contacts at signals 7 and 8 are only active when the route is different from WeiterFahren.


    The Lua file looks like this for the adjustment:

    -- Erlaubte Blöcke mit Wartezeit

    local WeiterFahren = { [5]=1, [6]=1, [7]=1, [8]=1, [9]=1, [10]=1, }


    local trains = {

    { name="#Steam", signal=4, allowed=WeiterFahren, speed=33 },

    }


    local main_signal = 3


    local block_signals = { 5, 6, 7, 8, 9, 10, }

    -- 6 signals use BLKSIGRED = 1, BLKSIGGRN = 2


    local two_way_blocks = { { 5, 8 }, { 6, 10 }, { 7, 9 }, }


    local routes = {

    { 5, 6, turn={ 1,1, }}, --CW to 6

    { 6, 5, turn={ 2,1, }}, --CW to 5

    { 6, 7, turn={ 2,2, }}, --CW to 7

    { 7, 6, turn={ 1,2, }}, --CW to 6

    { 8, 10, turn={ 2,1, }}, --CCW to 10

    { 9, 10, turn={ 2,2, }}, --CCW to 10

    { 10, 8, turn={ 1,1, }}, --CCW to 8

    { 10, 9, turn={ 1,2, }}, --CCW to 9

    { 7, 9, turn={}}, --CCW reverse direction to 9

    { 8, 5, turn={}}, --CW reverse direction to 5

    }


    I expect all according to the guidelines you mentioned in the earlier post.


    In principle it all works fine. After I moved the call for blocks 9 and 5 to after signal 8 and 7 it even works better.


    Unfortunately, the Lua script chokes after about 10 laps. Then the script seems to want to execute a reversal, while this is not actual at that moment. All sorts of error messages appear. "No tain has reserved block" or "expected in block xx".

    This is probably due to the double entry of a route starting from signals 5 and 7. But I wouldn't know how to do this differently.


    Because of my lesser knowledge of Lua, this application is a Pandora's box. I am doing my best to set it up properly, but am not getting the desired result.


    I would like to make available my simple example to get it operational. I hope you will cooperate.


    Can you let me know what you think about this? Thanks in advance.