Boa tarde!
Tenho uma aplicação que monitora 15 equipamentos e realiza o gerenciamento de OEE dos sistemas, a cada tempo determinador pelo operador o sistema efetua os cálculos de OEE e armazena os resultados no BD (SQL), para isso criei um novo evento de script para que toda vez que o valor do gatilho de cálculo do dado for igual a 1 ele execute o script (Move as variáveis para os dados do histórico e executa um WriteRecord()), porém quando ocorre o evento de gravação com mais de um evento ao mesmo tempo (Caso dois ou mais equipamentos executem o calculo ao mesmo tempo), o sistema só guarda o último valor e acaba perdendo dados do sistema, tem como verificar se o comando foi executado e deixar executar o próximo script antes dele ser finalizado? Todos os script estão rodando no Drive de comunicação, dentro da variável de trigger do evento de script, segue abaixo o script:
'Armazena dados no Banco de Dados
Application.GetObject(“Dados.GerenciamentoProducao.Disponibilidade”).Value = Parent.Item(“Disponibilidade”).Value100
Application.GetObject(“Dados.GerenciamentoProducao.MTBF”).Value = Parent.Item(“MTBF”).Value
Application.GetObject(“Dados.GerenciamentoProducao.MTTR”).Value = Parent.Item(“MTTR”).Value
Application.GetObject(“Dados.GerenciamentoProducao.OEE”).Value = Parent.Item(“OEE”).Value
Application.GetObject(“Dados.GerenciamentoProducao.Performance”).Value = Parent.Item(“Performance”).Value100
Application.GetObject(“Dados.GerenciamentoProducao.Qualidade”).Value = Parent.Item(“Qualidade”).Value*100
Application.GetObject(“Dados.GerenciamentoProducao.TagEquipamento”).Value = “Strech”
Application.GetObject(“OEE”).WriteRecord()
Todo o sistema possui um bloco no CLP e um XControl no Elipse, alguns dados são armazenados, outros não.
Desde já agradeço.