Factorio

Factorio

View Stats:
Basic question about logistics robots isolation
So I'm in the process of trying to "megabasify" our factory, but I don't really know what I'm doing so I'm playing it by ear.

The first thing I did was train in ore to our smelting columns using a ton of logistics robots. That works great; The train unloads nearly instantly and something like 300 bots shuffle all the ore onto the smelting belts.

What hasn't worked so great is my attempt to offshore green circuits. I can't figure out how to do it. I route some plate belts to the train station and stack-insert them into active providers, with requesters at the train station (basically the same as the mining site for ore), and I have a paralle set of chests for requesters asking for green circuits that pull from filter-inserted active providers. Conversely, the offshore site has circuit requesters connected to the train station, as well as providers for belts with filter inserters.

This works great in theory, but the problem I'm having is that it screws with the rest of my base, causing bots to pull plate and circuit providers that I've been using for other logistics factory tasks, and ferrying them all the way back to my train station. Inevitably, once I get rid of all that auxiliary green circuit production, I'm still going to need to belt all these circuits to my main factory and stick them in a provider, which again causes the looping issue.

I'm aware that I can get around this problem by putting the train station on a separate logistics network, but that seems like a hack to get around the real problem, as well as extremely brittle long-term as my train network expands. Is there anything else I can do?
Last edited by SeraphLance; Jan 6, 2018 @ 2:24pm
< >
Showing 1-15 of 21 comments
Jupiter3927 Jan 6, 2018 @ 2:54pm 
Your logic bots will pull stuff from wherever they can inside the orange area around each roboport.
They pull from the closest storage chests first then the closest passive provider chests.
If you really want to isolate a network, those orange squares have to be at least 1 tile apart.
stlyau Jan 6, 2018 @ 2:54pm 
Other than making seperate networks for each section, there isn't a whole lot you can do that I know of. If you separate the networks by one space, you can than "bridge the gap" with inserters in the gap and Request/Providers on each side in their respective networks, depending on the way you want the materials to go. This is of course what you would probably consider another hack of the system, but it's a solution.
Hedning Jan 6, 2018 @ 5:06pm 
Since bots pull from the closest first just make sure you have enough supply to meet demand. Don't have active to requester. That is not a very good combo for trains since trains create flucutations. For actives to work you need storage chests and that makes you lose control over where they go.

I don't see why using separate networks would feel like hacks nor why they would make expandign harder.
Killcreek2 Jan 6, 2018 @ 10:24pm 
Originally posted by Hedning:
Since bots pull from the closest first just make sure you have enough supply to meet demand. Don't have active to requester. That is not a very good combo for trains since trains create flucutations. For actives to work you need storage chests and that makes you lose control over where they go.
The "pulling from closest first" is why I do not use passives at stations any more [much worse for balanced wagon unloading than belts].
If you have the unload station on a seperate network, & use throttled inserters into actives it works REALLY well. Also, it naturally gives perfectly even wagon unloading.
A 1-tile gap with automagic "bridge" between the station net & the assembly area net is easy to setup.

Having multiple dedicated-to-one-task logi nets rather than 1 giant uber network is easier to debug / optimise / manage [imo], avoids much of the "bot clumping" problems, reduces overall flight times / journey distances, & is friendlier to the UPS.
Hedning Jan 7, 2018 @ 2:09am 
Originally posted by Killcreek2:
.
If you have the unload station on a seperate network, & use throttled inserters into actives it works REALLY well. Also, it naturally gives perfectly even wagon unloading.
And why is that desirable? It takes x number of bots the same time to unload the train and make it ready for the next regardless if they take one cart after the other rather than all at once.
SeraphLance Jan 7, 2018 @ 11:20am 
Originally posted by Killcreek2:
Originally posted by Hedning:
Since bots pull from the closest first just make sure you have enough supply to meet demand. Don't have active to requester. That is not a very good combo for trains since trains create flucutations. For actives to work you need storage chests and that makes you lose control over where they go.
The "pulling from closest first" is why I do not use passives at stations any more [much worse for balanced wagon unloading than belts].
If you have the unload station on a seperate network, & use throttled inserters into actives it works REALLY well. Also, it naturally gives perfectly even wagon unloading.
A 1-tile gap with automagic "bridge" between the station net & the assembly area net is easy to setup.

Having multiple dedicated-to-one-task logi nets rather than 1 giant uber network is easier to debug / optimise / manage [imo], avoids much of the "bot clumping" problems, reduces overall flight times / journey distances, & is friendlier to the UPS.

I ended up using a bridge and a separate logistics network, mostly to solve a different problem, but it works wonderfully. I'm still having issues trying to migrate my sprawling belt-based base into something larger-scale, but that's to be expected.

Thanks for the tips!
Killcreek2 Jan 7, 2018 @ 11:51am 
Originally posted by Hedning:
And why is that desirable? It takes x number of bots the same time to unload the train and make it ready for the next regardless if they take one cart after the other rather than all at once.
It is about maintaining consistant max throughput.
If wagons unload unevenly, throughput drops off as each wagon empties 1-at-a-time. This will result in trains taking longer to unload than.needed at peak demand levels, delaying the next train.
eg, 4 wagons with 12 inserters per = 48 inserters max throughput. But if they unload unevenly, this will drop to only 12 inserters throughput for the last wagon ~ 25% of the max.

Bots are not the throughput limitation for unloading ~ it is the inserters. Same thing happens with belts if you do not balance them properly [though it is more obvious there].

Sure, you can build extra stations to compensate for this throughput dropoff, but I just prefer a more efficient solution.
Hedning Jan 7, 2018 @ 12:17pm 
Explain how trains take longer to unload just because you unload them 1 wagon at a time. The bots will have to make the exact same trips, the total distance travelled being exactly the same, just in a different order.

You would have a point if you had less capacity in the chests than a full wagons load. As it is all wagons can unload even with 0 bots with plenty of room to spare. It is only when you start to build up a buffer in the chests that inserters may shut off, but then you have a buffer, so by definition you have enough supply, thus it won't be the bottleneck.
Killcreek2 Jan 7, 2018 @ 12:30pm 
It matters when your demand for the items is greater then how much can be emptied from a single wagon at once. If the demand level is constantly at ~40 inserters-worth of throughput [with 48 unloading 4 wagons], then the passive system will fail to meet demand, as it cannot operate at 100% all the time, & will drop to only 12-worth.
With the active system I use, it can maintain that max 40 rate ALL the time. [With the extra 8 to pick up the slight delay between trains leaving/entering].

If you are not getting what I'm trying to expain, sorry for the confusion. But there really is a big difference, you just may not have encountered it for yourself yet. It became one of the major obstacles for my 1:1 tiny trains bus factory ~ how to stay at max throughput.

Having a buffer will not help if the output levels cannot meet demand anyway. A small buffer to cover the time it takes a train to arrive from the stacker is all you really need, if setup well.
Hedning Jan 7, 2018 @ 1:18pm 
I think you just had too few bots, because a single chest can hold more product than a wagon. The 12 could probably hold more than your entire train. If the inserters for the furthest wagon stop working that means you have 12 chests full of items, or as I said likely more than the entire train in buffer. If you are already buffering more than an entire train it cannot matter if the current one has to wait a little.

If your bots at any point don't have anything to take that means all your chests are empty (or at least very close to, accounting for travel time) and that means all inserters can work.

You are right that I have not encountered this problem with bots, because I prefer belts, but the same problem would apply to belts, even sooner with belts since inserting to a belt is much slower, but it doesn't because it makes no sense why it should.
Last edited by Hedning; Jan 7, 2018 @ 1:19pm
Killcreek2 Jan 7, 2018 @ 1:59pm 
Yes, you seem to have kinda misunderstood again. Remember that active providers will not fill up as other chests do.
The inserters from the wagons are throttled by conditions based on the station logi net contents ~ when the local buffer [couple of storage chests] drops below the threshold condition, all the inserters activate until enough has been transferred to top-up the local buffer then they return idle.

This results in a matched throughput of items in/out of the station net at constant near-maximum capacity. [Yes, I do use enough bots to cover that.]
26.67 x 12 =320 items per second per wagon is the available throughput, though slightly lower on average due to train exit/enter dips - which the small local buffer is to cover for.

I usually work on an expected average output of 300 items per second per wagon. At this rate, the inserters are all working together at *almost* maximum speed. [Visually, it is hard to see any difference at max rate, but at half capacity it is much more noticable - swing, swing, swing, pause... swing, swing, swing, pause... etc]
I actually started with passive-based unloading but ran into throughput fluctuations due to the uneven wagon draw, then figured out how to use actives instead & have never looked back.


Sorry, I wish I could explain it better ... maybe I should make a vid. >_<
Found a pic from my 0.15 factory ~ https://i.imgur.com/JfBqgY3.png ~ was taken during an iron ore shortage unfortunately, so the belts are mostly idle & many trains are parked elsewhere, but it normally keeps all the belts filled. Avg demand was approx 2.5 wagons worth [750-800 items /sec].
Hedning Jan 7, 2018 @ 3:07pm 
You were answering why you want active providers instead of passive. The reason you stated was that active providers make sure wagons are unloaded evenly. I then asked why you need that. The answer cannot then have to do with your current setup. That would make it circular, so I don't need to know about you current setup. I'm sure that is working fine.

What I want to know is how passives could cause throughput fluctuations through uneven unloading, taking into consideration that inserters only stop when the passives are full and if you have full chests you have plenty of buffer, so no fluctuations.
Killcreek2 Jan 7, 2018 @ 3:56pm 
I was trying to use that example to illustrate how it differs from using passives, not as a reason for doing it. [Which would indeed be circular logic, heh.]

Simply put: it is to achieve the highest-possible constant item flow, with a minimum of unloading stations [ie; parallel unloading of wagons], & minimum delay between trains. [aka; efficiency engineering].

If the unloading inserters are idling, they are not running at max capacity. These guys are the bottleneck / hardcap to the maximum throughput of the system, as you can only ever fit 12 stack inserters per wagon.
[Both methods have to soak the train out > in dips, so that does not matter for this comparison.]

+ With a passive system some inserters will be inactive for large amounts of time due to some wagons being empty with others are still full. This reduces the available item throughput until that train exits, & requires extra parallel unloading & large buffers to soak the temporary shortfalls.

+ With an active system, the inserters can all work, all of the time. Achieving maximum item throughput consistantly, with minimum infrastructure.


There is similar comparison with belt-based unloading ~ using a belt balancer or not:
+ With uneven belt drain, wagons unload unevenly & reduce available throughput [starved output belts].
+ If you use a belt balancer, the wagons unload at an even rate & keep all the output belts full at all times.
It's really easy to spot this with belts, but hard to spot with bot unloading as the problem can be easily masked by bot / storage / station overkill.
Hedning Jan 8, 2018 @ 12:06am 
Originally posted by Killcreek2:
With a passive system some inserters will be inactive for large amounts of time due to some wagons being empty with others are still full. This reduces the available item throughput until that train exits, & requires extra parallel unloading & large buffers to soak the temporary shortfalls.
You keep proclaiming that uneven unloading will make some inserters stop working, thus reducing throughput, but you never explain why, and it is simply not true. If the demand is one train worth of supply at max unloading speed or more (all inserters working at max speed) then all passives will be kept empty and thus all inserters will work at max speed. It is only when demand is lower than supply that items will start buildign up in the chests and stop the inserters from working, but since the cause is low demand then that's perfectly fine.

A single inserter that starts idling means you have more than 1 wagon worth of items in the buffer. 2 inserters idling means you have at more than 2 wagons in the buffer. If you have 12 inserters per wagon that means for the last wagon to stop unloading you have over 14 wagons worth of items in the buffer.

With belts you don't need a balancer for the sake of unloading. For the same reason as with bots it doesn't matter if the unloading is uneven as it doesn't affect throughput (as long as you have chests in between, ie train>chest>belt). If you use a balancer it is to benefit whatever comes after, ie it is for inputs, not outputs.
Last edited by Hedning; Jan 8, 2018 @ 12:07am
Killcreek2 Jan 8, 2018 @ 2:24am 
I have already explained why a couple of times, you even quoted it. If you are just not getting it, then your not getting it. <shrug>

I really dont know how to explain it better, short of rigging up a side-by-side comparison in creative mode & making a vid to highlight it. So it's probaly best for both of us to just stop here & move on, before we divert this thread even further off topic.
< >
Showing 1-15 of 21 comments
Per page: 1530 50

Date Posted: Jan 6, 2018 @ 2:24pm
Posts: 21