Prezado Fabiano, bom dia!
Para responder este tópico, elaboramos o seguinte exemplo:
- Tela_Exemplo.jpg (24.47 KiB) Viewed 1053 times
---------------------------------------------------------------------------------------------------------------------------------------------------
Detalhando...
Foram declaradas 2 Tags do tipo OPC:
.
TagOPC_001 ->
MW0
.
TagOPC_002 ->
MW1
- Tags_OPC.JPG (40.69 KiB) Viewed 1053 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 (57.29 KiB) Viewed 1053 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 (64.26 KiB) Viewed 1048 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: