cc-mek-scada/rtu/dev/boilerv_rtu.lua

58 lines
1.8 KiB
Lua
Raw Normal View History

2022-05-12 19:36:27 +00:00
local rtu = require("rtu.rtu")
2022-05-04 15:23:45 +00:00
local boilerv_rtu = {}
2023-07-11 21:27:03 +00:00
-- create new boiler device
2023-02-22 04:50:43 +00:00
---@nodiscard
2022-05-12 19:36:27 +00:00
---@param boiler table
---@return rtu_device interface, boolean faulted
function boilerv_rtu.new(boiler)
local unit = rtu.init_unit(boiler)
2022-05-04 15:23:45 +00:00
-- discrete inputs --
unit.connect_di("isFormed")
2022-05-04 15:23:45 +00:00
-- coils --
-- none
-- input registers --
-- multiblock properties
unit.connect_input_reg("getLength")
unit.connect_input_reg("getWidth")
unit.connect_input_reg("getHeight")
unit.connect_input_reg("getMinPos")
unit.connect_input_reg("getMaxPos")
2022-05-04 15:23:45 +00:00
-- build properties
unit.connect_input_reg("getBoilCapacity")
unit.connect_input_reg("getSteamCapacity")
unit.connect_input_reg("getWaterCapacity")
unit.connect_input_reg("getHeatedCoolantCapacity")
unit.connect_input_reg("getCooledCoolantCapacity")
unit.connect_input_reg("getSuperheaters")
unit.connect_input_reg("getMaxBoilRate")
2022-05-04 15:23:45 +00:00
-- current state
unit.connect_input_reg("getTemperature")
unit.connect_input_reg("getBoilRate")
unit.connect_input_reg("getEnvironmentalLoss")
2022-05-04 15:23:45 +00:00
-- tanks
unit.connect_input_reg("getSteam")
unit.connect_input_reg("getSteamNeeded")
unit.connect_input_reg("getSteamFilledPercentage")
unit.connect_input_reg("getWater")
unit.connect_input_reg("getWaterNeeded")
unit.connect_input_reg("getWaterFilledPercentage")
unit.connect_input_reg("getHeatedCoolant")
unit.connect_input_reg("getHeatedCoolantNeeded")
unit.connect_input_reg("getHeatedCoolantFilledPercentage")
unit.connect_input_reg("getCooledCoolant")
unit.connect_input_reg("getCooledCoolantNeeded")
unit.connect_input_reg("getCooledCoolantFilledPercentage")
2022-05-04 15:23:45 +00:00
-- holding registers --
-- none
return unit.interface(), false
2022-05-04 15:23:45 +00:00
end
return boilerv_rtu