diff --git a/supervisor/session/rtu.lua b/supervisor/session/rtu.lua index b520ddc..997e198 100644 --- a/supervisor/session/rtu.lua +++ b/supervisor/session/rtu.lua @@ -7,6 +7,7 @@ local util = require("scada-common.util") local svqtypes = require("supervisor.session.svqtypes") -- supervisor rtu sessions (svrs) +local unit_session = require("supervisor.session.rtu.unit_session") local svrs_boilerv = require("supervisor.session.rtu.boilerv") local svrs_envd = require("supervisor.session.rtu.envd") local svrs_imatrix = require("supervisor.session.rtu.imatrix") @@ -202,9 +203,6 @@ function rtu.new_session(id, in_queue, out_queue, advertisement, facility_units) break end end - - -- report build changed - self.out_q.push_command(svqtypes.SV_Q_CMDS.BUILD_CHANGED) end -- mark this RTU session as closed, stop watchdog @@ -419,9 +417,9 @@ function rtu.new_session(id, in_queue, out_queue, advertisement, facility_units) self.periodics.last_update = util.time() - ---------------------------------------------- - -- pass MODBUS packets on to main out queue -- - ---------------------------------------------- + -------------------------------------------- + -- process RTU session handler out queues -- + -------------------------------------------- for _ = 1, self.modbus_q.length() do -- get the next message @@ -429,7 +427,16 @@ function rtu.new_session(id, in_queue, out_queue, advertisement, facility_units) if msg ~= nil then if msg.qtype == mqueue.TYPE.PACKET then + -- handle a packet _send_modbus(msg.message) + elseif msg.qtype == mqueue.TYPE.COMMAND then + -- handle instruction + local cmd = msg.message + if cmd == unit_session.RTU_US_CMDS.BUILD_CHANGED then + self.out_q.push_command(svqtypes.SV_Q_CMDS.BUILD_CHANGED) + end + elseif msg.qtype == mqueue.TYPE.DATA then + -- instruction with body end end end diff --git a/supervisor/startup.lua b/supervisor/startup.lua index 8f1238a..99decc7 100644 --- a/supervisor/startup.lua +++ b/supervisor/startup.lua @@ -14,7 +14,7 @@ local svsessions = require("supervisor.session.svsessions") local config = require("supervisor.config") local supervisor = require("supervisor.supervisor") -local SUPERVISOR_VERSION = "beta-v0.7.6" +local SUPERVISOR_VERSION = "beta-v0.7.7" local print = util.print local println = util.println