Occam Blazer Posted May 21, 2021 Share Posted May 21, 2021 I understand automation, but for some reason I can't grok door pump and compressor automation. So, I'm gonna outsource it to y'all. What I want: a pump comprised of three doors. The resting state should be door 1 closed, door 2 open (with vacuum), and door 3 closed. When activated it should pump gas. I can map out the states, but can't implement it. Door 1 Door 2 Door 3 Resting Closed Open Closed Open Open Closed Closed Open Closed Closed Open Open Closed Closed Open Closed Closed Closed Resting Closed Open Closed It's probably the time aspect of this particular application. How do you folks think about it? Link to comment Share on other sites More sharing options...
Coolthulhu Posted May 21, 2021 Share Posted May 21, 2021 I think you needlessly complicated the problem by wanting to open door 2 before door 1. Think of door pumps as a moving "wave" of opening doors. Your solution should be extendable for arbitrary n doors. With this idea in mind, you can just combine buffer+filter: buffer to keep the door open for some time, filter to "pass" the signal to next door so that it finished opening before the last door finishes closing. Then you can just pulse the wave every once in a while using memory+not+filter. Link to comment Share on other sites More sharing options...
Occam Blazer Posted May 21, 2021 Author Share Posted May 21, 2021 5 minutes ago, Coolthulhu said: I think you needlessly complicated the problem by wanting to open door 2 before door 1. To get a vacuum in door 2 it has to be the last one opened. EG: all doors shut -> door 2 open Link to comment Share on other sites More sharing options...
Coolthulhu Posted May 21, 2021 Share Posted May 21, 2021 13 minutes ago, Occam Blazer said: To get a vacuum in door 2 it has to be the last one opened. EG: all doors shut -> door 2 open You don't need vacuum in 2. A freshly open door effectively produces vacuum for a tick. If you really want to optimize that much, you can cause door 2 to open just as door 1 does by adjusting filter/buffer timing for door 2 and 3. A proper vacuum would be needed if you wanted your pump to double as isolation. But this is not a part of "pumping motion" itself. If you want to have both "pumping mode" and "isolating mode", you can do it like "If NOT [pulsing pumping], filter, open door 2". This way door 2 will have two open triggers: the "pumping wave" is at door 2, or pumping is disabled (for all doors) for at least `t` second. Just make sure to keep them separate, so that when door 2 is opened by "isolating mode", it doesn't cause door 3 to "think" door 2 is pumping. You can implement it all as a boolean table if you really want, but understanding what is happening is generally more helpful. In case of door pumps, what is happening is that closing door pushes all its content to all adjacent, unoccupied tiles on the tick it finishes closing. Opening door isn't special in any way, it just creates vacuum and so the compressed gas/liquid quickly expands there. Link to comment Share on other sites More sharing options...
nakomaru Posted May 21, 2021 Share Posted May 21, 2021 I agree that you shouldn't bother with the Closed-Opened-Closed resting state. This could only be useful if you wanted to allow for a thermal insulation between left and right, but since you are pumping one into the other, that probably doesn't make any sense here. Skip that and use Opened-Opened-Closed as your resting & state 1 pumping. Btw here is a solution if you don't need the isolating state (source): Link to comment Share on other sites More sharing options...
Gurgel Posted May 21, 2021 Share Posted May 21, 2021 I like the following dead simple implementation (here with 2 pumps using the same "driver"): Link to comment Share on other sites More sharing options...
Occam Blazer Posted May 21, 2021 Author Share Posted May 21, 2021 8 hours ago, nakomaru said: This could only be useful if you wanted to allow for a thermal insulation between left and right That is exactly why I want a vacuum in the middle. I'm isolating a steam vent from the lower-temperature processing chamber. Link to comment Share on other sites More sharing options...
Occam Blazer Posted May 21, 2021 Author Share Posted May 21, 2021 I separated the resting state automation from the active state and got it working. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.
Please be aware that the content of this thread may be outdated and no longer applicable.