diff --git a/supervisor/session/rtu/boiler.lua b/supervisor/session/rtu/boiler.lua index 56ed590..54c1080 100644 --- a/supervisor/session/rtu/boiler.lua +++ b/supervisor/session/rtu/boiler.lua @@ -115,13 +115,14 @@ function boiler.new(session_id, unit_id, advert, out_queue) -- build response -- load in data if correct length if m_pkt.length == 7 then - self.db.build.boil_cap = m_pkt.data[1] - self.db.build.steam_cap = m_pkt.data[2] - self.db.build.water_cap = m_pkt.data[3] - self.db.build.hcoolant_cap = m_pkt.data[4] - self.db.build.ccoolant_cap = m_pkt.data[5] - self.db.build.superheaters = m_pkt.data[6] + self.db.build.boil_cap = m_pkt.data[1] + self.db.build.steam_cap = m_pkt.data[2] + self.db.build.water_cap = m_pkt.data[3] + self.db.build.hcoolant_cap = m_pkt.data[4] + self.db.build.ccoolant_cap = m_pkt.data[5] + self.db.build.superheaters = m_pkt.data[6] self.db.build.max_boil_rate = m_pkt.data[7] + self.has_build = true else log.debug(log_tag .. "MODBUS transaction reply length mismatch (" .. TXN_TAGS[txn_type] .. ")") end @@ -130,7 +131,7 @@ function boiler.new(session_id, unit_id, advert, out_queue) -- load in data if correct length if m_pkt.length == 2 then self.db.state.temperature = m_pkt.data[1] - self.db.state.boil_rate = m_pkt.data[2] + self.db.state.boil_rate = m_pkt.data[2] else log.debug(log_tag .. "MODBUS transaction reply length mismatch (" .. TXN_TAGS[txn_type] .. ")") end @@ -138,16 +139,16 @@ function boiler.new(session_id, unit_id, advert, out_queue) -- tanks response -- load in data if correct length if m_pkt.length == 12 then - self.db.tanks.steam = m_pkt.data[1] + self.db.tanks.steam = m_pkt.data[1] self.db.tanks.steam_need = m_pkt.data[2] self.db.tanks.steam_fill = m_pkt.data[3] - self.db.tanks.water = m_pkt.data[4] + self.db.tanks.water = m_pkt.data[4] self.db.tanks.water_need = m_pkt.data[5] self.db.tanks.water_fill = m_pkt.data[6] - self.db.tanks.hcool = m_pkt.data[7] + self.db.tanks.hcool = m_pkt.data[7] self.db.tanks.hcool_need = m_pkt.data[8] self.db.tanks.hcool_fill = m_pkt.data[9] - self.db.tanks.ccool = m_pkt.data[10] + self.db.tanks.ccool = m_pkt.data[10] self.db.tanks.ccool_need = m_pkt.data[11] self.db.tanks.ccool_fill = m_pkt.data[12] else @@ -163,7 +164,7 @@ function boiler.new(session_id, unit_id, advert, out_queue) -- update this runner ---@param time_now integer milliseconds function public.update(time_now) - if not self.periodics.has_build and self.periodics.next_build_req <= time_now then + if not self.has_build and self.periodics.next_build_req <= time_now then _request_build() self.periodics.next_build_req = time_now + PERIODICS.BUILD end diff --git a/supervisor/session/rtu/emachine.lua b/supervisor/session/rtu/emachine.lua index b054965..703330d 100644 --- a/supervisor/session/rtu/emachine.lua +++ b/supervisor/session/rtu/emachine.lua @@ -86,13 +86,14 @@ function emachine.new(session_id, unit_id, advert, out_queue) -- build response if m_pkt.length == 1 then self.db.build.max_energy = m_pkt.data[1] + self.has_build = true else log.debug(log_tag .. "MODBUS transaction reply length mismatch (" .. TXN_TAGS[txn_type] .. ")") end elseif txn_type == TXN_TYPES.STORAGE then -- storage response if m_pkt.length == 3 then - self.db.storage.energy = m_pkt.data[1] + self.db.storage.energy = m_pkt.data[1] self.db.storage.energy_need = m_pkt.data[2] self.db.storage.energy_fill = m_pkt.data[3] else diff --git a/supervisor/session/rtu/envd.lua b/supervisor/session/rtu/envd.lua index 269d8fa..ca4a1af 100644 --- a/supervisor/session/rtu/envd.lua +++ b/supervisor/session/rtu/envd.lua @@ -83,7 +83,7 @@ function envd.new(session_id, unit_id, advert, out_queue) -- update this runner ---@param time_now integer milliseconds function public.update(time_now) - if not self.has_build and self.periodics.next_rad_req <= time_now then + if self.periodics.next_rad_req <= time_now then _request_radiation() self.periodics.next_rad_req = time_now + PERIODICS.RAD end diff --git a/supervisor/session/rtu/turbine.lua b/supervisor/session/rtu/turbine.lua index 352f57e..34e6cd0 100644 --- a/supervisor/session/rtu/turbine.lua +++ b/supervisor/session/rtu/turbine.lua @@ -110,32 +110,33 @@ function turbine.new(session_id, unit_id, advert, out_queue) elseif txn_type == TXN_TYPES.BUILD then -- build response if m_pkt.length == 9 then - self.db.build.blades = m_pkt.data[1] - self.db.build.coils = m_pkt.data[2] - self.db.build.vents = m_pkt.data[3] - self.db.build.dispersers = m_pkt.data[4] - self.db.build.condensers = m_pkt.data[5] - self.db.build.steam_cap = m_pkt.data[6] - self.db.build.max_flow_rate = m_pkt.data[7] - self.db.build.max_production = m_pkt.data[8] + self.db.build.blades = m_pkt.data[1] + self.db.build.coils = m_pkt.data[2] + self.db.build.vents = m_pkt.data[3] + self.db.build.dispersers = m_pkt.data[4] + self.db.build.condensers = m_pkt.data[5] + self.db.build.steam_cap = m_pkt.data[6] + self.db.build.max_flow_rate = m_pkt.data[7] + self.db.build.max_production = m_pkt.data[8] self.db.build.max_water_output = m_pkt.data[9] + self.has_build = true else log.debug(log_tag .. "MODBUS transaction reply length mismatch (" .. TXN_TAGS[txn_type] .. ")") end elseif txn_type == TXN_TYPES.STATE then -- state response if m_pkt.length == 4 then - self.db.state.flow_rate = m_pkt.data[1] - self.db.state.prod_rate = m_pkt.data[2] + self.db.state.flow_rate = m_pkt.data[1] + self.db.state.prod_rate = m_pkt.data[2] self.db.state.steam_input_rate = m_pkt.data[3] - self.db.state.dumping_mode = m_pkt.data[4] + self.db.state.dumping_mode = m_pkt.data[4] else log.debug(log_tag .. "MODBUS transaction reply length mismatch (" .. TXN_TAGS[txn_type] .. ")") end elseif txn_type == TXN_TYPES.TANKS then -- tanks response if m_pkt.length == 3 then - self.db.tanks.steam = m_pkt.data[1] + self.db.tanks.steam = m_pkt.data[1] self.db.tanks.steam_need = m_pkt.data[2] self.db.tanks.steam_fill = m_pkt.data[3] else