mirror of
https://github.com/MikaylaFischler/cc-mek-scada.git
synced 2024-08-30 18:22:34 +00:00
scope fixes, load comms api, debug prints
This commit is contained in:
parent
7d9a664d38
commit
377cf8e6fc
12
rtu/rtu.lua
12
rtu/rtu.lua
@ -2,6 +2,10 @@
|
||||
-- #REQUIRES modbus.lua
|
||||
-- #REQUIRES ppm.lua
|
||||
|
||||
local PROTOCOLS = comms.PROTOCOLS
|
||||
local SCADA_MGMT_TYPES = comms.SCADA_MGMT_TYPES
|
||||
local RTU_ADVERT_TYPES = comms.RTU_ADVERT_TYPES
|
||||
|
||||
function rtu_init()
|
||||
local self = {
|
||||
discrete_inputs = {},
|
||||
@ -130,7 +134,7 @@ function rtu_comms(modem, local_port, server_port)
|
||||
-- PRIVATE FUNCTIONS --
|
||||
|
||||
local _send = function (protocol, msg)
|
||||
local packet = scada_packet()
|
||||
local packet = comms.scada_packet()
|
||||
packet.make(self.seq_num, protocol, msg)
|
||||
self.modem.transmit(self.s_port, self.l_port, packet.raw())
|
||||
self.seq_num = self.seq_num + 1
|
||||
@ -141,7 +145,7 @@ function rtu_comms(modem, local_port, server_port)
|
||||
-- parse a MODBUS/SCADA packet
|
||||
local parse_packet = function(side, sender, reply_to, message, distance)
|
||||
local pkt = nil
|
||||
local s_pkt = scada_packet()
|
||||
local s_pkt = comms.scada_packet()
|
||||
|
||||
-- parse packet as generic SCADA packet
|
||||
s_pkt.recieve(side, sender, reply_to, message, distance)
|
||||
@ -149,13 +153,13 @@ function rtu_comms(modem, local_port, server_port)
|
||||
if s_pkt.is_valid() then
|
||||
-- get as MODBUS TCP packet
|
||||
if s_pkt.protocol() == PROTOCOLS.MODBUS_TCP then
|
||||
local m_pkt = modbus_packet()
|
||||
local m_pkt = modbus.packet()
|
||||
if m_pkt.decode(s_pkt) then
|
||||
pkt = m_pkt.get()
|
||||
end
|
||||
-- get as SCADA management packet
|
||||
elseif s_pkt.protocol() == PROTOCOLS.SCADA_MGMT then
|
||||
local mgmt_pkt = mgmt_packet()
|
||||
local mgmt_pkt = comms.mgmt_packet()
|
||||
if mgmt_pkt.decode(s_pkt) then
|
||||
pkt = mgmt_packet.get()
|
||||
end
|
||||
|
@ -5,6 +5,7 @@
|
||||
os.loadAPI("scada-common/log.lua")
|
||||
os.loadAPI("scada-common/util.lua")
|
||||
os.loadAPI("scada-common/ppm.lua")
|
||||
os.loadAPI("scada-common/comms.lua")
|
||||
os.loadAPI("scada-common/modbus.lua")
|
||||
os.loadAPI("scada-common/rsio.lua")
|
||||
|
||||
@ -16,7 +17,7 @@ os.loadAPI("dev/boiler.lua")
|
||||
os.loadAPI("dev/imatrix.lua")
|
||||
os.loadAPI("dev/turbine.lua")
|
||||
|
||||
local RTU_VERSION = "alpha-v0.1.1"
|
||||
local RTU_VERSION = "alpha-v0.1.2"
|
||||
|
||||
local print = util.print
|
||||
local println = util.println
|
||||
@ -67,6 +68,8 @@ for reactor_idx = 1, #rtu_redstone do
|
||||
|
||||
local capabilities = {}
|
||||
|
||||
log._debug("init> starting redstone RTU I/O linking for reactor " .. rtu_redstone[reactor_idx].for_reactor .. "...")
|
||||
|
||||
for i = 1, #io_table do
|
||||
local valid = false
|
||||
local config = io_table[i]
|
||||
@ -81,7 +84,8 @@ for reactor_idx = 1, #rtu_redstone do
|
||||
end
|
||||
|
||||
if not valid then
|
||||
local message = "init> invalid redstone definition at index " .. i
|
||||
local message = "init> invalid redstone definition at index " .. i .. " in definition block #" .. reactor_idx ..
|
||||
" (for reactor " .. rtu_redstone[reactor_idx].for_reactor .. ")"
|
||||
println_ts(message)
|
||||
log._warning(message)
|
||||
else
|
||||
@ -117,6 +121,8 @@ for reactor_idx = 1, #rtu_redstone do
|
||||
rtu = rs_rtu,
|
||||
modbus_io = modbus.new(rs_rtu)
|
||||
})
|
||||
|
||||
log._debug("init> initialized RTU unit #" .. #units .. ": redstone_io (redstone) [1] for reactor " .. rtu_redstone[reactor_idx].for_reactor)
|
||||
end
|
||||
|
||||
-- mounted peripherals
|
||||
|
@ -264,7 +264,7 @@ function new(rtu_dev)
|
||||
}
|
||||
end
|
||||
|
||||
function modbus_packet()
|
||||
function packet()
|
||||
local self = {
|
||||
frame = nil,
|
||||
txn_id = txn_id,
|
||||
|
Loading…
Reference in New Issue
Block a user