Single-combinator reactor clock w/auto start, accomodates other logic.

Power Plants, Energy Storage and Reliable Energy Supply. All about efficient energy production. Turning parts of your factory off. Reliable and self-repairing energy.
Post Reply
foamy
Filter Inserter
Filter Inserter
Posts: 432
Joined: Mon Aug 26, 2019 4:14 am
Contact:

Single-combinator reactor clock w/auto start, accomodates other logic.

Post by foamy »

Image

An arithmetic combinator set to subtract used fuel cells from fresh fuel cells, outputting the result as fresh fuel cells, acts as a memory cell. It is wired input to output, and then to the two inserters for the reactor. The output inserter is set to read hand contents, pulse mode. The input inserter is stack limited to 1, and set to read hand contents, pulse mode, and to enable if and only if all received signals are zero.

Mode of operation is:

Starting from all signals are zero, nothing in the reactor, but material available to be picked up:

Tick 1: Signals zero. Input inserter triggers and tries to pick up material.
Tick N (inserter swing time): Input inserter grabs 1 nuclear fuel cell. This will output a signal of 1 fresh fuel cell onto the circuit wire.
Tick N+1: Everything on the circuit receives the 1 fresh signal and processes it. The input inserter will disable, but will complete its already-started swing. The arithmetic combinator will output 1 on the fresh fuel cell channel. This will hold and keep the input inserter disabled.

Tick ~12000: The reactor ejects the used-up fuel cell. Output inserter will put a signal of 1 used-up fuel cell to the network.
Tick ~12000 + 1: The arithmetic combinator subtracts the used-up fuel cell signal from the fresh fuel cell signal, resulting in a 0 value for the fresh fuel cell signal.
Tick ~12000 + 2: The arithmetic combinator has no input signals, and outputs a zero, which it will maintain until an inserter sends a new signal onto the net. The input inserter sees no signals on the network, and enables, restarting the cycle.

The reactors will not operate continuously with this -- there is a minimum downtime of one inserter swing every 200 seconds. This can be minimized by using fast inserters operating from chests, which will require 26 ticks. Allowing for the additional two ticks of overhead from the circuits, this gets you 99.77% uptime.

It is resilient against fuel interruptions because the null case is that it will pick up fuel. As such it it will always autostart following a disruption or when initially built. Further, a backup in removing the fuel cells will simply cause it to stop inserting new ones, without breaking the logic. Once the clog is cleared the reactor will resume normal operations.

In addition to this, any other desired logic -- for example, steam tank measurements -- can be used to generate a blocking condition to prevent loading. Because the memory cell cares only about the two kinds of fuel cells, it is possible to put any blocking signal (except those) onto the same circuit. As well, this can be used to synchronize multiple reactors by wiring their input inserters into the same circuit, but only with the enable/disable and stack-size-1 options set.

The physical arrangement of the inserters and combinator can be altered at will, as long as the circuit connections remain logically identical. Colour of circuit wire is irrelevant.


User avatar
ranzolger
Inserter
Inserter
Posts: 29
Joined: Fri Jun 01, 2018 6:40 pm
Contact:

Re: Single-combinator reactor clock w/auto start, accomodates other logic.

Post by ranzolger »

i've made something like this at my reactor, i just use steam as the 'blocking condition'.
further details in the reactor section of this post.

but you found a really nice stand alone setup ;-)


(i hope its ok to advertise myself :? )

foamy
Filter Inserter
Filter Inserter
Posts: 432
Joined: Mon Aug 26, 2019 4:14 am
Contact:

Re: Single-combinator reactor clock w/auto start, accomodates other logic.

Post by foamy »

ranzolger wrote:
Mon Dec 07, 2020 11:40 pm
i've made something like this at my reactor, i just use steam as the 'blocking condition'.
further details in the reactor section of this post.

but you found a really nice stand alone setup ;-)


(i hope its ok to advertise myself :? )

If you're using steam and steam alone, I assume you're using some kind of SR latch to avoid multiple insertion issues?

gGeorg
Filter Inserter
Filter Inserter
Posts: 392
Joined: Wed Jun 19, 2019 8:06 pm
Contact:

Re: Single-combinator reactor clock w/auto start, accomodates other logic.

Post by gGeorg »

The trick with reverse logiic, e.g. load when no signal is smart.
Some tip:
You could use filter inserter set to "set filter" for loader. That way, filter inserter without filter is in deep sleep, therefore UPS friendly. Althou you would need to add another decider to invert the signal again.
It is also fun when fresh cell icon blinks on the inserter, then all the ballet happens.
Also for unload inserter, is yellow inserter enough, grab action has the same speed. Time of swing of unload doesnt matter, I guess.

foamy
Filter Inserter
Filter Inserter
Posts: 432
Joined: Mon Aug 26, 2019 4:14 am
Contact:

Re: Single-combinator reactor clock w/auto start, accomodates other logic.

Post by foamy »

gGeorg wrote:
Fri Jan 22, 2021 1:57 pm
The trick with reverse logiic, e.g. load when no signal is smart.
Some tip:
You could use filter inserter set to "set filter" for loader. That way, filter inserter without filter is in deep sleep, therefore UPS friendly. Althou you would need to add another decider to invert the signal again.
It is also fun when fresh cell icon blinks on the inserter, then all the ballet happens.
Also for unload inserter, is yellow inserter enough, grab action has the same speed. Time of swing of unload doesnt matter, I guess.
Yeah, the unload inserter can be anything (even a burner inserter, if you have another one fueling it), and so can the input inserter (although the slower the input inserter, the more downtime on the reactor). Similarly, the arithmetic combinator can be moved around, to allow for heat-piping out to the exchangers. In particular, if you wanted to sync up an entire array of reactors, you could put the arithmetic at one end, and gang the signal to every other input inserter for the array from a single pilot reactor. All the other inserters would be set to simply enable if all signals = 0, without themselves providing signal output.

Amortized over an entire array like that, the circuitry needed to convert it to a positive-control white-list filter inserter driven system, as you suggest, becomes pretty reasonable, I think. It's basically one more decider to do the same * = 0 check the inserters are currently doing, and then output a positive fresh-fuel-cell signal if so. Then you carry it back to the inserters via the opposite wire of the read. A black-list filter wouldn't need that, but I'd think it wouldn't have the UPS savings you're talking about either. It's not really an area I've dug into much, TBH; UPS-optimization has always felt kind of meta-gamey to me.

Post Reply

Return to “Energy Production”