Aquisição de um dado do banco de dados para uma tag

Tudo bem,

Gostaria de saber se é possível adquirir o último dado de uma variável atualizada no banco de dados e associar este valor a uma Tag, para que eu possa trabalhar em cima deste último valor de entrada no banco de dados.
Seria basicamente um sistema de backup para meu sistema, caso venha acontecer uma desenergização dos periféricos (PIC, sensores…) assim podendo reiniciar toda a logica de onde o sistema estava na ultima atualizaçõa do banco.

grato.

Oi Edson, boa tarde!

Para retornar o último valor gravado no banco deve-se executar a seguinte consulta (exemplo):
SELECT TOP 1 E3TimeStamp, Coluna1
FROM NomeDaTabela
Order by E3TimeStamp DESC

Artigo de referência: KB-33811: Buscando o último valor registrado em uma tabela através de um script. (link: http://kb.elipse.com.br/pt-br/questions/2351/KB-33811%3A+Buscando+o+último+valor+registrado+em+uma+tabela+através+de+um+script.)

Para passar o valor a um tag, siga as orientações deste artigo: KB-16467: Carregando o resultado de uma consulta para um tag interno. (link: http://kb.elipse.com.br/pt-br/questions/634/KB-16467%3A+Carregando+o+resultado+de+uma+consulta+para+um+tag+interno.)

Qualquer dúvida me avise.

Atenciosamente,
Marco Antonio

Consegui fazer a consulta do ultima valor na tabela,porem nao consigo associar seu valor a uma tag para utiliza-la. Como faço para associar esse valor da consulta na tag?

Oi Edson, bom dia!

Para pegar o valor de uma consulta e armazenar no tag, siga as orientações do artigo: KB-16467: Carregando o resultado de uma consulta para um tag interno. (link: http://kb.elipse.com.br/pt-br/questions/634/KB-16467%3A+Carregando+o+resultado+de+uma+consulta+para+um+tag+interno2.)
Este artigo também possui uma aplicação exemplo anexa ensinando como fazer.

Qualquer dúvida me avise.

Att,
Marco Antonio

Bom pessoal.
Estou tentando fazer algo parecido, mas nao consigo!
Minha questão e a seguinte:
O sistema ERP ira gravar um ordem de produção no banco, preciso pegar esses dados (Numero da ordem e descrição do produto), ler do banco pelo elipse e depois enviar para meu CLP. Como posso fazer?

Ola @Bruno_Ferreira,

Você já conseguiu fazer a consulta que busca os valores de ordem e descrição?
Se não conseguiu, siga este artigo: https://kb.elipse.com.br/kb33811-buscando-o-ultimo-valor-registrado-em-uma-tabela-atraves-de-um-script/
Apos a consulta estar pronta, utilize o método GetADORecordSet para buscar os valores da consulta para dentro do script.
Siga este artigo para fazer isto: https://kb.elipse.com.br/kb16467-carregando-o-resultado-de-uma-consulta-para-um-tag-interno/
Outra alternativa: https://kb.elipse.com.br/nocoes-de-vbscript-no-software-elipse-e3-licao-7-getadorecordset/
Com os valores da consulta dentro do script, bastaria fazer a escrita nos tags do seu CLP.
Siga este caminho e me responda com suas duvidas.

Att.
Link

Boa noite Daniel.
Consegui entender o modo de fazer com esse topico : https://kb.elipse.com.br/kb16467-carregando-o-resultado-de-uma-consulta-para-um-tag-interno/
Porem, percebi que ele sempre esta pegando o ultimo valor do banco e transferindo para a tag interna (que a ideia seria essa mesmo), porem ele apaga todos os demais valores, eu gostaria que ele carregasse os ultimos valores, porem ficasse um historico dos demais itens. EX gerei uma ordem de numero 5, quando carregar carregue 5, porem quando gerar a 6, carregue a 6 e na estrutura do banco, fique armazenada a 5 e 6, embora apenas a 6 esta na minha tag. Sera q deu para entender?
Desde ja agradeço sua atenção.

Ola @Bruno_Ferreira,

Não entendi muito bem.
A consulta do artigo retorna apenas o ultimo registro em função do SELECT TOP 1 do SQL.
No banco, os registros continuam sendo feitos e armazenados.
Conseguiria colocar imagens do que você precisa?

Att.
Link

Vou trabalhar nissso, e posto a imagem.
Porem assim, quando vou consultar os dados no banco, os unicos dados que constam seriam os que esta na tela, nao todo historico. Vou fazer e posto a imagem.
Obrigado!

1 Like


Como tinha dito, não fica o historico completo. e sim apenas os ultimos valores de cada tag. Gostaria de coletar o ultimo dado gerado no banco,porem deixar salvo no historico os demais que foram substituidos.

Segue os scripts

image

Caro @Bruno_Ferreira,

O “deixar salvo” que você se refere é por que não aparece na consulta? Porque a consulta não apaga nada, apenas busca ultimo registro feito na tabela. Os dados antigos seguem na tabela, tanto que se você remover o TOP 1, aparecem todos os dados antigos.
A ideia de usar o TOP 1 é para retornar apenas um registro, demorando menos a consulta e necessitando menos tratamento via script.

Att.
Link

Entendi, fiz isso e apareceu os demais valores.
Obrigado!

1 Like

Voltando ao assunto, Tentei colocar esse script em um tag contador na função ON PRESET, para que atualize automaticamente, porem não funcionou. Teria algo errado?

Ola @Bruno_Ferreira,

O erro esta que o script nao esta mais na tela, entao o caminho para a consulta nao pode ser mais este.
image
Crie uma consulta junto do tag contador com a mesma configuração da consulta da tela.
Acredito que apos corrigir estes caminhos, o script ira funcionar.

Att.
Link

Boa tarde.
Deu certo, estou começando a entender essa questão dos caminhos das tags, um pouco confuso de entender.
Obrigado

1 Like