Script para leitura de Tag Comunicação

Pessoal,

Estou iniciando no elipse e3 e estou precisando criar um script para ler uma tag comunicação e apresentar o dado em um objeto display sem ser pela associação de uma tag, pois preciso inserir no script algumas equações e apresentar o resultado nesse display.

Alguém poderia me ajudar?

Grato

Olá @Jonhatta!

Bom, dependendo da equação ainda sim você pode fazer por associação. A associação aceita edições na fonte, de forma que você pode formar uma expressão, contendo soma, multiplicação, divisão, etc, entre Tags distintas e constantes. Um exemplo:

Dados.Tag1.Value2 + 3Dados.Tag2.Value

Essa expressão é formada pela soma de duas tags, multiplicadas por duas constantes. O resultado dessa expressão aparecerá no display.

Como disse que precisa de inserir algumas equações (mais de uma), em que momento seria executado esse processamento para atualizar o valor do display?

1 Like

Olá @Fonseca!

Desde já agradecido por sua explicação.

Como eu disse eu preciso inserir algumas equações, esta equação é pra achar média dessa TAG, tem como você me ajudar como posso fazer a média da TAG e visualizar no Display?.

Obrigado.

Posso ajudar sim. Para isso, como você estava pensando em fazer a média? Onde você armazenaria os valores anteriores da tag?

Qual seria a equação que inicialmente você iria fazer?

1 Like

Bom,

Ainda não estamos armazenando os valores no banco de dados, a equação seria pegar o valor da TAG que esta com variação, somar varias vezes e divide pela quantidade de vezes que somou,acha um valor médio, repete essa conta novamente e acha outro valor médio, daí somamos os resultados dessas médias e divide pela quantidade. ( O valor da TAG está variando e queria fazer média para estabilizar mais esse valor).

Bom, de acordo com o que eu entendi, a cada variação da tag, deseja-se atualizar o valor da média no display correto?

Uma das formas de atualização do display é ter os valores armazenados em banco, e, em um script, executar uma consulta que retorna a média dos valores armazenados, e exibir esse retorno em um display. Para isso seria necessário utilizar o método GetADORecordset da consulta. Para manter os valor do display atualizado seria necessário executar essa consulta no intervalo de atualização desejado.
Mais informações como utilizar o método GETADORecordset podem ser encontradas em:

http://kb.elipse.com.br/pt-br/questions/4184/Usando+Bancos+de+dados+no+E3%3A+Capítulo+4+-+GetADORecordSet.

Outra maneira seria manter o valor da média atual armazenado em um tag, bem como o número de itens lidos, dessa forma, a atualização da média ao ocorrer uma variação seria dado pelo seguinte script:

MediaAnterior = MediaAtual
MediaAtual = (MediaAnterior*N_amostras + ValorAtual) / N_amostras + 1
N_amostras = N_amostras+1

E dessa forma o display poderia ser associado a tag que armazena a média atual.

1 Like

Muito Obrigado, Ajudou e muito, mas tenho outra dúvida:

Criei uma query na consulta do e3 e como faço para executar essa consulta e mostrar no display?

Olá!
Como eu disse anteriormente, deve-se utilizar o método GetAdoRecordset em um script. Dessa forma, é possível obter o retorno da consulta e assim atribuir esse retorno (que é o valor da média) na propriedade Value de um display.
Dê uma olhada no artigo:
http://kb.elipse.com.br/pt-br/questions/4184/Usando+Bancos+de+dados+no+E3%3A+Capítulo+4+-+GetADORecordSet

1 Like