Hello everyone, it's been a while since I played with circuits, and seeing all the new possibilities I decided to try to do a simple botless mall. This would come very handy for unattended planet housekeeping.
The goals I set myself:
- Should handle building all the intermediaries necessary.
- Should not be crowded by intermediaries. (Only cogs needed for the current recipe should be built)
- Adding a new item to be built should not require setting new intermediaries.
All this is to ensure I will be able to set ghosts mindlessly and the setup will read directly from the roboport requests.
Here's the first iteration which only does total of 4 steps that only require assembling machines:
The top left assembler is crafting the needed object and the assembler on its right is crafting needed intermediary. The second line of assemblers are used to read the recipe ingredients. The ingredients list is passed to the next column and compared to the sushi belt inventory to figure what intermediary to craft.
The requested recipe only change when it needs to as to limit the amount of unloading.
The belt is also fed from the outside, currently there is a combinator that states the items and their amounts that should be put on the belt from the inserters. The inserters are filtered by needed items to be able to be fed by belts with 2 item types.
The next steps:
1. Find a way to introduce other building types in the loop, like to craft plastics
2. Provide ways to craft with fluids
I think that handling the intermediaries in cascade like this prevents using multiple machines in parallel for one recipe. I think that I could separate the second row of assemblers, make a bigger bunch to be able to provide a complete list of intermediaries needed and have the assemblers craft them in parallel by picking up a recipe that is do-able with what's available on the belt.
If assemblers work in parallel, I need to find a way to know what each is crafting or else I might end up with too many intermediaries being built. I could use a selector combinator to select input. That way only one machine would be given the task to produce a specific item but that would make some assemblers useless as not all recipe would need 10 different intermediary.
Simple sushi belt automated mall
Re: Simple sushi belt automated mall
Alright, following up...
So I found out that it is not possible to receive the ghosts from the robotports, so I'd still need to set the buildings I want in stock through a constant combinator, I guess I'll roll with this, there is not much I can do... Maybe mods?
Now I finished my contraption to calculate the required craft list to fulfil the target stocks. It turns out it was easier than I thought:
- One constant emits the list of required stocks.
- A change in the list resets Memory Cell A and B, then writes the signals in both A and B.
- A selector combinator picks a random signal from memory cell A and pulses it machines (I set up both assembly and chemical but more could be added)
- The pulse signal is substracted from memory cell A and added to B.
- The ingredients are returned from the machines and multiplied by the amount of the recipe sent.
- Then the signals are substracted by the currently available items and the result added to memory cell A (remember, only positive numbers are kept)
This loop goes on until memory cell A is empty. Once the process is over, memory B holds all the crafts needed to accomplish the goal. In the signals, there are only crafts to be accomplished, if items in the last are not craftable (like coal) then the system will not be able to accomplish its goal.
Currently, I use a constant for the available resources, I multiply by a big number because they are available from belt/pipe (iron, copper, or water). Note that if water is not in the list, the Chemical plant comes up with some recipe loop water->steam->water->steam on and on.
Next step will be to not count craftables that are already on the sushi belt and I should be done with the crafting list.
Once the list is done, I'll need to figure how I can dispatch the craftings to start with the doable recipes first without triggering 10 parallel craft if only 5 are needed. Luckily I have a complete craft list, so I think I should be able to substract from the list every time a craft is started by a machine. I'd also like to figure how I can keep one machine on the same recipe until it is fully filled to reduce the unloading sessions to a minimum.
So I found out that it is not possible to receive the ghosts from the robotports, so I'd still need to set the buildings I want in stock through a constant combinator, I guess I'll roll with this, there is not much I can do... Maybe mods?
Now I finished my contraption to calculate the required craft list to fulfil the target stocks. It turns out it was easier than I thought:
- One constant emits the list of required stocks.
- A change in the list resets Memory Cell A and B, then writes the signals in both A and B.
- A selector combinator picks a random signal from memory cell A and pulses it machines (I set up both assembly and chemical but more could be added)
- The pulse signal is substracted from memory cell A and added to B.
- The ingredients are returned from the machines and multiplied by the amount of the recipe sent.
- Then the signals are substracted by the currently available items and the result added to memory cell A (remember, only positive numbers are kept)
This loop goes on until memory cell A is empty. Once the process is over, memory B holds all the crafts needed to accomplish the goal. In the signals, there are only crafts to be accomplished, if items in the last are not craftable (like coal) then the system will not be able to accomplish its goal.
Currently, I use a constant for the available resources, I multiply by a big number because they are available from belt/pipe (iron, copper, or water). Note that if water is not in the list, the Chemical plant comes up with some recipe loop water->steam->water->steam on and on.
Next step will be to not count craftables that are already on the sushi belt and I should be done with the crafting list.
Once the list is done, I'll need to figure how I can dispatch the craftings to start with the doable recipes first without triggering 10 parallel craft if only 5 are needed. Luckily I have a complete craft list, so I think I should be able to substract from the list every time a craft is started by a machine. I'd also like to figure how I can keep one machine on the same recipe until it is fully filled to reduce the unloading sessions to a minimum.
Last edited by salketer on Fri Nov 22, 2024 3:07 pm, edited 1 time in total.
Re: Simple sushi belt automated mall
I think the best solution now is to set a amount of items for construction manuelly and then craft items, when there a less then set in the logistic network.
English is my second language and I am not good at languages
My Creations:
EPC - Encodes Planetary Control
Circulet Examples:
Signal Encoding & Decoding
Signal Filtering
My Creations:
EPC - Encodes Planetary Control
Circulet Examples:
Signal Encoding & Decoding
Signal Filtering