
Este documento apresenta as APIs usadas na implementação do cálculo do local da falha seguindo a metodologia da planilha Localização de faltas por Sequência Negativa.xlsx.
Os cálculos foram validados com os resultados do software Análise [1], aplicativo desenvolvido pela Reason Tecnologia S.A.
[1]: Análise, Manual de Referência. R012-MR-R2. Reason Tecnologia S.A.
Guia de usuário ↵
Servidor
Atenção
Este documento foi gerado automaticamente!
Classes utilizadas para instanciar objeto engine.
Classes
EngineData
dataclass
Classe que representará o objeto engine.
Functions
get_dict_data()
Retora os dados em formato de dicionário.
Configuração do servidor SANIC para disponibilizar o acesso a nova API de cálculo.
Functions
home(request)
async
Retorna uma resposta de texto informando o nome do servidor.
main(request)
async
Endpoint principal para responder a requisição e processar dados.
recive_data(request, engine_data)
async
Método para receber e validar dados.
version(request)
async
Retorna a versão do servidor e o ambiente.
Classe Engine
Regras para processamento do algoritmo.
Classes
GaltEngine
dataclass
Classe que contem os métodos que realizam todos os cálculos.
Functions
create_variables(data_engine)
async
Cria as variáveis.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file |
dict
|
Armazena arquivos recebidos |
required |
get_angles(is_request=False, use_plotly=False, use_normalization=False)
async
Retorna os valores da sequencia negativa da corrente.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
is_request |
bool
|
Retorna resposta para o front-end |
False
|
use_plotly |
bool
|
Habilita a exibição dos gráficos (uso em DEV) |
False
|
use_normalization |
bool
|
Habilita o uso da variável |
False
|
get_failure_location()
async
Retorna o local da falha por tipo de terminal.
Ordem de prioridade do trigger usado para determinação do local da falha:
- terminal
- media
- abertura
- degrau
Returns:
| Type | Description |
|---|---|
Coroutine[Any, Any, dict[str, Union[dict[str, Any], Any]]]
|
Um dicionário com os locais de falha calculados por terminal |
get_files(file, is_direct=False)
async
Atribui os arquivos em variáveis para uso no algorítimo.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
files |
dict
|
Contem os arquivos INF, DAT e CFG dos Terminais S e R. |
required |
is_direct |
bool
|
Argumento que alterna entre as requisições do NODE JS com Postman. |
False
|
Returns:
| Type | Description |
|---|---|
tuple : (DAT1, INF1, CFG1, DAT2, INF2, CFG2)
|
conteúdo dos arquivos DAT, INF, e CFG para os terminais 1 e 2 |
get_phasor_data_to_view_chart()
async
Retorna dados do fasor.
Returns:
| Type | Description |
|---|---|
dict
|
Dados do fasor por terminal S e R. |
get_real_values()
async
Retorna valores reais.
Returns:
| Type | Description |
|---|---|
Coroutine[Any, Any, dict[str, dict[str, Any]]]
|
Um dicionário com os valores de corrente e tensão para os terminais, |
get_rms(use_plotly=False, use_normalization=False)
async
Retorna o valor eficaz.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
use_plotly |
bool
|
Habilita a exibição dos gráficos - (uso em DEV) |
False
|
use_normalization |
bool
|
Habilita o uso da variável |
False
|
get_rms_neg_seq(is_request=False, use_plotly=False)
async
Retorna o valor eficaz da sequencia negativa.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
is_request |
bool
|
Retorna resposta para o front-end |
False
|
use_normalization |
bool
|
Habilita o uso da variável |
required |
get_seq_negative_current(is_request=False, use_plotly=False, use_normalization=False)
async
Retorna os valores da sequencia negativa da corrente.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
is_request |
bool
|
Retorna resposta para o front-end |
False
|
use_plotly |
bool
|
Habilita a exibição dos gráficos - Uso em DEV |
False
|
use_normalization |
bool
|
Habilita o uso da variável |
False
|
get_seq_negative_tension(is_request=False, use_plotly=False)
async
Retorna os valores da sequencia negativa da tensão.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
is_request |
bool
|
Retorna resposta para o front-end |
False
|
use_plotly |
bool
|
Habilita a exibição dos gráficos (uso em DEV) |
False
|
get_terminal_axis_x()
async
Retorna os valores do eixo X (tempo) para uso nos gŕaficos.
Returns:
| Type | Description |
|---|---|
dict of numpy.ndarray
|
Valores de |
get_value_failure(terminal_type)
async
Retorna os valores dos locais da falha por tipo terminal.
Returns:
| Type | Description |
|---|---|
Coroutine[Any, Any, tuple[Coroutine[Any, Any, Any | dict[str, Any]], Coroutine[Any, Any, Any | dict[str, Any]]]]
|
Retorna dados acerca do local da falha por tipo do terminal S e R |
manager_cgf_file(cfg_1, inf_1, cfg_2, inf_2)
async
Manipulando os arquivos CGF.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cfg_1 |
any
|
Dados do inf terminal S |
required |
inf_1 |
any
|
Dados do inf terminal S |
required |
cfg_2 |
any
|
Dados do inf terminal R |
required |
inf_2 |
any
|
Dados do inf terminal R |
required |
manager_inf_file(inf_1, inf_2)
async
Manipulando os arquivos INF.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
inf_1 |
any
|
Dados do inf terminal S |
required |
inf_2 |
any
|
Dados do inf terminal R |
required |
Funções utilizadas na análise de ocorrências
Nessa seção são apresentadas as funções utilizadas no cálculo das grandezas que não são lidas diretamente do arquivo DAT.
Classe que contém as funções usadas na análise de ocorrências.
Functions
angles(x, f, win)
async
classmethod
Calcula o ângulo em referência a um sinal senoidal (com frequência de
f hz) de um vetor de dados x com N elementos.
O valor de ângulo é obtido através da decomposição em serie de Fourier,
sendo utilizado o ângulo da componente de frequência fundamental.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
x |
numpy.ndarray
|
\(\mathbf{x}\): Vetor de dados com N elementos. |
required |
f |
float
|
Frequência de aquisição. |
required |
win |
int
|
Número de pontos corresponde ao intervalo de tempo desejado. |
required |
Returns:
| Type | Description |
|---|---|
numpy.ndarray
|
Ângulo entre duas fases, em graus, no intervalo entre 0 e 360. |
calculate_real_values(IV, ca, cb, cc, cd, cp)
async
classmethod
Calcula os valores reais de corrente ou tensão (IV) para um
vetor de dados do arquivo DAT de acordo com os parâmetros
ca, cb, cc, cd e cp do arquivo CFG.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
IV |
numpy.ndarray
|
Vetor de dados. |
required |
ca |
float
|
Parâmetro |
required |
cb |
float
|
Parâmetro |
required |
cc |
float
|
Parâmetro |
required |
cd |
float
|
Parâmetro |
required |
cp |
str
|
Parâmetro que indica se o dado é primário (P) |
required |
Returns:
| Type | Description |
|---|---|
numpy.ndarray
|
Vetor de valores reais. |
negative_sequency(IV, frequency)
async
classmethod
Calcula a sequência negativa de corrente ou tensão (IV).
Ao calcular a sequência negativa de corrente ou tensão (IV) tomando a fase 0 (ou white) como referência, a partir da equação:
em que
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
IV |
numpy.ndarray
|
\(\mathbf{IV}\): Matriz contendo os dados de corrente (I) ou tensão (V) para os quais será calculada a sequência negativa; as colunas da matriz corresponde aos vetores de cada uma das fases a, b e c. |
required |
frequency |
float
|
Frequência de aquisição dos dados. |
required |
Returns:
| Type | Description |
|---|---|
numpy.ndarray
|
Sequência negativa. |
rms(x, win)
async
classmethod
Calcula o Valor Eficaz (RMS) de um vetor de dados x com N
elementos.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
x |
numpy.ndarray
|
Vetor de dados com N elementos. |
required |
win |
int
|
Número de pontos corresponde ao intervalo de tempo desejado. |
required |
Returns:
| Type | Description |
|---|---|
numpy.ndarray
|
Valor eficaz (RMS). |
spreadsheet(z2LTR, z2LTI, KM, v2SMOD, v2SANG, i2SMOD, i2SANG, v2RMOD, v2RANG, i2RMOD, i2RANG)
async
classmethod
Calcula o local da falha seguindo a metodologia da planilha
Localização de faltas por Sequência Negativa.xlsx.
Equações:
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
z2LTR |
float
|
\(\text{Re}\left( Z_2^{LT} \right)\): Componente real da Impedância total da LT (Ohms) |
required |
z2LTI |
float
|
\(\text{Im}\left( Z_2^{LT} \right)\): Componente imaginário da Impedância total da LT (Ohms) |
required |
KM |
float
|
Comprimento da LT (km) |
required |
v2SMOD |
float
|
\(|V_2^{S}|\): Módulo da Tensão Negativa V- (V) para o terminal S |
required |
v2SANG |
float
|
\(\alpha_{V_2^{S}}\): Diferença do Ângulo da Tensão Negativa V- (grau) para o terminal S |
required |
i2SMOD |
float
|
\(|I_2^{S}|\): Módulo da Corrente Negativa I- (A) para o terminal S |
required |
i2SANG |
float
|
\(\alpha_{I_2^{S}}\): Diferença do Ângulo da Corrente Negativa I- (grau) para o terminal S |
required |
v2RMOD |
float
|
\(|V_2^{R}|\): Módulo da Tensão Negativa V- (V) para o terminal R |
required |
v2RANG |
float
|
\(\alpha_{V_2^{R}}\): Diferença do Ângulo da Tensão Negativa V- (grau) para o terminal R |
required |
i2RMOD |
float
|
\(|I_2^{R}|\): Módulo da Corrente Negativa I- (A) para o terminal R |
required |
i2RANG |
float
|
\(\alpha_{I_2^{R}}\): Diferença do Ângulo da Corrente Negativa I- (grau) para o terminal R |
required |
Returns:
| Type | Description |
|---|---|
dict
|
Dicionário contendo local da falha a partir do terminal S (km), região da falha considerando erro de 5% do valor nominal encontrado, raízes da equacao do 2o grau e variáveis auxiliares. |
Usado para auxiliar na validação dos dados.
Functions
get_angle_seq_neg_arange(rmsI2)
async
classmethod
Auxilia a validação da sequência negativa.
get_neg_seq_arange_current(I2)
async
classmethod
Auxilia a validação da sequência negativa da corrente.
get_rms_arange_current(rmsI_)
async
classmethod
Auxilia a validação dos valores reais (RMS) da corrente.
Gráficos plotly
Permite visualizr os gráficos em python por meio do navegador.
Classes
EnginePlotly
dataclass
Métodos para visualização dos diferentes tipos de gráficos.
Functions
show_angle_seq_neg_current(AgI2S, AgI2R, iag2a)
async
classmethod
Mostra o gráfico do ângulo da sequência negativa de corrente.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
AgI2S |
numpy.ndarray
|
Vetor de dados do ângulo da sequência negativa de corrente do terminal S |
required |
AgI2R |
numpy.ndarray
|
Vetor de dados do ângulo da sequência negativa de corrente do terminal R |
required |
iag2a |
numpy.ndarray
|
índice para seleção de um trecho do vetor (slice) (uso em DEV para validação com Análise) |
required |
show_angle_seq_neg_tension(AgV2S, AgV2R, iag2a)
async
classmethod
Mostra o gráfico do ângulo da sequência negativa de tensão.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
AgI2S |
numpy.ndarray
|
Vetor de dados do ângulo da sequência negativa de tensão do terminal S |
required |
AgI2R |
numpy.ndarray
|
Vetor de dados do ângulo da sequência negativa de tensão do terminal R |
required |
iag2a |
numpy.ndarray
|
índice para seleção de um trecho do vetor (slice) (uso em DEV para validação com Análise) |
required |
show_distance(tm, resS, resR, triggerS, triggerR)
async
classmethod
Mostra o gráfico da distancia da falha.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
tm |
list of str
|
lista com nome dos terminais |
required |
resS |
numpy.ndarray
|
Vetor de resultados de local de falha para todos os pontos da oscilografia do terminal S |
required |
resR |
numpy.ndarray
|
Vetor de resultados de local de falha para todos os pontos da oscilografia do terminal R |
required |
triggerS |
int
|
posição do vetor correspondete ao trigger para o terminal S |
required |
triggerR |
int
|
posição do vetor correspondete ao trigger para o terminal R |
required |
show_negative_seq_current(I2S, I2R, i2a)
async
classmethod
Mostra o gráfico da sequência negativa de corrente.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
I2S |
numpy.ndarray
|
Vetor de dados da sequência negativa de corrente do terminal S |
required |
I2R |
numpy.ndarray
|
Vetor de dados da sequência negativa de corrente do terminal R |
required |
i2a |
numpy.ndarray
|
índice para seleção de um trecho do vetor (slice) (uso em DEV para validação com Análise) |
required |
show_negative_seq_tension(V2S, V2R, i2a)
async
classmethod
Mostra o gráfico da sequência negativa de tensão.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
V2S |
numpy.ndarray
|
Vetor de dados da sequência negativa de tensão do terminal R |
required |
V2R |
numpy.ndarray
|
Vetor de dados da sequência negativa de tensão do terminal S |
required |
i2a |
numpy.ndarray
|
índice para seleção de um trecho do vetor (slice) (uso em DEV para validação com Análise) |
required |
show_phasor(triggerS, triggerR, **kw)
async
classmethod
Mostra o gráfico do fasor.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
triggerS |
int
|
posição do vetor correspondete ao trigger para o terminal S |
required |
triggerR |
int
|
posição do vetor correspondete ao trigger para o terminal R |
required |
kw |
dict
|
Valores de sequência negativa e ângulos para construção do fasor |
{}
|
show_rms_current_a(rmsI_S, rmsI_R, irmsa)
async
classmethod
Mostra o gráfico de RMS da fase A (0 ou white) da corrente.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rmsI_S |
numpy.ndarray
|
Matriz de dados de RMS de corrente do terminal S |
required |
rmsI_R |
numpy.ndarray
|
Matriz de dados de RMS de corrente do terminal R |
required |
irmsa |
numpy.ndarray
|
índice para seleção de um trecho do vetor (slice) (uso em DEV para validação com Análise) |
required |
show_rms_current_b(rmsI_S, rmsI_R, irmsa)
async
classmethod
Mostra o gráfico de RMS da fase B (1 ou blue) da corrente.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rmsI_S |
numpy.ndarray
|
Matriz de dados de RMS de corrente do terminal S |
required |
rmsI_R |
numpy.ndarray
|
Matriz de dados de RMS de corrente do terminal R |
required |
irmsa |
numpy.ndarray
|
índice para seleção de um trecho do vetor (slice) (uso em DEV para validação com Análise) |
required |
show_rms_current_c(rmsI_S, rmsI_R, irmsa)
async
classmethod
Mostra o gráfico de RMS da fase C (2 ou red) da corrente.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rmsI_S |
numpy.ndarray
|
Matriz de dados de RMS de corrente do terminal S |
required |
rmsI_R |
numpy.ndarray
|
Matriz de dados de RMS de corrente do terminal S |
required |
irmsa |
numpy.ndarray
|
índice para seleção de um trecho do vetor (slice) (uso em DEV para validação com Análise) |
required |
show_rms_current_neg_seq(rmsI2S, rmsI2R, irms2a)
async
classmethod
Mostra o gráfico de RMS da sequência negativa da corrente.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rmsI2S |
numpy.ndarray
|
Vetor de dados de RMS da sequência negativa da corrente do terminal S |
required |
rmsI2R |
numpy.ndarray
|
Vetor de dados de RMS da sequência negativa da corrente do terminal R |
required |
irms2a |
numpy.ndarray
|
índice para seleção de um trecho do vetor (slice) (uso em DEV para validação com Análise) |
required |
show_rms_tension_a(rmsV_S, rmsV_R, irmsa)
async
classmethod
Mostra o gráfico de RMS da fase A (0 ou white) da tensão.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rmsV_S |
numpy.ndarray
|
Matriz de dados de RMS de corrente do terminal S |
required |
rmsV_R |
numpy.ndarray
|
Matriz de dados de RMS de corrente do terminal R |
required |
irmsa |
numpy.ndarray
|
índice para seleção de um trecho do vetor (slice) (uso em DEV para validação com Análise) |
required |
show_rms_tension_b(rmsV_S, rmsV_R, irmsa)
async
classmethod
Mostra o gráfico de RMS da fase B (1 ou blue) da tensão.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rmsV_S |
numpy.ndarray
|
Matriz de dados de RMS de corrente do terminal S |
required |
rmsV_R |
numpy.ndarray
|
Matriz de dados de RMS de corrente do terminal R |
required |
irmsa |
numpy.ndarray
|
índice para seleção de um trecho do vetor (slice) (uso em DEV para validação com Análise) |
required |
show_rms_tension_c(rmsV_S, rmsV_R, irmsa)
async
classmethod
Mostra o gráfico de RMS da fase C (2 ou red) da tensão.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rmsV_S |
numpy.ndarray
|
Matriz de dados de RMS de corrente do terminal S |
required |
rmsV_R |
numpy.ndarray
|
Matriz de dados de RMS de corrente do terminal R |
required |
irmsa |
numpy.ndarray
|
índice para seleção de um trecho do vetor (slice) (uso em DEV para validação com Análise) |
required |
show_rms_tension_seq_neg(rmsV2S, rmsV2R, irms2a)
async
classmethod
Mostra o gráfico de RMS da sequência negativa da tensão.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rmsI2S |
numpy.ndarray
|
Vetor de dados de RMS da sequência negativa da tensão do terminal S |
required |
rmsI2R |
numpy.ndarray
|
Vetor de dados de RMS da sequência negativa da tensão do terminal R |
required |
irms2a |
numpy.ndarray
|
índice para seleção de um trecho do vetor (slice) (uso em DEV para validação com Análise) |
required |