Ambiente Integrado de Análises

<< Clique para Mostrar o Sumário >>

 

Ambiente Integrado de Análises

O EPM Studio contém uma ferramenta integrada de análise para ser utilizada com os Datasets. Logo abaixo da área do gráfico, o usuário tem a opção de expandir a área Scripting, que apresenta um console para execução de comandos em Python. Esta ferramenta integrada permite a realização de inúmeras análises sobre os dados do Dataset ou outras variáveis criadas no próprio console, assim como mostrar na mesma área do gráfico os resultados destas análises ou utilizar as bibliotecas gráficas disponíveis na linguagem.

Na primeira vez que a área Scripting é aberta em um Dataset Analysis, são carregadas para o console as instruções contidas no arquivo ConsoleInitialization.py. Caso este arquivo não exista, este é automaticamente criado na pasta My Documents\Elipse Software\EPM Studio\Libraries do usuário do Windows.

Este arquivo pode ser alterado pelo usuário para executar outros procedimentos na inicialização do console, como por exemplo carregar outras bibliotecas ou pré-configurar o ambiente Python para as análises. Por padrão, este arquivo já importa as bibliotecas sys, datetime e numpy, além de definir uma função de exemplo chamada sampleSum.

Para o EPM Studio ter suporte a este ambiente Python integrado ao Dataset Analysis, é preciso que o ambiente Python esteja instalado na máquina. Cada máquina com um EPM Studio utilizado para esta finalidade deve ter uma versão do Python 2.7 ou uma distribuição Python, como por exemplo a plataforma Anaconda. Tanto a versão 32 bits quanto a versão 64 bits pode ser usada. É importante destacar também que o ambiente Python selecionado deve ser a versão registrada no Windows. Somente com estes requisitos o console integrado no Dataset reconhece e utiliza o ambiente Python.

Caso deseje reiniciar o console Python, feche a página do Dataset e abra novamente. Isto porque clicar em Scripting após o console já estar executando não encerra o console, apenas o minimiza. O console só é fechado quando a página do Dataset é fechada.

 

NOTAS

O ambiente Python instalado na máquina deve ser obrigatoriamente da versão 2.7. Além disto, este ambiente precisa ser a versão registrada no Windows.

Recomenda-se não usar nomes com espaços em branco ou com caracteres especiais para as Penas, uma vez que, por padrão, as variáveis no console Python têm o mesmo nome das Penas e, portanto, devem respeitar as regras da linguagem.

Não é recomendado criar funções proprietárias diretamente no arquivo ConsoleInitialization.py. Ao invés disto recomenda-se a criação de arquivos .py separados, que podem ser previamente carregados a partir do arquivo de inicialização. Esta prática facilita a manutenção do código, bem como o compartilhamento e uso em outras ferramentas.

O EPM solicita a renomeação das Penas com caracteres inválidos na linguagem Python sempre que o Dataset é executado com o console Python executando, como por exemplo usar o caractere de ponto.

 

O Dataset Analysis também permite a criação de plugins integrados ao EPM Studio de forma muito simples. Para conhecer mais esta alternativa, consulte o Manual do Usuário do Elipse Plant Manager ou diretamente a página de exemplos de plugins em linguagem Python.

O exercício a seguir consiste na criação de uma função para aplicar um filtro de média móvel para remoção do ruído de medida do sinal da temperatura ambiente.

1.Abra o arquivo ConsoleInitialization.py para adicionar o módulo para o cálculo da média móvel. Este arquivo se encontra na pasta My Documents\Elipse Software\Libraries. Caso o arquivo não exista, execute a área Scripting de um Dataset para que seja criada.

Arquivo ConsoleInitialization.py

Arquivo ConsoleInitialization.py

2.Ao final do conteúdo deste arquivo, digite o código mostrado na figura a seguir. Este código permite que, sempre ao abrir o console Python de um Dataset, o diretório e módulo a ser criado na sequência sejam carregados para uso. Salve o arquivo após editar.

Código para carregar o arquivo de média móvel

Código para carregar o arquivo de média móvel

3.Agora, crie a estrutura de diretórios C:\Treinamento EPM\My Python Scripts na máquina do EPM Studio. Dentro desta última pasta, crie um arquivo texto chamado MediaMovel.py.

4.O passo seguinte é criar a função para o cálculo da média móvel, conforme o código a seguir. Esta função recebe um objeto de dados do EPM (valor, estampa de tempo e qualidade) e a ordem do filtro. Para isto, abra o arquivo MediaMovel.py e adicione o código mostrado na figura a seguir.

Filtro de média móvel

Filtro de média móvel

Note que em Python a indentação deve ser observada, uma vez que define o que pertence à definição da função ou o conteúdo de uma estrutura For, por exemplo.

Além disto, na coluna Value da matriz se utiliza o conceito de fatiamento disponível nos objetos ndarray da biblioteca numpy. Assim torna-se mais fácil acessar as posições do vetor de valores. Para mais informações, consulte o capítulo sobre indexação da biblioteca numpy.

5.Crie um Dataset com os dados brutos, usando uma consulta Raw, dos últimos 30 minutos da variável RS_OutsideTemperature. Antes de executar a consulta, clique em Scripting para abrir o console integrado do Python.

Dataset com dados brutos

Dataset com dados brutos

6.Sempre que um console é aberto pela primeira vez, este carrega o arquivo ConsoleInitialization.py e informa o sucesso ou não da operação. O passo seguinte é executar a consulta clicando em Execute na Faixa de Opções Dataset.

Executando a consulta

Executando a consulta

7.Toda vez que a consulta é executada, os dados da variável são carregados no console com o mesmo nome da variável. Esta variável no console é um objeto definido em Python que guarda todos os valores, estampas de tempo e qualidades. Crie uma variável no console que receba os dados filtrados da temperatura ambiente. Para isto, digite o comando a seguir no espaço reservado para digitação e pressione a tecla ENTER.

yf = MediaMovel.filtroMM(RS_OutsideTemperature, 3)

 

8.Para mostrar os dados filtrados no gráfico, pode-se utilizar o comando plotValues, que recebe como argumento um nome para a Pena, do tipo de dados String, e um objeto de dados do EPM definido em Python, conforme o exemplo a seguir.

plotValues("PenaComFiltro", yf)

 

9.Ao aplicar uma operação de zoom em uma parte do gráfico, é possível visualizar os dados originais e os dados filtrados.

Filtro aplicado

Filtro aplicado

Na internet existe uma vasta documentação sobre a linguagem Python. Procure aplicar ou testar outras formas de algoritmos ou funções. Sinta-se livre para realizar testes. Outros exemplos podem ser encontrados na página de módulos Python da Elipse Software no GitHub.

 

NOTAS

As Penas criadas no console integrado não são salvas junto com o Dataset, ou seja, ao fechar a página do Dataset estas Penas são perdidas.

Cada página de Dataset contém um console Python independente. Para reiniciar um console especifico, reabra a página do respectivo Dataset.

Caso um módulo Python carregado no Dataset seja modificado, pode-se utilizar a função reload para recarregá-lo. Por exemplo, ao adicionar uma linha "Script finalizado" na função do exercício anterior, execute a função reload(MediaMovel) para que seja atualizado na memória. Assim, ao chamar a função novamente, o novo texto é mostrado.

Para mais exemplos, consulte a página de módulos Python da Elipse Software no GitHub.

Esta página foi útil?