Commit 8bf40d61 authored by Bernardo Quaresma Dias's avatar Bernardo Quaresma Dias
Browse files

Inclusão de monitoração de saturação de mv de água

INSTMPA-1287
parent a31c4d3a
This diff is collapsed.
...@@ -304,7 +304,7 @@ class{ id = "mod_otmflot_monMVOleo", name = "Otm. Flota ...@@ -304,7 +304,7 @@ class{ id = "mod_otmflot_monMVOleo", name = "Otm. Flota
description = [[Bloco que deve ser executado para calcular a MV de Óleo a ser comparada.]], description = [[Bloco que deve ser executado para calcular a MV de Óleo a ser comparada.]],
}, },
{ id = "ind_mv_oleo_max", name = "MV Máx. do LIC de Óleo", type = "REAL_POINT", access = "rw", { id = "ind_mv_oleo_max", name = "MV Máx. do LIC de Óleo", type = "REAL_POINT", access = "rw",
description = [[Indicação do valor máixmo para a MV do LIC de Óleo.]], description = [[Indicação do valor máximo para a MV do LIC de Óleo.]],
}, },
{ id = "ret_mon_mv", name = "Retorno de Mon. MV Óleo", type = "STRING", access = "gs", { id = "ret_mon_mv", name = "Retorno de Mon. MV Óleo", type = "STRING", access = "gs",
description = [[ description = [[
...@@ -322,6 +322,34 @@ class{ id = "mod_otmflot_monMVOleo", name = "Otm. Flota ...@@ -322,6 +322,34 @@ class{ id = "mod_otmflot_monMVOleo", name = "Otm. Flota
}, },
} }
class{ id = "mod_otmflot_monMVAgua", name = "Otm. Flotação: Mon. MV de Água", group = "Otimização de Flotação",
bases = {},
description = [[
Monitora se do cálculo da MV do controlador de nível de óleo do flotador está acima de um limite.
]],
attributes = {
{ id = "ind_batente_inf", name = "Batente Inferior", type = "REAL", access = "g",
description = [[Indicação do valor mínimo que o controlador de água escreve na MV.]],
},
{ id = "ind_batente_sup", name = "Batente Superior", type = "REAL", access = "g",
description = [[Indicação do valor máximo que o controlador de água escreve na MV.]],
},
{ id = "ret_sat", name = "Retorno de Saturação", type = "STRING", access = "gs",
description = [[
Retorna ao texto da avaliação de saturação da MV de Água em relação aos batentes configurados.
Esse texto pode ser:
'inf' - MV de Água saturada no batente inferior.
'sup' - MV de Água saturada no batente superior.
]],
},
{ id = "t_intervalo_s", name = "Tempo de Intervalo (s)", type = "REAL", access = "gs",
description = [[Intervalo, em segundos, entre execuções.]],
},
},
methods = {
},
}
class{ id = "mod_otmflot_CAvInicioPescoco", name = "Otm. Flotação: C. Av. de Início de Pescoço de Flotador", group = "Otimização de Flotação", class{ id = "mod_otmflot_CAvInicioPescoco", name = "Otm. Flotação: C. Av. de Início de Pescoço de Flotador", group = "Otimização de Flotação",
bases = {}, bases = {},
...@@ -528,6 +556,12 @@ class{ id = "mod_otmflot", name = "M ...@@ -528,6 +556,12 @@ class{ id = "mod_otmflot", name = "M
{ id = "m_mon_mv_oleo_flot_2", name = "Mon. MV Óleo Flot. 2", type = "mod_otmflot_monMVOleo", access = "g", { id = "m_mon_mv_oleo_flot_2", name = "Mon. MV Óleo Flot. 2", type = "mod_otmflot_monMVOleo", access = "g",
description = [[Monitoração de MV de Óleo de Flotador 2.]], description = [[Monitoração de MV de Óleo de Flotador 2.]],
}, },
{ id = "m_mon_mv_agua_flot_1", name = "Mon. MV Água Flot. 1", type = "mod_otmflot_monMVAgua", access = "g",
description = [[Monitoração de MV de Água de Flotador 1.]],
},
{ id = "m_mon_mv_agua_flot_2", name = "Mon. MV Água Flot. 2", type = "mod_otmflot_monMVAgua", access = "g",
description = [[Monitoração de MV de Água de Flotador 2.]],
},
}, },
methods = { methods = {
}, },
......
...@@ -157,6 +157,23 @@ local function createMonMVOleoPannel(instid) ...@@ -157,6 +157,23 @@ local function createMonMVOleoPannel(instid)
return createRetBox(instid, inst_box, true) return createRetBox(instid, inst_box, true)
end end
local function createMonMVAguaPannel(instid)
local inst = getinstance(instid, 'mod_otmflot_monMVAgua')
local inst_box = {
ihm.Named(ihm.Text(instid, 'mod_otmflot_monMVAgua', 'ret_sat'), "MV Sat."),
}
return createRetBox(instid, inst_box, true)
end
local function createFlotMonsPannel(monmvoleoid, monmvaguaid)
local mon_mvoleo_box = createMonMVOleoPannel(monmvoleoid)
local mon_mvagua_box = createMonMVAguaPannel(monmvaguaid)
return iup.hbox{mon_mvoleo_box, mon_mvagua_box}
end
local function createMonTqExpPannel(instid) local function createMonTqExpPannel(instid)
local inst = getinstance(instid, 'mod_otmflot_monNivelTanque') local inst = getinstance(instid, 'mod_otmflot_monNivelTanque')
...@@ -223,20 +240,21 @@ local function createFlotModulesPannel(otmflot, flotidx) ...@@ -223,20 +240,21 @@ local function createFlotModulesPannel(otmflot, flotidx)
local tag_aut_rampa = otmflot['m_aut_rampa_flot_'..flotidx] local tag_aut_rampa = otmflot['m_aut_rampa_flot_'..flotidx]
local tag_cav_pesc = otmflot['m_cav_inicio_pescoco_flot_'..flotidx] local tag_cav_pesc = otmflot['m_cav_inicio_pescoco_flot_'..flotidx]
local tag_mon_mvoleo = otmflot['m_mon_mv_oleo_flot_'..flotidx] local tag_mon_mvoleo = otmflot['m_mon_mv_oleo_flot_'..flotidx]
local tag_mon_mvagua = otmflot['m_mon_mv_agua_flot_'..flotidx]
local flot_box local flot_box
if tag_flot then if tag_flot then
local flot = createFlotPannel(tag_flot) local flot = createFlotPannel(tag_flot)
local aut_rampa = tag_aut_rampa and createAutRampa(tag_aut_rampa) local aut_rampa = tag_aut_rampa and createAutRampa(tag_aut_rampa)
local cav_pesc = tag_cav_pesc and createCAvPescoco(tag_cav_pesc) local cav_pesc = tag_cav_pesc and createCAvPescoco(tag_cav_pesc)
local mon_mvoleo = tag_mon_mvoleo and createMonMVOleoPannel(tag_mon_mvoleo) local mons = tag_mon_mvoleo and createFlotMonsPannel(tag_mon_mvoleo, tag_mon_mvagua)
flot_box = {} flot_box = {}
flot_box[#flot_box+1] = flot flot_box[#flot_box+1] = flot
flot_box[#flot_box+1] = aut_rampa flot_box[#flot_box+1] = aut_rampa
flot_box[#flot_box+1] = cav_pesc flot_box[#flot_box+1] = cav_pesc
flot_box[#flot_box+1] = mon_mvoleo flot_box[#flot_box+1] = mons
end end
return flot_box and createRetBox("Flot. "..flotidx, flot_box) return flot_box and createRetBox("Flot. "..flotidx, flot_box)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment