Estou com dificuldade para obter o argumento de uma TagLocal do Kernel dentro do script lua. Este script é executado no próprio evento de On Tag Change desta mesma TagLocal.
O código do script:
Code: Select all
--[[- - - - - - - - - - - - - - - - - - - - - - - - - -
Ambiente: HIscada_Pro
Projeto:
Empresa:
Versão:
Responsável:
Data: 04/01/2023
\b Descrição: \brief
... função do script
- - - - - - - - - - - - - - - - - - - - - - - - - - - -]]
local arg = Sender.Argument
print(arg)
local hh = Tags.Get("Kernel.Tags.Local.teste.HH")
local ll = Tags.Get("Kernel.Tags.Local.teste.LL")
local data = tostring(DateTime())
nome = ""
if arg == 1 then
tag = Tags.Get("Kernel.Tags.Local.teste.T1")
nome = "TTR-T24"
elseif arg == 2 then
tag = Tags.Get("Kernel.Tags.Local.teste.T2")
nome = "TTR-T25"
elseif arg == 3 then
tag = Tags.Get("Kernel.Tags.Local.teste.T3")
nome = "TTR-T26"
elseif arg == 4 then
tag = Tags.Get("Kernel.Tags.Local.teste.T4")
nome = "TTR-T27"
elseif arg == 5 then
tag = Tags.Get("Kernel.Tags.Local.teste.T5")
nome = "TTR-T28"
elseif arg == 6 then
tag = Tags.Get("Kernel.Tags.Local.teste.T6")
nome = "TTR-T29"
end
if tag.Value > hh.Value[arg] then
con = Database.Get('Globals.DataBases.DataBase_001')
cursor,error = con:Execute("INSERT INTO historico(sensor,nivel,valor_real,valor_de_alarme,status,data) VALUES ('"..nome.."','HH','"..tag.Value.."','"..hh.Value.."','Temperatura Alta','"..data.."');")
print(error)
end
Porém desta forma está retornando erro durante a depuração do script. Como posso obter o valor do argumento neste caso?