From 3669ef0f9607e991c4a7a63fe3c6ce7fedbf31ac Mon Sep 17 00:00:00 2001 From: Joachim Stolberg Date: Thu, 18 May 2023 18:32:08 +0200 Subject: [PATCH] Improve fusion reactor checks --- doc/manual_DE.lua | 6 ++++++ doc/manual_EN.lua | 6 ++++++ fusion_reactor/heatexchanger1.lua | 2 +- fusion_reactor/heatexchanger2.lua | 24 ++++++++++++++++++++---- fusion_reactor/magnet.lua | 7 +++++++ locale/techage.de.tr | 2 ++ locale/template.txt | 2 ++ manuals/manual_ta5_DE.md | 6 ++++++ manuals/manual_ta5_EN.md | 6 ++++++ 9 files changed, 56 insertions(+), 5 deletions(-) diff --git a/doc/manual_DE.lua b/doc/manual_DE.lua index a803517..b9fa295 100644 --- a/doc/manual_DE.lua +++ b/doc/manual_DE.lua @@ -2084,10 +2084,16 @@ techage.manual_DE.aText = { "\n", "Die Pumpe wird benötigt\\, um den Kühlkreislauf mit Isobutan zu füllen. Es werden ca. 350 Einheiten Isobutan benötigt.\n".. "\n".. + "Hinweis: Die TA5 Pumpe kann nur zum Füllen des Kühlkreislaufs genutzt werden\\, ein Abpumpen des Kühlmittels ist nicht möglich. Daher sollte die Pumpe erst eingeschaltet werden\\, wenn die Magnete korrekt platziert und alle Strom- und Kühlleitungen angeschlossen sind.\n".. + "\n".. "\n".. "\n", "Der TA5 Wärmetauscher wird benötigt\\, um die im Fusionsreaktor erzeugte Hitze zuerst in Dampf und dann in Strom umzuwandeln. Der Wärmetauscher selbst benötigt dazu 5 ku Strom. Der Aufbau gleicht dem Wärmetauscher des Energiespeichers aus TA4.\n".. "\n".. + "Hinweis: Der TA5 Wärmetauscher hat zwei Anschlüsse (blau und grün) für den Kühlkreislauf. Über die grünen und blauen Röhren müssen der Wärmetauscher und alle Magnete zu einem Kühlkreislauf verbunden werden.\n".. + "\n".. + "Über den Start-Button des Wärmetauschers kann der Kühlkreislauf auf Vollständigkeit geprüft werden\\, auch wenn noch kein Kühlmittel eingefüllt wurde.\n".. + "\n".. "\n".. "\n", "Über den TA5 Fusionreaktor Controller wird der Fusionreaktors eingeschaltet. Dabei muss zuerst die Kühlung/Wärmetauscher und dann der Controller eingeschaltet werden. Es dauert ca. 2 min\\, bis der Reaktor in Gang kommt und Strom liefert. Der Fusionreaktor und damit der Controller benötigt 400 ku an Strom\\, um das Plasma aufrecht zu erhalten.\n".. diff --git a/doc/manual_EN.lua b/doc/manual_EN.lua index beb66b0..7151691 100644 --- a/doc/manual_EN.lua +++ b/doc/manual_EN.lua @@ -2093,10 +2093,16 @@ techage.manual_EN.aText = { "\n", "The pump is required to fill the cooling circuit with isobutane. About 350 units of isobutane are required.\n".. "\n".. + "Note: The TA5 pump can only be used to fill the cooling circuit\\, pumping out the coolant is not possible. Therefore\\, the pump should not be switched on until the magnets are correctly placed and all power and cooling lines are connected.\n".. + "\n".. "\n".. "\n", "The TA5 Heat Exchanger is required to convert the heat generated in the fusion reactor first to steam and then to electricity. The Heat Exchanger itself requires 5 ku electricity. The structure is similar to the Heat Exchanger of the energy store from TA4.\n".. "\n".. + "Note: The TA5 Heat Exchanger has two connections (blue and green) for the cooling circuit. The heat exchanger and all magnets must be connected to form a cooling circuit via the green and blue pipes.\n".. + "\n".. + "The cooling circuit can be checked for completeness using the start button on the heat exchanger\\, even if no coolant has yet been filled in.\n".. + "\n".. "\n".. "\n", "The fusion reactor is switched on via the TA5 Fusion Reactor Controller. The cooling/Heat Exchanger must be switched on first and then the controller. It takes about 2 minutes for the reactor to start up and supply electricity. The fusion reactor and thus the controller requires 400 ku of electricity to maintain the plasma.\n".. diff --git a/fusion_reactor/heatexchanger1.lua b/fusion_reactor/heatexchanger1.lua index 0a2cb8a..e4f7717 100644 --- a/fusion_reactor/heatexchanger1.lua +++ b/fusion_reactor/heatexchanger1.lua @@ -91,7 +91,7 @@ techage.register_node({"techage:ta5_heatexchanger1"}, { on_transfer = function(pos, indir, topic, payload) local nvm = techage.get_nvm(pos) -- used by heatexchanger2 - if topic == "test_gas_blue" then + if topic == "test_pipe_blue" or topic == "test_gas_blue" then return control_cmnd(pos, topic) else return turbine_cmnd(pos, topic, payload) diff --git a/fusion_reactor/heatexchanger2.lua b/fusion_reactor/heatexchanger2.lua index 999efbb..549148c 100644 --- a/fusion_reactor/heatexchanger2.lua +++ b/fusion_reactor/heatexchanger2.lua @@ -93,7 +93,7 @@ sched.register(tSched, CALL_RATE1, 1, function(pos) return true end) sched.register(tSched, CALL_RATE1, 2, function(pos) - local resp = heatexchanger1_cmnd(pos, "test_gas_blue") + local resp = heatexchanger1_cmnd(pos, "test_pipe_blue") local cnt = count_trues(resp) if cnt ~= EXPECT_BLUE then return S("Blue pipe connection error\n(@1 found / @2 expected)", cnt, EXPECT_BLUE) @@ -101,14 +101,30 @@ sched.register(tSched, CALL_RATE1, 2, function(pos) return true end) sched.register(tSched, CALL_RATE1, 3, function(pos) - local resp = heatexchanger3_cmnd(pos, "test_gas_green") + local resp = heatexchanger3_cmnd(pos, "test_pipe_green") local cnt = count_trues(resp) if cnt ~= EXPECT_GREEN then return S("Green pipe connection error\n(@1 found / @2 expected)", cnt, EXPECT_GREEN) end return true end) -sched.register(tSched, CALL_RATE2, 4, function(pos) +sched.register(tSched, CALL_RATE1, 4, function(pos) + local resp = heatexchanger1_cmnd(pos, "test_gas_blue") + local cnt = count_trues(resp) + if cnt ~= EXPECT_BLUE then + return S("Blue pipe coolant missing\n(@1 found / @2 expected)", cnt, EXPECT_BLUE) + end + return true + end) +sched.register(tSched, CALL_RATE1, 5, function(pos) + local resp = heatexchanger3_cmnd(pos, "test_gas_green") + local cnt = count_trues(resp) + if cnt ~= EXPECT_GREEN then + return S("Green pipe coolant missing\n(@1 found / @2 expected)", cnt, EXPECT_GREEN) + end + return true + end) +sched.register(tSched, CALL_RATE2, 6, function(pos) local resp = heatexchanger3_cmnd(pos, "dec_power") local cnt = count_trues(resp) --print("dec_power", cnt) @@ -123,7 +139,7 @@ local function can_start(pos, nvm) return S("No power") end heatexchanger3_cmnd(pos, "rst_power") - for i = 0,4 do + for i = 0,6 do local res = tSched[i](pos) if res ~= true and res ~= 1 then return res end end diff --git a/fusion_reactor/magnet.lua b/fusion_reactor/magnet.lua index 9427577..6e4dfa0 100644 --- a/fusion_reactor/magnet.lua +++ b/fusion_reactor/magnet.lua @@ -198,6 +198,13 @@ local function on_request(pos, tlib2, topic) else -- Pipe if topic == "dec_power" then return dec_power(nvm) + elseif topic == "test_pipe_blue" then + nvm.test_pipe = true + return true + elseif topic == "test_pipe_green" then + local res = nvm.test_pipe + nvm.test_pipe = false + return res elseif topic == "test_gas_blue" then nvm.has_gas = true return nvm.liquid.amount == CAPACITY diff --git a/locale/techage.de.tr b/locale/techage.de.tr index a94ca5c..7139ef8 100644 --- a/locale/techage.de.tr +++ b/locale/techage.de.tr @@ -675,8 +675,10 @@ TA5 Heat Exchanger 1=TA5 Wärmetauscher 1 ### heatexchanger2.lua ### Blue pipe connection error@n(@1 found / @2 expected)=Verbindungsfehler blaue Leitung@n(@1 erkannt / @2 erwartet) +Blue pipe coolant missing@n(@1 found / @2 expected)=Kühlmittel fehlt bei der blauen Leitung@n(@1 erkannt / @2 erwartet) Cooler error=Kühlungsfehler Green pipe connection error@n(@1 found / @2 expected)=Verbindungsfehler grüne Leitung@n(@1 erkannt / @2 erwartet) +Green pipe coolant missing@n(@1 found / @2 expected)=Kühlmittel fehlt bei der grünen Leitung@n(@1 erkannt / @2 erwartet) Power network connection error=Stromnetz Verbindungsfehler TA4 Heat Exchanger=TA4 Wärmetauscher TA4 Heat Exchanger 2=TA4 Wärmetauscher 2 diff --git a/locale/template.txt b/locale/template.txt index e0dc790..81610e5 100644 --- a/locale/template.txt +++ b/locale/template.txt @@ -675,8 +675,10 @@ TA5 Heat Exchanger 1= ### heatexchanger2.lua ### Blue pipe connection error@n(@1 found / @2 expected)= +Blue pipe coolant missing@n(@1 found / @2 expected)= Cooler error= Green pipe connection error@n(@1 found / @2 expected)= +Green pipe coolant missing@n(@1 found / @2 expected)= Power network connection error= TA4 Heat Exchanger= TA4 Heat Exchanger 2= diff --git a/manuals/manual_ta5_DE.md b/manuals/manual_ta5_DE.md index e281fa8..8d6b9f0 100644 --- a/manuals/manual_ta5_DE.md +++ b/manuals/manual_ta5_DE.md @@ -38,12 +38,18 @@ Bei den Eckmagneten auf der Innenseite des Rings ist jeweils eine Anschlussseite Die Pumpe wird benötigt, um den Kühlkreislauf mit Isobutan zu füllen. Es werden ca. 350 Einheiten Isobutan benötigt. +Hinweis: Die TA5 Pumpe kann nur zum Füllen des Kühlkreislaufs genutzt werden, ein Abpumpen des Kühlmittels ist nicht möglich. Daher sollte die Pumpe erst eingeschaltet werden, wenn die Magnete korrekt platziert und alle Strom- und Kühlleitungen angeschlossen sind. + [ta5_pump|image] #### TA5 Wärmetauscher Der TA5 Wärmetauscher wird benötigt, um die im Fusionsreaktor erzeugte Hitze zuerst in Dampf und dann in Strom umzuwandeln. Der Wärmetauscher selbst benötigt dazu 5 ku Strom. Der Aufbau gleicht dem Wärmetauscher des Energiespeichers aus TA4. +Hinweis: Der TA5 Wärmetauscher hat zwei Anschlüsse (blau und grün) für den Kühlkreislauf. Über die grünen und blauen Röhren müssen der Wärmetauscher und alle Magnete zu einem Kühlkreislauf verbunden werden. + +Über den Start-Button des Wärmetauschers kann der Kühlkreislauf auf Vollständigkeit geprüft werden, auch wenn noch kein Kühlmittel eingefüllt wurde. + [ta5_heatexchanger|plan] #### TA5 Fusionreaktor Controller diff --git a/manuals/manual_ta5_EN.md b/manuals/manual_ta5_EN.md index e1fdfe9..2202ec1 100644 --- a/manuals/manual_ta5_EN.md +++ b/manuals/manual_ta5_EN.md @@ -38,12 +38,18 @@ With the corner magnets on the inside of the ring, one connection side is covere The pump is required to fill the cooling circuit with isobutane. About 350 units of isobutane are required. +Note: The TA5 pump can only be used to fill the cooling circuit, pumping out the coolant is not possible. Therefore, the pump should not be switched on until the magnets are correctly placed and all power and cooling lines are connected. + [ta5_pump|image] #### TA5 Heat Exchanger The TA5 Heat Exchanger is required to convert the heat generated in the fusion reactor first to steam and then to electricity. The Heat Exchanger itself requires 5 ku electricity. The structure is similar to the Heat Exchanger of the energy store from TA4. +Note: The TA5 Heat Exchanger has two connections (blue and green) for the cooling circuit. The heat exchanger and all magnets must be connected to form a cooling circuit via the green and blue pipes. + +The cooling circuit can be checked for completeness using the start button on the heat exchanger, even if no coolant has yet been filled in. + [ta5_heatexchanger|plan] #### TA5 Fusion Reactor Controller