Copiar um valor de tag para outro tag
-
- Posts: 3
- Joined: Sun Oct 28, 2018 12:41 am
Copiar um valor de tag para outro tag
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?
- ViniciusMoraes
- Administrador
- Posts: 36
- Joined: Sat Oct 22, 2016 1:48 am
- Contact:
Re: Copiar um valor de tag para outro tag
Prezado Fabiano, bom dia!
Para responder este tópico, elaboramos o seguinte exemplo:
---------------------------------------------------------------------------------------------------------------------------------------------------
Detalhando...
Foram declaradas 2 Tags do tipo OPC:
. TagOPC_001 -> MW0
. TagOPC_002 -> MW1
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.
Criado um Script vazio no Kernel com o seguinte código:
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.
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:
Para responder este tópico, elaboramos o seguinte exemplo:
---------------------------------------------------------------------------------------------------------------------------------------------------
Detalhando...
Foram declaradas 2 Tags do tipo OPC:
. TagOPC_001 -> MW0
. TagOPC_002 -> MW1
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.
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.
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:
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).
Vendas | Suporte Técnico Comercial
E-mail de contato: suporte@hitecnologia.com.br
Telefone: (19)2139-1700 - (Opção 2 - Suporte Técnico).