<< Clique para Mostrar o Sumário >>
Mapeamento de Endereços |
Uma vez estabelecida a conexão com um banco de dados, é necessário criar consultas SQL para informar quais dados são coletados pelo EPM. Este processo é realizado através de um mapeamento das colunas retornadas pela consulta com os campos de um endereço criado na Interface, como um Tag de um servidor OPC, por exemplo. Desta forma, um Tag do EPM pode ler a partir deste endereço.
Para ilustrar de uma forma mais didática, suponha uma leitura de um servidor OPC. O próprio servidor OPC já entrega um objeto Tag, ou seja, internamente é realizado um mapeamento de posições de memória para os campos Timestamp, Value e Quality de um Tag. Assim, quando o cliente OPC executa a importação, já visualiza este Tag, com estampa de tempo, valor e qualidade, e pode importá-lo normalmente.
Mapeamento de endereços em um servidor OPC
Quando se deseja coletar dados através de uma Interface do tipo Database é necessário criar consultas SQL, e as colunas que retornam como resultado precisam ser mapeadas para campos Timestamp, Value e Quality de um endereço, ou seja, o próprio usuário precisa informar quais colunas são utilizadas e quais fornecem os dados dos campos citados. Desta forma, o EPM pode importar os endereços e receber os dados como se fossem Tags OPC.
Mapeamento de endereços na Interface com Banco de Dados
1.O primeiro passo é criar uma consulta. Para isto, na página de propriedades da Interface, clique em Insert na barra de ferramentas da aba Queries.
2.Na janela que se abre, preencha o campo Name com a expressão "qryTemperaturaMG". No campo destinado à cláusula SQL, digite o texto a seguir.
SELECT TOP 200 [E3TimeStamp], [MG_Temperatura], [MG_Temperatura_Quality]
FROM [MG_Temperatura]
WHERE [E3TimeStamp] > @E3TimeStamp.LastValue
ORDER BY [E3TimeStamp] ASC
3.Clique em Execute. Como a consulta possui uma variável (nomes iniciados pelo caractere "@"), uma janela é aberta solicitando um valor inicial para esta variável. Neste caso, como é preciso buscar dados de um banco de dados já existente, digite a data de 15/05/2016. Este banco de dados que fornece os dados possui um milhão de registros para cada tabela, ou seja, um registro por segundo iniciando em 16/05/2016 00:00:00. Clique em OK para que a consulta busque os dados e apresente-os no campo Result.
4.Sempre que a Interface executar esta consulta, a última data recebida é atualizada nesta variável. Assim, quando a consulta é executada, somente busca os dados mais recentes em relação a esta data, evitando buscar dados já recebidos. Clique em OK para fechar a janela.
5.A consulta criada é adicionada na lista de consultas. Porém, para que seja efetivamente executada, é necessário habilitá-la. Para isto, selecione a opção Enabled e clique em Test na barra de ferramentas para certificar-se de que a consulta está funcionando corretamente. Após, salve as configurações.
Lista de consultas
6.O próximo passo é criar os endereços e realizar o mapeamento das colunas da consulta com os campos Timestamp, Value e Quality do endereço. Ainda na página de propriedades da Interface, selecione a aba Address e clique em Insert . Renomeie o endereço e preencha os campos conforme os dados a seguir. Caso não apareçam as colunas desejadas para seleção, clique em Retrieve Fields na barra de ferramentas.
•Name: MG_Temperatura
•Query: qryTemperaturaMG
•Timestamp Field: E3TimeStamp
•Quality Field: MG_Temperatura_Quality
•Value Field: MG_Temperatura
Seleção de campos da consulta
7.A opção Retrieve Fields executa as consultas a fim de recuperar os nomes das colunas que devem ser mostradas para seleção. O usuário pode adicionar diversos endereços, preenchendo seus campos de acordo com o título de cada coluna, de forma a completar o mapeamento do endereço com o resultado da consulta. Para remover um endereço do mapeamento, selecione a linha desejada e clique em Delete .
8.Crie uma segunda consulta, chamada "qryTemperaturaRJ". Pode-se copiar e colar a consulta atual utilizando as combinações de teclas CTRL + C e CTRL + V. Neste caso, não esqueça de renomear os campos respectivos.
9.Edite a cláusula SQL da nova consulta para o texto a seguir.
SELECT TOP 200 [E3TimeStamp], [RJ_Temperatura], [RJ_Temperatura_Quality]
FROM [RJ_Temperatura]
WHERE [E3TimeStamp] > @E3TimeStamp.LastValue
ORDER BY [E3TimeStamp] ASC
10.Crie um endereço chamado "RJ_Temperatura" e mapeie os campos. Se os campos necessários para o mapeamento não aparecerem ou se não foi executada a opção Test na aba Queries, clique em Retrieve Fields .
NOTAS |
•Para criar ou configurar quantidades maiores de consultas e endereços, utilize as ferramentas de importação ou exportação, que geram arquivos no formato CSV (Comma-Separated Values), possibilitando assim o trabalho via Excel. •Para mais informações importantes a respeito do funcionamento da Interface com Banco de Dados, consulte os artigos Configurando Corretamente uma Consulta no Interface Database, Mapeando Tags do Interface DB com Tipo Não Suportado e Coletando Dados de uma Planilha do Excel no Elipse Knowledgebase. |