high throughput stacker & station

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.
Post Reply
User avatar
ranzolger
Inserter
Inserter
Posts: 29
Joined: Fri Jun 01, 2018 6:40 pm
Contact:

high throughput stacker & station

Post by ranzolger »

i was looking for a solution to increase the train throughput of (big) stations. this is where i found out that the part between stacker and the trainstops itself and the station exits were the bottleneck most of the time.

i fiddled around a little bit and came up with this:


blueprint v2 small.jpg
blueprint v2 small.jpg (641.16 KiB) Viewed 11572 times
keep in mind that this will only work if you use at least 2 different station names (so it has limited use for single item stations [e.g. smelters]). but i think its quite potent. the chained signals on the station exits alone can increase throughput, as it prioritises already leaving trains about those just about to leave (so lesser breaks).

someone has other ideas/suggestions? are there other systems i dont know about?
i was looking for something like this, but couldnt find. the blueprint is a test setup (havent tested it in wild life, yet). id love to hear confirmation/enhancements.

if its functionality is approved, it will be part of my lategame blueprints (im about to release).

the factory must grow...

mmmPI
Smart Inserter
Smart Inserter
Posts: 2728
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: high throughput stacker & station

Post by mmmPI »

I am not sure i understand what you meant by 2 different station names.

Is that for 2 different things to be unloaded like [copper ore] [copper ore] [copper ore] [iron ore] [iron ore] [iron ore] ?

From experience it's easier to achieve higher throuput if you don't mix the different train in the stacker so you never have to deal with the situation where one ressource may slow another one when train cross.

Like one stacker, a space for the next train , station , exit lane , and you would make the exit lane long enough so train are already going fast when they reach their 1rst junction, same for the entrance , you could make a long straight lane before your stacker so your train would slow down there and not in the network.

Your approach seems to be having more cross to provide more ways. I would have tried to make as few as possible so i'm curious to see where your ideas bring you because there are others way of course, maybie seeing a "live" version of this would help understanding better what you are trying to achieve.

When you will try to lay down the chests inserters and belts for the wagon, it will change the proportion of the blueprint you may end up findind the right part with chain signal becoming longer if you need more space vertically to put those inserters, you may find this part being the bottleneck again.

Others thing to take in account are the fuel you will use for the train, and for now i can only see loco, but if you put 4 wagons and give them coal or only 1 behind and nuclear fuel , the acceleration and lengh of train would change quite a lot how much time they block each other when crossing path, this is hard to "judge" from here , but am no one to judge , i just have the memory of me a few years ago now spending tons of time to make the "perfect" station only to realise that the inserter don't put on the same side of the belt when they drop to north or south and i had to redo it all , 2x the fun :D

User avatar
ranzolger
Inserter
Inserter
Posts: 29
Joined: Fri Jun 01, 2018 6:40 pm
Contact:

Re: high throughput stacker & station

Post by ranzolger »

this stacker/system will only make sense if you have a large station with multiple train stops (>= 2 different train stop names) and more than one item to unload (eg [iron] [iron] [copper] [copper]).

for stations with multiple train stops and only one train stop name (=same item) to unload it wont make sense.

lets asume there are two trains in the stacker to unload iron (to multiple train stops with the same name):
both trains schedule for the same train stop, as soon as the first one starts moving to it, the second one will wait (because the way to its scheduled train stop is blocked/allocated). when the first train arrives at the train stop, the train stop will 'send' that it is occupied. because of that the second train will reschedule to another train stop (with the same name [=item]). so it is impossible for more than one train to go to train stops (with the same name [=item]) simultaniously.


but if you have a station with mixed items (=multiple train stop names) this system will start to make sense. like in this abomination.

overview of a full size build:
overview.JPG
overview.JPG (1.98 MiB) Viewed 11148 times


like in the picture below, trains from both tracks can enter the stacker at the same time. they wont go in the same stacker block because all signals (in the red circles) will turn red (when the train from track 1 enters the stacker). i've chosen this block style to get a good compromise of space efficiency and the functionality of this concept. if you use a single track trainsystem, just construct a split (possibly with a train length buffer).
1v2track.jpg
1v2track.jpg (1.73 MiB) Viewed 11148 times


for the routing to the train stops (we assume multiple items [=different train stop names]):

  • 1. green (stacker to train stops/station)
    • just like above: 2 trains can enter the station at the same time (from different stacker blocks and scheduled for different train stops). as soon as a train leaves a block, its adjecting (two) tracks will be closed by their signals. but a different block can go to the station (train stops).
  • 2. blue (train stop to exit)
    • its the same, but different ;-)
      first thing to mention: trains going on the right track ("way 2") will trigger a network to close all signals (red circles) ahead of them, so no trains will go on this track (and use way '1' instead).
      in case a train is just leaving a train stop to the left track ("way 1") and another one is coming on the same track from a farther train stop it will switch to the right track ("way 3"). so it is possible for two trains to exit at the same time.
stacker ways.jpg
stacker ways.jpg (1.98 MiB) Viewed 11148 times


i hope this explanation clears some things up. im too tired to continue now... if i forgot something to answer, please let me know.


the factory must grow...

mmmPI
Smart Inserter
Smart Inserter
Posts: 2728
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: high throughput stacker & station

Post by mmmPI »

Yes it is clearer ( at least for me ) now what you are making. Thanks for that step to step explanation.

You made a thing to deal with the situation I usually try to avoid. You did it by giving priority to the train to one of the two lane , and you divided the stacker in 2 different block since there are 2 lances so it act as 2 different stacker that sometimes smartly interconnect both at the entrance and exit ( with my imprecise wording).

This is the first time i see such a thing and i look quite a lot at other's stuff on the forum , so i understand you didn't found similar thing, and i can't point out one i have in memory.

I assume you want to design a "generic" station , that would be easy to copy paste with "expansion" in mind, so you could plop down another one when the first reach saturation.

In this case when you say "throughput" you refers to trains and material altogether i think, like when a junction throughput is mesured it's usually in number of train per amount of time , all the train being the same standard size making up for the conversion number of train = quantity of material.

In your setup you could increase the " thougput " of train, if you unload of both side, this could almost double the throuput of train since they would stay 50% less time , you would need to also double the number of belt per wagon, to prevent a new bottleneck since this would also double the amount of material.

Or you could just halve your train size while unloading both sides to keep the same amount of material, while still having higher throughput of train. That would allow for a smaller design at the cost of ruining that "abomination" feel that is totally understandable to like :D

I guess only the testing will tell if the functionnality you want are provided with the design you have. I can't predict how the trains behave correctly half of the time and always find out the hard (fun) way , that scaling a proof of concept creates new situations (mess).

In this case my doubts are wheter the train are fast enough to recalculate their pathing when a train signal is closed with circuit ahead of them. And from what i've learned from factorio i would say this could be different given a clockwise or counter clock wise rotation while going through the station, since train should always prefer one path over another even if they are the same lengh ( no randomness ).

Which stresses even more the need for testing :D

One thing i'm curious about still is why you would want to make 1 big station for different materials, rather than many station each having its own material. The later option is easier to build, and for the blueprinting part, i guess it's a matter of preference if you want 1 Bigger more complete blueprint or many small modular part.

I like that you design blueprint for other people because i don't, i may share the stuff i build but it was built for a specific purpose and most of the time is not designed with sharing in mind.

Now this is maybe why we have different approach which leads you to build a station that needs to be approved by the end user as you are not the (only) end user :d

User avatar
ranzolger
Inserter
Inserter
Posts: 29
Joined: Fri Jun 01, 2018 6:40 pm
Contact:

Re: high throughput stacker & station

Post by ranzolger »

its always a compromise for space and throughput (or productivity), in search for good or best efficiency.

i think 4 car trains (with 2 locos) have a good combination of cargospace and acceleration. and yes, my thought was to create a generic trainstop to plop down and do some (combinator-) settings to make it working. also 4 belts is a good number to work with (more easy than 8). and another important thing: the train stops have a built-in balancer, with more belts you need bigger balancers. if you need to feed more than 4 belts (eg 16), you dont have to build a 16to16 balancer (you have 4x4 [4 trainstops with a 4 belt balancer]). the trains itself are acting as a balancer (and buffer).


some calculations:

unload 1 wagon with 4k items (100 stack size) with 6 insteres will take (4000i / 6 / 27,69i/s =) ~24s.
unload 4k items from chests to one blue belt with 6 insertes will take (4000i / 45i/s =) ~89s.

so, once saturated, every 90 seconds a train needs to arrive at a trainstop (assuming max consumption). so stations can get quite big until train traffic becomes a bottleneck. the longer the trains, the slower their acceleration, the more likely it will affect efficiency.


as recipes usually need more than 1 ingredient it makes sense to create mixed stations. otherwise i would have to create multiple stations (with their own stacker) to fullfill the needs of the assembling machines. in the case of the circuit factory i would need to build 3-4 stations, using alot of space.


things i like with this layout:
- its easily tileable and allows modular builds
- 'intelligent' (all trainstops will deactivate once their buffer is full, exept one; even with mixed materials)
- each train stop has the same size of a standard beaconed assembling machine row (10 tiles, just like here).
- can handle a lot of traffic (4 track compatible)
- built-in balancer


thank you very much for your feedback! good to hear questions and rethink my thoughts. and learn of other ways to approach challenges.
in factorio you can achieve yout goal on a lot of different ways, thats why its so good.

mrvn
Smart Inserter
Smart Inserter
Posts: 5696
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: high throughput stacker & station

Post by mrvn »

I think you are forgetting one thing. Even with stations of the same name trains pick one of the stations when they leave their previous station. And they only reconsider when getting stuck on a red signal. So it can happen that 2 trains will go to different stations of the same name if they picked right the first time.

Secondly you have 3+3 stops and I assume the stacker is for 3+3 trains. Why cross the tracks at all? Why not have 3 lanes of the stacker connect to the first 3 stops and the other 3 lanes to the other 3 stops? The iron trains would go to one half of the stacker and the copper trains to the other half. And both an iron train and copper train can always go to the station in parallel. This avoids the case where a train from the lowest lane of the stackker goes to the highest train stop picking the inner lane and blocks everything else. The longer your trains get the worse a crossing will be. Avoid them. All you have to do is remove some tracks that you don't want the trains to take anyway. Make it so that the green path 1+2 in the last screenshot are the only paths there are.

So lets talk about non crossing stackers and stations. You use chain signals on the stacker so a train will only leave the stacker when it has a clear way all the way to the station. But that means it will only start moving when the previous train has reached its station. As the trains get longer and the stacker larger this adds more and more of a gap between trains.

If you dedicate each stacker block to one item type you can improve on that by using full signals in the stacker up to where all lanes have merged into one and before they split to the stations again. Make sure you place both a full signal and chain signal there so trains will repath to a free station at that point. What I also found helpful is making the station 2 trains long. So one trains is unloading and a second train can already move out of the stacker and into the station. But that might only work well with LTN where each station as an unique name so trains know where to go.

mmmPI
Smart Inserter
Smart Inserter
Posts: 2728
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: high throughput stacker & station

Post by mmmPI »

SimmonS wrote: ↑
Thu May 30, 2019 11:14 pm

i think 4 car trains (with 2 locos) have a good combination of cargospace and acceleration. and yes, my thought was to create a generic trainstop to plop down and do some (combinator-) settings to make it working. also 4 belts is a good number to work with (more easy than 8). and another important thing: the train stops have a built-in balancer, with more belts you need bigger balancers. if you need to feed more than 4 belts (eg 16), you dont have to build a 16to16 balancer (you have 4x4 [4 trainstops with a 4 belt balancer]). the trains itself are acting as a balancer (and buffer).

some calculations:

unload 1 wagon with 4k items (100 stack size) with 6 insteres will take (4000i / 6 / 27,69i/s =) ~24s.
unload 4k items from chests to one blue belt with 6 insertes will take (4000i / 45i/s =) ~89s.

so, once saturated, every 90 seconds a train needs to arrive at a trainstop (assuming max consumption). so stations can get quite big until train traffic becomes a bottleneck. the longer the trains, the slower their acceleration, the more likely it will affect efficiency.
I got this part, i had a look at the AID you made , i imagine this in a factory some sort of decentralised with rail networks to link different production lane, that would be different from a main bus with a main unloading station, the blueprint you are making would also work in a modular grid style factory, as you say it later.

you made this a trade off in the " max theorical throughput" that to make it easier to schedule train, you have 90 sec margin ,a train should arrive at the station that often or more frequently than 1 per 90 second.

That is per stop , so if you have 2 iron plate station and 2 copper plate station you would need 1 train every 45 second for each ressources, or 1 train every 22.5 second need to enter your stacker.

Approximating train speed as a constant during the game this gives you a radius around your station. If you go outside that radius, you would need more train than you can fit in the stacker to maintain 1 every 22.5 for example.

If you have a congested train system it reduces that radius, and same when train are running less than full speed.


SimmonS wrote: ↑
Thu May 30, 2019 11:14 pm
as recipes usually need more than 1 ingredient it makes sense to create mixed stations. otherwise i would have to create multiple stations (with their own stacker) to fullfill the needs of the assembling machines. in the case of the circuit factory i would need to build 3-4 stations, using alot of space.
This I understood as a confirmation that would were designing those station to be used kind of like 1 here , set up for iron and copper, dedicated to produce green circuit, and 2 chunks aways another one for green circuit copper and plastic dedicated to produce red circuit , and 2 chunks away another one , for iron and stone dedicated to produce rail , and ect. And definitely not as the main station for a main bus.


This using a naming convention for the station like [Iron plate for Green circuit] [Iron plate for Green circuit] [Copper plate for Green circuit] [Copper plate for Green circuit] for the first example i took earlier.

mrvn wrote: ↑
Fri May 31, 2019 5:56 am
I think you are forgetting one thing. Even with stations of the same name trains pick one of the stations when they leave their previous station. And they only reconsider when getting stuck on a red signal. So it can happen that 2 trains will go to different stations of the same name if they picked right the first time.
I dont understand " So it can happen that 2 trains will go to different stations of the same name if they picked right the first time."

The first part i used to fix my problem by adding a dummy station with a 0 sec condition to make train rethink their path where i want, or to flip 2 headed train sometimes ( and i've seen some smarter think that i've not yet crack out how they work )

But in this case you meant a problem may happen?

if all train decide to go to the top station when they leave, when they arrive, the first one take the spot and the other may take too much time to repath ? or may repath while waiting in an incorrect position ?

If you need unique ID for station you could always name them [Iron plate for Green circuit A] [Iron plate for Green circuit B] [Copper plate for Green circuit 1] [Copper plate for Green circuit 2]

This way you could plop the same blueprint with different configuration like : sometimes you would have 75% of the stacker for 1 ressource brought by 5 train, and 3 different ressources brought by 1 train other time it's 50%50% with 2 ressources , this while keeping a standard blueprint for symetry and regularity over "efficency" in a sense that you would have all your station same size but not the same % of utilisation.

mrvn wrote: ↑
Fri May 31, 2019 5:56 am
If you dedicate each stacker block to one item type you can improve on that by using full signals in the stacker up to where all lanes have merged into one and before they split to the stations again. Make sure you place both a full signal and chain signal there so trains will repath to a free station at that point. What I also found helpful is making the station 2 trains long. So one trains is unloading and a second train can already move out of the stacker and into the station. But that might only work well with LTN where each station as an unique name so trains know where to go.
that's what i would do for myself, but then you need to think about the size of each stacker for each ressource invidually, and on every production lane here you just have to plop the station and settle the combinator and some rail might be not used much and the station could be smaller in some cases but you don't spend time thinking about it at all, you plan to kinda always overkill on logistic to the point where you expect your train to sit in buffer. Giving you margin for when the traffic grows into the network i imagine.

my naming convention is usually [Item carried][Item in which it is transformed][Size of train][ID] sometimes [Item carried][Place it goes][Size of train][ID]

[Iron plate][Green Circuit][24][1]
[Iron plate][Green Circuit][24][2]
[Iron plate][Green Circuit Factory][121][1]
[Iron plate][Green Circuit Factory near the lake where i also make the red circuit][141][1]

The problem with this naming is that you cannot disable one stop and expect the train to go elsewhere unless you get creative with schedule condition, or you use LTN, if you don't have LTN you need your station to have the same name to have the train goes to " the closest opens" which is sometimes " the only open" .

Now the other thing i'm curious about how you will tackle it is "- 'intelligent' (all trainstops will deactivate once their buffer is full, exept one; even with mixed materials) "

How do you plan to reroute the trains that no longer need to go in a station ?

I already had trouble with train stopping in a middle of nowhere when the last station that was open for it was turned off. Is that why you keep 1 open ?

But in this case, the train would still sit in the stacker, not being more useful elsewhere so why would you want to turn off the station ?

i am not sure i understand here.

SimmonS wrote: ↑
Thu May 30, 2019 11:14 pm
in the case of the circuit factory i would need to build 3-4 stations, using alot of space.
You could also make a train that has the proportion of the receipe, for green circuit you would have roughly 1 train with 5 wagons , 2 wagon of iron and 3 wagon of copper, this requires too much planning for me if you account prod modules :geek: but that would allow for no crossing between those trains, and only 1 stacker for all of them the way mrvn describe.

Maybie using filter inserter commanded by circuits you could make a generic version, but that would not be convenient to share :D

At least i understand now why you made what i called "1 big station for different materials " , it's because you think it's a small station that will be duplicated everytime you need, what i like with smaller train is that you have less trouble moving the whole station by 1 tile when you messed up alignment and i do that a lot.

It is always a pleasant experience to exchange with people that admit their things may be improved and patient enough to explain :)

mrvn
Smart Inserter
Smart Inserter
Posts: 5696
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: high throughput stacker & station

Post by mrvn »

mmmPI wrote: ↑
Mon Jun 03, 2019 10:31 pm
SimmonS wrote: ↑
Thu May 30, 2019 11:14 pm

i think 4 car trains (with 2 locos) have a good combination of cargospace and acceleration. and yes, my thought was to create a generic trainstop to plop down and do some (combinator-) settings to make it working. also 4 belts is a good number to work with (more easy than 8). and another important thing: the train stops have a built-in balancer, with more belts you need bigger balancers. if you need to feed more than 4 belts (eg 16), you dont have to build a 16to16 balancer (you have 4x4 [4 trainstops with a 4 belt balancer]). the trains itself are acting as a balancer (and buffer).

some calculations:

unload 1 wagon with 4k items (100 stack size) with 6 insteres will take (4000i / 6 / 27,69i/s =) ~24s.
unload 4k items from chests to one blue belt with 6 insertes will take (4000i / 45i/s =) ~89s.

so, once saturated, every 90 seconds a train needs to arrive at a trainstop (assuming max consumption). so stations can get quite big until train traffic becomes a bottleneck. the longer the trains, the slower their acceleration, the more likely it will affect efficiency.
Acceleration is important for short distances. Or in a congested network when trains often have to stop at signals. WhatI'm currently trying to do is to split my train network into local short distance and long distance parts. For local trains I use LCCC and LFFFLFFF. For long distance I double the trains and use cargo wagon mk III (from Angels/Bobs) which are twice the size. So long distance is 4 times the content. Important is that local and long distance networks do not cross. I'm actually trying to build the whole network without any crossings. For that I have explicit transfer stations where local trains deposit their goods from multiple sub factories and long distance trains pick them up and vice versa. My aim is also to have no station require a train more than once a minute.
mmmPI wrote: ↑
Mon Jun 03, 2019 10:31 pm
I got this part, i had a look at the AID you made , i imagine this in a factory some sort of decentralised with rail networks to link different production lane, that would be different from a main bus with a main unloading station, the blueprint you are making would also work in a modular grid style factory, as you say it later.

you made this a trade off in the " max theorical throughput" that to make it easier to schedule train, you have 90 sec margin ,a train should arrive at the station that often or more frequently than 1 per 90 second.

That is per stop , so if you have 2 iron plate station and 2 copper plate station you would need 1 train every 45 second for each ressources, or 1 train every 22.5 second need to enter your stacker.

Approximating train speed as a constant during the game this gives you a radius around your station. If you go outside that radius, you would need more train than you can fit in the stacker to maintain 1 every 22.5 for example.

If you have a congested train system it reduces that radius, and same when train are running less than full speed.
That math doesn't quite work. If you have 2 iron plate stations and 2 copper plate stations you would have 4 trains. So while you need 1 train every 22.5 seconds each train still has 90 seconds to arrive. So the circle is still 90 seconds large. It's just busier. Add in the stacker and you have 8, 12, 16 trains and the circle gets bigger. Ideally the stacker should be empty and every train just drives through without stopping at all. But usually you (hopefully) overproduce so trains arrive faster than needed and then the stacker has to buffer them. A balanced setup with some wiggle room will have just one train per resource in the stacker.
SimmonS wrote: ↑
Thu May 30, 2019 11:14 pm
as recipes usually need more than 1 ingredient it makes sense to create mixed stations. otherwise i would have to create multiple stations (with their own stacker) to fullfill the needs of the assembling machines. in the case of the circuit factory i would need to build 3-4 stations, using alot of space.
This I don't get. A station for iron ore with 4 trains needs a stacker with 3 lanes. Same for copper ore with 4 trains. This makes a total of 6 lanes in two blocks for your stacker. All that changes to your design is that 3 lanes of the stacker only go to the iron ore stop and the other 3 lanes only to the copper ore stop. It's exactly the same layout you've shown except with a few rails removed. Same space needed.
mmmPI wrote: ↑
Mon Jun 03, 2019 10:31 pm
mrvn wrote: ↑
Fri May 31, 2019 5:56 am
I think you are forgetting one thing. Even with stations of the same name trains pick one of the stations when they leave their previous station. And they only reconsider when getting stuck on a red signal. So it can happen that 2 trains will go to different stations of the same name if they picked right the first time.
I dont understand " So it can happen that 2 trains will go to different stations of the same name if they picked right the first time."

The first part i used to fix my problem by adding a dummy station with a 0 sec condition to make train rethink their path where i want, or to flip 2 headed train sometimes ( and i've seen some smarter think that i've not yet crack out how they work )

But in this case you meant a problem may happen?

if all train decide to go to the top station when they leave, when they arrive, the first one take the spot and the other may take too much time to repath ? or may repath while waiting in an incorrect position ?

If you need unique ID for station you could always name them [Iron plate for Green circuit A] [Iron plate for Green circuit B] [Copper plate for Green circuit 1] [Copper plate for Green circuit 2]

This way you could plop the same blueprint with different configuration like : sometimes you would have 75% of the stacker for 1 ressource brought by 5 train, and 3 different ressources brought by 1 train other time it's 50%50% with 2 ressources , this while keeping a standard blueprint for symetry and regularity over "efficency" in a sense that you would have all your station same size but not the same % of utilisation.
This was a response to the assumption that the iron ore trains would take the inner lane and the copper ore train then take the outer lane. What can happen is that an iron ore train picks the outer lane when leaving it's station because at that time the inner lane was blocked. Then when the train arrives at the stacker it will block the way for the copper ore trains. Nothing bad will happen though. As trains block paths the signals will turn red and trains will repath and it will all work out in the end.

Note: With LTN I simply have one stop that requests different items and they all unload into a warehouse. Filter inserter or loaders then put each item on a different belt.
mmmPI wrote: ↑
Mon Jun 03, 2019 10:31 pm
mrvn wrote: ↑
Fri May 31, 2019 5:56 am
If you dedicate each stacker block to one item type you can improve on that by using full signals in the stacker up to where all lanes have merged into one and before they split to the stations again. Make sure you place both a full signal and chain signal there so trains will repath to a free station at that point. What I also found helpful is making the station 2 trains long. So one trains is unloading and a second train can already move out of the stacker and into the station. But that might only work well with LTN where each station as an unique name so trains know where to go.
that's what i would do for myself, but then you need to think about the size of each stacker for each ressource invidually, and on every production lane here you just have to plop the station and settle the combinator and some rail might be not used much and the station could be smaller in some cases but you don't spend time thinking about it at all, you plan to kinda always overkill on logistic to the point where you expect your train to sit in buffer. Giving you margin for when the traffic grows into the network i imagine.

my naming convention is usually [Item carried][Item in which it is transformed][Size of train][ID] sometimes [Item carried][Place it goes][Size of train][ID]

[Iron plate][Green Circuit][24][1]
[Iron plate][Green Circuit][24][2]
[Iron plate][Green Circuit Factory][121][1]
[Iron plate][Green Circuit Factory near the lake where i also make the red circuit][141][1]

The problem with this naming is that you cannot disable one stop and expect the train to go elsewhere unless you get creative with schedule condition, or you use LTN, if you don't have LTN you need your station to have the same name to have the train goes to " the closest opens" which is sometimes " the only open" .

Now the other thing i'm curious about how you will tackle it is "- 'intelligent' (all trainstops will deactivate once their buffer is full, exept one; even with mixed materials) "

How do you plan to reroute the trains that no longer need to go in a station ?

I already had trouble with train stopping in a middle of nowhere when the last station that was open for it was turned off. Is that why you keep 1 open ?

But in this case, the train would still sit in the stacker, not being more useful elsewhere so why would you want to turn off the station ?

i am not sure i understand here.
If you turn of stations then there must be a way for the trains to leave the stacker and go somewhere else. Preferably without going through the station. So the train would not sit in the stacker. You also don't want trains to go to the stacker at all in the first place if they won't be able to unload. But that requires heavy circuit logic.

As said in my current game I have local and long distance trains. And with stations needing less than one train a minute local means trains must not take longer than a minute to arrive. That also means I never need more than 2 trains per station. So every station is simply 2 trains long. A one lane stacker if you will. If it needs a train more often then either split it into 2 smaller factories or double the train length. If the train takes too long to arrive then it isn't local anymore. Build a new long distance stop and make a new local network. That's the plan at least.
mmmPI wrote: ↑
Mon Jun 03, 2019 10:31 pm
SimmonS wrote: ↑
Thu May 30, 2019 11:14 pm
in the case of the circuit factory i would need to build 3-4 stations, using alot of space.
You could also make a train that has the proportion of the receipe, for green circuit you would have roughly 1 train with 5 wagons , 2 wagon of iron and 3 wagon of copper, this requires too much planning for me if you account prod modules :geek: but that would allow for no crossing between those trains, and only 1 stacker for all of them the way mrvn describe.

Maybie using filter inserter commanded by circuits you could make a generic version, but that would not be convenient to share :D

At least i understand now why you made what i called "1 big station for different materials " , it's because you think it's a small station that will be duplicated everytime you need, what i like with smaller train is that you have less trouble moving the whole station by 1 tile when you messed up alignment and i do that a lot.

It is always a pleasant experience to exchange with people that admit their things may be improved and patient enough to explain :)
LTN changes things a lot there. I simply have one station that requests 48000 iron plates and 48000 copper plates with a request limit of 24000. Meaning as soon at iron plates or copper plates fall below 24000 a train is dispatched to bring more plates of the required kind. Which happens in a nice 2:3 ratio required for green circuits without me having to do anything. I don't have to have different stations per item.

But i get why you want a shared stacker. So your blueprint has e.g. 4 stations and a 8 lane stacker and when you place it you decide what item each station should get so you match the recipe best.

My suggestion is to not over think it. Your current design works. If you get throughput problems a simple fix is to simply build the station twice as long with trains twice as long. Don't double the factory, just the trains. That means you need half as many trains and each has twice the time to arrive.

The other suggestion is to avoid trains crossing. Better to add another 1000m to the tracks to the mines than have the ore trains drive through your base. Make them go around so they don't cross other trains constantly.

mmmPI
Smart Inserter
Smart Inserter
Posts: 2728
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: high throughput stacker & station

Post by mmmPI »

mmmPI wrote: ↑
Mon Jun 03, 2019 10:31 pm

That is per stop , so if you have 2 iron plate station and 2 copper plate station you would need 1 train every 45 second for each ressources, or 1 train every 22.5 second need to enter your stacker.

Approximating train speed as a constant during the game this gives you a radius around your station. If you go outside that radius, you would need more train than you can fit in the stacker to maintain 1 every 22.5 for example.

If you have a congested train system it reduces that radius, and same when train are running less than full speed.
mrvn wrote: ↑
Tue Jun 04, 2019 11:35 am

That math doesn't quite work. If you have 2 iron plate stations and 2 copper plate stations you would have 4 trains. So while you need 1 train every 22.5 seconds each train still has 90 seconds to arrive. So the circle is still 90 seconds large. It's just busier. Add in the stacker and you have 8, 12, 16 trains and the circle gets bigger. Ideally the stacker should be empty and every train just drives through without stopping at all. But usually you (hopefully) overproduce so trains arrive faster than needed and then the stacker has to buffer them. A balanced setup with some wiggle room will have just one train per resource in the stacker.
It does work (right ? ) if you think you are an observer at the entrance of the station an count the train that arrive, you can say there is a problem if you don't see an average of 1 train every 90 sec for iron per station.

If you have 2 station you need to see 2 train every 90 sec, which is 1 train every 45 second on average.

The time the train has for itself to go and get the ressources and come back is 90 sec large only if you have 1 train per station. If each station is serviced by 4 train, and you have 2 stations, that makes it 8 trains, you need to see 1 every 45 second, leaving them (8X45) 360 second to do their thing.

We arrive at the same conclusion, the bigger the stacker the bigger the circle since each train has more time if there are more trains.


My thought here was to try and establish the constraint on the junction that represent the entrance of the station for further integration.

1 train every 22.5 sec on average is a figure you can calculate from your station needs and then set this as a goal for a network junction.

If in your network you have a branch that support 3 of this station, the rail junction that connect this branch needs a throuput of 3 train per 22.5 sec .

This means your train needs to cross the junction in 7.5 sec maximum in the theorical perfect distribution where they all arrive at perfect interval , if two arrive at the same time and one has to wait, it reduce the time they have for them to cross the junction.

Same goes if the junction is shared with other train that are just going through it.


That would be some sort of consistency check.
mrvn wrote: ↑
Tue Jun 04, 2019 11:35 am
This was a response to the assumption that the iron ore trains would take the inner lane and the copper ore train then take the outer lane. What can happen is that an iron ore train picks the outer lane when leaving it's station because at that time the inner lane was blocked. Then when the train arrives at the stacker it will block the way for the copper ore trains. Nothing bad will happen though. As trains block paths the signals will turn red and trains will repath and it will all work out in the end.
Oh right, that further reminds me why i keep track separated, because it makes many different situation like the one you describe that i had not anticipated and it takes mental effort to solve them ( and i make mistakes ).

I guess that's also a challenge and part of the fun to make a design as you want it to be and not as it's easier or more "logical" to build

mrvn wrote: ↑
Tue Jun 04, 2019 11:35 am
So the train would not sit in the stacker. You also don't want trains to go to the stacker at all in the first place if they won't be able to unload. But that requires heavy circuit logic.
I think OP is not afraid of heavy circuitry and the bypass lane at the bottom of the station, if not a taxi lane, may be use to drain the stacker of useless train when the buffer is mesured full.

My interest has been drawn by the future release, now i'm curious to see how it grows.

mrvn
Smart Inserter
Smart Inserter
Posts: 5696
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: high throughput stacker & station

Post by mrvn »

mmmPI wrote: ↑
Tue Jun 04, 2019 6:11 pm
mmmPI wrote: ↑
Mon Jun 03, 2019 10:31 pm

That is per stop , so if you have 2 iron plate station and 2 copper plate station you would need 1 train every 45 second for each ressources, or 1 train every 22.5 second need to enter your stacker.

Approximating train speed as a constant during the game this gives you a radius around your station. If you go outside that radius, you would need more train than you can fit in the stacker to maintain 1 every 22.5 for example.

If you have a congested train system it reduces that radius, and same when train are running less than full speed.
mrvn wrote: ↑
Tue Jun 04, 2019 11:35 am

That math doesn't quite work. If you have 2 iron plate stations and 2 copper plate stations you would have 4 trains. So while you need 1 train every 22.5 seconds each train still has 90 seconds to arrive. So the circle is still 90 seconds large. It's just busier. Add in the stacker and you have 8, 12, 16 trains and the circle gets bigger. Ideally the stacker should be empty and every train just drives through without stopping at all. But usually you (hopefully) overproduce so trains arrive faster than needed and then the stacker has to buffer them. A balanced setup with some wiggle room will have just one train per resource in the stacker.
It does work (right ? ) if you think you are an observer at the entrance of the station an count the train that arrive, you can say there is a problem if you don't see an average of 1 train every 90 sec for iron per station.

If you have 2 station you need to see 2 train every 90 sec, which is 1 train every 45 second on average.

The time the train has for itself to go and get the ressources and come back is 90 sec large only if you have 1 train per station. If each station is serviced by 4 train, and you have 2 stations, that makes it 8 trains, you need to see 1 every 45 second, leaving them (8X45) 360 second to do their thing.

We arrive at the same conclusion, the bigger the stacker the bigger the circle since each train has more time if there are more trains.


My thought here was to try and establish the constraint on the junction that represent the entrance of the station for further integration.

1 train every 22.5 sec on average is a figure you can calculate from your station needs and then set this as a goal for a network junction.

If in your network you have a branch that support 3 of this station, the rail junction that connect this branch needs a throuput of 3 train per 22.5 sec .

This means your train needs to cross the junction in 7.5 sec maximum in the theorical perfect distribution where they all arrive at perfect interval , if two arrive at the same time and one has to wait, it reduce the time they have for them to cross the junction.

Same goes if the junction is shared with other train that are just going through it.


That would be some sort of consistency check.
Yes, the bigger the stacker the bigger the circle. But it's not true that the circle gets smaller with more stations. It remains the same. Your post sounded like you thought with 4 stations you only got a 22.5 second circle while it still is 90s.

Your conclusion about junctions is also true. Which makes them quickly the bottleneck. Now you have a setup that needs 12 trains every 90s. You really should quadruple the train size instead of building that many stations. You should start by designing your stations so you only need a train every 10 minutes. Then you can scale them up a bit as needed before the timer per train causes problems.

Best tip I can give for factorio: Whatever space you think leaving for future expansion: double it.

Post Reply

Return to β€œRailway Setups”