26
rtu/dev/envd_rtu.lua
Normal file
26
rtu/dev/envd_rtu.lua
Normal file
@@ -0,0 +1,26 @@
|
||||
local rtu = require("rtu.rtu")
|
||||
|
||||
local envd_rtu = {}
|
||||
|
||||
-- create new environment detector device
|
||||
---@param envd table
|
||||
function envd_rtu.new(envd)
|
||||
local unit = rtu.init_unit()
|
||||
|
||||
-- discrete inputs --
|
||||
-- none
|
||||
|
||||
-- coils --
|
||||
-- none
|
||||
|
||||
-- input registers --
|
||||
unit.connect_input_reg(envd.getRadiation)
|
||||
unit.connect_input_reg(envd.getRadiationRaw)
|
||||
|
||||
-- holding registers --
|
||||
-- none
|
||||
|
||||
return unit.interface()
|
||||
end
|
||||
|
||||
return envd_rtu
|
||||
37
rtu/dev/sna_rtu.lua
Normal file
37
rtu/dev/sna_rtu.lua
Normal file
@@ -0,0 +1,37 @@
|
||||
local rtu = require("rtu.rtu")
|
||||
|
||||
local sna_rtu = {}
|
||||
|
||||
-- create new solar neutron activator (sna) device
|
||||
---@param sna table
|
||||
function sna_rtu.new(sna)
|
||||
local unit = rtu.init_unit()
|
||||
|
||||
-- discrete inputs --
|
||||
-- none
|
||||
|
||||
-- coils --
|
||||
-- none
|
||||
|
||||
-- input registers --
|
||||
-- build properties
|
||||
unit.connect_input_reg(sna.getInputCapacity)
|
||||
unit.connect_input_reg(sna.getOutputCapacity)
|
||||
-- current state
|
||||
unit.connect_input_reg(sna.getProductionRate)
|
||||
unit.connect_input_reg(sna.getPeakProductionRate)
|
||||
-- tanks
|
||||
unit.connect_input_reg(sna.getInput)
|
||||
unit.connect_input_reg(sna.getInputNeeded)
|
||||
unit.connect_input_reg(sna.getInputFilledPercentage)
|
||||
unit.connect_input_reg(sna.getOutput)
|
||||
unit.connect_input_reg(sna.getOutputNeeded)
|
||||
unit.connect_input_reg(sna.getOutputFilledPercentage)
|
||||
|
||||
-- holding registers --
|
||||
-- none
|
||||
|
||||
return unit.interface()
|
||||
end
|
||||
|
||||
return sna_rtu
|
||||
47
rtu/dev/sps_rtu.lua
Normal file
47
rtu/dev/sps_rtu.lua
Normal file
@@ -0,0 +1,47 @@
|
||||
local rtu = require("rtu.rtu")
|
||||
|
||||
local sps_rtu = {}
|
||||
|
||||
-- create new super-critical phase shifter (sps) device
|
||||
---@param sps table
|
||||
function sps_rtu.new(sps)
|
||||
local unit = rtu.init_unit()
|
||||
|
||||
-- discrete inputs --
|
||||
unit.connect_di(sps.isFormed)
|
||||
|
||||
-- coils --
|
||||
-- none
|
||||
|
||||
-- input registers --
|
||||
-- multiblock properties
|
||||
unit.connect_input_reg(sps.getLength)
|
||||
unit.connect_input_reg(sps.getWidth)
|
||||
unit.connect_input_reg(sps.getHeight)
|
||||
unit.connect_input_reg(sps.getMinPos)
|
||||
unit.connect_input_reg(sps.getMaxPos)
|
||||
-- build properties
|
||||
unit.connect_input_reg(sps.getCoils)
|
||||
unit.connect_input_reg(sps.getInputCapacity)
|
||||
unit.connect_input_reg(sps.getOutputCapacity)
|
||||
unit.connect_input_reg(sps.getMaxEnergy)
|
||||
-- current state
|
||||
unit.connect_input_reg(sps.getProcessRate)
|
||||
-- tanks
|
||||
unit.connect_input_reg(sps.getInput)
|
||||
unit.connect_input_reg(sps.getInputNeeded)
|
||||
unit.connect_input_reg(sps.getInputFilledPercentage)
|
||||
unit.connect_input_reg(sps.getOutput)
|
||||
unit.connect_input_reg(sps.getOutputNeeded)
|
||||
unit.connect_input_reg(sps.getOutputFilledPercentage)
|
||||
unit.connect_input_reg(sps.getEnergy)
|
||||
unit.connect_input_reg(sps.getEnergyNeeded)
|
||||
unit.connect_input_reg(sps.getEnergyFilledPercentage)
|
||||
|
||||
-- holding registers --
|
||||
-- none
|
||||
|
||||
return unit.interface()
|
||||
end
|
||||
|
||||
return sps_rtu
|
||||
Reference in New Issue
Block a user