diff --git a/scada-common/psil.lua b/scada-common/psil.lua index f3d810a..029a79e 100644 --- a/scada-common/psil.lua +++ b/scada-common/psil.lua @@ -74,6 +74,13 @@ function psil.create() end end + -- get the currently stored value for a key or nil if not set + ---@param key string data key + ---@return any + function public.get(key) + if ic[key] ~= nil then return ic[key].value else return nil end + end + -- clear the contents of the interconnect function public.purge() ic = {} end diff --git a/scada-common/types.lua b/scada-common/types.lua index ca1b885..19392fe 100644 --- a/scada-common/types.lua +++ b/scada-common/types.lua @@ -253,6 +253,61 @@ types.ENERGY_SCALE_UNITS = { "RF" } +local GENERIC_STATE = { + OFFLINE = 1, + UNFORMED = 2, + FAULT = 3, + IDLE = 4, + ACTIVE = 5 +} + +---@enum REACTOR_STATE +types.REACTOR_STATE = { + OFFLINE = 1, + UNFORMED = 2, + FAULT = 3, + DISABLED = 4, + ACTIVE = 5, + SCRAMMED = 6, + FORCE_DISABLED = 7 +} + +---@enum BOILER_STATE +types.BOILER_STATE = GENERIC_STATE + +---@enum TURBINE_STATE +types.TURBINE_STATE = { + OFFLINE = 1, + UNFORMED = 2, + FAULT = 3, + IDLE = 4, + ACTIVE = 5, + TRIPPED = 6 +} + +---@enum TANK_STATE +types.TANK_STATE = { + OFFLINE = 1, + UNFORMED = 2, + FAULT = 3, + ONLINE = 4, + LOW_FILL = 5, + HIGH_FILL = 6 +} + +---@enum IMATRIX_STATE +types.IMATRIX_STATE = { + OFFLINE = 1, + UNFORMED = 2, + FAULT = 3, + ONLINE = 4, + LOW_CHARGE = 5, + HIGH_CHARGE = 6 +} + +---@enum SPS_STATE +types.SPS_STATE = GENERIC_STATE + ---@enum PANEL_LINK_STATE types.PANEL_LINK_STATE = { LINKED = 1, diff --git a/scada-common/util.lua b/scada-common/util.lua index 86645f8..3023a49 100644 --- a/scada-common/util.lua +++ b/scada-common/util.lua @@ -24,7 +24,7 @@ local t_pack = table.pack local util = {} -- scada-common version -util.version = "1.4.6" +util.version = "1.4.7" util.TICK_TIME_S = 0.05 util.TICK_TIME_MS = 50