Traffic control and sidings.

justinroth

Active member
I have been route building and making content for years, I often fall behind on actually playing the game. When EIT's came out this got me a bit more into actually running in driver and setting up schedules as previous methods to control a.i. were spotty, at best. I am wondering if there is a dynamic method to control bi-directional traffic on a one track mainline with sidings, i.e. the a.i. will always take the mainline unless met with an opposing meet which would then change their path to take a siding and wait. In past instances I've always accomplished this with somewhat precisely scheduled portal timing, triggers ect. I would love to just be able to schedule some instances for the portal to emit trains based on what volume of traffic I need for the line, and let the a.i. take care of the rest. I realize this might be a bit of a tall order but certainly there are methods to accomplish this with MCM and EIT's?
 
Yes, it can be done. First, I would set up a Track Circuit Block for the single track (assuming you would have 2 EITs; one at each end of it. Not needed if everything is controlled with a single EIT). That will stop 2 opposing trains trying to enter the single track at the same time.

Then, I would assign each train 2 mission codes in the form AtoBmain, AtoBloop, BtoAmain, BtoAloop (name as you wish). When assigning the missioncodes to the EIT paths, assign AtoBmain to the mainline path, with a priority of 1, and assign AtoBloop to the siding path with a lower priority (2 or 3). Do the same for your other similar situations. Your train should take the highest priority MC path if available; otherwise it will look for a lower priority path and take that one.

Hope that helps.
 
Yes, it can be done. First, I would set up a Track Circuit Block for the single track (assuming you would have 2 EITs; one at each end of it. Not needed if everything is controlled with a single EIT). That will stop 2 opposing trains trying to enter the single track at the same time.

Then, I would assign each train 2 mission codes in the form AtoBmain, AtoBloop, BtoAmain, BtoAloop (name as you wish). When assigning the missioncodes to the EIT paths, assign AtoBmain to the mainline path, with a priority of 1, and assign AtoBloop to the siding path with a lower priority (2 or 3). Do the same for your other similar situations. Your train should take the highest priority MC path if available; otherwise it will look for a lower priority path and take that one.

Hope that helps.

Interesting. I did not know you could assign multiple mission codes to one train. I also did not know that paths could have priorities. I only have two EIT's for my whole route. Perhaps I should use more with less paths per tower?
 
Just to clarify, the EIT paths themselves do not have priorities (yet); the priorities go with the mission codes, assigned to the paths. It will make more sense when you look at the MissionCode Manager rule configuration. Yes, you can assign more than one MC to a train. At present, this can only by done with the AddMissioncode driver command, or via the Stops and Timetables manager rule (a whole new learning curve :)).

The division of EITs and paths is really a user choice and would likely depend on the number of paths involved. Your 2 EIT set-up should work fine.
 
Last edited:
Hi

There is a limit to the number of track objects (junctions and signals) that can be controlled by an EIT. Pierre recomends that they should be kept down to about 400 to avoid issues with script errors. I can usually get in the region of 40 paths per tower but obviously the number of paths will depend on how many trackside objects that there are in each path.

It doesn't hurt to put in more towers and it can simplify adding MCs to paths. If a tower has 40 paths then sorting out which MC should be added to which path can get confusing. One problem that I have come across with yards and stations that can be entered from either end is that the track detector can only see a train that is actually sitting on that particular track detector. This means that until a train actually activates the track detector trains approaching from the other end can still set a path into the same siding or platform resulting in a cornfield meet.

The way that I get round this is to have trains from end A use even number sidings/platforms and trains from end B use odd number sidings/platforms. This is achieved by using the priority settings for the MCs. In an 8 track station or yard for example a train approaching from end A would have tracks 2, 4, 6, and 8 set to priority 1 and tracks 1, 3, 5, and 7 set to priority 2 or 3. A train approaching from end B would have tracks 2, 4, 6, and 8 set to priority 2 or 3 and tracks 1, 3, 5, and 7 set to priority 1. If by some chance all four priority 1 tracks are occupied for a particular direction a train will search for a vacant priority 2 track. Since adopting this method I've had no problems with cornfield meets.

I know that there are other solutions to this but this is the simplest one that works for me. For example it can be done with variables which can be set to indicate that a particular track is occupied as soon as a path into the platform or siding is activated manually using a driver command. This works well with a small number of platforms/sidings but can get very complicated with large stations or yards.

Regards

Brian
 
You can always use the <kuid:243828:1939> C+ SO Note (Track) Black Nameable or another variant. You name the object (no spaces) and put it into the EIT "exclusive sets membership" entry of to opposing towers. It does not even have to be in a defined path. The first tower to reserve it locks the section and any other tower must wait for access.
 
You can always use the <kuid:243828:1939> C+ SO Note (Track) Black Nameable or another variant. You name the object (no spaces) and put it into the EIT "exclusive sets membership" entry of to opposing towers. It does not even have to be in a defined path. The first tower to reserve it locks the section and any other tower must wait for access.

I do something similar at sidings, except I don't use the C+ SO Note, at least not yet. I just set the "Exclusive sets membership" entry to the same text for the paths I don't want activated at the same time. I set paths entering the main from each side to the same exclusive entry (such as ArdonMain), and use a different exclusive entry (ArdonSiding) for both paths entering the siding from each end. Works well. :) I haven't really looked into the C+ notes, but I may check them out when I get to more complicated situations.
 
Yes, it can be done. First, I would set up a Track Circuit Block for the single track (assuming you would have 2 EITs; one at each end of it. Not needed if everything is controlled with a single EIT). That will stop 2 opposing trains trying to enter the single track at the same time.

Then, I would assign each train 2 mission codes in the form AtoBmain, AtoBloop, BtoAmain, BtoAloop (name as you wish). When assigning the missioncodes to the EIT paths, assign AtoBmain to the mainline path, with a priority of 1, and assign AtoBloop to the siding path with a lower priority (2 or 3). Do the same for your other similar situations. Your train should take the highest priority MC path if available; otherwise it will look for a lower priority path and take that one.

Hope that helps.


Forgot to mention, I don't use track circuit blocks. I never have and didn't know I needed to with the enhanced interlocking tower? So far I just simply have my paths, and have a set of "auto drive thru" and "set path" commands though I will be removing the "set path" driver commands and replacing with the MCM with activation triggers. Hope this makes sense, I see it as the simplest solution thus far.
 
You can always use the <kuid:243828:1939> C+ SO Note (Track) Black Nameable or another variant. You name the object (no spaces) and put it into the EIT "exclusive sets membership" entry of to opposing towers. It does not even have to be in a defined path. The first tower to reserve it locks the section and any other tower must wait for access.


Interesting. So it acts as sort of an invisible train occupying a section of track? What defines a "section"?
 
Interesting. So it acts as sort of an invisible train occupying a section of track? What defines a "section"?


The sections are what is controlled by the EIT's. Say you have a crossing A - B and C - D, you put the C+ in one of the sections A - B or C - D and
enter the name in the exclusive set of the paths for all the entries that use the crossing. So if one of the paths is active none of the others will activate
until the active path is cleared.
 
Back
Top