Criação, edição e exclusão de Basic Variables

A epmwebapi permite criar, ler, alterar ou excluir Basic Variables. Recomendamos cuidado ao realizar essas operações no sistema.

In [20]:
import epmwebapi as epm
import numpy as np
import datetime

##Método para não expor usuário e senha do EPM no código fonte
import getpass
user = input('EPM user:')
password = getpass.getpass("EPM password:")

#crie o objeto de conexão informando os endereços do EPM Webserver(Authentication Port e WEB API Port), usuário e senha.
connection = epm.EpmConnection('http://dili:44333', 'http://dili:44332', user, password)
EPM user:sa
EPM password:········

Criação de Basic Variable

Utilize o método createBasicVariable(name, description, tagType, realTimeEnabled, eu, lowLimit, highLimit, scaleEnable, inputLowLimit, inputHighLimit, clamping, domain, interface, ioTagAddress, processingEnabled, isRecording, isCompressing, storeMillisecondsEnabled, storageSet, deadBandFilter, deadBandUnit)

Os único campo obrigatório é name. Os campos que não possuirem entrada, serão criados com seus valores default.

Exemplo:

In [27]:
newBasicVariable = connection.createBasicVariable(name='bvname', description='Variavel criada a partir da epmwebapi', tagType = 'Int', realTimeEnabled = True, eu = '°C',
                lowLimit = 1, highLimit = 101, scaleEnable = True, inputLowLimit = 1, inputHighLimit = 1001, clamping = 'ClampToRange',
                domain = 'Continuous', interface = None, ioTagAddress = None, processingEnabled = True, isRecording = True, isCompressing = True,
                storeMillisecondsEnabled = False, storageSet = None, deadBandFilter = 2.2, deadBandUnit = 'DBPercentOfValue')

Updade

Para realizar alterações nas configurações das BasicVariables, basta alterar cada uma das propriedades que se deseja e após isso enviar a atualização para o servidor através do método save().

Exemplo:

In [22]:
bv01 =  connection.getBasicVariables(['bvname'])['bvname']
bv01.lowLimit = 20 
bv01.highlimit = 200
bv01.storeMillisecondesEnabled = False
bv01.save() # envia alterações para o EPM Server

Delete

  • Essa operação deve ser feita com cuidado. A exclusão da variável não pode ser desfeita. Recomendamos políticas de backup no sistema.

Basta utilizar o método delete() na BasicVariable ou o método deleteBasicVariable(listnames) na conexão.

Exemplo:

In [28]:
# Delete direto no objeto instanciado 
if bv01.delete():
    print('BasicVariable deleted')
else:
    print('Fail')
    
#Com lista gerada a partir de um filtro
dofd = epmConn.filterDataObjects(doFilter)
listNames = list(dofd.keys())
epmConn.deleteBasicVariables(name=listNames)

### Sem o filtro, apenas o nome da variável
epmConn.deleteBasicVariables(name=['bvname'])
BasicVariable deleted
In [15]:
#Importante fechar a conexão com o EPM Server.
connection.close()