Desc
Define the volume you want to keep for each product (for a tank) in the constant combinator (near the 2 refinery)
- For each products a volume (as negative number)
- Check icon defines a tolerance threshold (more or less)
Abstract
The idea of this refinery is to have an autonomous system capable of maintaining a certain volume of fluids without requiring interventions to unblock it (extensions of tanks) or of overproduction (solid fuel, etc.). It is not a refinery for mass production or just-in-time. Originally I was running a blueprint from an evolving refinery (mid-game / end-game), and in my use it exposed me to a shortage of lubricant. In my game, I count on this refinery to supply tank trains intended to deliver certain sectors of my factory. In this case the sector which produces the (blue) belts, conveyors and balancers.
Example
Params (default)
screenshot : https://i.imgur.com/QzqxL5h.jpeg
- Crude oil: -20k
- Light oil: -20k
- Gas: -20k
- Lubricant: -20k
- Tolerance (check icon): 1400
Result:
Aim to keep 20k of each products in the first tank of each storage line until each storage reach 20k mor or less 1400. When your storage is balanced, a pump stop the water input and switch off the refinery.
Logic system
On the top left area, 5 groups of Decider combinator controls the pumps that input each conversion devices.
screenshot : https://i.imgur.com/KQ3Psj0.jpeg
- [A] = 2 -> Heavy oil cracking (too much heavy oil, enough lubricant)
- [B] = 2 -> Rocket fuel (too much light oil and gas)
- [C] = 1 -> Solid fuel (too much gas)
- [D] = 1 -> Lubricant
- [E] = 2 -> Light oil cracking (need more gas)
On the top right there are Arithmetic combinator which control each product levels, more or less tolerance value. When the 4 levels are satisfied, it interrupts the water input to put the refinery on hold.
screenshot : https://i.imgur.com/OT3JgEo.jpeg
- (wanted volume - current volume) / Tolerance = Calculate the difference between what we want and what we have.
- previous result ^ 2 = to get a positive number (as -1 == 1 because it(s the same distance to 0)
- Output as a Green signal (which mean the water input can run)
