Train : control system

Smart setups of railway stations, intelligent routing, solutions to complex train-routing problems.
Please provide - only if it makes sense of course - a blueprint of your creation.
Azer
Burner Inserter
Burner Inserter
Posts: 6
Joined: Sun Jan 21, 2018 8:48 pm
Contact:

Train : control system

Post by Azer »

Hi,

You want to control exactly where are your trains, why and when they move? You want to optimize each journey? Let's see how to do it.

Before to explain how to do it, let's think a little : to get best railway, we need to think on train, railway, load station, unload station before to see the control system.
Good luck to read it, english is not my native language so it have been hard for me to write it. If someone want to work on it to made it more readable, I would be realy happy ;)

Azer


PLAN

A] Basics (train, railway, advices and trips)

B] Load station, unload station

C] Control system computer

D] Other things (nothing for now)
[/color]

A] Basics (train, railway, advices and trips)

Train are the best way to transport different goods with important distances, and high speed. In same time we can automatize train, it's why this is the perfect way to link different parts of your factory. I use it mainly to transport ore and oil from extraction places to my fact.
I wont explain how to build railway and automatize train (or i'll do it later ;) ).

1) Trains

Best train to use are 1/4/1. It mean 1 engine, 4 wagons, 1engine. It's best way to transport goods, and your train can go in both direction that help to build lighter station. 4 wagons is 1 of best configuration, because trains are not too long and dont block railway, but feel free to test the number you want.
train4.png
train4.png (216.76 KiB) Viewed 4089 times
You should use color to know easily what the function of each train, without need to click on it each time.
When all work good, it's just nice to have some colored train, but when you have a problem on your railway, it's realy much more easier to find and solve problems when just with color of engine you can know wich train have problem.
Engine colored
2) Railway

In this game, you can do what you want, but you can have realy easily ugly systems. With plan, you can get an interesting, well build railway. I advice you to do plan to have symetrical and functionnal railway without having to lose lot of time or energy to build it. Because railway will go everywhere you go, it's important to buil rail & electricity & signal (red and green) in same time. I use the following plan. (it's drive on right)
Line
blueprint
Turn
blueprint
T2
blueprint
T1
blueprint
Cross classic
blueprint
For intense traffic :
Faster cross
blueprint
Last edited by Azer on Mon Apr 02, 2018 8:48 pm, edited 3 times in total.
Azer
Burner Inserter
Burner Inserter
Posts: 6
Joined: Sun Jan 21, 2018 8:48 pm
Contact:

Re: Train : control system

Post by Azer »

B] Load station, unload station
Factorio is an awesome game with infinity of possibilities. 1 way so few used by player is electronic. It's a great thing that I'll use and you should use all.

1) Load station

This station have 1 goal : load faster as possible train.
To do this, we need to be able to have same speed to fill each wagon. So we need to have chests equally filled waiting to load wagons. We will build a station to load each chest and so each wagon same way.

The solution used is this : calculator read the number of item in all the chest. Then it calculate this number divided by number of chest. If a chest have less items than average, robotic arm can fill the chest. In the other case, if chest have more items than average, robotic arm is blocked.
loadstation.png
loadstation.png (1.5 MiB) Viewed 4093 times
Blueprint
loaddetailled2.png
loaddetailled2.png (431.17 KiB) Viewed 4093 times
2) Unload station

Like for load station, the goal is to unload each wagon whith same speed than other wagon to optimize the speed of unload 1 train. So all the chests need to be empty at same speed.
The solution used is same than before :
Calculator read the number of item in all chests. Then it calculate this number divided by number of chest. If a chest have less items than average, robotic arm is blocked. In the other case, if the chest have more items than average, robotic arm can empty the chest.
unloadstation.png
unloadstation.png (1.93 MiB) Viewed 4100 times
Blueprint
unloaddetailled.png
unloaddetailled.png (730.84 KiB) Viewed 4100 times
As you can see, I have always unload stations by 2 or 4.
Unload station coupled by 2
Unload station coupled by 4
Last edited by Azer on Mon Apr 02, 2018 8:50 pm, edited 3 times in total.
Azer
Burner Inserter
Burner Inserter
Posts: 6
Joined: Sun Jan 21, 2018 8:48 pm
Contact:

Re: Train : control system

Post by Azer »

C] Control system computer
1) Presentation

Here we are. It's surely for this part than you read the post, and to be honnest it's here that I have worked so much time to build it, search problem, rebuild it, change things, use differents things, stop play factorio and use paper to understand, rerebuilit... It's a long project.

So what's the goal? I wanted to have only train moving when they are wanted. That mean if loadstation can load 1train (enough good or products or ore can be loaded in train without that the train wait). It's to optimize transport. With this solution, you can have 1 train for 3 load station for exemple, and the train go always to station ready. You dont need to control manualy it, or to change always the station name, or to... blabla, you need to build the control system and after, train go alone where load station is rdy.


To get this, you need 3 things :

-Railway with network like in part 1 : Network need to connect you control system center and each of you load station.
-Specific load station : load station from part 2 need to be upgraded a little.
-Control system computer : it's the place where we will put calculator to give order to train.

2) How does it work ?

Little story to understand the way it work :

Somewhere, a load station have in chest 8k of ore copper. So she say : "Oh I can load 1train :) let's call 1 to send the 8k to fact !"
She take her phone, and call central station : "Hey bob, could you send me 1train ?"
Then central station answer : "Hey copper extraction place, how are you ? you say me that you can fill 1train of copper ore, it's nice! I'll send you 1 as soon as one is reday!"
When the train go out of central station, bob say "1 train is send, we have answered the request"
Then the train arrive in load station, he is fill and he go to unload station.
Load station can now say : "The train is now full, and he is back" I dont need 1 other train cause i have les than 8k in my chest".


3) So what? :

Load station have one job :

Emit a signal when 1 train can be load fast, it mean that there is enough good in chests to fill 1 train.
réseauelec.png
réseauelec.png (1.13 MiB) Viewed 4089 times
On previous image, we can see that 3 load station of Iron call train (signal I) and 1 station of mixed ore call train (signal O)

Central station have one job :

Send train when train are called, I should say : send same number than number of train called. (it's main goal of system).

It seems easy to do, but we need to be able to send 1 train when wanted, to count train sended and compare it to number of trains called, to be able to block train no needed, to...

4) Finaly, how will we build it ?:

To know when a train pass a way, we will use 2 train signal : when both are orange, it mean that 1 train is on it. This tip will be used to know when train is moving to answer 1 request.
orangex2.png
orangex2.png (606.96 KiB) Viewed 4089 times
To count how many train are moving to answer request, we will use chest. The number of items in it represent the number of train moving.
loco.png
loco.png (572.06 KiB) Viewed 4089 times
With these 2 ideas, let's build a system that way :

Load station need to emmit signal when it can load 1 train.
Central station need to be able to send 1 train and only 1 for each request independently. It use 1 calculator to see if it's more resquest train out. If it's more request, it let train go. Each train who go is counted by station to compare with number of request.
Then train go to station open (=can fill 1 train), and signal emited by load station is off when train enter in it.
Then when train go out of load station, a short signal is sended to central station. This short signal say : train sended have done his job, so 1train is counted in less by central station.

5) What you need to build :

Load station
We add part to emit request signal and part to emit short signal.
loadstation+.png
loadstation+.png (1.38 MiB) Viewed 4083 times
blueprint
unload+detailled.png
unload+detailled.png (1.39 MiB) Viewed 4083 times
"I" is the signal to call train and the signal "iron ore" is the short signal.
For other you need to change it :

Copper:
"C" is the signal to call train and the signal "copper ore" is the short signal.

Coal :
"K" is the signal to call train and the signal "coal" is the short signal.

You can do as you want, but just need to be carefull an follow same way alwats or you will get some bugs.

Central station
Part to listen signal from load station
Part to let train go.
Part to count train gone.
Part to count in less trin fill by load station.
centraldetailled1.png
centraldetailled1.png (826.45 KiB) Viewed 4082 times
centraldetailled.png
centraldetailled.png (1.45 MiB) Viewed 4082 times
blueprint
When you have build both central station and load station upgraded, you can now put same name to each load station and train will go automaticaly to the station with enough items to fill train.
Last edited by Azer on Fri Mar 30, 2018 9:37 pm, edited 1 time in total.
Post Reply

Return to “Railway Setups”