Ради вашего удобства наш сайт использует cookies! Узнать больше! Мы используем cookies

microLua单组件双模自动反应堆

原理解析

: 贴吧帖子 [tieba.baidu.com]
使用microLua这个mod的反应堆控制器,需要其作为前置。
优点:

  • 只需一个microLua组件,一个开关、两个内存组件和几条线,兼容反应堆升级(可不改内存组件自适应升级,虽不推荐),战役内随时随地可改装。有单铀棒适配,燃料棒想插多少插多少(越多反应越快)。且可自定义电网电压(local voltage=1.0)与负载。
  • 可随意开关,自动检测停堆开堆(通过温度归0检测停堆),只要保证每次停堆后等到功率归0再进行开启即可,只要功率归0则自动检测为停堆,开启反应堆后2秒内可检测为开启。
  • 可手动开关的双模式反应堆,温度堆模式(20%/s)变化快,节能模式(5%/s)燃料消耗慢,且模式切换时反应堆温度几乎不变,开关堆时无过热(需要额外开关)。负载不一定需要接入反应堆负载输出,如果需要,可自行输入设置(比如2倍电压超载和主动电池稳压)。
  • 对新版的新开巡回5秒强制自动控制做了优化,使其更快启动,且无开局超载。如果开局起火(虽然基本不可能,插满4根雷素都不会起火,只会过热不到10秒),将代码中(local reactorOffNewRound = false)改为(local reactorOffNewRound = true)即可自动在巡回开始时关闭反应堆。
  • 使用Pontryagin最大化原理得到的针对线性变化负载的理论上最优控制,开环控制,实际使用中调整速度可能是最快的,几乎无过冲,且在负载变化速度够小时(温度堆模式<20%/s,节能模式<5%/s)可几乎完美匹配负载。

缺点:

  • 需要安装microLua

使用方法:

  • 安装microLua、Cs For Barotrauma、Lua For Barotrauma
  • 放置一个microLua,复制最下方github中lua代码,将第一行local reactorMaxOutput = 10000中的10000改成你只计入潜艇升级后的反应堆最大功率,比如你的船是野獾,初始最大功率4,200,反应堆升级2次(+6%),2个工程师有天赋嗡鸣者(1.1*1.1),那么此处应该填入4200*1.06=4452(不计算角色天赋)(如果不会算或者算不出来就填一个反应堆最大功率下限,如初始的最大功率),改好的代码复制到你的microLua组件的source内
  • 如图接线:microLua的输入1,2,3,4分别接到反应堆温度输出,功率输出,负载输出,燃料输出,输入5接入一个内存组件输出,此内存组件输入连接到microLua的输出3,输入6接到一个开关用于调整反应堆模式(输入1时切换到节能模式),输入7接到内存组件上,其中填升级后(算人物天赋与潜艇改造)反应堆最大功率:比如你的船是野獾,初始最大功率4,200,反应堆升级2次(+6%),2个工程师有天赋嗡鸣者(1.1*1.1),那么此处应该填入4200*1.06*1.1*1.1=5386.92,(如果不知道或者算不出来内存元件可以什么都不填,空置);输出1接到设置裂变速率,输出2接到设置涡轮输出,输出3接到输入5接入的内存组件上,输出4接到反应堆停堆信号
  • 完成!
  • 其他功能:
  • 如果巡回开始时仍然超载或者起火,可以:1.适当减少燃料棒。2.将代码中(local reactorOffNewRound = false)改为(local reactorOffNewRound = true)即可自动在巡回开始时关闭反应堆。
  • 如果需要自定义目标功率,可将设定的功率输入输入8引脚,即可覆盖反应堆负载,适应主动稳压电网等应用场景。
  • 如果你打了mod导致后期游戏反应堆功率太高了,远超可能的最大消耗,那么可以修改代码中的local turbineFixed = 100.0,即温度堆模式下涡轮的固定值,从100改小,使得限制最大输出功率的同时节省燃料。

引脚用途说明:
输入:

  • 输入1:接到反应堆温度输出
  • 输入2:接到反应堆功率输出
  • 输入3:接到反应堆负载输出
  • 输入4:接到反应堆燃料输出
  • 输入5:用于在不同巡回间传递裂变速率与涡轮输出信息,microLua的内存无法继承到下一巡回,故用内存组件记忆
  • 输入6:模式切换,输入1时切换到节能模式,输入其他数字时切换到温度堆模式
  • 输入7:用内存组件输入升级后(算人物天赋与潜艇改造)反应堆最大功率。输入为数字时,改变reactorMaxOutput,用于设置反应堆最大功率(升级反应堆后可以通过此引脚修改)。或者如果你不会算或者不知道升级后反应堆最大功率,那么可将此引脚悬空,将在温度堆模式下或者输出电网功率>负载时估算反应堆最大功率,会有约千分之一数量级的误差,且悬空时自适应升级算出来的结果可能会被你手拉反应堆滑块破坏。
  • 输入8(可不接线):用于自定义负载,输入为数字时,强制改变目标功率为输入的数字,适应主动稳压电网等应用场景。
  • 输入9(可不接线):输入为数字时,改变turbineFixed,用于设置温度堆模式下固定的涡轮输出(降低可减低温度堆模式下最大输出功率和燃料消耗)

输出:

  • 输出1:用于设置裂变速率
  • 输出2:用于设置涡轮输出
  • 输出3:用于在不同巡回间传递裂变速率和涡轮输出信息
  • 输出4(可不接线):用于停堆,当(local reactorOffNewRound = true)时在新巡回开始时自动停堆

microLua内的代码:

https://github.com/1465114862/microLuaForFun/blob/main/reactor2.lua

Рейтинг

Войдите, чтобы голосовать.
🏅 Нет оценок

Базовые теги:

Зависимости мода

Логотип мода

MicroLua

Загрузить 7.1 KB