Expression Variables

<< Clique para Mostrar o Sumário >>

 

Expression Variables

As Expression Variables correspondem a um tipo especial de objeto de dados do EPM Server, onde os valores são provenientes da avaliação de expressões gerenciadas pelo módulo de cálculo integrado ao EPM Server. As expressões são escritas na linguagem Python e, portanto, a sintaxe deve seguir as especificações de expressões desta linguagem.

Para execução das Expression Variables, ou EVs, o EPM Server utiliza um serviço chamado EPM Scripts Runner Host. Este serviço é executado por um usuário chamado EpmScriptsRunner, que também é criado na instalação do EPM Server. O objetivo deste usuário existir e ser utilizado para execução deste serviço e as respectivas Expression Variables é devido à maior segurança.

Para utilizar as EVs é fundamental que o serviço EPM Scripts Runner Host esteja executando. Caso não esteja, o usuário pode iniciá-lo manualmente.

As Expression Variables podem ser vistas como blocos de cálculo, onde as entradas são declaradas em uma tabela específica para este fim, o cálculo é aplicado através de uma expressão em Python e uma única saída é gerada, ou seja, o resultado final precisa ser um valor escalar. Os Tags que compõem a entrada de uma EV podem ser tanto Basic Variables quanto outras Expression Variables.

É importante destacar, também, que os dados utilizados para o cálculo de uma EV são apenas de tempo real. Não é possível acessar os dados históricos para efetuar cálculos em uma Expression Variable. Além disto, cada entrada de uma EV, por se tratar de um Data Object do EPM, permite ao usuário utilizar as propriedades Valor, Estampa de Tempo e Qualidade no cálculo. O acesso é através do Alias da entrada junto com .Value, .Timestamp ou .Quality respectivamente.

No caso deste Tutorial, é preciso determinar a temperatura média do andar em ElipseRS. A expressão para calcular a temperatura média de um andar, levando em consideração a área de cada uma das salas, é mostrada na figura a seguir.

Cálculo da temperatura média de cada andar

Cálculo da temperatura média de cada andar

1.Abra a aba Expression Variables clicando duas vezes no nó Expression Variables e clique em Add na Faixa de Opções Expression Variables.

Janela para inserir uma Expression Variable

Janela para inserir uma Expression Variable

2.Na tabela das variáveis de entrada, adicione as Basic Variables das temperaturas das salas 1 (um), 2 (dois), 3 (três) e 4 (quatro). Para isto, clique em Insert na tabela de variáveis de entrada e selecione as variáveis desejadas na janela do EPM Browser. Digite a expressão "*_Temperature" e tecle ENTER para realizar a busca. Após selecionar as salas, clique em OK.

Seleção dos Tags das salas

Seleção dos Tags das salas

3.Crie um apelido (Alias) para usar no código da expressão. Definir outro nome para ser utilizado na expressão possibilita ao usuário criar diversas Expression Variables com a opção de copiar e colar, bastando apenas atualizar as variáveis de entrada, uma vez que as expressões são as mesmas.

Configuração dos alias

Configuração dos alias

4.Adicione a expressão que calcula a média ponderada da temperatura do 10° andar. A expressão em Python está descrita a seguir.

(48.3 * sala01.Value + 26.1 * sala02.Value + 28.5 * sala03.Value + 106.2 * sala04.Value) / 209.1

 

5.Na aba Storage, selecione a opção Record e desmarque a opção Store with milliseconds precision.

Opção Record na aba Storage

Opção Record na aba Storage

6.Salve as alterações e clique em Test Test na Faixa de Opções Expression Variables. Verifique se a sintaxe no campo Test Result abaixo da expressão está correta.

7.Clique em Run Run na Faixa de Opções Expression Variables. Esta opção está habilitada somente se a sintaxe da expressão está correta. O cálculo é gerado sempre que uma das entradas altera o valor.

Expression Variable executando

Expression Variable executando

 

NOTAS

Uma Expression Variable só pode ser editada se não estiver executando.

Uma Expression Variable só pode ser executada após clicar em Save Save e em Test Test, para que seja validada.

Os dados utilizados para o cálculo de uma EV são apenas de tempo real. Não é possível acessar os dados históricos para efetuar cálculos em uma Expression Variable.

Esta página foi útil?