Unloading 96 blue belts

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.
vanatteveldt
Filter Inserter
Filter Inserter
Posts: 947
Joined: Wed Nov 25, 2015 11:44 am
Contact:

Unloading 96 blue belts

Post by vanatteveldt »

So I wanted to do a "no bots, no beacons" marathon megabase aiming for 800 spm (i.e. one full yellow belt of each science). The back of my envelope says that this should take about 230k iron per minute*, or 96 blue belts. This of course has to be carried in by train, so now I "need" a train station capable of handling this volume.

I decided to go for 2-8 trains and unload each wagon to a single blue belt, allowing for a relatively compact setup. A single feeder line seems to be able to keep 6 of such stations busy (>95% at least in my test), so I use two feeder lines with a lane
balancer in between. Each station itself has a fairly easy setup:

Image

Output via UG belts onto one blue belt per wagon. 8x8 balancer at the end to prevent hanging on one wagon if not all output is consumed evenly. The little contraptions on the left measure throughput and sound alarm if it drops below theshold. I use buffer chests with 3 slots each to bridge time until next train arrives. 2 slots might work as well, but 3 is safer. I use chain signals between the merger and the station entry to keep all stations open. Stations have signals every wagon to let the incoming train start as soon as a train departs.

Station can be made more compact by 'folding' the balancers above the stations, I might have a look at that.

This requires about 14 trains per minute, so it should work with a regular junction after the lane balancers.

*) I do use prod3 modules where useful, just not anywhere and no beacons, so e.g. in yellow science I use 3x prod3 plus 1x sp3.
zoomed out
map view
helmod
station blueprint
mrvn
Smart Inserter
Smart Inserter
Posts: 5969
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Unloading 96 blue belts

Post by mrvn »

You say you balance do fight unbalanced consumption.

But the balancer balances the output, not the input. If you have unbalanced consumption your buffers will still unbalance. Only when one of them is empty will the balancer ensure the corresponding belt doesn't go empty. Your train will still be stuck on one wagon if the chests unbalance. I don't think the balancer helps at all.


As an alternative design: You say you use 6 trains. Instead of loading each wagon on one belt, load it on 6 belts. Use underground belts to move those across all 6 lanes. So for each set of 6 belts 6 wagons will unload onto them. Overall you get the same amount. Then instead of buffer chests simply use more lanes. And you can also unload to both sides of the train. With this setup you only need 4 tiles between train tracks (inserter, underground, underground, inserter). Overall 6 tiles per lane instead of 10. You can fit in 10 unloading lanes in the same space you have for 6 now.

You can also build the entry and exit tracks more like a tree. This allows the second train to start moving faster if multiple trains try to enter/exit at the same time.
vanatteveldt
Filter Inserter
Filter Inserter
Posts: 947
Joined: Wed Nov 25, 2015 11:44 am
Contact:

Re: Unloading 96 blue belts

Post by vanatteveldt »

mrvn wrote:You say you balance do fight unbalanced consumption.

But the balancer balances the output, not the input. If you have unbalanced consumption your buffers will still unbalance. Only when one of them is empty will the balancer ensure the corresponding belt doesn't go empty. Your train will still be stuck on one wagon if the chests unbalance. I don't think the balancer helps at all.

Are you sure?

What I want to prevent is unloading one wagon to each belt. Then, if one belt doesn't get consumed, that wagon will never unload and the train gets stuck.

As far as I understand the concept of balancing, every input has a path to every output. So, if one belt is not consumed, each wagon still unloads to the remaining 7. If only a single belt is consumed, all 8 input belts merge into that output belt.

I tested it with 4 different setups of not consuming some belts, and trains are still unloaded more or less evenly:
test
Or do I miss your point?

(of course, this is not lane balancing - that is something I will probably solve at the smelter level.)
As an alternative design: You say you use 6 trains. Instead of loading each wagon on one belt, load it on 6 belts. Use underground belts to move those across all 6 lanes. So for each set of 6 belts 6 wagons will unload onto them. Overall you get the same amount. Then instead of buffer chests simply use more lanes. And you can also unload to both sides of the train. With this setup you only need 4 tiles between train tracks (inserter, underground, underground, inserter). Overall 6 tiles per lane instead of 10. You can fit in 10 unloading lanes in the same space you have for 6 now.
I really think that is exactly what the balancer tries to solve: connect each of the wagons to each of the outputs. A splitter with one output connected draws evenly from both inputs, and this is repeated X times to get all combinations of input and output lanes connected, right?
You can also build the entry and exit tracks more like a tree. This allows the second train to start moving faster if multiple trains try to enter/exit at the same time.
I thought about that, but then (if I understand your idea correctly) you're essentially doing e.g. 4x3 instead of 2x6, which makes the rail line balancer above more complicated - and one feeder line manager to serve 6 stations, so it seems ok.

I guess I can do 4x3 and chain the lane balancers. but that requires substantially more space above the station. Or did you have a better idea?
mrvn
Smart Inserter
Smart Inserter
Posts: 5969
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Unloading 96 blue belts

Post by mrvn »

vanatteveldt wrote:
mrvn wrote:You say you balance do fight unbalanced consumption.

But the balancer balances the output, not the input. If you have unbalanced consumption your buffers will still unbalance. Only when one of them is empty will the balancer ensure the corresponding belt doesn't go empty. Your train will still be stuck on one wagon if the chests unbalance. I don't think the balancer helps at all.

Are you sure?

What I want to prevent is unloading one wagon to each belt. Then, if one belt doesn't get consumed, that wagon will never unload and the train gets stuck.

As far as I understand the concept of balancing, every input has a path to every output. So, if one belt is not consumed, each wagon still unloads to the remaining 7. If only a single belt is consumed, all 8 input belts merge into that output belt.

I tested it with 4 different setups of not consuming some belts, and trains are still unloaded more or less evenly:
test
Or do I miss your point?

(of course, this is not lane balancing - that is something I will probably solve at the smelter level.)
If one or more lanes aren't consumed then the balancer prevents trains from getting stuck forever. But it does not consume items from all inputs equally. So you end up with the train having most cars empty and waiting for the last car(s). It will empty every car but not all at the same time / speed. Since that shouldn't happen anyway the small imperfection is just nit picking. :)
vanatteveldt wrote:
As an alternative design: You say you use 6 trains. Instead of loading each wagon on one belt, load it on 6 belts. Use underground belts to move those across all 6 lanes. So for each set of 6 belts 6 wagons will unload onto them. Overall you get the same amount. Then instead of buffer chests simply use more lanes. And you can also unload to both sides of the train. With this setup you only need 4 tiles between train tracks (inserter, underground, underground, inserter). Overall 6 tiles per lane instead of 10. You can fit in 10 unloading lanes in the same space you have for 6 now.
I really think that is exactly what the balancer tries to solve: connect each of the wagons to each of the outputs. A splitter with one output connected draws evenly from both inputs, and this is repeated X times to get all combinations of input and output lanes connected, right?
Actually that is something different. Unloading onto 6 belts is to save the first splitter in your setup where you merge the output from one car into a single belt. Also by having each belt filled from different trains is mend to bridge the gap when a train is leaving and the next arriving. If you have 10 lanes and at any given time 6 of them have a train unloading then you get full belts. That means buffer chests aren't needed, leading to 10 lanes fitting in the space of 6.

You would still need something to balance between train cars if that isn't solved in another place and it might be much harder with 48 belts instead of balancing 8 at a time.

If all the belts simply feed into identical smelter lines and then just back into trains then everything should be consumed perfectly balanced. But lets say the furnaces get stuck for whatever reason (usually player stealing iron plates from the output) then they don't remove the ore from the input belts and that backs up till the trains can't unload a car.

So the solution I've come up with is to balance at the smelter. More specifically at the end of the line of furnaces. I merge all the lines into a single belt. That belt then goes back to the input side and feeds into all input belts with splitters. With 0.16 you can use priority splitters to make this even better. Normally all but a few missed ores should be used up by the furnaces so very little gets fed back to the input. But if one line backs up then that line is fed back into all inputs till things return to normal balanced operations. So instead of the 168 splitters you have to balance inputs I have 96. Only half of them need to be blue.
vanatteveldt wrote:
You can also build the entry and exit tracks more like a tree. This allows the second train to start moving faster if multiple trains try to enter/exit at the same time.
I thought about that, but then (if I understand your idea correctly) you're essentially doing e.g. 4x3 instead of 2x6, which makes the rail line balancer above more complicated - and one feeder line manager to serve 6 stations, so it seems ok.

I guess I can do 4x3 and chain the lane balancers. but that requires substantially more space above the station. Or did you have a better idea?
Most sensible would be to use m input lanes and 2^n * m unloading bays. Then each input lane is split in half, split again to give four, again to give 8 and so on till 2^n (you can also split in three for m * 3^n unloading bays, or split in 4. Or mix those.)

At full speed a single track can move a lot of trains. In my experience the problem with throughput comes from breaking and accelerating. A train entering a train stop, even if it's free, will start breaking a long way before the stop and all trains behind it need to slow too. Worse with a red signal. First the train needs to break and stop. Then it needs to accelerate to clear the way. A compact stacker with no space for trains to get to top speed will reduce your throughput considerably. The idea of the tree design is that the train is breaking inside the tree. If the tree is large enough (or make it large enough by adding space between the tree and the train stops) then trains can enter the tree full speed and even clear the first branch before they start breaking. The next train can then take the other branch in the first split and isn't slowed down by the previous train. Or think of it as a stacker with parallel output instead of serial.
dood
Filter Inserter
Filter Inserter
Posts: 360
Joined: Wed Mar 21, 2018 8:36 am
Contact:

Re: Unloading 96 blue belts

Post by dood »

If you want to go that big, maybe excessively long trains rather than lots of unload stations are the answer, so that each train trip isn't just a drop in the ocean.
I use 8 cargo trains on a medium sized base map and one of those can't even sustain 6 belts of ore under ideal conditions.

It would also be highly advisable to smelt the ore first for the doubled stack size.
vanatteveldt
Filter Inserter
Filter Inserter
Posts: 947
Joined: Wed Nov 25, 2015 11:44 am
Contact:

Re: Unloading 96 blue belts

Post by vanatteveldt »

dood wrote:If you want to go that big, maybe excessively long trains rather than lots of unload stations are the answer, so that each train trip isn't just a drop in the ocean.
I use 8 cargo trains on a medium sized base map and one of those can't even sustain 6 belts of ore under ideal conditions.

It would also be highly advisable to smelt the ore first for the doubled stack size.
Thanks for the reply!

I decided to use multiple stations, since I need the ore over a very large area anyway because of all the smelters. I now have two "columns" of smelters, iron and copper on the left and steel and some more copper on the right, where 16-24 rows of smelters are fed by a station with 2 or 3 unloading bays, each unloading unto 8 blue belts.

A wagon as 2k capacity and a belt 2.4k/m throughput, so you need a train every 50 seconds or so. This is perfectly doable with normal junctions and stackers, and it seems to be performing fine. The base is 99% done, so hopefully I'll have time to do a writeup soon (TM).
Whataguy
Burner Inserter
Burner Inserter
Posts: 19
Joined: Fri Apr 18, 2014 12:09 pm
Contact:

Re: Unloading 96 blue belts

Post by Whataguy »

I'm using the unloader now. Great system. Thanks.
coppercoil
Filter Inserter
Filter Inserter
Posts: 503
Joined: Tue Jun 26, 2018 10:14 am
Contact:

Re: Unloading 96 blue belts

Post by coppercoil »

Whataguy wrote: Thu Sep 12, 2019 4:43 am I'm using the unloader now. Great system. Thanks.
Despite of balancer, wagons can become unbalanced after 5-20 hours of work if consumption is slighty less than 100%. It's because splitters are not perfect. So additional balancing using circuits may be required.
Whataguy
Burner Inserter
Burner Inserter
Posts: 19
Joined: Fri Apr 18, 2014 12:09 pm
Contact:

Re: Unloading 96 blue belts

Post by Whataguy »

I like it. 😁
Post Reply

Return to “Railway Setups”