diff --git a/supervisor/session/plc.lua b/supervisor/session/plc.lua index 91fbacc..3adb85d 100644 --- a/supervisor/session/plc.lua +++ b/supervisor/session/plc.lua @@ -348,7 +348,7 @@ function new_session(id, for_reactor, in_queue, out_queue) local elapsed = os.clock() - self.periodics.last_update - self.periodics.keep_alive += elapsed + self.periodics.keep_alive = self.periodics.keep_alive + elapsed if self.periodics.keep_alive >= PERIODICS.KEEP_ALIVE then _send(RPLC_TYPES.KEEP_ALIVE, { os.epoch() }) diff --git a/supervisor/session/svsessions.lua b/supervisor/session/svsessions.lua index 4e0c75e..edc2ea2 100644 --- a/supervisor/session/svsessions.lua +++ b/supervisor/session/svsessions.lua @@ -10,7 +10,7 @@ SESSION_TYPE = { } local self = { - modem = nil + modem = nil, num_reactors = 0, rtu_sessions = {}, plc_sessions = {}, diff --git a/supervisor/startup.lua b/supervisor/startup.lua index 3395b81..fa4de82 100644 --- a/supervisor/startup.lua +++ b/supervisor/startup.lua @@ -10,14 +10,15 @@ os.loadAPI("scada-common/modbus.lua") os.loadAPI("config.lua") os.loadAPI("mqueue.lua") -os.loadAPI("supervisor.lua") os.loadAPI("session/rtu.lua") os.loadAPI("session/plc.lua") os.loadAPI("session/coordinator.lua") os.loadAPI("session/svsessions.lua") -local SUPERVISOR_VERSION = "alpha-v0.1.3" +os.loadAPI("supervisor.lua") + +local SUPERVISOR_VERSION = "alpha-v0.1.4" local print = util.print local println = util.println @@ -40,7 +41,7 @@ if modem == nil then end -- start comms, open all channels -local comms = supervisor.superv_comms(config.NUM_REACTORS, modem, config.SCADA_DEV_LISTEN, config.SCADA_SV_LISTEN) +local superv_comms = supervisor.superv_comms(config.NUM_REACTORS, modem, config.SCADA_DEV_LISTEN, config.SCADA_SV_LISTEN) -- base loop clock (4Hz, 5 ticks) local loop_clock = os.startTimer(0.25) diff --git a/supervisor/supervisor.lua b/supervisor/supervisor.lua index a3d2d2a..25154bb 100644 --- a/supervisor/supervisor.lua +++ b/supervisor/supervisor.lua @@ -11,9 +11,8 @@ local RTU_ADVERT_TYPES = comms.RTU_ADVERT_TYPES local SESSION_TYPE = svsessions.SESSION_TYPE -- supervisory controller communications -function superv_comms(mode, num_reactors, modem, dev_listen, coord_listen) +function superv_comms(num_reactors, modem, dev_listen, coord_listen) local self = { - mode = mode, ln_seq_num = 0, num_reactors = num_reactors, modem = modem,