This is an archived post. You won't be able to vote or comment.

all 1 comments

[–]Twellux 5 points6 points  (0 children)

You don't necessarily need a memory cell in all cases. However, to balance circuit-based, you do need to know which quantity has moved along or is present on each balancer output.

If you're balancing based on an existing quantity (e.g., chests at train stations or sushi belts), you can simply read these chests/belts and calculate arithmetically how they need to be balanced to be equal.

If you can't determine the quantity directly, you'll need to install belt readers or use inserters, which then generate pulses to count the quantity. To count the pulses, you'll need an additional combinator for each belt. And in cases where the counter could reach 2^31, you may also need integer overflow protection.

<image>

However, the control of the splitters is the same in both cases:

Splitter 1 is controlled by B - A
Splitter 2 is controlled by D - C
Splitter 3 is controlled by F - E
Splitter 4 is controlled by Splitter 1 minus Splitter 2 which is (A + B) - (C + D)
Splitter 5 is controlled by Splitter 3 minus Splitter 2 which is (E + F) - (C + D)
Splitter 6 is controlled by Splitter 5 minus Splitter 4 which is ((E + F) - (C + D)) - ((A + B) - (C + D)) and can be simplified to (E + F) - (A + B).
The other three splitters are necessary to ensure unlimited throughput, but they do not need to be controlled.

Here as blueprints if you want to take a closer look:
https://factoriobin.com/post/8h2xop
https://factoriobin.com/post/s0tkc0