So if you only have one provider chest providing raw stone to the furnace setup and set a Threshold the input smart inserters can't go below depending on how much is in the logistic network then it will be no problem... Since bots acquiring stone will
"remove" the items from the
"available"-stack instantly once they get the task assigned to pick something up. This works even with the travel-delay the bots have, in fact this works even better than having red/green wire doing it, because they give wrong information on the already for pick-up
"reserved" items.
I've studied the behavior by hovering my mouse over a logistic chest and watching the resource numbers. They are always reflecting the available resources MINUS what is already
"reserved" for bot pick-up. If at any point the available stone number drops below 4 or worse then you're screwed because then there is more consumption than resources available for pick-up guaranteed leading to the odd-number problem which we try to avoid.
To prevent that odd number disaster and the resource number from dropping below 4 in the stone provider chests just raise the
"Threshold" in the Smart "input"-inserters to a higher level until the numbers never drop to 4 or below in the available resource counter. That's the empiric method on getting the Threshold right but takes quite some time to study and will always depend on the exact number of furnaces and the number of provider chests.
So I thought about a way to calculate that Threshold for Stone (which I may be corrected upon if someone finds a mistake):
Code: Select all
Threshold = (Number of Stone Provider Chests - 1) * Chest Capacity + Robot Cargo Size * Number of Furnaces + 4
Chest Capacity = 2400 for Stone
Robot Cargo Size = 4 (it does work with sizes of 1 and 2 as well, but
not with 3 because then it will lead to the odd number problem again!)
The
"+ 4" at the end ensures that even in the worst case scenario that there is at least 4 stone left in the provider chest.
This is because you won't exactly know which provider chest the robots will prefer for pick-up if there are several available so it might happen that all bots will go for one stone provider chest totally emptying it while the other provider chests are completely full, thereby maybe falsely fullfilling the threshold requirement if one doesn't include that dumb behavior of bots into consideration.
For more security you can raise the number gained by the formular (I prefer to work in increments of 100 or 1000), but it should work with the formular otherwise there are glitches or special behaviors in the game programming I don't know of yet and which I haven't encountered the past month. ^^
This works for Stone obviously... at least I haven't had any weird things happening when I forcefully shut down the stone supply.
For Steel Bars the above empiric method or formular works too to some extend, but there I tend to calculate only with 1 provider chest because of the following reason reasons:
On top of the work condition for the
"input" inserters you will need to have a local buffer in the Iron Plate Requester Chests. It may be based on a multiple of 4 and 5 (robot cargo size, inserter stack bonus and steel bars requiring 5 iron plates, but any other number will work as well as long as it is greater than at least 20 to overcome inserter speed and to hide bot deliver delay).
This is because robots only can carry 4 Iron Plates so it will take at least 2 Bots (in other cases even more) to deliver the required amount of Iron Plates... but since the
"Input" Inserters will get the chance to input Iron Plates more than once until the first Steel Bar is finished crafting - thereby preventing the Inserter from working in a very delayed manner - the local buffer needs to be greater than that. So it would be in the best interest to have a multiple of 4 and 5 as a failsafe. I'm currently using 100 as local buffer in the Iron Plate Requester Chests and it never drops below 90 under very heavy load, because in my case the "Input" inserters stop working because I'm hitting the Threshold of available plates in the provider chests.
But to come back to the odd number thing... yes there may be odd numbers in the requester chests for Iron Plates depending on which source the bots picked from (there are multiple because of multiple furnaces provoding iron plates and if you have a backup from a storage system then those chests as well), but as long as the local buffer in the requester chest doesn't drop to an amount where the inserter would pick up less than 5 you are good to go. It also doesn't matter if there's odd numbers in the provider chests as long as it doesn't affect the local buffer in the requester chests in a bad way, which means capping the "Input" Inserters with the Threshold working condition so that the bots may catch up with refilling the requester chest again before continuing to work.
And for the Stone... it doesn't matter if there's odd numbers in the provider chest as long as it doesn't drop below the Threshold where the
"last" bot to arrive would pick up an odd number of stone. So the threshold prevents the inserters from emptying the requester chests and thereby stopping to create
"demand" until the point where there's enough stone in the provider chests again.
So this is where the Thresholds kick in and in case of Steel Bars also the Local Buffer prevents the inserters from ever entering any weird numbers of items into the furnace.