Descrição:
Como posso buscar os valores de um intervalo específico no Elipse Plant Manager via EPM SDK para linguagem Python?
Solução:
Importando os módulos necessários:
import epmsdk.communication as epmcomm
import epmsdk.dataaccess as epmda
import epmsdk.historicaldata as epmhda
import datetime
Importamos três módulos do EPM SDK e um da própria linguagem:
communication – usado para realizar a conexão com o servidor
dataaccess – usado para buscar objetos no EPM
historicaldata – usado para consultar dados históricos
datetime – para trabalhar com datas
Estabelecendo a conexão com o EPM:
connection=epmcomm.epmConnect(hostname=’server’,username=’user’,password=’psw’)
Aqui é preciso substituir server, user e psw pelos nomes corretos de servidor, usuário e senha do EPM.
Definindo o período da consulta:
data_inicio = datetime.datetime(day=1,month=1,year=2016)
data_fim = datetime.datetime(day=1,month=2,year=2016)
Criando o objeto (variável do EPM):
data_object = epmda.epmGetDataObject(connection, target=’tagname’)
Para isto, basta substituir o nome da tag.
Executando a consulta:
valores = epmhda.epmTagHistoryRead(data_object, data_inicio,data_fim)
A variável valores vai receber um array contendo o valor, qualidade e timestamp do tag.
Para imprimir o valor, é possível utilizar o seguinte comando:
print valores[‘Value’]
O mesmo pode ser feito com Quality e Timestamp.
Anexo a este artigo está o código completo.
NOTA: Para maiores informações sobre o EPM SDK para linguagem Python, entre em contato com a Elipse Software.