<< Clique para Mostrar o Sumário >>
O Módulo EPM SDK em Linguagem Python |
Como mencionado no capítulo introdutório, o EPM SDK em Linguagem Python é um módulo do Python desenvolvido para facilitar a utilização desta linguagem de programação com o EPM, viabilizando a consulta a dados históricos, bem como a escrita de séries temporais em Basic Variables disponíveis em um EPM Server.
O mecanismo para consultas a dados históricos ou escritas de séries temporais em Basic Variables do EPM segue sempre a sequência apresentada no esquema da figura a seguir.
Sequência do mecanismo de consulta a dados históricos
A leitura de dados históricos pode ser realizada sobre qualquer tipo de Data Object (Basic Variables ou Expression Variables). A escrita de séries temporais só pode ser efetuada sobre as Basic Variables que não possuam uma fonte de dados configurada.
Cada estabelecimento de sessão com um dado EPM Server representa o consumo de uma licença do tipo EPM Client até que a sessão seja encerrada.
O encerramento de uma sessão com um EPM Server decrementa em uma unidade a contabilização das licenças do tipo EPM Client utilizadas naquele momento. Se a aplicação é crítica e se o número de licenças do tipo EPM Client são restritas, recomenda-se utilizar um usuário com prioridade para o estabelecimento de sessões. Para isto, consulte o Manual do Usuário do Elipse Plant Manager para mais detalhes.
Existe um pequeno custo de processamento para o estabelecimento de sessões com um EPM Server devido à criação de um canal seguro para comunicação, que pode ser significativo em casos extremos como a criação ou encerramento de inúmeras sessões em curtos períodos. É necessária a avaliação criteriosa da arquitetura da aplicação para não comprometer os objetivos que se pretende atingir.
Quando não forem escritas séries temporais contíguas temporalmente, ou seja, blocos de valores sem uma continuidade temporal, deve-se ater à necessidade de emular o efeito de uma coleta de dados em tempo real que interrompa o seu processamento por algum motivo. Este efeito é conseguido através da marcação do último valor como nulo e com qualidade ruim, representando que este é um ponto de qualidade ruim decorrente da interrupção da coleta. Desta forma se garante a descontinuidade esperada em gráficos de tendência, como no EPM Chart Analysis e no EPM Dataset Analysis. O mesmo procedimento pode ser realizado para o primeiro valor, a fim de emular a inicialização de um sistema de coleta de dados indicando haver uma descontinuidade histórica na coleta de valores passados.
Para utilizar este módulo, é preciso que este tenha sido disposto em um local com acesso para as chamadas via Python, ou então adicionar sempre nos scripts o caminho onde o Python deve buscar este módulo.
Os tópicos a seguir abordam as funcionalidades disponíveis neste módulo. Em todos os casos é necessário adicionar o seguinte conjunto de módulos:
# EPM SDK em linguagem Python
import epmsdk
import epmsdk.communication as epmcomm
import epmsdk.dataaccess as epmda
import epmsdk.historicaldata as epmhda
NOTA |
Por questões de conveniência, recomenda-se sempre adicionar todos estes módulos, bem como utilizar os apelidos propostos, uma vez que todos os exemplos de código seguem este padrão. |
Além deste módulo, é comum a importação de módulos adicionais para visualizações gráficas, cálculos científicos, estatísticos, operações com data e hora e outros.
# Módulos adicionais
import numpy as np
from scipy import stats
import pandas as pd
import datetime
import matplotlib.pyplot as plt
NOTAS |
•Também por questões de conveniência, recomenda-se utilizar os mesmos apelidos propostos para os módulos auxiliares carregados no exemplo anterior. •Todos os demais exemplos apresentados neste Tutorial partem do pressuposto que tanto a importação do módulo do EPM SDK em Linguagem Python quanto destes módulos adicionais já foram efetuados com sucesso. |
Após importar o módulo EPM SDK em Linguagem Python e os demais módulos propostos no exemplo anterior, já se tem disponível um ambiente altamente produtivo em termos de análises, cálculos científicos e visualizações, equivalente a aplicativos como o Scilab, Octave, Matlab, R e Minitab, entre outros, além do acesso direto aos dados de um EPM Server, reduzindo drasticamente os tempos usualmente despendidos durante as etapas de identificação dos períodos de interesse, importação dos dados e preparação para análise.