Interplanetary Logistics
Delivery Cannons
Receiving
The receiving side (bottom) is responsible for sending a signal indicating how much of each item or fluid type it needs. This is typically done by setting a constant requested amount in storage (in this example, 1k stone) and subtracting off the actual amount in storage.
The receiving side should also send a single check signal. That is, at all
times, ✔ = 1
. This is used to determine whether the circuit network itself
is functioning, and fail safe if it isn't.
Sending
The sending side is responsible for receiving the signals and controlling the launching of materials based on the requested amounts.
All inserters should only load if the material that is being requested is
positive. E.g. an inserter loading stone into a delivery cannon should only
load if stone > 0
.
Signals received from the Signal receiver should first go to an arithmetic combinator that multiplies all signals by the check signal, so that if there is no check signal there are no output signals, and nothing is sent.
Cargo Rockets
Single Purpose Rockets
Setting up rocket logistics is typically simpler, for rockets that only have a single type of payload.
Since rockets will not land at a landing pad that is not empty, this implicitly acts as both storage and a check that the receiving side can actually store the materials. For bulk items sent in their own rocket, simply set the silo to send to e.g. "Stone" and launch when cargo and fuel are full.
Landing pad names shall include an icon of their designated item, a space, and then the name of the item.
This way, we deliver a full load to any pad with that name.
Mixed Rockets
For mixed rocket loads, we have to rely on the circuitry to tell us what the receiving side needs. Otherwise, we may send too much of one material and back up and deadlock the other needed materials.
The receiving side must be able to warehouse all materials it receives, and so it should not request more than it has empty spaces in storage. It should try to request more than a full rocket load total, of all materials combined, such that we are not launching mostly-empty rockets.
The sending side wires up inserters as above, where material > 0
, but there
is some additional circuitry around launch conditions:
- If the rocket is full
E = 0
, we send a launch signal
OR
- If
* ≤ 0
, and the number of filled spaces is above some preset minimum, we send a launch signal.
You will also need to subtract off the amount already in the silo, otherwise the requested amounts will not decrease until the rocket is launched.
I should also note that launching mixed rockets vs. single-purpose rockets is not more efficient assuming the rockets are full. 500 slots is 500 slots. What it saves on is the fixed cost and space of building multiple pads and multiple and the infrastructure required to supply them. They make sense where space is at a premium, such as in orbit, or when products are produced nearby each other and consumed nearby each other.
Universal Supply
The Universal Supply is a round-robin, one-to-many, mixed-payload interplanetary delivery system from a central logistics network on Nauvis. It is used for ad-hoc demands of building supplies and other fixed-costs, and those demands will be filled and delivered automatically to planets that request them.
Each outpost will need to set up its own receiving blueprint, available in the Universal Supply blueprint book.
Once placed, the Signal Transmiter must be set to an unused Universal Supply channel, and the Planet signal in the Constant Combinator (by the signal receiver) must be set to the same number as the channel of the Signal Transmitter. The landing pad should be named Universal Supply, if it isn't already.
Then, place a Deconstruction Planner into the Strongbox next to the landing pad. This will act as a dummy item to enable and disable the pad. If you unload the pad using inserters, they must be filter inserters that blacklist this item.
To make a request, input your request into constant combinators connected to the Signal Transmitter. When you are ready to send the request, send a Green Signal, which communicates that the request is ready to be filled.
Some time later, the supplies will land in the pad.
If the request is unable to be filled (e.g. you have requested items that are not available), an alarm will play after some delay to let you know. You may then modify your request, or solve the issue on Nauvis to make those items available.