Copiar um valor de tag para outro tag

Post Reply
oliveirafabiano
Posts: 3
Joined: Sun Oct 28, 2018 12:41 am

Copiar um valor de tag para outro tag

Post by oliveirafabiano »

Estou com dificuldade em elaborar um script que pegue o valor de um tag OPC e escreva esse valor em outro tag OPC. Estou utilizando um timer para que esse script rode a cada cinco segundos. Se eu fizer esse script dentro do Kernel ele vai funcionar sem precisar rodar o Viewer?
User avatar
ViniciusMoraes
Administrador
Posts: 36
Joined: Sat Oct 22, 2016 1:48 am
Contact:

Re: Copiar um valor de tag para outro tag

Post by ViniciusMoraes »

Prezado Fabiano, bom dia!

Para responder este tópico, elaboramos o seguinte exemplo:

Tela_Exemplo.jpg
Tela_Exemplo.jpg (24.47 KiB) Viewed 955 times

---------------------------------------------------------------------------------------------------------------------------------------------------
Detalhando...

Foram declaradas 2 Tags do tipo OPC:
. TagOPC_001 -> MW0
. TagOPC_002 -> MW1

Tags_OPC.JPG
Tags_OPC.JPG (40.69 KiB) Viewed 955 times


Utilizado um objeto do tipo Edit para escrever/simular valores no TagOpc_001 e um outro objeto do tipo Display apenas para visualizar a escrita feita no TagOpc_002.

Configuracao_Objetos.JPG
Configuracao_Objetos.JPG (57.29 KiB) Viewed 955 times


Criado um Script vazio no Kernel com o seguinte código:

Code: Select all

local tag1 = Tags.Get("Kernel.Tags.Opc.TagOpcGroup_001.TagOpc_001")	-- Obtem acesso a TagOpc_001
local tag2 = Tags.Get("Kernel.Tags.Opc.TagOpcGroup_001.TagOpc_002")	-- Obtem acesso a TagOpc_002

tag2.Value = tag1.Value							-- Atribui o valor de TagOpc_001 em TagOpc_002

tag2:WriteValue() 						        -- Chama função de escrita em um tag

Criar um Timer dentro de Kernel:
. Cíclico = Sim
. Intervalo = 5000 ms (Tempo pode ser alterado de acordo com a necessidade de cada projeto).
. On Timer Script: Associar o Script do Kernel que contem o código descrito anteriormente.

Config_Timer.jpg
Config_Timer.jpg (64.26 KiB) Viewed 950 times

Pronto! Agora é só executar este projeto e validar o funcionamento. Espero que aproveite este exemplo como referência para o seu projeto


Adicionalmente, deixo a seguinte informação:
Ao invés de utilizar um timer cíclico para ficar chamando este script de escrita em tags... Você pode utilizar o evento de On Tag Change do próprio Tag OPC. Com isso, qualquer alteração no valor do respectivo Tag, o Script será executado!

------------------------------------------------------------------------------------------------------------------------------------------------------------

Faça o download deste exemplo:
Write_Tag_OPC.H7G
(558.31 KiB) Downloaded 91 times
Vinícius de Moraes
Vendas | Suporte Técnico Comercial

E-mail de contato: suporte@hitecnologia.com.br
Telefone: (19)2139-1700 - (Opção 2 - Suporte Técnico).
Post Reply