One more Smart Furnace®

This board is to show, discuss and archive useful combinator- and logic-creations.
Smart triggering, counters and sensors, useful circuitry, switching as an art :), computers.
Please provide if possible always a blueprint of your creation.
XKnight
Filter Inserter
Filter Inserter
Posts: 329
Joined: Thu May 28, 2015 10:40 pm
Contact:

One more Smart Furnace®

Post by XKnight »

Recently I've faced with Smart Furnace problem, so here is my attempt to solve it.

First of all, what is the problem?
Currently, inserter's stack size is not configurable to all, so you cannot be sure that inserter will put exact amount needed items into the furnace. As a result, furnace will occasionally stuck with several iron plates inside and preventing other items smelting.

Theoretical solutions:

There are two possible solutions for this problem:
1) inserting exact amount of items for each recipe.
2) or inserting extra items, in order to complete incomplete recipe.
Second solution is the solution of this post.

Goals:

Initially, I decided to create belt-based Smart Furnace with the highest possible efficiency (I am talking about beacons), but later I found that robot-based version is almost identical and even a little bit easier in designing.
In order to achieve highest efficiency I've chosen sandwich design: one line full of furnaces, one line full of beacons, and again from the beginning.
Sandwich
The problem of this design is a lack of space, this means I cannot build some kind of advanced combinator contraption near each furnace without significantly increasing size of this build. So I've put for myself a fixed hard restrictions: do not add any extra tile to default build.

Designing:

Because extra logic should be located somewhere far away from furnaces, we need to provide a sufficient data from these furnaces. So, I came to a 3 combinators version: first combinator is used to send orders from the controller (item type for smelting), second combinator sends back amount of inserted items, and third combinator is used to read input storage buffer.
Build
There is one problem in this build... it is very very big, sometimes I cannot find even two tiles near furnace and this build requires 6 tiles per furnace. The only possible solution is to group different furnaces together and control them simultaneously. But this solution introduce new problems: we cannot read input buffer for each furnace independently, also, some furnaces might become desynchronized with the others furnaces if its output buffer is already full.
Furnace block
In fact, new problems can be solved quite easily:
- we can read all output chests from all furnace blocks at the same time (without extra combinators, just an extra wire), and check is it possible to fit this value in a single chest. If this is possible then we have a strong guarantee that output buffer in each furnace chest has enough free space.
- in the same way we can solve this problem with input buffer: let's say that requester chest requests 400 iron ore, then we can read all input chests and check if this value is bigger than "(requested value in requester chest + items that may be accidentally delivered by robots) * (num chests - 1)", in our case: (400+3)*(2 - 1) = 403 items. But this value doesn't guarantee that we have enough items inside 4-th chest for smelting, so we need to slightly increase this value (details you will find below).
9 furnace blocks
That's almost all, the only missed thing is an advanced contraption that will control this grid.

Controller:

Our controller should be able to process up to 200 (amount of unique signals) different furnace blocks at the same time, so we should minimize usage of loop-based solution, and use only "Each" operation. Basically controller does next things for each furnace block:
- store current smelting item type
- receive information about amount of inserted items, and check is current recipe complete
- If previous recipe is fully completed controller selects new item type using information about available resources in each block and required items
- also, it guarantees that item type cannot be changed unless recipe is completed
Controller
Here, user-defined logic controls furnaces through the controller, for example:
"Desired items" - 2 iron ore and 1 copper ore. This means we want to have 2 furnace blocks processing iron ore, and 1 furnace block should process copper ore, other furnaces should sleep. This logic may vary from player to player, someone prefer to smelt everything which is possible, others - to not waste energy.
In particular, this logic unit has two minor issues related to bounding between "desired items" and furnace blocks:
1) if "desired items" 2 iron ore, then first and second furnace block will try to process iron ore, and if they don't have enough iron ore inside they will wait.
2) if previously first and second furnace block was associated with stone, third one with iron ore, and fourth one with copper ore (2-1-1-0 configuration), and we change desired items to 1-1-2-0 then second furnace block will be switched from stone to iron ore, and third furnace block will be switched from iron ore to copper ore. As you can see this is not optimal, so this user-defined logic unit may be improved in future...

Controller in action:

Here I will describe different situation with different stack sizes and how controller reacts on them.
New item type selection happens at the end of each example.
Inserter capacity 1:
- Iron/copper ore: 1 ore will be inserted in furnace, 1 output
- Steel: 1 iron plate will be inserted 5 times, 1 output
- Stone: 1 stone will be inserted 2 times, 1 output
Inserter capacity 2:
- Iron/copper ore: 2 ore will be inserted in furnace, 2 output
- Steel: 2 iron plates will be inserted 5 times, 2 output
- Stone: 2 stones will be inserted 1 times, 1 output
Inserter capacity 3:
- Iron/copper ore: 3 ore will be inserted in furnace, 3 output
- Steel: 3 iron plates will be inserted 5 times, 3 output
- Stone: 3 stones will be inserted 2 times, 3 output

And one exotic example (inserter capacity was upgraded from 1 to 2 while smart furnace had 4 iron plates inside)
4 iron plates + 2 new iron plates => 1 steel will be produced, 1 remaining item.
1 + 2 new iron plates + 2 new iron plates => 1 steel, and new item selection
Controller is designed to handle these cases correctly.

It is important to mention that inserters don't wait extra ticks for the controller response, because each furnace know what item type it should produce after current one. Also, 8 ticks are needed to update controller and this is less than inserter's half-rotation.

Various analyzes:

This part was added to explain important details/properties/possible issues with this Smart Furnace. Warning! Math below.
Efficiency analysis
Inserter capacity analysis
Image
Low energy analysis
Known issues
Results:

Finally, if you've read to this place you deserve to see this build in action.
For testing purposes I am using two different requests: stone and steel.
At the beginning all 9 furnace blocks should process only stone, each X-th tick we will add additional steel block and remove stone block. After 9 steel blocks we will move back in the same way.



Productivity graph (X = 800 ticks):
Image

Next step is to build belt-based smart furnace, looks like it will be almost identical, but with several minor differences.
Blueprint, furnace block
Blueprint, controller
Item thresholds explanation:

Original thresholds formula is:
(requested value in requester chest + items that may be accidentally delivered by robots) * (num chests - 1) + (Least common multiple of "inserter stack size" and "recipe size") * num inserters per chest * 3.
Why 3? because first value is necessary to ensure that we have enough items for recipe, second may be used during upgrading to higher stack size, and third may be used on the low energy (because combinator may delay stop signal from the controller).
Last edited by XKnight on Mon Sep 05, 2016 7:48 pm, edited 9 times in total.

User avatar
siggboy
Filter Inserter
Filter Inserter
Posts: 988
Joined: Tue Mar 29, 2016 11:47 am
Contact:

Re: One more Smart Furnace®

Post by siggboy »

XKnight wrote:
Sandwitch
OMG, it's the SANDWITCH!

https://i.giphy.com/KupdfnqWwV7J6.gif

But seriously, this is some very impressive work. I also like your detailed explanation a lot, and how you even steered around the low power issue (we should have known something is in the works when you pointed out the low-power problem in another thread).
Last edited by siggboy on Mon Aug 29, 2016 4:19 pm, edited 2 times in total.
Is your railroad worrying you? Doctor T-Junction recommends: Smart, dynamic train deliveries with combinator Magick

afk2minute
Fast Inserter
Fast Inserter
Posts: 120
Joined: Wed Aug 10, 2016 2:53 pm
Contact:

Re: One more Smart Furnace®

Post by afk2minute »

wow thats awesome. Especially with those explanations.
Can i suggest you something: maybe add 5 3-digit displays to show number of iron, copper, steel, stone and idle furnaces working? That will add some "smart" feel to all this thing in my opinion. (you can use furnaces without any inserters just loaded with correct material to show what each display is showing). (yes you can hover over that combinator and see how many rows, but i just like displays).

User avatar
MeduSalem
Smart Inserter
Smart Inserter
Posts: 1683
Joined: Sun Jun 08, 2014 8:13 pm
Contact:

Re: One more Smart Furnace®

Post by MeduSalem »

I somehow like how this one turned out even if I had my doubts in the other thread about the slow response times.

That said it really uses a lot of combinator stuff which I am not really sure I completely understood. Especially at the controller...



On another sidenote... I normally leave the 2 tile space on both sides of the furnaces, just like so:
All Furnaces On
For the reason that I can place power poles on both sides, which then allow me to turn individual rows of Beacons on/off on demand... so that only the beacons are running next to a furnace row that is actually running... saving power.
All Furnaces Off
Increases the overall space consumption a little bit, but why not... the Beacons allow for covering a 3 tile distance so I'm using it. Initially on the empty side there also used to be the inserters for handling Stone/Steel, but I teared them down when I couldn't get the stacksizes under control with 0.13. So that Smart Furnace handles only Iron Ore/Copper Ore now. The red wire is basically going to the load Balancer, which also controls when to shut down power to the array.



Would it help/make things easier design-wise when it comes to the combinator stuff if that additional space per furnace would be available or are you completely happy with how your contraption turned out, XKnight?

User avatar
siggboy
Filter Inserter
Filter Inserter
Posts: 988
Joined: Tue Mar 29, 2016 11:47 am
Contact:

Re: One more Smart Furnace®

Post by siggboy »

I think the beacons should be spaced like MeduSalem did it. There's no downside to it except for it using more space, which you could then use for combinators.

I'd be interested to see how you would solve it given the additional space in between the beacons.
Is your railroad worrying you? Doctor T-Junction recommends: Smart, dynamic train deliveries with combinator Magick

XKnight
Filter Inserter
Filter Inserter
Posts: 329
Joined: Thu May 28, 2015 10:40 pm
Contact:

Re: One more Smart Furnace®

Post by XKnight »

MeduSalem wrote: For the reason that I can place power poles on both sides, which then allow me to turn individual rows of Beacons on/off on demand... so that only the beacons are running next to a furnace row that is actually running... saving power.
Goddamn, you are right, I should connect power poles only using horizontal direction and this will make possible to switch off the entire row.
User-defined logic definitely should be more smart.
MeduSalem wrote: Would it help/make things easier design-wise when it comes to the combinator stuff if that additional space per furnace would be available or are you completely happy with how your contraption turned out, XKnight?
Actually, if you want to use extra space you can use it, and in your case furnace block will contain only 1 furnace, so the system will be more agile. But the cost of this is 10/8 = 1.25 times more space. Also, from the controller point of view the only difference is the amount of blocks.

Initial goal was to have the same efficiency as for fixed furnace setup, and in my opinion the goal is reached.

User avatar
MeduSalem
Smart Inserter
Smart Inserter
Posts: 1683
Joined: Sun Jun 08, 2014 8:13 pm
Contact:

Re: One more Smart Furnace®

Post by MeduSalem »

XKnight wrote:Goddamn, you are right, I should connect power poles only using horizontal direction and this will make possible to switch off the entire row.
I mean I didn't do it in the pictures I have shown because there the entire Furnace array was running 24/7 making Iron Plates and/or Copper Plates. Basically a simple 4 state controller using fixed Iron:Copper = { 1:0; 0:1; 0.5:0.5; 0:0 } as ratios to allocate the individual rows and it only shut down when both hit the Storage cap, meaning 0:0 ratio being issued...

But when I changed to your Load Balancer shortly afterwards with a more fine grained control over the individual rows I disconnected the vertical connections of the Power Poles and used the horizontal ones to switch off an entire row.

XKnight
Filter Inserter
Filter Inserter
Posts: 329
Joined: Thu May 28, 2015 10:40 pm
Contact:

Re: One more Smart Furnace®

Post by XKnight »

Seems that I've missed the most obvious thing: instead of using 8 tiles per furnace (3 beacon + 3 furnace + 2 chest) I should use combined chests and this will give 6 tiles per furnace. Don't even understand why I did this thing for belt-based solution and forgot about robot-based.

User avatar
MeduSalem
Smart Inserter
Smart Inserter
Posts: 1683
Joined: Sun Jun 08, 2014 8:13 pm
Contact:

Re: One more Smart Furnace®

Post by MeduSalem »

XKnight wrote:Seems that I've missed the most obvious thing: instead of using 8 tiles per furnace (3 beacon + 3 furnace + 2 chest) I should use combined chests and this will give 6 tiles per furnace. Don't even understand why I did this thing for belt-based solution and forgot about robot-based.
Combined chests... as in one chest shared by two furnaces or something like that?

How would that look like... because I can't think of a way to make that work out of the box now.


[edit] Or wait... I might have figured it out, but I'd still like to see how you did it...

deer_buster
Fast Inserter
Fast Inserter
Posts: 113
Joined: Wed Aug 31, 2016 3:35 am
Contact:

Re: One more Smart Furnace®

Post by deer_buster »

Anyone else get the controller blueprint to work? I am using Blueprint String, and it is throwing up (conversion of data to type "int" failed)

I was able to successfully decompress it with my blueprint decompression/compression tool, so I know it is a valid blueprint string....

using 0.14.1

XKnight
Filter Inserter
Filter Inserter
Posts: 329
Joined: Thu May 28, 2015 10:40 pm
Contact:

Re: One more Smart Furnace®

Post by XKnight »

MeduSalem wrote:
XKnight wrote:Seems that I've missed the most obvious thing: instead of using 8 tiles per furnace (3 beacon + 3 furnace + 2 chest) I should use combined chests and this will give 6 tiles per furnace. Don't even understand why I did this thing for belt-based solution and forgot about robot-based.
Combined chests... as in one chest shared by two furnaces or something like that?

How would that look like... because I can't think of a way to make that work out of the box now.


[edit] Or wait... I might have figured it out, but I'd still like to see how you did it...
Nope, sorry :roll:. At first I had to check my assumptions and then post on the forum - it is my fault, somehow I forgot about electric poles and 3x3 beacon range. But, after trying this broken approach I managed to build smaller furnace block. Already updated original post.

User avatar
MeduSalem
Smart Inserter
Smart Inserter
Posts: 1683
Joined: Sun Jun 08, 2014 8:13 pm
Contact:

Re: One more Smart Furnace®

Post by MeduSalem »

XKnight wrote:Nope, sorry :roll:. At first I had to check my assumptions and then post on the forum - it is my fault, somehow I forgot about electric poles and 3x3 beacon range. But, after trying this broken approach I managed to build smaller furnace block. Already updated original post.
Well I expected that solution... After fiddling around a bit myself I also got the idea that one could place the Furnaces in a zig-zag pattern... which then would allow the sharing of a chest by two assemblers.

... also on the updated build:

If you are want to enable switching on/off power for individual rows of furnaces/beacons you will eventually face a problem: You will need a power pole for each furnace or otherwise you can't fully cover all Beacons surrounding a furnace. It's a problem that's arising from the zig-zag pattern and that small power poles only have a range of 3 tiles.

So basically one power pole every two furnaces won't cut it in the updated build or otherwise you won't be able to switch on the Beacon row above each furnace row:
Smart Furnace - Power 1.jpg
Smart Furnace - Power 1.jpg (91.16 KiB) Viewed 13995 times
In the picture you attached to the original post it only works because the furnace rows above a beacon row are powered, but if they are not for some reason then the beacon row below that furnace row would be switched off too... and that would mean you'd lose the speed bonus for the furnace row below that beacon row.

That's why said on one of the previous posts that power poles need to be on both sides of a furnace row... otherwise you can't affect the two beacon rows enclosing a furnace row. Better:
Smart Furnace - Power 2.jpg
Smart Furnace - Power 2.jpg (87.64 KiB) Viewed 13995 times
Last edited by MeduSalem on Wed Aug 31, 2016 8:38 pm, edited 1 time in total.

XKnight
Filter Inserter
Filter Inserter
Posts: 329
Joined: Thu May 28, 2015 10:40 pm
Contact:

Re: One more Smart Furnace®

Post by XKnight »

MeduSalem wrote:
XKnight wrote:Nope, sorry :roll:. At first I had to check my assumptions and then post on the forum - it is my fault, somehow I forgot about electric poles and 3x3 beacon range. But, after trying this broken approach I managed to build smaller furnace block. Already updated original post.
Well I expected that solution... After fiddling around a bit I also got the idea that one could place the Furnaces in a zig-zag pattern... which then would allow the sharing of a chest by two assemblers.

... also on the updated build:

If you are want to enable switching on/off power for individual rows of furnaces/beacons you will eventually face a problem: You will need a power pole for each furnace or otherwise you can't fully cover all Beacons surrounding a furnace. It's a problem that's arising from the zig-zag pattern and that small power poles only have a range of 3 tiles.

So basically one power pole every two furnaces won't cut it in the updated build or otherwise you won't be able to switch on the Beacon row above each furnace row.
Yes, but this is not needed, for example: we have 12 blocks:
BBBBBBBB beacons (can be switched off independently)
1__2__3
BBBBBBBB beacons (can be switched off only with 1, 2, 3)
4__5__6
BBBBBBBB beacons (can be switched off only with 4, 5, 6)
7__8__9
BBBBBBBB beacons (can be switched off only with 7, 8, 9)
10_11_12
BBBBBBBB beacons (can be switched off only with 10, 11, 12)

Current request: 2 iron, 2 stone, so we should process this order in the next way:
BBBBBBBB beacons <- OFF
empty_empty_empty <- OFF
BBBBBBBB beacons <- OFF, because 1, 2, 3 is OFF
empty_empty_empty <- ON, but they idle
BBBBBBBB beacons <- ON, because they are needed for 7, 8, 9
empty_empty_iron <- ON
BBBBBBBB beacons <- ON
iron_stone_stone <- ON
BBBBBBBB beacons <- ON
Short video

User avatar
MeduSalem
Smart Inserter
Smart Inserter
Posts: 1683
Joined: Sun Jun 08, 2014 8:13 pm
Contact:

Re: One more Smart Furnace®

Post by MeduSalem »

XKnight wrote:Yes, but this is not needed, for example: we have 12 blocks:
BBBBBBBB beacons (can be switched off independently)
1__2__3
BBBBBBBB beacons (can be switched off only with 1, 2, 3)
4__5__6
BBBBBBBB beacons (can be switched off only with 4, 5, 6)
7__8__9
BBBBBBBB beacons (can be switched off only with 7, 8, 9)
10_11_12
BBBBBBBB beacons (can be switched off only with 10, 11, 12)
Okay that works too, though seems a bit more confusing at first.


But wait... won't the different recipe delays (and other circumstances like lack of resources or output block) interfere with that? What if one of the blocks switches off while the other isn't finished yet? The logic does only check on one furnace row instead of both enclosing a beacon row... so it doesn't know it may still be required in these cases.

It feels like my suggestion is more safe against such cases since each furnace row is able to power both beacon rows enclosing it without having to give a damn what the others are doing or not doing.

XKnight
Filter Inserter
Filter Inserter
Posts: 329
Joined: Thu May 28, 2015 10:40 pm
Contact:

Re: One more Smart Furnace®

Post by XKnight »

MeduSalem wrote: But wait... won't the different recipe delays (and other circumstances like lack of resources or output block) interfere with that? What if one of the blocks switches off while the other isn't finished yet? The logic does only check on one furnace row instead of both enclosing a beacon row... so it doesn't know it may still be required in these cases.
There is only one requirement to every furnace in a single block: they must have the same speed bonus.
Nothing will break if we switch off beacons while furnaces are working, because every furnace in block will be affected in the same way.
The same is true when we switch beacons on.

User avatar
MeduSalem
Smart Inserter
Smart Inserter
Posts: 1683
Joined: Sun Jun 08, 2014 8:13 pm
Contact:

Re: One more Smart Furnace®

Post by MeduSalem »

XKnight wrote:There is only one requirement to every furnace in a single block: they must have the same speed bonus.
Nothing will break if we switch off beacons while furnaces are working, because every furnace in block will be affected in the same way.
The same is true when we switch beacons on.
Yeah, that may be true, but it would still be a hit on the efficiency of the Smart Furnace both in overall output capacity and power consumption due to the way Speed Beacons reduce power consumption per item. So it would be somewhat counterproductive to do it only half-assed and I refuse to believe that you are someone who'd let slip that by. :P


I mean it's do-able with only 1 row of power poles per furnace line, but that would require some additional combinator checking to guarantee that none of both furnace rows requires energy before shutting down the beacon row together with that furnace row.
The other solution is the one I posted above... which is probably the easier one (as it would only require the combinators in your build to be moved a little bit).

XKnight
Filter Inserter
Filter Inserter
Posts: 329
Joined: Thu May 28, 2015 10:40 pm
Contact:

Re: One more Smart Furnace®

Post by XKnight »

MeduSalem wrote:
XKnight wrote:There is only one requirement to every furnace in a single block: they must have the same speed bonus.
Nothing will break if we switch off beacons while furnaces are working, because every furnace in block will be affected in the same way.
The same is true when we switch beacons on.
Yeah, that may be true, but it would still be a hit on the efficiency of the Smart Furnace both in overall output capacity and power consumption due to the way Speed Beacons reduce power consumption per item. So it would be somewhat counterproductive to do it only half-assed and I refuse to believe that you are someone who'd let slip that by. :P
Actually, I don't understand where exactly problem is. As I already described every active furnace always have 8 active beacons around. If there some beacon flickering during switching on or off it is not critical, because all furnaces in block affected in the same way.
The only possible improvements here is to disable beacons that affects only idle furnaces and disable idle furnaces, and yes, I think this is possible.
MeduSalem wrote: I mean it's do-able with only 1 row of power poles per furnace line, but that would require some additional combinator checking to guarantee that none of both furnace rows requires energy before shutting down the beacon row together with that furnace row.
The other solution is the one I posted above... which is probably the easier one (as it would only require the combinators in your build to be moved a little bit).
Anyway, your solution also requires some guarantee, otherwise we will switch off furnaces during smelting.
So, both solution requires guarantee calculation, in your solution it will be like:
value A: _0_1_0_0_1_ (each bit is active furnace row) <- calculated explicitly
value B: 0_1_1_0_1_1 (each bit is active beacon row) <- never calculated
if this value A is already calculated for your solution, then we can shift it right, calculate OR, and we will recieve value for my solution, nothing more.

User avatar
MeduSalem
Smart Inserter
Smart Inserter
Posts: 1683
Joined: Sun Jun 08, 2014 8:13 pm
Contact:

Re: One more Smart Furnace®

Post by MeduSalem »

XKnight wrote:Actually, I don't understand where exactly problem is. As I already described every active furnace always have 8 beacons around. If there some beacon flickering during switching on or off it is not critical, because all furnaces in block affected in the same way.
The only possible improvements here is to disable beacons that affects only idle furnaces and disable idle furnaces, and yes, I think this is possible.
I know it might be a little bit far fetched but imagine your setup:

1__2__3
BBBBBBBB beacons (can be switched off only with 1, 2, 3)
4__5__6
BBBBBBBB beacons (can be switched off only with 4, 5, 6)
7__8__9
BBBBBBBB beacons (can be switched off only with 7, 8, 9)
10_11_12
BBBBBBBB beacons (can be switched off only with 10, 11, 12)

If you are using that... then... lets say we issue Copper and Steel somewhat like this:

Steel__Steel__Steel
BBBBBBBB beacons (can be switched off only with 1, 2, 3)
Steel__Steel__Steel
BBBBBBBB beacons (can be switched off only with 4, 5, 6)
Steel__Steel__Steel
BBBBBBBB beacons (can be switched off only with 7, 8, 9)
Copper_Copper_Copper
BBBBBBBB beacons (can be switched off only with 10, 11, 12)

And all of a sudden Steel completes but the Copper throughput stays the same... then it might end up with this:

Off_Off_Off
BBBBBBBB beacons (can be switched off only with 1, 2, 3) - OFF
Off_Off_Off
BBBBBBBB beacons (can be switched off only with 4, 5, 6) - OFF
Off_Off_Off
BBBBBBBB beacons (can be switched off only with 7, 8, 9) - OFF (since you only check on 7,8,9 but not on 10,11,12)
Copper_Copper_Copper
BBBBBBBB beacons (can be switched off only with 10, 11, 12)

Then 10, 11 and 12 would be running only with half speed... Which still works, but it would take longer and it wouldn't be as power efficient as if they were affected by both Beacon Rows.

There may be even more cases where exactly something like that happens.


XKnight wrote:Anyway, your solution also requires some guarantee, otherwise we will switch off furnaces during smelting.
Yeah basically I'd use the information if a recipe is being assigned to a row/block (depending on how fine grained you want to do it)... and turn on when there's one, otherwise it stays off... an easy setting within the Power Switch.

But with yours you'd have to check two neighbouring rows and that probably requires additional combinator work.
Last edited by MeduSalem on Wed Aug 31, 2016 9:59 pm, edited 1 time in total.

XKnight
Filter Inserter
Filter Inserter
Posts: 329
Joined: Thu May 28, 2015 10:40 pm
Contact:

Re: One more Smart Furnace®

Post by XKnight »

MeduSalem wrote: since you only check on 7,8,9 but not on 10,11,12
Emmmm... And why I will check only 7,8,9 ? :lol: I should check both neighbourhood rows 7,8,9,10,11,12.
Correct answer is:
Off_Off_Off
BBBBBBBB beacons (can be switched off only with 1, 2, 3) - OFF
Off_Off_Off
BBBBBBBB beacons (can be switched off only with 4, 5, 6) - OFF
Idle_Idle_Idle
BBBBBBBB beacons (can be switched off only with 7, 8, 9) - ON, because they are needed for 10, 11, 12
Copper_Copper_Copper
BBBBBBBB beacons (can be switched off only with 10, 11, 12) - ON

By the way, small calculation: how many energy is consumed by idling furnaces? lets say that you have 50 furnaces in a row:
50*6 kW = 300kW, in comparision: one beacon uses 480 kW, and one active furnace 1.4MV (production + speed).

User avatar
MeduSalem
Smart Inserter
Smart Inserter
Posts: 1683
Joined: Sun Jun 08, 2014 8:13 pm
Contact:

Re: One more Smart Furnace®

Post by MeduSalem »

XKnight wrote:Emmmm... And why I will check only 7,8,9 ? :lol: I should check both neighbourhood rows 7,8,9,10,11,12.
:P
XKnight wrote:By the way, small calculation: how many energy is consumed by idling furnaces? lets say that you have 50 furnaces in a row:
50*6 kW = 300kW, in comparision: one beacon uses 480 kW, and one active furnace 1.4MV (production + speed).
Well I'm not really that concerned about the idle leakage of the furnaces/Inserters... though my suggestion would be a convenient way to get rid of that as well.

My bigger concern with your approach was that the Furnaces might only run at half speed if the check isn't done on both neighbouring furnace rows. :D

Post Reply

Return to “Combinator Creations”