Circuited assembler

Don't know how to use a machine? Looking for efficient setups? Stuck in a mission?
Gemma
Inserter
Inserter
Posts: 38
Joined: Sat Aug 10, 2019 5:11 am
Contact:

Circuited assembler

Post by Gemma »

Hi, I'm a big noob when it comes to circuitry. I'm trying to rig an assembler to make assembling machines 1-3 and running into issues when it comes to latching the current recipe and not interrupting itself.

I made some similar builds for other items (electric poles, logistics chests, combinators) that do the job, but when I tried to copy those for assemblers, it breaks...


In this case, I copied the bp that makes logistic chests, which works because I only needed to account for it also making steel chests, not multiple items (assembling machines 1s and 2s).

I've tried looking at other people's builds but the things I find are always more complex/sophisticated than what I'm doing and I haven't been able to reverse engineer it.

Basically the predictable problem: it reaches the desired number of assembling machine 1, and switches to make assembling machine 2 now. Assembling machine 1 is inserted to create assembling machine 2, which takes it below the desired numbers of assembling machine 1, so it instantly changes back to making assembling machine 1s. But this immediately returns the ingredients to the chest, so it has the desired number again, without having to make more.

I think my brain is just stuck so it would help having an outsider to point out the obvious thing that I'm missing!
User avatar
atomizer
Fast Inserter
Fast Inserter
Posts: 147
Joined: Sat Sep 22, 2018 3:18 pm
Contact:

Re: Circuited assembler

Post by atomizer »

Sorry, I can't look at the blueprint at the moment, but it sounds like you need to add hysteresis to your system. Look at this decider:

Code: Select all

  AM1 < 10 [R]
OR
      AM1 < 50 [R]
  AND
      AM1 > 0 [G]
Output and input are connected with a green wire, input is on red, and output sets AM1 to 1. This signal turns on only when the input falls under 10, and off again when there are at least 50.
No matter how complicated a crafter system is, this component is usually somewhere in there. Hopefully it is simple enough when taken alone.
Tertius
Smart Inserter
Smart Inserter
Posts: 1505
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Circuited assembler

Post by Tertius »

Gemma wrote: Sun Dec 21, 2025 5:27 am Basically the predictable problem: it reaches the desired number of assembling machine 1, and switches to make assembling machine 2 now. Assembling machine 1 is inserted to create assembling machine 2, which takes it below the desired numbers of assembling machine 1, so it instantly changes back to making assembling machine 1s. But this immediately returns the ingredients to the chest, so it has the desired number again, without having to make more.
Connect the inserter that moves items into the assembling machine to the circuit network and add its signal to the signals of your general inventory. Set it to "red hand" in hold mode, so whatever it holds is added to the inventory. So the ingredient it moves is removed from the inventory but added at the same time as hand content, so the recipe calculation still receives the same amount of items, so it doesn't switch mid-swing.
Gemma
Inserter
Inserter
Posts: 38
Joined: Sat Aug 10, 2019 5:11 am
Contact:

Re: Circuited assembler

Post by Gemma »

Thank you both!
atomizer wrote: Sun Dec 21, 2025 11:02 am Sorry, I can't look at the blueprint at the moment, but it sounds like you need to add hysteresis to your system. Look at this decider:

Code: Select all

  AM1 < 10 [R]
OR
      AM1 < 50 [R]
  AND
      AM1 > 0 [G]
Output and input are connected with a green wire, input is on red, and output sets AM1 to 1. This signal turns on only when the input falls under 10, and off again when there are at least 50.
No matter how complicated a crafter system is, this component is usually somewhere in there. Hopefully it is simple enough when taken alone.
So the green wire is basically functioning as a latch? I don't actually understand how this wire is doing that job. Its sending its output to itself, so the output can't change (until the other conditions are met)? Why does this override any new input signals that might want to come in?

This does the job, though, which is very nice.

But now I have a new problem, which is that I want to use one chest to hold the green and red chips, the steel, and the steel chests. The assembler's output goes into one chest, then everything except the logi chests goes back into the input chest (which also has a requester chest + circuit filtered inserter to give it ingredients as needed). This is fine, except that the combinator telling the assember which recipe to select is reading from those chests (so it knows when to make more steel chests), and at some point it always ends up with steel as its signal, rather than a chest, so the assembler stops making anything.

I also have an issue with the inserter moving from requester to input chest getting a dirty signal. I thought to clean the signal with a constant combinator setting unwanted items to -1k, which I think works. I thought maybe I could also "clean" the signal to the decider combinator by putting non-recipe items at +1k (so they will never be below the threshold where it will want to make them), but I don't think this worked, because the machine reached the same point where previously it would try to make steel, and now instead it just turns off and makes nothing. So I don't know what I've done wrong, but I'm out of time to try to fix it today.

(Just realized as I post this the bp has a pointless green wire attached to the inserter, nvm.)

Sin título.png
Sin título.png (1023.63 KiB) Viewed 28 times
BP for the above screenshot.
Gemma
Inserter
Inserter
Posts: 38
Joined: Sat Aug 10, 2019 5:11 am
Contact:

Re: Circuited assembler

Post by Gemma »

Gemma wrote: Mon Dec 22, 2025 12:45 pm Thank you both!
So the green wire is basically functioning as a latch? I don't actually understand how this wire is doing that job. Its sending its output to itself, so the output can't change (until the other conditions are met)? Why does this override any new input signals that might want to come in?
Nvm, I thought about it for a second and now I get this part.
Tertius
Smart Inserter
Smart Inserter
Posts: 1505
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Circuited assembler

Post by Tertius »

The loopback provides the previous output as input, so you're able to remember and keep a state.

You tried to implement a latch using the EACH operator everywhere, however EACH for the state it's a wrong approach because you can never be sure what signal exactly is matching the state you want to keep. You can use EACH everywhere but not for the signal that's supposed to carry the state (latched or not latched).
Post Reply

Return to “Gameplay Help”