sandalle / minecraft_bigreactor_control

Minecraft BigReactor Computercraft Control Program
MIT License
76 stars 41 forks source link

Turbines not being controlled properly #7

Closed DFrostedWang closed 9 years ago

DFrostedWang commented 10 years ago

This doesn't seem to be able to control turbines and reactors together... which is something I was under the impression it would be able to do. Am I wrong in thinking this, or is there just a bug in the code somewhere?

EDIT : So I looked through the code and didn't find any code for shutting of turbines at a certain percentage... I'd like to request this be added in the same manner the reactors are controlled because adding a turbine means losing that functionality, as far as I can tell, and I don't like that. It seems easy enough to implement... I mean, you're already displaying the turbine's buffer as a percent, shouldn't be hard to have a check for the percentage against the max/min percent and manage it that way.

sandalle commented 10 years ago

I let the Turbines run all the time for simplicity and as steam generation in an actively cooled reactor is very efficient. Turning off turbines means that they then need to speed up from scratch, which may happen quite often and you'd lose your efficiency (since it's at % 900 RPM). Also, you'll often have multiple turbines running off of one reactor's steam production, so how would I know which turbines belong to which reactor if you're like me and just use one computer to rule them all (same with which actively cooled reactor, if more than one, belongs to the turbines)? :)

Using a single 7^3 Big Reactor with four fuel rods, Enderium Blocks, and Gelid Cryotheum sending steam to two turbines at full (2,000 mB/t steam) speed with 80 blades each and a four tall Shiny Block conductor each, I can power two (IIRC) MFR Laser Drills with a few Lime (Uranium => Yellorite in the mod pack I use) focii and be net-positive on my Yellorium count, and have lots of spare power. :)

You can combine any number of passively cooled reactors with an actively cooled reactor managed by the same computer and it will manage them separately (passively cooled will power down at 85% buffer; actively cooled currently run forever).

I'll look into turning off the turbines and an actively cooled reactor once all found turbines reach a certain buffer %. This will ASSuME that all connected turbines belong to the one, and only one, actively cooled reactor. As many passively cooled reactors may also be connected since they're self-contained and are managed separately.

DFrostedWang commented 10 years ago

Thanks for the quick response, and I'd appreciate the feature, at the very least as a config in ReactorOptions.

DFrostedWang commented 10 years ago

Lol woops, pressed the wrong button and closed the thread. :s

mechaet commented 10 years ago

As sandalle previously noted, the previous iterations of the code would have had a problem differentiating between the various turbines and the reactor itself, especially when you start dealing with multiple reactors and multiple turbines all on the same control system.

I just spent the last 10 commits pushing through a system that can now track and save options for each reactor and each turbine individually. I'll put some more thought towards this request, especially when I start working with the clutch feature in 0.3.4A2 of BigReactors.

The biggest problem one faces doing this is that the turbines take an excessively long time to spin up. Mine from 0RPM to their optimal at 2726RPM can take upwards of 40 minutes. In minecraft that's an eternity. I'm hoping the clutch feature can bring that down some, or that I can make it work using some sort of energy storage system that we may develop in-house. Kind of like a Battery Monitoring System, and we use the turbines as generators to refill the batteries.

Like I said, I'll put some thought towards this and see if I can figure out a way to enable/disable this method (probably as a hidden config option, since we have readable configuration files now).

sandalle commented 9 years ago

I believe https://github.com/sandalle/minecraft_bigreactor_control/pull/52, slated for https://github.com/sandalle/minecraft_bigreactor_control/milestones/0.3.17, does close to what you are wanting. Once a threshold is met the coils are disengaged, leaving the turbines to free spin at maximum speed without consuming steam (at least according to the Turbine API).

2015-03-31_11 14 02