Hm...
Splitters do strange things, possibly related. See trebor's post in a balancer discussion we are having.
does connecting/disconnecting belts have any effect? blueprint replacing?
Re: How to load 4 blue belts per wagon?
Posted: Fri Sep 13, 2019 6:37 pm
by eradicator
disentius wrote: Fri Sep 13, 2019 6:28 pm
does connecting/disconnecting belts have any effect?
Yes. But not any specific guaranteed effect. Might get slower or faster. Not sure how to make it one way. Placing the whole blueprint in the same tick (creative mode, editor) has a higher chance of getting 116... i think. *blush*
Re: How to load 4 blue belts per wagon?
Posted: Fri Sep 13, 2019 7:06 pm
by disentius
On the upside: your counter works fine
Re: How to load 4 blue belts per wagon?
Posted: Sat Sep 14, 2019 6:15 pm
by Vegemeister
UPS testing results are in, on Reddit. Very promising. The result for the one with splitters may not be correct, because of the problem @eradicator found.
I actually tried my luck at circuits too, but was too impatient/stupid to find a working solution. It certainly looks neat how the inserters swing in perfect sync. BUT, when i attach my belt-speed-o-meter to that i measure the total belth throughput to an actual cargo wagon as "only" 105.1i/s, and not ~116i/s like the reddit post says. Furthermore if i *remove* the circuits i measure 110.5i/s. Though i wouldn't be suprised if the circuits actually make it slightly more UPS friendly. And they most certainly make it more balanced.
Ofc i can't guarantee that my counter is even correct, so if anyone wants to poke it. Number of active lamps = Number displayed. Averaged over 60s,15s,1s respectively top-down.
I was able to reproduce this problem. Easiest way to trigger it is to remove and replace the train wagon over and over. It seems like what's happening is that, because all inserters prefer to take from the left lane (belt PoV), adjacent inserters are interfering with each other through the splitters. When the splitters are asked to supply 2 left lanes at once, left lane gaps hit the sideload. I'm seeing long-term-average throughput of ~6755 i/min (112.6 i/s) in this condition.
There seem to be three "solutions".
1. Don't use splitters.
2. Move the splitters farther back from the yellow belt, to give each inserter more local buffer. The gaps will make it to the inserters eventually, but hiccups happen less often, and if you're using direct-to-train loading, the interval between trains should allow the gaps to close up. Average 6954 i/min (115.9 i/s) for 2 tile buffers, ~6962 i/min (116.03 i/s) for 9 tile buffers. Left output priority on the splitters doesn't help throughput, but it might improve UPS, because there are fewer gaps of larger size.
3. Use a big 3-6 lane balancer. Very Bad for UPS.
monster-lane-balancers.jpg (69.84 KiB) Viewed 6669 times
The lights on top will flash if the inserter timing is wrong. If you have Santa's Nixie Tube Display, you can see the swing times, otherwise, they're in tooltip for the power poles.
The combinators on the left side are the totalizing throughput averager. Average throughput since reset is input A in the tooltip for the modulo (%) combinator. Output A is % 1000 for more sigfigs. To reset, twiddle signal R on the constant combinator to 1 and then back to 0.
The combinators on the right side are the 1 s throughput moving average. If you have Time Series Graphs, you get a plot. Otherwise, moving average is available in the % combinator tooltip as before.
...
I did find a minor issue with your counter. The low-pass filter has a small positive bias, which is smaller the larger the averaging time is. I was able to fix that by giving the feedback divider input from the green net, which has the input signal on it, instead of from the red net, which does not:
eradicator-filter.jpg (79.55 KiB) Viewed 6669 times
I also stole it, 'cause it's much smaller than mine.
Re: How to load 4 blue belts per wagon?
Posted: Sat Sep 14, 2019 9:50 pm
by Trebor
This loads just less then 3 blue belts:
Screen Shot 2019-09-14 at 5.43.57 PM.png (6.47 MiB) Viewed 6653 times
Re: How to load 4 blue belts per wagon?
Posted: Sat Sep 14, 2019 9:50 pm
by disentius
@Vegemeister: Impressive... BTW: I stole this from vanattevelt, here. I steal your version right back now.
I have to learn to read PROPERLY someday soon:)
Going to have a proper look tomorrow.
@Trebor: we are measuring the 2,6 blue belt per side solution. (actually, the 5.19 per wagon limit we found) yours is 3 belts per wagon.
Re: How to load 4 blue belts per wagon?
Posted: Sat Sep 14, 2019 9:58 pm
by eradicator
Vegemeister wrote: Sat Sep 14, 2019 6:15 pmEasiest way to trigger it is to remove and replace the train wagon over and over.
I infact forgot to include the wagon into the bp when doing my own testing, so all my wagons were placed manually. That'd explain that...
Vegemeister wrote: Sat Sep 14, 2019 6:15 pm
I did find a minor issue with your counter.
Nice.
Vegemeister wrote: Sat Sep 14, 2019 6:15 pm
I also stole it, 'cause it's much smaller than mine.
It's impossible to steal - it's licensed CC0 :p. Very pleased that you found it useful though. I'm not very good at circuits. Built that thing a year or so ago and don't even remember how it works.
Re: How to load 4 blue belts per wagon?
Posted: Mon Sep 16, 2019 9:02 pm
by eradicator
During some modding experiements i ended up with a small command that visualizes inserter paths. Maybe it's useful for someone here.
Usage:
Paste the command -> Use a deconstruction planner while holding shift to mark the inserters you want visualized.
Deinstallation:
Save -> Load
Visual:
Green = Inserter holds an item
Red = Inserter is empty
/c
script.on_event(defines.events.on_player_deconstructed_area,function(e)
if not e.alt then return end
local p = game.players[e.player_index]
x = p.surface.find_entities_filtered{
type = 'inserter',
area = e.area,
}
end)
script.on_event(defines.events.on_tick, function(e)
if not x then return end
for k,v in pairs(x) do if v.valid then
rendering.draw_circle{
color = v.held_stack.valid_for_read and {g=1} or {r=1},
radius = 1/16,
surface = v.surface,
target = v.held_stack_position,
filled = true,
time_to_live = 120,
}
end end
end)
Don't mind the other crap on the belts :p...
screenshot_4070.png (433.27 KiB) Viewed 6593 times
In the screenshot you see that the inserter sometimes turns left and sometimes right. It picks the shorter direction. Problem is that it chases items but does not consider where the item will be when it catches up to it. So turning right might be better from where the item is but turning left would be better for where the item will be.
eradicator wrote: Wed Sep 11, 2019 1:13 pm
Inserters perform two motions: rotate and retract/expand. Taking from the outer lane probably reduces the time they spend on retracting towards the inner lane. A very interesting find.
For *loading* a blue belt it's possible to use stack override to reduce the total throughput of a group of inserters to be just enough to fill the belt. Maybe there's an equal equilibrium point for unloading belts.
I've tested inserters without rotation, just shifting items from one tile's edge to the nearest edge of another tile. They are really fast.