Prévia do material em texto
SAGE
SISTEMA ABERTO DE GERENCIAMENTO DE ENERGIA
Manual
Administração do SAGE
Setembro de 2011
SAGE_ManAdm.doc
Quadro de Revisão
Preparado por:
21.941-911 • Av. Horácio de Macedo, 354 • Rio de Janeiro - RJ
Tel.: (021) 2598-6000 • Fax: (021) 2260-1340
Nº Data Descrição Versão
00 22/01/2010 Revisão de Formato
01 17/09/2010 Inclusão do Capítulo 13 – Instalação e Uso do som no SAGE
02 03/01/2011 Atualização Capítulo 9 - Controle de Processo via Linha de
Comando (GCD_SHELL)
03 04/01/2011 Atualizações Capítulo 1 - Introdução
04 01/03/2011
Atualizações Capítulo 10 – Codificação binária de PA.dat e
Cl.dat
05 26/08/2011
Atualização do capitulo 10 (Aquisição de Dados de Sistemas
Externos)
06 20/09/2011 Criado o capítulo para descrição do SAC (sac.conf e a1_flags)
07 21/09/2011 Atualização do texto do capítulo 8
08 23/09/2011 Atualização do Capítulo 3 (Base Historica)
A informação contida neste documento é de propriedade do CEPEL, tendo se originado de trabalho desenvolvido nesta empresa para consulta e
referência dos usuários do sistema SAGE, e não poderá ser reproduzida ou utilizada para quaisquer outros fins sem autorização prévia e
expressa do CEPEL. Este documento baseia-se em informação disponível na data de sua publicação. Embora sejam feitos esforços para
torná-lo preciso, este não se propõe a cobrir todos os detalhes ou particularidades apresentadas pelo sistema. O CEPEL não se responsabiliza
por notificar os usuários deste documento de possíveis alterações feitas posteriormente.
i
Conteúdo
1 INTRODUÇÃO ....................................................................................................... 1
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD) ................................................. 3
2.1 INTRODUÇÃO ............................................................................................................................ 3
2.2 FUNCIONAMENTO ..................................................................................................................... 3
2.3 CONFIGURAÇÃO DO DUMPBD NA BASE FONTE ........................................................................... 2
2.3.1 Entidade Classe de Processos (Tabela PRO) .................................................................. 2
2.3.2 Relacionamento de Severidade X Classe de Processos (Tabela SXP) ........................... 2
2.3.3 Entidade Instância de Processo (Tabela INP) .................................................................. 3
2.3.4 Entidade Preservação de Dados (Tabela PSV) ................................................................ 3
2.4 CONFIGURAÇÃO DO DUMPBD .................................................................................................... 4
2.5 UTILIZANDO O PROCESSO DUMPBD .......................................................................................... 6
2.5.1 Selecionando uma Classe de MCD para DUMP ............................................................... 6
2.5.1.1 Seqüência de operações para marcar/desmarcar MCDs para Dump .................................... 7
2.5.2 Tabela A – MCD’S Comuns aos Modelos SCADA e EMS................................................ 9
2.5.3 Tabela B - MCD’S Exclusivas do Modelo SCADA ............................................................ 9
2.5.4 Tabela C – MCD’S Exclusivas do Modelo EMS ................................................................ 9
2.5.5 Alterando a Periodicidade para DUMP Automático ........................................................ 10
2.5.5.1 Seqüência de operações para alterar a periodicidade do DumpBd ...................................... 10
2.5.6 Executando o DUMPBD Manualmente ........................................................................... 11
2.5.6.1 Seqüência de operações para executar o DumpBd a qualquer momento ........................... 12
3 MANUAL DA BASE HISTÓRICA .......................................................................... 13
3.1 INTRODUÇÃO .......................................................................................................................... 13
3.2 BASES DO SAGE ................................................................................................................... 13
3.2.1 Base FONTE ................................................................................................................... 14
3.2.2 Base REFERÊNCIA ........................................................................................................ 14
3.2.3 Base ON-LINE ................................................................................................................. 14
3.2.4 Base HISTÓRICA ............................................................................................................ 15
3.3 SISTEMA DE GERENCIAMENTO DA BASE HISTÓRICA GBH ......................................................... 15
3.4 ENTIDADE TEMPO REAL X TABELA BASE HISTÓRICA ................................................................ 16
3.5 TABELAS DE REFERÊNCIA ....................................................................................................... 17
3.5.1 Tabelas de referencia no PI ............................................................................................ 19
3.6 TABELAS DINÂMICAS .............................................................................................................. 19
3.6.1 Tabelas Dinâmicas no PI ................................................................................................. 20
3.6.1.1 Compressão e exceção ........................................................................................................ 20
3.6.2 Esquemas de Gravação .................................................................................................. 21
3.6.2.1 Esquema Síncrono ............................................................................................................... 21
3.6.2.2 Esquema Assíncrono ........................................................................................................... 22
3.6.3 Particionamento ............................................................................................................... 22
3.6.3.1 Nomenclatura das Tabelas Dinâmicas ................................................................................. 23
3.6.3.2 Tabelas de Controle ............................................................................................................. 23
3.6.4 Arquivamento ................................................................................................................... 24
3.6.5 Seleção de Instâncias Historiadas .................................................................................. 24
3.7 CONFIGURANDO A BASE HISTÓRICA DO SAGE ........................................................................ 24
3.7.1 Configurando Entidades e Atributos da Base HISTÓRICA ............................................. 25
3.7.1.1 Configurando Tabelas de Referência ................................................................................... 25
3.7.1.2 Configurando Tabelas Dinâmicas ......................................................................................... 26
3.7.1.2.1 Exemplo de uso de máscara ........................................................................................... 27
3.8 PROGRAMA STI_DCATBH........................................................................................................ 28
3.8.1 O script habilita_gbh ........................................................................................................ 29
3.9 ESQUEMA EXEMPLO ............................................................................................................... 29
3.10 CONSOLIDAÇÃO ..................................................................................................................... 30
3.10.1Configuração da Consolidação ................................................................................... 30
CONTEÚDO
ii
3.10.2 Consolidação de Medidas Analógicas ........................................................................ 31
3.10.3 Consolidação de Valores Digitais ............................................................................... 32
3.10.4 Instalação da Consolidação ........................................................................................ 33
3.11 CÁLCULO TAMANHO DA BASE DE DADOS HISTÓRICA ............................................................ 34
3.11.1 Tamanho de Tabelas DINÂMICAS ............................................................................. 34
3.12 PARÂMETROS DE ATIVAÇÃO DO GBH_XXX ................................................................................ 36
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR) ... 37
4.1 SINTAXE DE ATIVAÇÃO ............................................................................................................ 37
4.2 CONSTRUÇÃO DE CENÁRIOS DE SIMULAÇÃO ............................................................................ 38
4.2.1 Subcomandos .................................................................................................................. 39
4.2.2 Comandos ....................................................................................................................... 40
4.2.3 Simulação de Controle Supervisório ............................................................................... 44
5 MONITOR DE MENSAGENS FÍSICAS (MMF) ...................................................... 47
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (PCARG) ......................... 49
6.1 EXECUÇÃO DA FUNÇÃO .......................................................................................................... 49
6.2 CONFIGURAÇÃO DA FUNÇÃO NA BASE FONTE ........................................................................ 51
6.3 AUTO-CONFIGURAÇÃO DA FUNÇÃO NA BASE REFERÊNCIA ................................................... 53
6.4 OPERAÇÃO EM TEMPO REAL – TELAS DA FUNÇÃO .................................................................... 54
7 SCRIPTS DE MANUTENÇÃO DO SAGE .............................................................. 57
7.1 INTRODUÇÃO .......................................................................................................................... 57
7.2 RELAÇÃO DOS SCRIPTS .......................................................................................................... 57
7.3 DESCRIÇÃO DOS SCRIPTS ....................................................................................................... 58
7.3.1 sincconfig ......................................................................................................................... 58
7.3.2 AtualizaBD ....................................................................................................................... 59
7.3.3 ativasage ......................................................................................................................... 62
7.3.4 rligador ............................................................................................................................. 62
7.3.5 rvisoracesso ..................................................................................................................... 63
7.3.6 geralog ............................................................................................................................. 63
7.3.7 cria_base ......................................................................................................................... 64
7.3.8 remove_base ................................................................................................................... 65
7.3.9 habilita_base .................................................................................................................... 65
7.3.10 instala_sage ................................................................................................................ 66
7.3.11 instala_update ............................................................................................................. 66
7.3.12 remove_update ........................................................................................................... 67
7.3.13 zipconfig ...................................................................................................................... 67
7.3.14 criasagecnf .................................................................................................................. 69
7.3.15 criasageexe ................................................................................................................. 69
7.3.16 habilita_postgres ......................................................................................................... 70
7.3.17 habilita_gbh ................................................................................................................. 71
7.3.18 TrocaIdentTelas .......................................................................................................... 71
8 PLANILHA DE LEITURAS PERIÓDICAS.............................................................. 73
9 CONTROLE DE PROCESSO VIA LINHA DE COMANDO (GCD_SHELL) ............... 77
9.1 SINTAXE DE ATIVAÇÃO ............................................................................................................ 77
9.1.1 Comandos ....................................................................................................................... 78
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS) .............................. 81
10.1 FUNCIONAMENTO ................................................................................................................... 82
10.2 CONFIGURAÇÃO PARA UTILIZAÇÃO ADS .................................................................................. 82
10.2.1 SSC_AMB – Variáveis de Ambiente ........................................................................... 82
10.2.2 Base de Dados ............................................................................................................ 84
10.2.2.1 Tabela PRO - Classe de Processos ..................................................................................... 84
10.2.2.2 Tabela SXP - Relacionamento Severidade x Classe de Processos ..................................... 84
10.2.2.3 Entidade Instância de Processo ........................................................................................... 84
10.2.3 Script de Ativação ADS: .............................................................................................. 85
CONTEÚDO
iii
10.2.4 Script de Ativação ADE: .............................................................................................. 86
10.2.5 Configuração de Ativação do Servidor ADSL no Boot ................................................ 86
10.3 ARQUIVOS CL.REF , PA.REF, PA.DAT, PE.DAT E CL.DAT .................................................. 87
10.3.1 CL.REF e PA.REF (codificação ASCII) ....................................................................... 88
10.3.2 PA.DAT ou PE.DAT (codificação binária) ................................................................... 88
10.3.3 CL.DAT (codificação binária) ...................................................................................... 89
10.3.4 Codificação do Estado e dos Flags ............................................................................. 89
11 SUPERVISÃO VIA LINHA DE COMANDO ( INFO-TR) ...................................... 91
12 FAILOVER DE GATEWAYS ............................................................................. 95
13 INSTALAÇÃO E USO DO SOM NO SAGE ........................................................ 97
13.1 INTRODUÇÃO ..........................................................................................................................97
13.2 INSTALAÇÃO DO SERVIDOR DE SOM LOCAL – SERVSOM ........................................................ 97
13.2.1 Em Ambiente Windows ............................................................................................... 97
13.2.2 Em Ambiente Linux ................................................................................................... 105
13.3 HABILITAÇÃO, INIBIÇÃO E SILENCIAMENTO DO SOM LOCAL ..................................................... 108
13.4 DEFINIÇÃO DE SONS LOCAIS CUSTOMIZADOS ........................................................................ 110
14 SERVIÇO DE AQUISIÇÃO E CONTROLE (SAC) ............................................. 113
14.1 CONFIGURAÇÃO DO SAC ...................................................................................................... 113
14.1.1 Parâmetros Gerais .................................................................................................... 113
14.1.1.1 DIF_PP ............................................................................................................................... 113
14.1.1.2 STAT_BND ......................................................................................................................... 113
14.1.1.3 TEMPO_MAX_INIB_ALR ................................................................................................... 114
14.1.1.4 JANELA_SOE_VALIDO ..................................................................................................... 114
14.1.1.5 HORA_ALARME_ORIGEM ................................................................................................ 114
14.1.1.6 AUTO_REST_VARR .......................................................................................................... 114
14.1.1.7 ALR_VALID ........................................................................................................................ 115
14.1.1.8 IND_RAZOAB ..................................................................................................................... 115
14.1.1.9 IGN_ALINT ......................................................................................................................... 115
14.1.2 Parâmetros de Ajuste da Banda Morta ..................................................................... 115
14.1.2.1 freq ..................................................................................................................................... 115
14.1.2.2 outros.................................................................................................................................. 115
14.1.2.3 kv ........................................................................................................................................ 116
14.1.2.4 eca ...................................................................................................................................... 116
14.1.2.5 mw ...................................................................................................................................... 116
14.1.2.6 mvar ................................................................................................................................... 116
14.1.2.7 amp .................................................................................................................................... 116
14.1.2.8 tmp ..................................................................................................................................... 116
14.1.2.9 bias ..................................................................................................................................... 116
14.1.2.10 nivel ............................................................................................................................... 116
14.1.2.11 harmonicas .................................................................................................................... 116
14.1.2.12 tap .................................................................................................................................. 116
14.1.2.13 tempo ............................................................................................................................. 116
14.1.2.14 vazao ............................................................................................................................. 117
14.1.2.15 default ............................................................................................................................ 117
14.2 DESCRIÇÃO DE A1_FLAGS .................................................................................................... 117
14.2.1 a1_flags para pontos de controle .............................................................................. 117
14.2.2 a1_flags para pontos analógicos .............................................................................. 117
14.2.3 a1_flags para pontos digitais .................................................................................... 118
14.2.4 a1_flags para pontos totalizados .............................................................................. 119
CONTEÚDO
iv
1
1 Introdução
Este manual tem por objetivo reunir informações que são utilizadas pelo usuário do SAGE em
diversas tarefas de administração do sistema, tanto para aquelas realizadas no ambiente de tempo-
real quanto para as realizadas em ambiente off-line. É composto pelos seguintes módulos:
▪ Capítulo 2 - Manual do DumpBd : apresenta o funcionamento e a configuração deste módulo,
obtendo através deste uma cópia quente da base de dados tempo real.
▪ Capítulo 3 - Manual da Base Histórica : é descrito o sistema de Gerenciamento da Base
Histórica do SAGE, GBH-SAGE, que permite o armazenamento de informações de tempo-
real previamente selecionadas pelo usuário em um banco de dados relacional
possibilitando a recuperação de séries temporais representativas do comportamento do
sistema elétrico monitorado.
▪ Capítulo 4 - Simulador do Tráfego de Mensagens de Te mpo Real (SIM-TR) : é descrito o
processo que permite o envio de mensagens ao SAC, simulando a atividade dos
conversores de protocolo, na aquisição.
▪ Capítulo 5 - Monitor de Mensagens Físicas MMF : utilitário que monitora o tráfego de
mensagens transmitidas e recebidas pelas linhas de comunicação ligadas ao SAGE em
qualquer protocolo utilizado.
▪ Capítulo 6 - Ajuste de Limites por Patamares de Carg a: trata de uma função de ajuste
automático de limites operativos de medidas analógicas por monitoração de patamares de
carga, também chamada no SAGE de PCARG.
▪ Capítulo 7 – Scripts de Manutenção do SAGE : lista os scripts desenvolvidos a fim de facilitar
as tarefas relacionadas à manutenção da configuração do SAGE.
▪ Capítulo 8 - Planilha de Leituras Periódicas : descreve uma funcionalidade que gera arquivos
contendo um histórico de valores de pontos analógicos.
▪ Capítulo 9 – Controle de Processo Via Linha de Comand o (GCSD_SHELL) : apresenta o utilitário
que permite a interação com o módulo do GCD (gerente de controle distribuído) para
habilitar/desabilitar processos em um nó da rede para fins de manutenção;
Capítulo
1
1 INTRODUÇÃO
2
▪ Capítulo 10 - ADS : descreve o módulo ADS (Aquisição de Dados de Sistemas Externos) que
funciona como um conversor de protocolo, aquisitando os dados analógicos e digitais
vindos de outros sistemas ou de outro SAGE.
▪ Capítulo 11 – INFO-TR : descreve o utilitário INFO_TR para consulta interativa de dados de
tempo real.
▪ Capítulo 12 – Failover de Gateways : descreve a funcionalidade de failover de gateways
apresentada pelo SAC;
▪ Capítulo 13 – Instalação e Uso do Som no SAGE : descreve a configuração do esquema de
“som local em console”.
▪ Capítulo 14 –Serviço de Aquisição e Controle (SAC) –descreve os parâmetros de
configuração que podem ser indicados noarquivo sac.conf e descreve os bits de a1_flags
para pontos de controle, digitais, analógicos e totalizados.
3
2 Preservação da Base de Dados
(DumpBD)
2.1 Introdução
O módulo DumpBd foi desenvolvido de modo a permitir ao usuário ter uma cópia quente de sua
base de dados tempo real preservando assim informações como por exemplo listas de alarmes,
pontos alterados manualmente pelo operador, cálculos dinâmicos etc.
Tais informações serão preservadas, a partir da introdução deste módulo na configuração do
usuário, por meio de especificação na base de dados fonte. É importante lembrar que os dados
ficarão retidos na base de dados de tempo real, mesmo após uma nova ativação do sistema.
2.2 Funcionamento
O DumpBd é executado de duas formas distintas: automaticamente , segundo um ciclo mínimo de
10 minutos ou de forma manual por meio de um botão de execução na IHM do SAGE. O tempo
mínimo de execução automática poderá ser mudado pelo usuário, alterando-o para um tempo maior.
O DumpBd grava periodicamente, em $BD, arquivos XDR com as informações de Tempo real em
memória. Isso permitirá que o usuário possa preservar informações por ocasião da desativação e
nova ativação do SAGE ou no carregamento de uma nova base de dados.
O usuário tem a opção de ativar o sistema utilizando a base de dados fria ou quente. A base fria é
gerada pelo procedimento de carregamento da base referência do SAGE, feito pelo STI. Esta base de
dados é gerada em branco, ou seja, com as informações de Tempo real não inicializadas, e fica em
$BD/fria. A base quente, localizada em $BD, é a base preenchida com valores de Tempo real, gerada
pelo DumpBd a cada ciclo, através do dump das informações da base residente em memória.
No carregamento da base fria o STI sobrescreve os arquivos XDR em $BD pelos arquivos XDR
em branco de $BD/fria. No carregamento da base quente o STI faz um merge dos arquivos XDR
salvos pelo DumpBd em $BD, com os arquivos XDR da base fria, gerada pelo STI em $BD/fria e
coloca os arquivos XDR resultantes em $BD, sobrescrevendo os anteriores.
A preservação salva um backup da base anterior em $BD/old antes de fazer o merge. Em caso de
problemas com a nova base é possível voltar com a base anterior através da opção Retroceder
Base do Visor Base ou ativar o sistema com a base fria.
Capítulo
2
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
2
2.3 Configuração do DumpBd na Base Fonte
Para utilizar o processo DumpBd, é necessária sua inclusão na base de dados fonte do SAGE,
mediante o preenchimento das tabelas PRO, SXP, INP, bem como a configuração da preservação
através da tabela PSV. A seguir veremos um exemplo, que assume uma configuração com dois nós
na rede SAGE (sage1 e sage2) funcionando como gateway e IHM.
2.3.1 Entidade Classe de Processos (Tabela PRO)
Esta tabela configura os processos do SAGE. O seguinte registro deve ser acrescentado em
pro.dat:
PRO
ATIVA= CAD ou PRS*
ATVAT= AUT
ESSEN= NES
HORAA= 0
ID= DumpBd
MONIT= MON
NOME= Dump da Base Tempo Real
NUATV= 4
SCRAT= DumpBd_on.rc
SCRDE= DumpBd_off.rc
TINIC= nn**
TIPPR= INSP
* Use CAD para configuração padrão e PRS para cluster.
** O ideal é que o DumpBd seja o último processo a ser lançado. Para tanto, este deve ter o maior
TINIC configurado, somando a ele 10 segundos a mais no caso de configuração por tempo, e 1 a
mais no caso de configuração por ordem.
Obs. : Para obter o significado dos demais atributos, consulte o Guia de Configuração da base de
dados do SAGE.
2.3.2 Relacionamento de Severidade X Classe de Processos (Tabela
SXP)
Esta tabela define para cada processo um limite tolerado de erros e eventos que ele pode gerar,
classificados por severidade. Os seguintes registros devem ser acrescentados em sxp.dat:
SXP
NFALS= 4
PRO= DumpBd
SEV= SNULA
SXP
NFALS= 4
PRO= DumpBd
SEV= NORML
SXP
NFALS= 4
PRO= DumpBd
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
3
SEV= ADVER
SXP
NFALS= 4
PRO= DumpBd
SEV= URGEN
SXP
NFALS= 4
PRO= DumpBd
SEV= FATAL
SXP
NFALS= 4
PRO= DumpBd
SEV= PANIC
Obs. : Para obter o significado dos atributos, consulte o Guia de Configuração da base de dados
do SAGE.
2.3.3 Entidade Instância de Processo (Tabela INP)
Um processo pode ser ativado em vários nós e cada uma dessas ativações define uma instância
do processo. Esta entidade configura as instâncias de todos os processos do SAGE.
O DumpBd deve ser cadastrado para os nós da rede em que irá rodar. Segue o exemplo de
preenchimento de inp.dat para os nós sage1 e sage2 :
Ao fim da configuração do no sage1:
INP
NOH= sage1
ORDEM= 1
PRO= DumpBd
...
... Demais Processos no sage2
...
Ao fim da configuração do no sage1:
INP
NOH= sage2
ORDEM= 2
PRO= DumpBd
Obs. : Para obter o significado dos atributos, consulte o Guia de Configuração da base de dados
do SAGE.
2.3.4 Entidade Preservação de Dados (Tabela PSV)
Esta entidade configura a informações para dump e/ou preservação dos dados de tempo real.
Em psv.dat é feita a seleção do grupo de informação que deseja dumpear/através da edição do
atributo PRESERV. Se o atributo for definido com o valor SIM, será feito o dump e/ou a preservação
daquelas informações, se for definido como NÃO, não será feito o dump e/ou a preservação daquela
informação.
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
4
Em casos onde mais de uma informação esteja contida em uma única MCD, basta que uma delas
esteja marcada para que toda MCD seja dumpeada, mas só será feita a preservação das
informações que estiverem marcadas, conforme o exemplo abaixo:
PSV
GRUPO= LIM_URG
PRESERV= SIM
PSV
GRUPO= LIM_ADV
PRESERV= NAO
No caso acima, os dois grupos de informação estão na mesma MCD, portanto toda a MCD
(SCD_ClasSac - Dados do serviço de aquisição e controle) será dumpeada, mas somente a
informação de limite de urgência será preservada, os limites de advertência não serão preservados,
pois o atributo PRESERV desta informação este como NAO.
PSV
GRUPO= ALARME
PRESERV= SIM
Neste segundo caso, toda a MCD SSC_ClasAlr (Dados do serviço de tratamento de alarmes)
será dumpeada, e todas as informações serão preservadas. Caso seja colocado NAO em PRESERV,
a MCD não será dumpeada e portanto nenhuma informação de alarme poderá ser preservada.
2.4 Configuração do DumpBd
A configuração do DumpBd na IHM do SAGE é bem simples e requer apenas três passos.
O primeiro é a confecção de uma tela que permita configurar alguns parâmetros de funcionamento
do DumpBd. A seguir, vemos um modelo de tela contemplando tais funcionalidades (mais tarde
serão abordados detalhadamente). Esta tela está disponível na base DEMO do SAGE, distribuída no
CD de instalação.
O segundo passo é a criação de uma licença especifica para esta tela a fim de se criar uma
política de acesso a esta ferramenta. Isto é feito através da edição do arquivo Licencas.dat em $IHM
(\home\sage\sage\config\$BASE\ihm) acrescentando as seguintes linhas:
LIC_Conv_Dump {
{ ACAO_EntrarDadoTempoReal_Valor 1 PRIV_Supervi sor }
{ ACAO_EntrarDadoNaoTempoReal 1 PRIV_Supervisor }
{ ACAO_VerTela 1 PRIV_Operador }
{ ACAO_EntradaGenerica 1 PRIV_Supervisor }
{ ACAO_EntrarDadoPorClick 1 PRIV_Supervisor }
}
Como podemos observar, os usuários com privilégio de “Supervisor” poderão executar as
operações avançadas nesta tela, cabendo aos usuários com privilégio de “Operador”, somente
visualizar a mesma. Vale lembrar que a tela em questão deverá estar associada a esta licença para
tanto. Está associação é feita no editor de telas, o SigDraw utilizando a opção Licença do menu Tela,
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
5
selecionando na Lista a LIC_Conv_Dump (para maiores informações sobre privilégio e licenças,
consulte o Guia de Configuração do SAGE).
O terceiro passo (opcional), está relacionado à alteraçãodo período de ativação default do
DumpBd, que pode ser modificado através do script de ativação $SAGE/bin/scripts/DumpBd_on.rc. O
tempo do ciclo em minutos deve ser inserido após o parâmetro $CONTEXTO na linha de ativação do
processo, como no exemplo a seguir:
Script de Ativação Original (DumpBd_on.rc)
#*
# Ativação do Serviço de dump da base
#
echo “SAGE: Ativando o Serviço de Dump da Base de D ados (DumpBd)...”
mv $LOG/DumBd.log $LOG/DumpBd.old
nohup $SAGE/bin/$SAGE_SO/$MODELO/DumpBd $CONTEXTO > $LOG/DumpBd.log &
sleep 5
echo “SAGE: Serviço DumpBd ativado.”
exit
Para ciclo de 30 minutos a linha deverá ser alterada para:
nohup $SAGE/bin/$SAGE_SO/$MODELO/DumpBd $CONTEXTO 3 0 >$LOG/DumpBd.log &
Feita esta alteração, o Dump será executado a cada 30 minutos na próxima ativação.
Figura 2 - 1 - Tela Exemplo Encontrada na Base Demo.
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
6
2.5 Utilizando o Processo DumpBd
As operações básicas possíveis através da tela do DumpBd são as seguintes:
▪ Alteração da periodicidade de execução;
▪ Seleção das classes de MCD para dump;
▪ Execução imediata (manual) do processo.
Estas operações são descritas passo a passo abaixo:
Figura 2 - 2 -
2.5.1 Selecionando uma Classe de MCD para DUMP
Para administrar a seleção das classes de MCD para dump, siga a seqüência de operações
apresentada abaixo.
Logo após, veremos três tabelas que contêm o nome, descrição e uma indicação de pre-seleção
para dump (feita pelo Sub-Sistema de Tratamento da Informação – STI veja tabela PSV.DAT) de
todas as MCD`s do sistema SAGE nos modelos SCADA e EMS. Lembre-se, antes da decisão de
retirar ou colocar uma MCD para dump, consulte estas tabelas para se certificar de que os dados que
serão ou não preservados realmente são necessários.
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
7
2.5.1.1 Seqüência de operações para marcar/desmarcar MCDs para
Dump
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
8
Figura 2 - 3 - Sequência de operações para marcar/desmarcar MCDs para Dump
Em seguida, veremos três tabelas contendo nome, descrição e indicação de pre-seleção para
dump, feita pelo STI, de todas as MCD`s do sistema SAGE nos modelos SCADA e EMS. Estas
tabelas deverão ser consultadas, antes da selecionar ou cancelar seleção de uma MCD para dump,
de modo que a seleção não seja incoerente ou desnecessária.
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
9
2.5.2 Tabela A – MCD’S Comuns aos Modelos SCADA e EMS
Classe de MCD Descrição da Classe DUMP
STI_ClasPrsv Dados auxiliares na preservação da base de dados NÃO
SCD_ClasIdf Identificadores dos pontos físicos SCADA NÃO
SCD_ClasIds Identificadores do serviço de aquisição e controle NÃO
SCD_ClasSac Dados do serviço de aquisição e controle SIM
SSC_ClasAlr Dados do serviço de tratamento de alarmes SIM
SSC_ClasCat Catálogo da base referência SIM
SSC_ClasEve Dados do serviço de controle de eventos NÃO
SSC_ClasSsc Dados do serviço de suporte computacional NÃO **
SSC_ClasTbm Dados de instancias de MCD`s NÃO **
SSC_ClasTbv Dados de vistas de MCD`s NÃO **
SSC_ClasTnd Dados de tendências de medidas SIM
** IMPORTANTE ! Estas classes de MCD nunca devem ser marcadas para Dump pois isso pode
gerar mal funcionamento do sistema.
2.5.3 Tabela B - MCD’S Exclusivas do Modelo SCADA
Classe de MCD Descrição da Classe DUMP
SIG_ClasGeral Dados utilizados pelo Subsistema de Interface Gráfica SIM
SCD_ClasCod Dados de comunicação do SCADA NÃO
SCD_ClasFis Dados da configuração física do SCADA NÃO
SCD_ClasIdd Identificadores das entidades do SDD NÃO
SCD_ClasSdd Dados do serviço de distribuição de dados NÃO
2.5.4 Tabela C – MCD’S Exclusivas do Modelo EMS
Classe de MCD Descrição da Classe DUMP
SAR_ClasAnacon Dados do Análise de Contingências SIM
SAR_ClasCad Dados de cadastro exclusivos do SAR NÃO
SAR_ClasConfig Dados do Configurador da Rede SIM
SAR_ClasContem Dados do Controle de Emergência SIM
SAR_ClasDinamico Dados dinâmicos de uso exclusivo do SAR NÃO
SAR_ClasEstado Dados relacionados com o estado do sistema SIM
SAR_ClasEstmon Dados do Estimador de Estado SIM
SAR_ClasFluxop Dados do Fluxo de Potência NÃO
SAR_ClasIhm Dados do SAR para IHM SIM
SAR_ClasSavecase Área de armazenamento dos casos de estudo SIM
SAR_ClasVeCad Dados de cadastro associados à mensagem de vetor
de estado
NÃO
SAR_ClasVeDim Dados dinâmicos associados à mensagem de vetor de
estado
NÃO
SAR_ClasLimite Limites dos equipamentos SIM
STI_ClasCadastro Dados de cadastro de uso geral NÃO
STI_ClasIdent Dados de cadastro de uso geral - identificadores e
nomes
NÃO
Definição das Classes de MCD do CAG
SCG_ClasCagT Tunning e Interface IHM do Controle Automático de
Geração
SIM
SCG_ClasCagC Configuração do Controle Automático de Geração NÃO
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
10
Classe de MCD Descrição da Classe DUMP
SCG_ClasCagI Interface CAG com a Programação de Intercambio e
Analise da Reserva de Geração
SIM
SCG_ClasCagD Saída Dinâmica e Performance do Controle Automático
de Geração
SIM
2.5.5 Alterando a Periodicidade para DUMP Automático
Para alterar a periodicidade de execução do DumpBd, siga a seqüência que se segue. É
importante ressaltar que a periodicidade mínima de execução é de 10 minutos. Mesmo quando é
definido um valor inferior, o processo assume automaticamente o valor mínimo de 10 minutos.
2.5.5.1 Seqüência de operações para alterar a periodicidade do DumpBd
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
11
Figura 2 - 4 - Seqüência de operações para alterar a periodicidade do DumpBd
2.5.6 Executando o DUMPBD Manualmente
Para executar o DumpBd a qualquer momento, siga a seqüência que se segue. É importante
lembrar que qualquer tentativa de execução imediata, quando já existe uma execução automática de
dump em andamento, será descartada.
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
12
2.5.6.1 Seqüência de operações para executar o DumpBd a qualquer
momento
Figura 2 - 5 -Seqüência de operações para executar o DumpBd a qualquer momento
]
13
3 Manual da Base Histórica
3.1 Introdução
A informação no SAGE flui a partir de duas fontes específicas. A primeira é feita através da
configuração do sistema, é feita de forma off-line através do carregamento da base fonte. A segunda
é proveniente da monitoração do sistema elétrico pelas aplicações do SAGE, ou seja, são
informações de tempo real que variam durante o processo de supervisão e controle, de forma on-line.
A Erro! Fonte de referência não encontrada. descreve o fluxo da informação do SAGE.
Figura 3 - 1- Fluxo da informação no SAGE.
3.2 Bases do SAGE
A informação no SAGE está organizada em bases de dados, cada qual com características
próprias para atender a uma etapa do processo de supervisão e controle de sistemas elétricos em
tempo real.
As bases de dados do SAGE são as seguintes:
▪ Base Fonte
Capítulo
3
3 MANUAL DA BASE HISTÓRICA
14
▪ Base Referência
▪ Base On–line
▪ Base Histórica
3.2.1 Base FONTE
A base fonte é responsável pela configuração do SAGE. É preenchida a partir de arquivos texto
(.dat) ou interface gráfica. Nela são descritas todas as características do sistema de supervisão e
controle.
Suas principais características são:
▪ Configuração do SAGE
▪ Cadastro do sistema monitorado
▪ Residente em bancos de dados relacional
▪ Preenchida manualmente pelo usuário
3.2.2 Base REFERÊNCIA
A base referência é um estágio intermediário entre as bases fonte e on-line. É residente em disco,
organizada em MDC’s, Memória Compartilhada e Distribuída. E gerada durante o processo de
configuração do SAGE pelo programa STI_cargbf, e atualizada durante a operação em tempo real
pelo processo do SAGE, DumpBd.
Suas principais características são:
▪ Interface entre a Base Fonte e a Base On-line
▪ Contêm dadoscadastrais e provenientes do tempo real.
▪ Utilizada durante a ativação do SAGE
▪ Armazenada em disco
▪ Distribuída, entidades organizadas em classes de MCD’s (Memória Compartilhada
Distribuída).
▪ Base fria x Base quente
3.2.3 Base ON-LINE
É a instância em memória da base de referência. É gerenciada pelo GMCD que inicializa a partir
da base referência durante a ativação do SAGE. Através da base on-line as aplicações do SAGE
trocam informações em tempo real.
3 MANUAL DA BASE HISTÓRICA
15
Suas principais características são:
▪ Base de Operação do SAGE
▪ Residente em memória
▪ Distribuída, organizada em MCD´s.
▪ Informação em tempo real.
▪ Arquitetura proprietária
3.2.4 Base HISTÓRICA
A base histórica do SAGE é responsável pelo armazenamento histórico sobre a operação do
sistema elétrico monitorado. Armazena tanto informações provenientes da operação do sistema
monitorado, quanto provenientes da evolução deste. Suas estruturas basicamente armazenam séries
temporais e são gerenciadas pelo GBH, sistema de Gerenciamento da Base Histórica. O GBH é
configurável e permite que qualquer atributo da base on-line seja historiado como veremos a seguir.
Suas principais características são:
▪ Histórico do sistema monitorado
▪ Armazena a evolução da topologia e informações de tempo real
▪ Preenchida a partir da base de dados on-line
▪ Residente em bancos de dados relacional ou não-relacional (banco PI)
▪ Objeto deste trabalho
3.3 Sistema de Gerenciamento da Base Histórica
GBH
O sistema de Gerenciamento da Base Histórica do SAGE, GBH-SAGE, é formado por um conjunto
de aplicativos que permite o armazenamento de informações de tempo-real previamente
selecionadas pelo usuário em um banco de dados relacional de forma a possibilitar a recuperação de
séries temporais representativas do comportamento do sistema elétrico monitorado.
O procedimento de carga da base histórica é feito através do aplicativo gbh_xxx, onde xxx é o
nome do banco de dados utilizado, que pode ser Oracle, Postgres, Informix ou PI. O aplicativo se
conecta simultaneamente à base on-line do SAGE e ao banco de dados, e grava nesse banco os
dados provenientes do tempo real.
3 MANUAL DA BASE HISTÓRICA
16
Figura 3 - 2 - Processo de Carga da Base Histórica.
Como veremos adiante o programa gbh_xxx é gerado automaticamente a partir da seleção de que
entidades do tempo real serão armazenadas na base histórica. Sua ativação é feita junto com os
outros processos que compõe o SAGE.
No caso de falha na conexão com o banco de dados relacional, o programa passa
automaticamente a armazenar os dados do tempo real em arquivos locais localizados em diretório
predeterminado. Após a correção do problema ocorrido na conexão com o banco de dados, o
programa detecta a disponibilidade e imediatamente inicia a recuperação das informações para o
banco de dados relacional.
3.4 Entidade Tempo Real x Tabela Base Histórica
Os recursos do sistema elétrico monitorado são representados no SAGE através de entidades que
agregam atributos que descrevem as características e o comportamento em tempo real do referido
recurso. Por exemplo, o recurso ponto de medição analógica é representado no SAGE através da
entidade PAS, que contém atributos que descrevem suas características com unidade da medida,
equipamento associado, identificador, etc. Outros atributos da entidade PAS representam o
comportamento em tempo real do ponto de medição, por exemplo, valor medido, indicador de
qualidade da medida, etc. Outros exemplos de recursos representados através de entidades no
SAGE são: PDS, ponto digital do SAGE; EQP, Equipamento elétrico. As entidades do SAGE são
todas descritas catalogo de definição da base de dados referência que pode ser encontrado no
arquivo: $SAGE/config/demo_ems/sti/gbr/lis/STI_dcatbr.li s
Na base histórica, as entidades são organizadas em dois tipos de tabela: referência e dinâmica .
As tabelas de referência têm como função manter um histórico da configuração do sistema
elétrico. Ela armazena a informações cadastrais. Seus atributos representam uma determinada
característica do sistema tal como unidade medida, tipo de equipamento, identificador, etc. As
entidades da base on-line só podem ter uma e somente uma tabela de referência.
3 MANUAL DA BASE HISTÓRICA
17
Figura 3 - 3 - Relação entre as entidades da base on-line e as tabelas da base histórica
Tabelas dinâmicas armazenam as informações provenientes do processamento do sistema como,
por exemplo, valores medidos, estados digitais, etc. Seus atributos representam valores do sistema
que variam em tempo real. Uma importante característica das tabelas dinâmicas é que elas crescem
continuamente, o que leva a necessidade, por questão de desempenho, de estabelecer políticas de
particionamento em várias tabelas físicas cada uma representando um período de tempo (dia,
semana, mês). Outra característica importante é a forma com que são gravados os dados nas tabelas
dinâmicas que denominamos esquema de gravação. Os esquemas de gravação podem ser
classificados em dois grupos: síncrono e assíncrono. No esquema síncrono os valores do tempo real
são varridos periodicamente e no esquema assíncrono a varredura se dá sempre que a base tempo-
real identifica que ocorreram mudanças nos dados relacionados.
A configuração das entidades e atributos da base histórica do SAGE é feita através dos arquivos
de configuração localizados em $SAGE/config/$BASE/sti/gbh/dados , no arquivo entidade.bh
descrevemos as entidades da base histórica. No arquivo atributo.bh descrevemos os atributos.
3.5 Tabelas de Referência
Responsáveis pelo armazenamento das informações cadastrais do sistema de supervisão e
controle, as tabelas de referência evoluem a cada geração de uma nova “base” do SAGE. Toda vez
que um novo recurso é inserido no sistema é gerada uma nova chave de ligação com as tabelas
dinâmicas, associada ao recurso por toda sua vida útil.
Principais características das tabelas de Referência:
▪ Formam um histórico da evolução do sistema monitorado
▪ Atualizadas durante a ativação do programa gbh_xxx
3 MANUAL DA BASE HISTÓRICA
18
▪ Crescimento lento, só cresce quando é gerada uma nova configuração do SAGE
▪ Contém dois atributos indicando inicio e fim de operação do recurso
▪ Armazena identificadores das tabelas dinâmicas
▪ São ligadas às tabelas dinâmicas através do atributo bh_chave
As tabelas de referência são constituídas de pelo menos seis atributos, as data/hora de inicio e fim
de operação do recurso, chave de ligação com as tabelas dinâmicas, o índice do recurso na base on-
line, o identificador do recurso na base on-line, e um atributo auxiliarem para manutenção de
alterações nas características do recurso e rastreamento.
Campo Tipo Descrição
BH_CHAVE INT Chave de ligação com a tabela de dinâmica
BH_DTHR_INI DATA Data/hora de início de operação do recurso.
BH_DTHR_FIM DATA Data/hora de fim de operação do recurso. Assume valor
NULO se o recurso está em operação.
BH_INDTR INT Índice do recurso na base on-line do SAGE. Alterado toda
vez que é gerada uma nova “base” do SAGE. Uso interno
do programa gbh_xxx.
BH_SINONIMO INT Utilizado para indicar alterações nas características
ID CHAR Identificador do recurso na base on-line do SAGE.
PROP1 XXX Propriedade um .do recurso
PROP2 XXX Propriedade dois .do recurso
. . .
. . .
. . .
PROPN XXX Propriedade N .do recurso
Tabela 3- 1
Exemplo de tabela de referência:
PAS_R : Ponto Analógico do SAGE
Campo Tipo Descrição
BH_CHAVE INT Chave de ligação com a tabela de dinâmica
BH_DTHR_INI DATA Data/hora de início de operação.
BH_DTHR_FIM DATA Data/hora de fim de operação.
BH_INDTR INT Índice do recurso na base on-line do SAGE.
BH_SINONIMO INT Utilizado para indicar alterações nas características
ID CHAR Identificador do ponto analógico.
IDEQP CHAR Equipamentoassociado.
ESTACAO CHAR Estação associada à medida.
HISTPER INT Período de exportação para base histórica.
NOME CHAR Nome do ponto.
TIPOE INT Tipo de grandeza.
TPEQP INT Tipo do equipamento.
EQP CHAR Equipamento associado.
TAC CHAR TAC do ponto.
Tabela 3- 2
3 MANUAL DA BASE HISTÓRICA
19
3.5.1 Tabelas de referencia no PI
O histórico de dados cadastrais no servidor PI da OSIsoft é feito em duas partes. Os dados
estáticos das entidades historiadas com relacionamento com os dados do esquema Clássico da base
de pontos do PI são mapeados, configurando o atributo da base do SAGE com o mesmo nome do
respectivo parâmetro definição da tag. Por exemplo, o atributo UNIDADE de PAS que contém a
unidade da medida, é configurado para ser armazenado com o nome EngUnits no PI, que é o
parâmetro nesse servidor que indica a unidade. A topologia do sistema elétrico é armazenada na
ferramenta PI-Asset Framework ou PI-AF, que entre outras funcionalidades permite uma
navegabilidade hieráquica pelo sistema életrico monitorado. A infertace com o PI-AF encontra-se em
desenvolvimento
3.6 Tabelas Dinâmicas
Armazena os dados históricos. O número de registros vai sempre crescendo. Cada registro
contém, além dos valores históricos, a data e hora de inserção na tabela e a chave de acesso ao
registro.
Estas tabelas podem crescer muito rapidamente, dependendo do período de exportação e da
quantidade de dados exportados. Desta forma, o sistema dispõe de mecanismos para particionar este
tipo de tabela em tabelas menores para facilitar sua manutenção. A política de particionamento é
definida pelo usuário em tempo de configuração do ambiente de exportação. Esta política pode ser
diária, semanal ou mensal (banco relacional).
▪ Principais características das tabelas Dinâmicas:
▪ Grande volume de dados, crescimento continuo
▪ Esquemas de gravação conforme natureza dos dados
▪ Particionadas em várias tabelas.
▪ Armazenam séries temporais.
▪ Possuem dois tipos de registros: integridade e variação.
Uma tabela dinâmica armazena séries temporais, composta de pelo menos três atributos básicos,
um identificador, uma data/hora e um ou mais valores associados.
A tabela a seguir mostra a estrutura básica de uma tabela dinâmica:
Campo Tipo Descrição
BH_CHAVE INT Chave de ligação com a tabela de referência que possui o
identificador do recurso.
BH_DTHR DATA Data/hora da medida e/ou evento relacionado ao recurso
monitorado.
BH_VARIACAO INT Indica se o registro foi inserido devido a uma integridade
(bh_variacao=0) ou variação (bh_variacao=1).
(OPCIONAL)
VALOR1 XXX Valor medido ou estado digital.
3 MANUAL DA BASE HISTÓRICA
20
VALOR2 XXX Valor medido ou estado digital.
. . .
. . .
. . .
VALORN XXX Valor medido ou estado digital.
Tabela 3- 3 - Estrutura básica de uma tabela histórica dinâmica.
Exemplo de tabela dinâmica:
PAS_H : Ponto Analógico do SAGE
Campo Tipo Descrição
BH_DTHR DATA/HORA Data e hora de gravação da ocorrência
BH_CHAVE DATA/HORA Chave de ligação com a tabela de referência
BH_VARIACAO INT*2 Indica se a ocorrência foi gravada devido à integridade (0)
ou variação (1)
FLAG INT*4 Indicadores do ponto
FLAGEST INT*2 Indicadores do ponto para valor estimado
RESNORM REAL*4 Resíduo normalizado
RGALR UINT*1 Região de alarme
VALEST REAL*4 Valor estimado da medida
VALOR REAL*4 Valor medido
Tabela 3- 4
3.6.1 Tabelas Dinâmicas no PI
Para cada atributo configurado na tabela dinâmica, será gerada uma tag no PI.
Os dados da tabela de referência associada à tabela dinâmica serão utilizados na definição da tag,
e o nome do atributo especificado será utilizado como sufixo adicionado ao identificador do recurso
historiado.
Por exemplo, se configurarmos para serem historiados de uma medida analógica os valores
estimado e considerado com o nomes “v” e “e”, então para o ponto SPEMG_440_TR9_P_AMPI_1
serão criadas duas tags:
SPEMG_440_TR9_P_AMPI_1.v e SPEMG_440_TR9_P_AMPI_1.e
3.6.1.1 Compressão e exceção
Uma das caracteristicas mais marcantes do histórico em servidores PI é a possibilidade de
compressão dos dados numéricos historiados. Para ativar essa funcionalidade em um determinado
valor historiado basta configurar as tags com os campos PCOMP e PEXCP com valor igual a SIM,
como veremos mais adiante, e as taxas de compressão e exceção serão aplicadas com valores
default do PI.
Para medidas analógicas (PAS) foram criados os atributos COMPDEV e EXCDEV que permitem a
configuração das taxas de compreção e exceção por ponto de medição e apresentam default em
unidades de engenharia conforme a tabela abaixo.
3 MANUAL DA BASE HISTÓRICA
21
Tipo de Medida CompDev ExcDev
Tensão 0,2% do valor nominal 0,1% do valor nominal
Frequência 0,005 0,0025
Outras 0,1 0,2
Tabela 3- 5
3.6.2 Esquemas de Gravação
Os esquemas de gravação de tabelas dinâmicas podem ser classificados em dois grupos:
Síncronos, Assíncronos. O esquema de gravação é definido para cada tabela dinâmica através do
atributo ESQGRV no arquivo de configuração de entidades da base histórica entidade.bh.
3.6.2.1 Esquema Síncrono
O esquema síncrono é utilizado para historiar valores analógicos, isto é, que variam de forma
continua, por exemplo, medidas de tensão, potência, etc. Nesse esquema todos os valores
monitorados são varridos periodicamente e armazenados ou não no histórico conforme a modalidade
de gravação como veremos a seguir.
O período entre duas varreduras é denominado de tempo de varredura , que é um valor constante
a ser aplicado a todas as tabelas dinâmicas de esquema de gravação síncrono, que é configurado no
script de ativação do programa gbh_xxx.
O esquema está organizado em três modalidades de gravação de dados:
▪ INTEGRIDADE: Nessa modalidade todas as medidas são armazenadas a cada varredura. É
configurada através do mnemônico INTGR no campo ESQGRV de entidade.bh .
▪ INTEGRIDADE COM VARIAÇÃO: A cada varredura são testados todos os atributos da
entidade. E caso tenham variado em relação à última varredura são gravados no banco.
Em períodos predeterminados são gravados todos os valores medidos independentemente
de terem variado ou não, essas gravações são denominadas integridades e são
configuradas através do campo PEREXP da definição da entidade. O esquema pode ser
configurado através do mnemônico INTVAR. Tabelas dessa modalidade de gravação
possuem um campo denominado bh_variacao que indica se o registro foi armazenado
devido a uma integridade (bh_variacao) ou a uma variação (bh_variacao=1).
▪ INTEGRIDADE EXTERNA: Esse modelo permite a criação de lógicas de carregamento de
dados históricos definidas pelo usuário através da função filtra_<nom entidade>.cxx , que é
“acordada” periodicamente. O esquema pode ser configurado através do mnemônico
EXTINT.
3 MANUAL DA BASE HISTÓRICA
22
3.6.2.2 Esquema Assíncrono
No esquema de gravação assíncrono, alteração de valor nos atributos da entidade historiada
dispara uma varredura das informações. . É o esquema típico utilizados para historiar estados digitais
como, por exemplo, de equipamentos (ligado/desligado), chaves e disjuntores (aberto/fechado).
O esquema está organizado em duas principais modalidades de gravação:
▪ VARIAÇÃO: Toda a vez que o atributo variar na base de tempo real, e iniciada uma
varredura onde são gravados todos os estados que variaram em relação à varredura
anterior. os Em períodos predeterminados são gravados todos os estados digitais
independentemente de terem variado ou não, essas gravações são denominadas
integridades e são configuradas através do campo PEREXP da definição da entidade.
Tabelas dessa modalidade de gravação possuem um campo denominado bh_variacao que
indica se o registro foi armazenado devido a uma integridade (bh_variacao) ou a uma
variação (bh_variacao=1). O esquema pode ser configurado através do mnemônico
VARIAC .
▪ VARIAÇÃO EXTERNA:Esse modelo permite a criação de lógicas de carregamento de
dados históricos definidas pelo usuário através da função filtra_<nom entidade>.cxx , que é
“acordada” toda vez que o atributo variar na base on-line do SAGE. O esquema pode ser
configurado através do mnemônico EXTVAR.
3.6.3 Particionamento
Devido ao grande volume de dados históricos o sistema possibilita o particionamento em várias
tabelas conforme a necessidade do usuário. A política de particionamento é feita em função do
período que se deseje armazenar em cada tabela, um dia, uma semana ou um mês. No caso de não
ser definida uma política de particionamento todos os dados serão armazenado em uma única tabela.
A política de particionamento é definida através do atributo PART do arquivo entidade.bh que pode
assumir os valores DIA,SEM e MES que especificam particionamento diário, semanal e mensal
respectivamente.
A gerência das tabelas históricas é feita através de tabelas de controle como mostra a Erro! Fonte
de referência não encontrada. .
3 MANUAL DA BASE HISTÓRICA
23
Figura 3 - 4- Organização dos dados históricos com política de particionamento.
O particionamento não é implementado em históricos em PI.
3.6.3.1 Nomenclatura das Tabelas Dinâmicas
O nome das tabelas históricas depende da política de particionamento definida conforme tabela a
seguir:
Partição Nome
Diária BH_<nome da entidade>_aaaa_mm_dd
Onde aaaa = Ano, mm = Mês, dd = Dia
Semanal BH_<nome da entidade>_aaaa_ss
Onde aaaa = Ano, ss = s1 a s53
Mensal BH_<nome da entidade>_aaaa_mm
Onde aaaa = Ano, mm = Mês
Tabela 3- 6
3.6.3.2 Tabelas de Controle
As tabelas de controle têm a seguinte regra para formação do nome:
BH_<nome da entidade>_CTL
Por exemplo, a tabela de controle da entidade histórica PAS_H que representa os dados de PAS
na base tempo real irá se chamar BH_PAS_H_CTL.
As tabelas de controle têm a seguinte estrutura:
3 MANUAL DA BASE HISTÓRICA
24
Campo Tipo Descrição
BH_NOME CHAR Nome da tabela que armazena a partição
BH_ESTADO CHAR Estado da partição. Pode assumir os seguintes valores:
▪ CARGA – Tabela em carga de dados.
▪ INDEX – Tabela carregada.
▪ ONLINE – Tabela carregada e disponível.
▪ OFFLINE – Tabela arquivada.
BH_DTHR DATA Data/hora de criação ou restauração da partição.
BH_DTHR_INICIO DATA Data/hora de inicio da partição.
BH_DTHR_FIM DATA Data/hora de fim da partição.
BH_ARQUIVO CHAR Estado de arquivamento da partição.
Tabela 3- 7
3.6.4 Arquivamento
Sempre que uma partição é fechada ao fim de seu período, sua tabela é exportada para um
arquivo do texto junto com os scripts SQL necessários para sua recuperação. O arquivo é gerado no
diretório especificado através da variável de ambientes $BHARQS que é definida no script do SAGE
SSC_Amb localizado em $SAGE/config/<base>/sys . Toda vez que uma partição atingir a idade
especificada pelo campo HORIZONTE definido em entidade.bh , em partições, a tabela é excluída da
base histórica e colocada do estado OFFLINE.
3.6.5 Seleção de Instâncias Historiadas
A fim de permitir a seleção de quais instâncias das entidades historiadas serão efetivamente
armazenadas no histórico, foi definido um mecanismo genérico para que seja possível durante a
configuração da base fonte do SAGE indicarmos se aquele recurso será ou não historiado.
Por exemplo, durante a definição do histórico de pontos de medição analógica (PAS) foi definido
que o atributo HISTSLC definido na base fonte pode assumir os valores SIM e NAO o que indica se o
ponto deve ser historiado ou não.
Essa funcionalidade é muito importante no caso de historicos no PI uma vez que a licença do
servidor é baseada no número de tags historiadas
3.7 Configurando a Base Histórica do SAGE
Como vimos anteriormente o programa de carga e a estrutura da base histórica são configuráveis
através dos arquivos texto entidade.bh e atributo.bh, onde são descritas as entidades e atributos da
base histórica.
O processo de configuração da base histórica é composto de duas etapas, a carga do catálogo da
base histórica e a geração da base histórica e configuração do programa gbh_xxx.
3 MANUAL DA BASE HISTÓRICA
25
Na primeira etapa os arquivos texto contendo a descrição da base histórica são lidos e criticados,
gerando o catálogo da base histórica.
Na segunda etapa a partir do catálogo da base histórica são gerados o programa de carga,
gbh_xxx e as estruturas da base histórica. Caso já exista uma base histórica preexistente nenhuma
alteração é feita nesta, sendo o programa de gbh_xxx responsável por eventuais alterações
necessárias na base de dados no momento de sua ativação.
Figura 3 - 5 Processo de configuração da base histórica do SAGE.
3.7.1 Configurando Entidades e Atributos da Base HISTÓRICA
A base histórica do SAGE foi desenvolvida de forma a permitir ao usuário escolher que dados do
tempo-real serão historiados, e a qualquer momento alterar a estrutura da base e os processos de
gravação sem perder a compatibilidade com os dados armazenados. A configuração é feita através
dos arquivos texto entidade.bh e atributo.bh, onde são descritas as entidades e atributos da base
histórica. Para configurar as tabelas da base histórica, devemos inicialmente selecionar que
entidades da base on-line e quais os atributos dessa base interessam a ser historiados.
Após o levantamento devem ser definidos:
▪ Tabelas de referência e seus atributos
▪ Tabelas dinâmicas e seus atributos
▪ Método de gravação das tabelas dinâmicas
▪ Período de particionamento das tabelas dinâmicas
3.7.1.1 Configurando Tabelas de Referência
Como já vimos, as tabelas de referência armazenam informações cadastrais do ambiente de
tempo real.p. Inicialmente devemos cadastrar a entidade no arquivo entidade.bh, mostrado a seguir.
ENT
NOME= <nome da entidade na base histórica>
3 MANUAL DA BASE HISTÓRICA
26
IDEN = <atributos chave (identificadores) da tabela. Permite chave múltipla.
Campos devem ser separados por espaço>
ENTBD = <entidade da base on-line associada>
LCLTABL = <nome da tablespace onde será criada a tabela. O valor default é
SAGEBHREF (Utilizado somente para histórico em banco
relacional)>
LCLINDX= <nome da tablespace onde serão criados os índices. O valor
default é SAGEBHIND (Utilizado somente para histórico em banco
relacional)>
DESCR = <descrição da tabela>
Em seguida devemos editar o arquivo atributo.bh para cadastrar os atributos das entidades que
desejamos que sejam armazenados na base histórica. Devem ser cadastrados pelo menos os
atributos indicados como chave no campo IDEN da definição da tabela.
ATR
NOME*= <nome do atributo na base histórica>
ENT = <nome da tabela na base histórica>
ATRBD = <nome do atributo da base on-line associado>
DESCR = <descrição do atributo. Quando não fornecida obtém descrição da
entidade da base on-line.>
TIPO = <tipo do atributo. O valor default é o tipo do dado na base on-line>
TAM = <tamanho do atributo. O valor default é o tamanho do dado na base
on-line>
3.7.1.2 Configurando Tabelas Dinâmicas
As tabelas dinâmicas que contêm dados que variam durante o funcionamento do SAGE, da
mesma forma que as tabelas de referência, são configuradas nos arquivos entidade.bh e atributo.bh.
Então para inserir uma entidade dinâmica devemos inicialmente cadastrá-la no arquivo entidade.bh
da seguinte forma:
ENT
NOME= <nome da entidade na base histórica>
PEREXP = <período de integridade em segundos>
ENTID = < entidade de referencia que contem os identificadores da entidade
dinâmica >
DESCR = <descrição da entidade>
PART = < política de particionamento pode ser DIA (diária), SEM (semanal),
MÊS (mensal) ou sem particionamento caso o campo não seja
definido (Utilizado somente para histórico em banco relacional)>
ESQGRV= < esquema de gravação INTEGR (grava todas medidas a cadavarredura ), INTVAR (varreduras periódicas ), VARIAC (Varredura
por evento ), EXTINT (Lógica externa de carregamento por
varredura), EXTVAR (Lógica externa de carregamento por evento).
Ver seção referente a esquema de gravação para descrição
detalhada de cada esquema.>
LCLTABL= <nome da tablespace onde será criada a tabela. O valor default é
SAGEBHREF(Utilizado somente para histórico em banco
relacional)>
LCLINDX= < nome da tablespace onde serão criados os índices. O valor default
é SAGEBHIND (Utilizado somente para histórico em banco
relacional)>
* Para banco de dados PI deve ser idêntico ao parâmetro da tag que se deseja mapear.
3 MANUAL DA BASE HISTÓRICA
27
HISTSLC = <atributo da entidade de referencia indicador de seleção para
histórico>
ENTBD = <entidade associada na base de dados on-line.>
HORIZONTE= <período em dias que uma partição deve ser mantida on-line
(Utilizado somente para histórico em banco relacional)>
Em seguida devemos editar o arquivo atributo.bh para cadastrar os atributos da entidade que
desejamos que sejam armazenados na base histórica. Devem ser cadastrados pelo menos um
atributo para a tabela. No banco de dados PI cada atributo representa um novo sufixo de tag. Os
atributos das tabelas dinâmicas são definidos no arquivo atributo.bh da seguinte forma:
ATR
NOME= <Nome do atributo da base histórica (ou sufixo das tags no banco
PI)>
ENT = <entidade do atributo da base histórica>
ATRBD = <Atributo associado na base online obrigatório a não ser que
ESQGRV da entidade seja EXTVAR e EXTINT>
MASCARA = <máscara a ser aplicada ao atributo antes de ser feita a
verificação de alteração. Essa máscara é utilizada no caso de
atributos do tipo WORD onde cada bit tem um significado específico
e somente desejamos gravar no banco o registro quando algum
determinado bit variar.Ver exemplo a seguir>
DESCR = <descrição do atributo>
TIPO = <tipo do atributo na base histórica (obrigatório quando ATRBD não
preenchido)>
TAM = <tamanho do atributo na base histórica (obrigatório quando ATRBD
não preenchido)>
PEXCP = <Indica que atributo vai ser historiado por exceção no PI.
(SIM,NÃO)>
PCOMP = <Indica que atributo vai ser historiado com compressão no PI.
(SIM,NÃO)>
DESTINO= <destino do atributo, Valores : TODOS[default] , RELACIONAL, PI ,
DUMMY>
3.7.1.2.1 Exemplo de uso de máscara
Como exemplo de uso de máscara temos o atributo a1_flags da entidade PDS da base de tempo
real. O atributo é do tipo WORD de 16 bits onde cada bit é representado por um nome simbólico e
informa uma característica do estado do ponto digital monitorado, conforme mostrado na tabela
abaixo que pode ser obtida a partir do arquivo $SAGE/config/$BASE/sti/gbh/lis/STI_dcatbh.html .
Simbólico Significado
K_PDS_FLG_ESTAD Estado considerado do ponto digital
K_PDS_FLG_FOVAR Fora de varredura
K_PDS_FLG_FALHA Falha de aquisição local
K_PDS_FLG_IVORG Inválido na origem
K_PDS_FLG_MAORG Manual na origem
K_PDS_FLG_MANUA Manual local
K_PDS_FLG_NINCI Não inicializado local
K_PDS_FLG_ANREC Evento de alarme não reconhecido
K_PDS_FLG_NOSUP Ponto não supervisionado
K_PDS_FLG_AINIB Alarme inibido
K_PDS_FLG_SECAL Selecionado para cálculos
K_PDS_FLG_SACOK SAC operacional neste nó
K_PDS_FLG_INVAL Inválido local
3 MANUAL DA BASE HISTÓRICA
28
K_PDS_FLG_FVORG Fora de varredura na origem
K_PDS_FLG_ALINT Gera alarme na iniciação e na integridade
K_PDS_FLG_SELAR Selecionado para análise de redes
K_PDS_FLG_SELSD Selecionado para distribuição
K_PDS_FLG_AUREC Habilitação de auto-reconhecimento
K_PDS_FLG_APLUS Selecionado para aplic. do usuário
K_PDS_FLG_ESTAQ Estado aquisitado
K_PDS_FLG_ESINI Estado inicial do ponto
K_PDS_FLG_ESREF Estado de referência do ponto - IHM
K_PDS_FLG_TRANS Indicador de trânsito /dupla transição
K_PDS_FLG_EVCAL Indicador de evento para cálculo
Tabela 3- 8
Caso desejemos gravar no histórico, somente às mudanças de estado digital do ponto, devemos
definir o atributo com o seguinte valor para o campo MASCARA:
MASCARA= K_PDS_FLG_ESTAD
Caso desejemos, além das mudanças de estado, gravar no histórico sempre que houver uma
falha de aquisição local, o campo MASCARA deverá ser definido da seguinte forma:
MASCARA= K_PDS_FLG_ESTAD K_PDS_FLG_FALHA
Qualquer combinação de valores pode ser utilizada na especificação da máscara de forma a filtrar
os eventos de gravação dos dados de PDS na base histórica.
3.8 Programa STI_dcatbh
O programa STI_dcatbh é a ferramenta utilizada para manutenção da base histórica do SAGE. O
aplicativo implementa três operações:
▪ Carga do catálogo da base histórica , os arquivos de configuração (entidade.bh e atributo.bh)
são lidos, criticados e, caso estejam corretos, armazenados no catálogo da base histórica.
▪ Configurar Base Histórica , nesse passo são geradas as estruturas da base histórica e o
programa gbh_xxx para carregamento dessas estruturas.
▪ Listar Catálogo Base Histórica , gera o dicionário de dados da base histórica em:
$SAGE/config/$BASE/sti/ghh/lis/STI_dcatbh.html
O programa pode ser ativado através de linha de comando na conta em que foi instalado o SAGE.
Uso:
> STI_dcatbh <operação> [opções]
Onde operação inclui:
C -> Carga do catalogo da base histórica.
B -> Gera base histórica e configura programa de carga.
L -> Gera dicionário de dados da base histórica
3 MANUAL DA BASE HISTÓRICA
29
Opções:
-senha <senha> : Senha do catalogo da base histórica.
-server_bh <servidor> : Nome do servidor da base histórica.
-user_bh <usuário> : Nome do usuário da base histórica.
-senha_bh <senha> : Senha da base histórica.
-bashist <b. histórica> : Nome da base histórica
-local: Quando especificado assume que a validação para base
histórica será feita via sistema operacional, assume o
servidor especificado na variável de ambiente
SGBD_SERVER e o nome da base na variável
BASE.Caso a operação seja de configuração (B) e não
forem fornecidos o nome do servidor, nome da base,
usuário e senha da base histórica e também não for
especificado o parâmetro -local, os valores serão pedidos
pelo programa.
3.8.1 O script habilita_gbh
Com a finalidade de simplificar o processo de configuração da base histórica foi criado o script
shell “habilita_gbh” localizado em $SAGE/config/<$BASE>/sys, que contém as chamadas ao
aplicativo STI_dcatbh embutidas. O script pode ser customizado conforme a arquitetura a arquitetura
de histórico adotada.
3.9 Esquema Exemplo
A Figura 3 - 6 ilustra o esquema de histórico sugerido pelo CEPEL.
Figura 3 - 6
3 MANUAL DA BASE HISTÓRICA
30
3.10 Consolidação
Orientada principalmente para a aquisição e armazenamento de dados com precisão e robustez a
base histórica do SAGE por si só carece de uma estrutura orientada a consultas, tornado árdua a
tarefa de desenvolvimento de relatórios. Além do grande volume de informações nela contida outros
aspectos contribuem para essa dificuldade. O primeiro aspecto é que como é um retrato fiel do que
ocorreu em tempo real a base histórica está sujeita a armazenar valores inválidos decorrentes de
diversas situações corriqueiras no processo de supervisão e controle, tais como falhas de
comunicação na origem etc.
A fim de facilitar o acesso às informações da base histórica foi desenvolvido um processo de
consolidação, onde são filtradas as medidas com erro de aquisição, e também são efetuados cálculos
de forma a obter valores médios mínimos e máximos em períodos predefinidos. O resultado deste
processo é armazenado em uma base de dados consolidada. O processo de consolidação
normalmente é configurado para executar no mesmo servidor da base histórica de forma a evitar
trafego desnecessário de dados pela rede. Nada impede porém que essas configurações sejam
alteradas para atender melhor às necessidade/disponibilidadesda instalação. As tabelas de
referência da base histórica são acessadas diretamente na base consolidada através de vistas e/ou
sinônimos sem que haja necessidade de duplicação dessas tabelas.
3.10.1 Configuração da Consolidação
Apesar de não ter uma configuração tão flexível quanto à da base histórica, alguns aspectos do
funcionamento da base consolidada podem ser configurados através da tabela
TABELAS_CONSOLIDACAO que é descrita a seguir.
NOME TIPO TAM DESCRIÇÃO
nome char 30 Nome da tabela consolidada.
precisão int 2 Precisao dos dados em unidades.
unidade char 30 Unidade da precisão pode ser: segundo , minuto,
hora , dia, mês ou ano.
horizonte int 2 Horizonte em dias mantido no histórico, não
preenchimento significa que os dados nunca serão
excluídos automaticamente.
origem char 30 Tabela histórica de origem pode ser: pas_h, pds_h,
eqp_h ou lia_h.
ultima_varredura data - Data da última atualização.
Tabela 3- 9
Através da tabela TABELAS_CONSOLIDACAO é possível configurar a partir das tabelas
históricas pas_h, pds_h, eqp_h ou lia_h tabelas contendo informações consolidadas e livres de
valores com inválidos com várias precisões e horizontes.
3 MANUAL DA BASE HISTÓRICA
31
3.10.2 Consolidação de Medidas Analógicas
O processo de consolidação de medidas analógicas além de eliminar valores inválidos existentes
da base histórica, determina os valores instantâneos em instantes pré-determinados no tempo,
definidos através da combinação dos campos precisão e unidade da tabela
TABELAS_DE_CONSOLIDACAO. Também são calculados os valores máximo, médio e mínimo no
período e para os valores máximos e mínimos são armazenadas as datas e horas de suas
ocorrências. Também é armazenado o número de medidas válidas no período. No caso de não existir
nenhuma medida válida no período, o ultimo valor válido é repetido e o campo total medidas é
zerado.
A Figura 3 - 7 mostra um exemplo de configuração consolidação de medidas analógicas onde
foram definidas três tabelas de medidas analógicas com precisões horária, diária e mensal.
Figura 3 - 7
A estrutura das tabelas consolidadas é mostrada a seguir:
3 MANUAL DA BASE HISTÓRICA
32
Atributo Descrição
BH_CHAVE Chave ligação com tabela de referência
BH_DTHR Data
VALOR Valor instantâneo
MAX Valor máximo no período
MAX_DTHR Data de ocorrência do máximo do período com
precisão de segundos
MIN Valor mínimo no período
MIN_DTHR Data de ocorrência do mínimo do período com
precisão de segundos
MED Valor médio no período
TOTAL_MEDIDAS Total de medidas válidas no período
Tabela 3- 10
3.10.3 Consolidação de Valores Digitais
A consolidação de valores digitais na qual se incluem PDS_H, EQP_H e LIA_H, além de eliminar
os valores inválidos gera tabelas que indicam os estados dos recursos historiados por períodos,
diferentemente da base histórica onde são armazenados os eventos de mudança de estado dos
referidos recursos. A estrutura típica desse tipo de consolidação e constituída de dois campos do tipo
data/hora indicando os momentos de início e fim do estado como mostra a tabela abaixo. A precisão
dessas tabelas é sempre de um segundo.
Atributo Descrição
BH_CHAVE Chave ligação com tabela de referência
BH_INICIO Data da transição para estado com precisão de
segundos
BH_FIM Data de transição para outro do estado com
precisão de segundos
ESTADO Estado digital.
Tabela 3- 11
Além de conseguir uma grande compactação nos dados a consolidação de valores digitais permite
através de consultas simples obter-se o estado de um recurso e um determinado momento, ou
quanto tempo o recurso permaneceu ligado ou desligado. A consolidação transforma um conjunto de
registros de eventos esparsos no tempo em uma estrutura mais amigável conforme mostrada na
Figura 3 - 8.
3 MANUAL DA BASE HISTÓRICA
33
Figura 3 - 8
3.10.4 Instalação da Consolidação
A base de dados histórica consolidada atualmente está disponível para os bancos de dados
Postgresql e Oracle. Como deve ser executada junto com o servidor de banco de dados, sua
distribuição é feita através dos fontes para que possam ser compiladas em qualquer ambiente
independe do sistema operacional utilizado. Os pré-requisitos para sua instalação além da base
histórica estar operacional, são necessários estar instalados no servidor um compilador C, um
utilitário de construção de sistemas semelhante ao GMAKE e o pré-compilador SQL Embutido do
banco (Proc para o Oracle e ECPG para Postgresql). Para instalar siga os seguintes passos:
1. Criar uma conta sage no servidor, tanto faz os shell utilizado.
2. Verificar se o compilador C e o MAKE estão acessíveis na conta sage , talvez seja necessário
configurar variáveis de ambiente PATH, LD_LIBRARY_PATH entre outras, verifique a
documentação do sistema operacional.
3. Verificar se os utilitários do banco de dados estão acessíveis na conta sage , talvez seja
necessário configurar variáveis de ambiente PATH, LD_LIBRARY_PATH entre outras,
verifique a documentação do banco de dados.
4. Expandir/descompactar na conta recém criada o arquivo com os arquivos fonte da
consolidação, fornecido pelo CEPEL.
5. Entrar no subdiretório consbh criado no passo anterior e executar o comando make para
gerar os binários da consolidação. Se tudo correr bem terá sido criado o binário consolida_bh
no subdiretório ~sage/consbh/bin .
6. Editar o arquivo gera_base.sql para alterar a base do sage no default que é demo_ems para a
base desejada, instruções no próprio script.
7. Criar estruturas da base consolidadas, executando o script gera_base.sql modificado no passo
anterior.
8. Uma vez criada a estrutura da base consolidada, alterar a tabela TABELAS_CONSOLIDACAO
definindo os horizontes e precisões desejados.
3 MANUAL DA BASE HISTÓRICA
34
9. Programar o crontab para executar o script ~sage/consbh/executa_consolida_bh a cada hora
ou período desejado, instruções no próprio script.
3.11 Cálculo Tamanho da Base de Dados
HISTÓRICA
Uma questão muito importante na implementação de uma base de dados histórica é a definição do
espaço em disco necessário para armazenar os dados no período desejado.
Como já vimos anteriormente, a base de dados histórica do SAGE é constituída basicamente de
dois tipos de tabelas, as de referência e as dinâmicas.
As tabelas de referência crescem somente quando uma nova versão de base on-line é gerada, ou
seja, a sua expansão acompanha o crescimento do sistema elétrico monitorado. Já as tabelas
dinâmicas crescem continuamente, pois armazenam os valores medidos em um determinado
instante.
De uma forma geral podemos dizer que o tamanho total da base histórica do SAGE é igual à soma
do espaço necessário para o armazenamento das tabelas dinâmicas e seus índices com o espaço
necessário para as tabelas de referência e seus índices.
Tamanho total = Tabelas de Referência + Tabelas Dinâmicas
Como o tamanho das tabelas de referência é insignificante em relação ao tamanho das tabelas
dinâmicas, e pouco influencia no tamanho total da base histórica, podemos estipular um espaço de
100MB para seu armazenamento. Donde temos:
Tamanho total = 100 + Tabelas Dinâmicas
3.11.1 Tamanho de Tabelas DINÂMICAS
O espaço total requerido para o armazenamento das tabelas dinâmicas é composto do somatório
dos tamanhos das tabelas dinâmicas no período que desejamos manter disponível no banco de
dados.
Tamanho Total Tabelas Dinâmicas = ∑ TTD
Onde:
▪ TTD: Tamanho Tabela Dinâmica
Anteriormente vimos que uma tabela dinâmica, na verdade, é composta por várias tabelas que
armazenam os dados de um determinado período ao qual chamamos de partição. Então para
determinar o espaço necessário para o armazenamento dos dados de uma determinada tabela
dinâmica devemos multiplicar o tamanho de uma partição pelo número de partições contidas no
período disponível no banco. Ou seja:
TTD = (Período / PeríodoPartição) * Tamanho Partiç ão
Onde:
▪ Período : Período que desejamos manter disponível no banco de dados em segundos.
▪ Período Partição : Período em segundos da partição que pode ser diária, semanal ou mensal.
3 MANUAL DA BASE HISTÓRICA
35
▪ Tamanho Partição : É o espaço em disco necessário para armazenamento dos dados no
período de partição definido. O tamanho de uma partição é calculado baseado na seguinte
fórmula:
Tamanho Partição = Integridade + Variação
Onde:
▪ Integridade : Espaço necessário para gravar registros de integridade. É calculado pela
fórmula:
Integridade = (Período Partição / Período Integr.) * npontos * tamreg
e
▪ Variação : Espaço necessário para armazenamento dos registros gravados devido à
variação de valor ou estado. O seu valor é obtido conforme o esquema de gravação
definido para a tabela histórica.
Para esquemas de gravação baseados em varreduras periódicas temos a seguinte fórmula:
Variação = (Período Partição / varredura) * npontos * tamreg * txvar
Para esquemas de gravação baseados em eventos temos a fórmula:
Variação = (Período Partição) * npontos * tamreg * txvar
Onde:
▪ npontos : Número de registros na tabela de referência relativa à tabela histórica.
▪ txvar : Taxa de variação. É a razão entre o total de medidas gravadas devido à variação e o
total de medidas gravadas na tabela. O valor inicial default para entidades com esquema
de gravação por varredura é 0,5 e para as de esquema baseado em eventos é 0,000007.
Esse valor é atualizado automaticamente pelo gbh_xxx baseado no comportamento do
sistema elétrico monitorado.
▪ varredura : Período de varredura em segundos.
▪ tamreg : Tamanho do registro da tabela histórica em bytes. O tamanho do registro é
calculado através da soma dos tamanhos dos seus campos que são obtidos através da
seguinte tabela:
Tipo Campo Tamanho no Oracle Tamanho no Informix
CHAR Número de caracteres Número de caracteres
INT 4 4
FLOAT 4 4
DATE 7 8
Tabela 3- 12
3 MANUAL DA BASE HISTÓRICA
36
3.12 Parâmetros de Ativação do gbh_xxx
Alguns comportamentos do programa de carga da base histórica são definidos como parâmetros
de ativação do programa. Para alterá-los basta editar o arquivo $SAGE/bin/scripts/gbh_xxx_on.rc e
modificar a linha de ativação do programa.
Parâmetro Descrição
-tmsgalr Período, em segundos, para reenvio de mensagens de alarme. Valor
default 1800 segundos.
-dadv <valor> Percentual de ocupação do disco de salvaguarda a partir do qual será
emitido alarme de advertência. Valor default 85%.
-dmin <valor> Percentual de ocupação do disco de salvaguarda a partir do qual será
emitido alarme de urgência, e a salvaguarda será interrompida. Valor
default 95%.
-varred <período> Período de varredura em segundos. Valor default 60 segundos. Valor
mínimo 60 segundos.
-debug Ativa o programa no modo de depuração.
-stat <período> Período em horas para atualização de estatísticas do banco de
dados. Valor default 6 horas.
-não_busca_rede Desabilita busca de arquivos de salvaguarda na rede do SAGE
-nao_arquiva Desabilita arquivamento
-caractere_separador ‘,’ Caractere separador utilizado no arquivamento
Tabela 3- 13
37
4 Simulação do Tráfego de Dados de
Tempo Real no SAGE (sim-tr)
O Simulador do Tráfego de Mensagens de Tempo Real (SIM-TR) permite o envio de mensagens
ao SAC, simulando a atividade dos conversores de protocolo, na aquisição.
O SIM-TR trabalha a partir de um arquivo de simulação no formato ASCII, construído sob regras
pré-definidas, para um determinado “noh” da base de dados do SAGE, podendo-se escolher a opção
de execução contínua ou passo a passo das instruções deste arquivo.
Logo, ao ser executado, o SIM-TR interpreta o arquivo de simulação e envia ao SAC as
mensagens no formato preconizado pelo protocolo TAC do SAC (protocolo de terminais virtuais de
aquisição e controle).
Outra função do SIM-TR, associada à simulação do comportamento dos conversores de
protocolos, é responder ao SAC os pedidos de controle supervisório originados na interface homem-
máquina do Subsistema de Interface Gráfica (SIG).
4.1 Sintaxe de Ativação
O utilitário é ativado pela seguinte sintaxe:
sim-tr <arq_de_sim> <nome_nó> [passo] [usaMm]
Onde:
▪ arq_de_sim → é o nome do arquivo de simulação que contém os comandos a serem
enviados para o SAC em protocolo TAC;
▪ nome_nó → é o nome do nó da base de dados cuja configuração será considerada para
efeito de validação dos nomes e índices utilizados e para geração automática de tráfego;
▪ [passo] → keyword usada para executar o programa de simulação passo a passo.
▪ [usaMm] → opção que admite o uso de letras maiúsculas e minúsculas nos identificadores
usados no script, utilizada para simulações do protocolo 61850. Quando esta opção é
usada é preciso escrever todos os comando e subcomandos do script utilizando letras
maiúsculas. Exemplo: substituir VAR méd i1 por VAR MED i1.
Capítulo
4
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
38
Ao ser ativado o utilitário exibe a tela mostrada a seguir:
Figura 4- 1 - Simulação em andamento.
4.2 Construção de Cenários de Simulação
Toda simulação é feita considerando a configuração do banco de dados de tempo real que
determina uma relação hierárquica entre as entidades:
▪ NÓ - Estações da rede de difusão confiável do banco de dados de tempo real.
▪ LIG - Ligações de dados existentes entre o sistema SAGE e outros Centros de Controle,
Unidades Terminais Remotas ou Controladores Lógicos Programáveis, vinculadas à
operacionalização de um NÓ.
▪ TAC - Terminais Virtuais de Aquisição e Controle que agrupam logicamente pontos de
aquisição e controle vinculados a uma Ligação LIG.
▪ DIG - Ponto de aquisição digital pertencente a uma TAC.
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
39
▪ MED - Ponto de aquisição de medida analógica, pertencente a uma TAC.
▪ TOT - Ponto de aquisição de medida totalizada, pertencente a uma TAC.
Na análise sintática das linhas do arquivo de simulação, o SIM-TR procura pelo símbolo > (menor
que). Após esse símbolo deve existir um comando que pode ser acompanhado de um ou mais
parâmetros e um ou mais subcomandos. Cada subcomando também pode ser acompanhado de um
parâmetro.
A seguir serão descritas as diretivas para arquivos de simulação do SIM_TR:
4.2.1 Subcomandos
TAC(s) - Requer o parâmetro ind que especifica o índice da TAC (1 a "n") para a qual a
mensagem será simulada. Só serão considerados válidos os números que indicam as TACs
configuradas no nó que se está simulando. É aconselhável a utilização de nomes de TACs ao invés
desse comando, para que uma reconfiguração do banco de dados não afete a validade do arquivo de
simulação.
Sintax
e:
> TAC ind
PTO(s) - Requer o parâmetro ipt que especifica o índice relativo do ponto (1 a "n") na TAC. Tanto
o índice ipt do ponto, quanto o índice ind da TAC, podem ser informados pelo INFO-TR a partir do
nome do ponto. É aconselhável a utilização de nomes de pontos ao invés desse comando, para que
uma reconfiguração do banco de dados não afete a validade do arquivo de simulação.
Sintax
e:
> PTO ipt
VAL(s) - Requer o parâmetro val que especifica o novo valor de uma medida ou totalizador, ou o
novo estado de um ponto digital.
Sintax
e:
> VAL val
REL(s) - Requer o parâmetro val que especifica o valor que será somado (ou subtraído se
precedido do sinal "menos") ao valor corrente de uma medida, totalizador ou estado digital.
Sintax
e:
> REL val
PCT(s) - Requer o parâmetro val que especifica o valor percentual sobre a escala que será
somado (ou subtraído se precedido do sinal "menos") ao valor corrente de uma medida ou totalizador.
Sintax
e:
> PCT val
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
40
INI(s) - Requer o parâmetroval que especifica o valor que será somado (ou subtraído se
precedido do sinal "menos") ao valor médio dos limites de advertência de uma medida ou totalizador.
Sintax
e:
> INI val
INV(s) - Requer o parâmetro stat que especifica a nova condição de validade (valor zero) ou
invalidade (valor diferente de zero) do ponto aquisitado.
Sintax
e:
> INV stat
MAN(s) - Requer o parâmetro val que especifica o novo valor de uma medida ou totalizador, ou o
novo estado de um ponto digital que será recebido pelo SAC como inserido manualmente na origem.
Sintax
e:
> MAN val
QNT(s) Requer o parâmetro nptos que especifica o número de pontos que serão assinalados
como pontos que sofreram variação.
Sintax
e:
> QNT nptos
SEG(s) - Requer o parâmetro sg que especifica a quantos segundos passados da hora corrente
ocorreu o evento reportado no comando SDE.
Sintax
e:
> SEG sg
MIL(s) - Requer o parâmetro ml que especifica qual o milisegundo relativo ao segundo definido
pelo subcomando SEG em que ocorreu o evento especificado no comando SDE.
Sintax
e:
> MIL ml
4.2.2 Comandos
PER(c) - Requer o parâmetro tmp que especifica a periodicidade, em segundos, que o simulador
usará para efetuar o envio automático de mensagens de varredura de integridade digital, analógica e
de pontos totalizadores. Nessas mensagens são atualizados todos os pontos de todas as TACs de
todas as ligações atendidas pelo nó que se está simulando. Esse comando não requer subcomandos.
Sintax
e:
> PER tmp
ESP(c) - Requer o parâmetro tmp que especifica o tempo em segundos que o simulador
aguardará para prosseguir com a simulação. Caso esse valor seja zero, o SIM-TR aguardará a
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
41
digitação da tecla <ENTER> para continuar com a execução do programa de simulação. Esse
comando não requer subcomandos.
Sintax
e:
> ESP tmp
LGN(c) - Requer o subcomando TAC ou o parâmetro nome_tac que especifica o nome de uma
TAC pertencente a uma ligação do nó que se está simulando. Esse comando é usado para
especificar qual das TACs atendidas nesse nó ficou com a ligação de dados inoperante.
Sintax
e:
> LGN TAC ind
> LGN nome_tac
LGO(c) - Requer o subcomando TAC ou o parâmetro nome_tac que especifica o nome de uma
TAC pertencente a uma ligação do nó que se está simulando. Esse comando é usado para
especificar qual das TACs teve a ligação de dados restabelecida.
Sintax
e:
> LGO TAC ind
> LGO nome_tac
INT(c) - Requer o parâmetro tip e o parâmetro nome_tac. O parâmetro tip especifica o tipo dos
pontos reportados na mensagem de integridade que será enviada. Uma das keywords dig, med ou tot
deve ser usada para especificar se os dados são respectivamente relativos aos pontos digitais,
analógicos ou totalizadores da TAC. O parâmetro nome_tac especifica o nome da TAC a ser
simulada e pode ser substituído pelo comando TAC. Na mensagem de integridade são atualizados
todos os dados do tipo e TAC especificados.
Sintax
e:
> INT tip TAC ind
> INT tip nome_tac
VAR(c) - Requer os parâmetros tip, nome_ponto, e um dos subcomandos dentre VAL, REL, INV,
PCT, INI ou MAN. O parâmetro tip é idêntico ao usado no comando INT. O parâmetro nome_ponto
especifica o nome do ponto para o qual é simulada uma variação e pode ser substituído pelos
subcomandos TAC e PTO. Os subcomandos especificam qual será o valor da variação e a alteração
ou não dos atributos de qualidade do ponto.
Sintax
e:
> VAR tip nome_ponto VAL val
> VAR tip PTO ipt VAL val
> VAR tip nome_ponto REL val
> VAR tip nome_ponto INV val
> VAR tip nome_ponto PCT val
> VAR tip nome_ponto INI val
> VAR tip nome_ponto MAN val
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
42
NVR(c) - Requer os mesmos parâmetros e subcomandos do comando VAR e mais o subcomando
QNT para especificar a quantidade de pontos, a partir do ponto especificado no comando, para os
quais serão simuladas as variações.
Sintax
e:
> NVR tip nome_ponto VAL val QNT nptos
> NVR tip PTO ipt VAL val QNT nptos
> NVR tip nome_ponto INV val QNT nptos
Obs.: O comando NVR baseia-se na ordem e na quantidade dos pontos dentro da TAC, logo,
nptos deve ser determinado de forma coerente com estas informações.
SDE(c) - Requer parâmetro nome_ponto ou o subcomando PTO e os subcomandos VAL, SEG e
MIL, para especificar a transição para o estado especificado em VAL de um evento da seqüência de
eventos, no instante especificado pelos subcomandos SEG e MIL.
Sintax
e:
> SDE nome_ponto VAL val SEG sg MIL ml
> SDE PTO ipt VAL val SEG sg MIL ml
CIC(c) - Requer o parâmetro pc que marca uma linha do arquivo de simulação como início de um
ciclo.
Sintax
e:
> CIC pc l
LOP(c) - Requer os parâmetros num e pc que determinam a execução de num ciclos do código de
simulação a partir do ponto de ciclo pc previamente marcado até o comando LOP.
Sintax
e:
> LOP num pc
GRV(c) - Requer o parâmetro 'nome_do_arquivo' que especifica em que arquivo será gravado o
conteúdo traduzido do cenário de simulação. A tradução efetuada nesse arquivo é a substituição dos
nomes de pontos e TAC existentes por seus respectivos índices. Essa tradução aumenta o
desempenho do simulador já que evita pesquisas sobre nome dos pontos.
Sintax
e:
> GRV nome_do_arquivo
Obs. : Caso um arquivo de simulação tenha um número muito grande de nomes de pontos ou
TAC, é preferível criar uma versão traduzida colocando-se o comando GRV antes do comando FIM.
Para isso o usuário deverá deixar sempre depois de um nome de TAC ou de ponto, um espaço em
branco a ser utilizado por ocasião da substituição dos nomes pelos índices.
FIM(c) - Não requer parâmetro ou subcomandos, e é usado para encerrar o programa de
simulação.
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
43
Sintax
e:
> FIM
A seguir é apresentado um exemplo de arquivo de simulação.
No exemplo, o usuário define um cenário onde o valor de duas medidas de potencia aumenta,
diminui e retorna ao valor inicial, num formato dente-de-serra de 40 MW pico-a-pico em passos de 2
MW a cada 1 segundo, quando uma variação de estado digital com SOE associado a um
desligamento altera o valor da mesma para zero. Em seguida, 20 segundos depois, um religamento
daquele estado digital faz com que o valor retorne novamente ao estado inicial. Esse cenário se
repete 1000 vezes.
# ******************************************** *****************
# * Programa 1 de Simulacao do Trafego de Aqu isicao *
# * Simulacao de Pontos da Base demo_em s *
# ******************************************** *****************
#
> LGO US01 ; coloca TAC operacional
> INT med US01 ; coloca dados como validos
> INT dig US01 ;
> VAR dig C2E02ADB1B VAL 1 ; (disjun tor fechado)
> VAR med C2E02AE03ALT1MW VAL 500.0 ; coloca valo res iniciais
> VAR med C2E02AE03ALT1MR VAL 200.0 ;
> ESP 0 ; agu arda <ENTER>
> CIC 1 ; marca pont o 1 de ciclo
#
> CIC 2 ; marca pont o 2 de ciclo
> VAR med C2E02AE03ALT1MW REL 2.0 ; rampa de mais 20 MW
> VAR med C2E02AE03ALT1MR REL 2.0 ; ... em ste ps de 2.0 MW
> ESP 1 ; espera 1 seg
> LOP 10 2 ; cicla 1 0 vezes em 2
#
> CIC 3 ; marca pont o 3 de ciclo
> VAR med C2E02AE03ALT1MW REL -2.0 ; rampa de menos 40 MW
> VAR med C2E02AE03ALT1MR REL -2.0 ; . em ste ps de 2.0 MW
> ESP 1 ; espera 1 seg
> LOP 20 3; cicla 2 0 vezes em 3
#
> CIC 4 ; marca pont o 4 de ciclo
> VAR med C2E02AE03ALT1MW REL 2.0 ; rampa d e mais 20 MW
> VAR med C2E02AE03ALT1MR REL 2.0 ; ... em ste ps de 2.0 MW
> ESP 1 ; e spera 1 seg
> LOP 10 4 ; cicla 1 0 vezes em 4
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
44
#
> SDE C2E02ADB1B VAL 0 SEG 1 MIL 123 ; disju ntor abriu !
> VAR med C2E02AE03ALT1MW VAL 0.0 ; med idas zeraram
> VAR med C2E02AE03ALT1MR VAL 0.0 ;
> ESP 20 ; ag uarda 20 seg
> SDE C2E02ADB1B VAL 0 SEG 1 MIL 345 ; disj untor fechou
> VAR med C2E02AE03ALT1MW VAL 500.0; recoloca valo res iniciais
> VAR med C2E02AE03ALT1MR VAL 200.0 ;
> ESP 1 ; espera 1 seg
> LOP 1000 1 cicla 100 0 vezes em 1
> FIM
Caso um arquivo de simulação tenha um número muito grande de nomes de pontos ou TAC,
sugere-se criar uma versão traduzida colocando-se o comando GRV antes do comando FIM.
Na versão traduzida os nomes serão substituídos por índices o que aumentará o desempenho da
simulação. Para isso o usuário deverá deixar sempre depois de um nome de tac ou de ponto um
espaço em branco a ser utilizado por ocasião da substituição dos nomes pelos índices.
4.2.3 Simulação de Controle Supervisório
Para utilizar comandos de controle supervisório da IHM do SAGE no ambiente de teste onde é
utilizado o SIM-TR, deve-se criar um script-shell de simulação residente no diretório
$SAGE/config/$BASE/simul com o nome exec_ctrl_<identificador_do_ponto_CGS> .
Esse script-shell será ativado com o parâmetro 'trip', 'close' ou o valor de um set-point sempre que
o controle do ponto <nome_do_ponto_CGS> for acionado, e a variável de ambiente
TREINAMENTO tiver sido carregada com o valor 'sim' no arquivo SSC_Amb.
O script poderá conter qualquer comando shell (ex: execução de um fluxo de potência) e,
principalmente, comandos sim-tr para arquivos que simulem cenários compatíveis com o ponto de
controle acionado.
A seguir é apresentado um exemplo de script-shell acionado por comando de controle
supervisório da IHM do SAGE no ambiente do SIM-TR.
No exemplo, o script testa o valor do comando e, baseado nele vai ativar um ou outro cenário de
simulação.
#!/bin/sh
#
# Simulacao de controle Raise Lower
#
sagelog sim-tr "Ativacao de simulacao com parametro $1"
cd $BD/../simul
##if [ $1 -gt 0 ]
if [ "$1" == "0.00" ]
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
45
then
sim-tr sim_uge_lower srv1
else
sim-tr sim_uge_raise srv1
fi
exit
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
46
47
5 Monitor de Mensagens Físicas
(MMF)
O utilitário MMF é um Monitor de Mensagens Físicas transmitidas/recebidas pelos Conversores de
Protocolo, o qual permite monitorar o tráfego de mensagens transmitidas e recebidas pelas linhas de
comunicação ligadas ao SAGE em qualquer protocolo utilizado. Na chamada deste monitor passam-
se como parâmetros: o conversor a ser monitorado, se é desejado monitorar tanto transmissão (tx)
como recepção (rx) ou apenas uma delas, e a partir de que índice de ponto reportado na mensagem
se deseja que a monitoração seja iniciada.
O utilitário é ativado pela seguinte sintaxe: mmf conv [[tx][rx] [índice]]
Onde:
con
v -
indica o conversor de protocolo cujas mensagens serão monitoradas, e
pode assumir os seguintes valores:
▪ cno para o Conversor SINSC Modo Mestre;
▪ cos para o Conversor SINSC Modo Escravo;
▪ c32 para o Conversor do Protocolo Conitel;
▪ rdac para o Conversor de Protocolo Redac 70F da Westinghouse;
▪ ln57 para o Conversor de Protocolo LN57 da Leeds & Northrup;
▪ i101 para o Conversor de Protocolo IEC 870-5-101;
▪ dnp3 para o Conversor de Protocolo DNP 3.0 da Harris;
▪ modb para o Conversor de Protocolo MODBUS.
Para qualquer protocolo monitorado, o MMF apresenta a hora da transmissão ou recepção da
mensagem e uma seta para direita se a mensagem é de transmissão ou uma seta para esquerda se
a mensagem foi recebida. A partir daí é exteriorizada a mensagem cujo formato varia de acordo com
o protocolo sendo monitorado.
A exteriorização das mensagens é feita em um terminal (xterm do sistema operacional), mas
também pode ser gravada em disco. Por exemplo, a chamada para monitoração de mensagens
Capítulo
5
5 MONITOR DE MENSAGENS FÍSICAS (MMF)
48
apenas de transmissão, a partir do índice 100, para o protocolo IEC 870-5-101, sendo gravada no
arquivo i101.log, a ser localizado no diretório $LOG, ficaria assim:
\mmf i101 tx 100 | tee $LOG/i101.log
O arquivo gerado pela monitoração pode ser posteriormente manipulado através do Visor de Logs
do SIG, podendo, portanto, ser utilizadas todas as facilidades fornecidas por este módulo para
procura, seleção, compactação, impressão etc.
49
6 Ajustes de Limites por Patamares
de Carga (Pcarg)
A função de ajuste automático de limites operativos de medidas analógicas por monitoração de
patamares de carga, também chamada no SAGE de PCARG, tem por objetivo alterar
automaticamente os limites de advertência e de urgência de medidas analógicas - PAS, a partir da
determinação de condições monitoradas para uma ou mais ocorrências da entidade patamar de
carga – PTC.
6.1 Execução da Função
A função PCARG é executada internamente pelo próprio Serviço de Aquisição e Controle - SAC
como uma de suas funções nativas, visando obter assim um melhor desempenho na realização da
função.
A Figura 6- 1 mostra um diagrama geral da função configurada no âmbito do Subsistema de
Tratamento de Informação - STI e executada em tempo-real pelo SAC.
Capítulo
6
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (PCARG)
50
Figura 6- 1 - Diagrama Geral da função PCARG
No diagrama estão identificadas as entidades PTC, CLM e PAS que são utilizadas para
implementação da função, a entidade TGL utilizada para a configuração dos critérios de
relacionamento entre PTC/CLM e CLM/PAS para medidas de equipamentos, e a entidade TEMPO
usada para definir uma tabela de horários e de feriados.
A entidade PTC contém itens (ocorrências de PTC) que são usados para agrupar, indiretamente
via CLM, pontos analógicos PAS que terão os seus limites alterados automaticamente pela função.
Ao determinar que uma ocorrência de PTC migrou de um patamar para outro, o SAC atualiza em
todos os pontos analógicos PAS vinculados aquele PTC os quatro limites (dois de advertência e dois
de urgência) definidos para o novo patamar nas ocorrências correspondentes da entidade CLM.
Deve-se ressaltar que uma ocorrência da entidade PTC é exclusivamente associada à alteração de
limites de tensão (nesse caso é definido um PAS de monitoração cujo valor é utilizado para verificar a
migração de patamar) ou à alteração de limites de equipamento (MW, MVAR, MVA, AMP).
Hipoteticamente, suponha que a configuração do SAGE indica que o sistema tem 4 ocorrências de
PTC, relacionadas com a atualização automática de limites de tensão. Suponha ainda que as
instalações (ou estações) foram agrupadas em PTCs segundo as regiões do sistema (norte, sul, leste
e oeste). O SAC, ao determinar que um desses PTCs mudou de patamar, por exemplo, o PAS de
monitoração do PTC das instalações da região norte migrou do patamar de carga leve para o de
carga média, as ocorrências de CLM vinculadas ao PTC das instalações da região norte serão
pesquisadas, e os quatro limites definidos nessas CLM para a carga média serão carregados em
todos os pontos analógicos associados a essas CLM, nesse caso pontos analógicos de tensão dessa
região.
Para determinar a mudança de patamar deum PTC, as três seguintes condições são monitoradas
na ordem inversa de prioridade apresentada abaixo:
▪ Monitoração do valor corrente de medidas analógicas PAS, designadas como ‘medidas
monitoradas’ dos PTC (geralmente, medidas calculadas configuradas para esta finalidade
de monitoração do PTC), onde o valor corrente de uma ‘medida monitorada’ determina em
que patamar de carga o seu PTC associado será considerado naquele momento;
▪ Atendimento da data-hora corrente a uma das entradas da tabela de tempo, onde cada
entrada define uma faixa de tempo designando um PTC associado e o patamar de carga
que será considerado para o PTC naquela faixa horária;
▪ Imposição manual do operador que determinará em que patamar de carga o PTC será
considerado naquele momento.
Por exemplo, segundo a ordem de prioridade mencionada acima, caso o operador imponha
manualmente a um determinado PTC que as medidas vinculadas a ele deverão estar operando em
carga leve, mesmo que a tabela de tempo esteja determinando que, naquele momento, esse PTC
deveria estar operando em carga pesada, os limites dos pontos analógicos vinculados a este PTC
serão ajustados para a carga leve.
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (PCARG)
51
Igualmente, mesmo que o valor corrente de uma ‘medida monitorada’ de um PTC esteja indicando
para esse PTC a operação em carga média, caso exista uma entrada da tabela de tempo sendo
atendida, indicando que naquele horário o PTC deve operar em carga pesada esta será a condição
que prevalecerá fazendo com que os limites dos pontos analógicos deste PTC sejam ajustados para
a carga pesada.
6.2 Configuração da Função na Base FONTE
Para configurar a função PCARG o usuário deve preencher as seguintes entidades da base fonte
do SAGE:
PTC – Patamar de carga para atualização automática de limites. Através desta tabela o usuário
definirá quantos e quais os conjuntos independentes de pontos analógicos existirão para serem
submetidos à avaliação do patamar de carga. Nessa entidade o usuário configura a identificação do
PTC. O atributo PAS dessa tabela deve ser obrigatoriamente preenchido (medida monitorada) para
os PTCs associados à atualização automática de limites de tensão. A existência de uma ‘medida
monitorada’ vinculada ao PTC implica que ele será monitorado podendo ser ajustado para as cargas
‘mínima’, ‘leve’, ‘média’, ‘pesada’ ou ‘máxima’ segundo qualquer um dos três critérios listados no item
anterior.
Para os PTCs associados à atualização automática de limites de equipamento, o atributo PAS não
pode ser preenchido. Nesse caso, o ajuste de limites será definido em função do horário ‘diurno’ e
‘noturno’, por dois dos três critérios listados acima; o critério da tabela de tempo e o de imposição
manual. Além disso, as medidas analógicas que terão os limites ajustados segundo esses PTC
poderão ser de diferentes tipos (MW, MVAR, MVA e AMP) de equipamentos (LTR, CAR, TR2 etc) em
agrupamentos (SIS, REG, ACO, CIA) do sistema elétrico.
INS – Instalação. É utilizada para agrupar os pontos analógicos de tensão cujos limites serão
ajustados automaticamente. Esse agrupamento é realizado associando um conjunto de instalações a
um mesmo PTC. Os PTC’s relacionados com o ajuste automático de limites de tensão necessitam da
definição de um ponto analógico, cujo valor será monitorado para verificar a migração de patamar de
carga.
EST – Estação. Também é utilizada para agrupar os pontos analógicos de tensão cujos limites
serão ajustados automaticamente. Esse agrupamento é realizado associando um conjunto de
instalações a um mesmo PTC. Permite uma configuração mais refinada do que a configuração por
Instalação. Nesse caso estações de uma mesma instalação podem ser associadas à PTC’s
diferentes. O usuário pode configurar uma parte do sistema por instalação, quando todas as estações
da instalação devem estar associadas a um mesmo PTC; e outra parte do sistema por estação, no
caso em que as estações de uma instalação devem ser associadas à PTC’s diferentes.
TGL – Tipo de grandeza para atualização automática de limites de equipamentos. Nesta tabela
serão definidos os critérios que permitirão associar os PTC (indiretamente através da entidade CLM)
aos pontos analógicos em PAS que terão os seus limites gerenciados pelo PTC.
Essa configuração é feita através de três atributos que definem [1] o tipo de grandeza do ponto
(GRAND= AMP, MVA, MVAR, MW), [2] o tipo de equipamento ao qual ela pertence (TPEQP= LTR,
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (PCARG)
52
CAR, UGE, TR2 etc) e [3] o agrupamento ou grupo em que ela reside (GRUPO= SIS, REG, ACO,
CIA).
O usuário pode, por exemplo, projetar que os itens definidos na entidade PTC se relacionarão com
os pontos analógicos que eles vão controlar segundo três critérios, sendo um para controlar limites de
medidas de potência ativa (GRAND=MW) de linhas de transmissão (TPEQP=LTR) em companhias
(GRUPO=CIA), outro para controlar limites de medidas de potência reativa (GRAND=MVA) de
transformadores (TPEQP=TR2/TR3) em áreas de controle (GRUPO=ACO).
Deve ser observado ainda, que na tabela PAS, os atributos TIPO e TPEQP devem ser
preenchidos corretamente para que a configuração dos CLM’s e PAS’s que terão os limites alterados
automaticamente possa ser realizada.
SIS/REG/ACO/CIA – Na base de dados fonte do SAGE as entidades Sistema Interligado (SIS),
Região (REG), Área de Controle (ACO) e Companhia (CIA) definem agrupamentos de dados que
podem ser relacionados a um PTC, quando se deseja que as medidas (MW, MVAR, MVA ou AMP)
daquele agrupamento tenham os limites definidos por aquele PTC relacionado. Esse relacionamento
é estabelecido pela utilização do atributo opcional ‘PTC’ presente em cada uma dessas entidades. As
medidas que serão controladas pelo PTC serão aquelas que atenderem aos critérios definidos
anteriormente em TGL, conforme descrito acima. Um mesmo PTC pode ser referenciado por vários
agrupamentos que podem ser do mesmo tipo (ex: várias Companhias) ou de tipos diferentes (ex:
algumas Companhias e algumas Regiões). Deve-se observar, entretanto, que não é permitido que as
tabelas SIS, REG, ACO ou CIA (utilizadas para configurar a atualização de limites de equipamentos)
referenciem um PTC que também é referenciado pela tabela INS ou EST (utilizadas para configurar a
atualização de limites de tensão) e vice-versa.
TEMPO – Nessa entidade o usuário especifica faixas de tempo, associa cada faixa a um PTC, e
determina qual o patamar será assumido por aquele PTC quando a data-hora corrente se encontrar
naquela faixa de tempo.
As sintaxes detalhadas para especificar a faixa de tempo, o PTC associado e o patamar para o
qual ele será forçado estão listadas na tabela 1 abaixo.
Para descrever a faixa de tempo podem ser integralmente especificadas as data-horas de início e
fim com dia, mês, ano, hora e minuto, ou com o ano genérico ao se utilizar o caractere ‘*’ para
especificá-lo. Também se pode descrever a faixa de tempo especificando um dia genérico da
semana (domingo=1, segunda=2, ..., sábado=7) ou ainda utilizar o caractere ‘u’ para os ‘dias-úteis-
de-semana’ ou o caractere ‘f’ para os ‘dias-do-fim-de-semana’. A definição de quais dias são
considerados ‘dias-úteis-de-semana’ e quais são considerados ‘dias-do-fim-de-semana’ é feita na
entidade DTS descrita abaixo.
FRD – Essa entidade permite configurar os dias que serão considerados feriados. Ao considerar
um determinado dia como feriado, o SAC ignora a sua identificação de dia da semana e passa a
tratá-lo como ‘domingo’.
DTS – Essa entidade permite configurar os dias que serão considerados ‘dias-úteis-de-semana’ e
os que serão considerados ‘dias-do-fim-de-semana’.
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (PCARG)
53
O CEPEL recomenda a utilização do exemplo distribuído com a base ‘demo_ems’ como base para
a configuração inicialdessas entidades.
ID
T_xxx_yy
Define a ordenação de pesquisa nas entradas da tabela de
tempo onde ‘xxx’ está no formato 001 a 999 e ‘yy’ no formato
01 a 99
HORÁRIO
Dia Típico: DXv HH:MM HH:MM
Para especificar uma faixa de tempo genérica baseada em
hora e minuto de início e fim em qualquer ano, mês e dia de
um determinado dia da semana, onde ‘X’ é 1 para o domingo,
2 para segunda ... até 7 para o sábado, ou a letra ‘u’ para os
dias úteis, ou a letra ‘f’ para os dias do fim de semana, e ‘v’ é
uma letra opcional para especificar que a entrada só é válida
em horário de verão.
Dia Especial: DD/MM/AA-HH:MM DD/MM/AA-HH:MM
Para especificar uma faixa de tempo específica baseada em
dia, mês, ano, hora e minuto para início e fim. Pode ser usado
o caractere ‘*’ para especificar o ano, significando assim que
o dia e mês serão considerados em qualquer ano.
PTC
Identificação do PTC associado ou o caractere ‘*’ indicando
que a entrada da tabela de tempo está associada a todos os
PTC.
PATAMAR
Define o valor do patamar de carga dentre as palavras chave
MIN, LEV, MED, PES, MAX para os patamares de carga
mínima, leve, média, pesada e máxima, respectivamente ou
DIA e NOT para os patamares de carga diurna e noturna
respectivamente.
Tabela 6- 1 - Especificação da Tabela de Tempo.
6.3 Auto-Configuração da função na Base
REFERÊNCIA
É importante observar que a entidade CLM não é configurada na base fonte. O complemento da
configuração da função PCARG com o carregamento de CLM é realizado automaticamente pelo STI
durante a execução da lógica de carregamento da base referência.
Quando carrega a base referência o STI cria as CLM necessárias e estabelece os
relacionamentos PTC/CLM e CLM/PAS com base nos critérios definidos na entidade TGL da base
fonte e das informações preenchidas na entidade PTC e nos atributos PTC das entidades SIS, REG,
ACO, CIA , INS e EST.
A configuração é completada com o carregamento dos conjuntos de limites iniciais de CLM para
todos os cinco patamares, baseando-se na média dos limites dos pontos PAS associados ao CLM.
Durante a operação em tempo-real o despachante pode ajustar diferentes valores para os limites
desses patamares através de entrada de dados nas telas de conjuntos de limites mostradas no
próximo item. Essas entradas de dados deverão ser preservadas durante o procedimento de carga
das próximas versões da base de dados optando-se pelo carregamento com preservação
disponibilizado pelo STI. A escolha de quais limites devem ser preservados é definida na entidade
PSV.
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (PCARG)
54
6.4 Operação em Tempo Real – Telas da função
A função é operada através das seguintes telas:
▪ Tela de Patamares de Carga;
▪ Tela com as Tabelas de Tempo e Feriados;
▪ Tela com os Conjuntos de Limites;
▪ Lista de Alarmes de ‘Ações do Despachante’ e de ‘Suporte Computacional’.
A Figura 6- 2 mostra a tela Patamares de Carga - PTC. Essa tela permite ao operador ativar ou
desativar a função e monitorar o estado da cada um dos PTCs definidos na base de dados.
Na coluna ‘Status’ o operador é informado em qual patamar de carga o PTC se encontra com as
palavras-chave ‘MIN’, ‘LEV’, ‘MED’, ‘PES’, ‘MAX’ ou ‘DIA’, ‘NOT’, seguidas de uma letra minúscula ‘m’
para indicar se a causa da escolha foi à imposição manual feita pelo operador (através de entrada de
dados nessa coluna), ‘t’ para indicar se a causa foi o atendimento a uma entrada da tabela de tempo,
ou ‘c’ para indicar se a causa foi o valor de carga verificada pela ‘medida monitorada’, cuja
identificação é mostrada na coluna ‘Identificador Ponto Analógico’ e o valor corrente é mostrado na
coluna ‘Valor’.
Nas quatro colunas de limites que se seguem são mostrados e/ou entrados manualmente os
valores dos limites que são comparados ao valor da ‘medida monitorada’ (coluna “Valor") para
determinar o patamar no qual o PTC se encontra, nos casos onde ele não é atendido pela tabela de
tempo ou forçado por imposição manual.
Figura 6- 2 - Patamares de Carga.
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (PCARG)
55
A Figura 6- 3 mostra a tela com as tabelas de tempo (horária e feriados). Essa tela permite ao
operador visualizar na coluna ‘Status’ da tabela horária, através da palavra-chave ‘OPER’, quais das
suas entradas estão sendo atendidas e, conseqüentemente, qual o PTC teve o patamar
reprogramado e para que carga.
Figura 6- 3 - Tabela de Tempo.
Como todas as outras colunas da tabela horária permitem a entrada de dados para alterar linhas
existentes ou inserir novas, a palavra-chave ‘OK’ na coluna “Status" indica que as sintaxes estão
corretas e o PTC escolhido existe, caso contrário será exibida a palavra-chave "ERRO".
A tela permite também visualizar e efetuar entradas de dados na tabela de feriados.
A Figura 6- 4 mostra uma das telas Conjuntos de Limites - CLM, nesse caso os conjuntos de
limites para a carga pesada. Essa tela permite ao operador visualizar e alterar com entrada de dados
os limites que serão aplicados aos pontos analógicos quando o PTC relacionado estiver em carga
pesada. A coluna ‘Status’ informa se os limites são coerentes com a palavra-chave ‘OK’ ou se existe
algum erro com a palavra-chave ‘ERRO’.
Outras seis telas equivalentes são utilizadas para os patamares de carga mínima, leve, média,
máxima, diurna e noturna.
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (PCARG)
56
Figura 6- 4 - Conjunto de Medidas para Alteração de Limites.
A Figura 6- 5 mostra a lista de alarmes de ações do despachante onde são registradas as
ocorrências de entradas de dados e validação das telas apresentadas anteriormente.
A Figura 6- 6 mostra a lista de alarmes de processos e suporte computacional onde são
registrados os eventos de migração de patamar feitos em tempo-real pelo processo SAC.
Figura 6- 5 - Lista de Alarmes de Ações do Despachante.
Figura 6- 6 - Lista de Alarmes de Processos e Suporte Computacional.
57
7 Scripts de Manutenção do SAGE
7.1 Introdução
Os scripts descritos a seguir foram desenvolvidos a fim de facilitar as tarefas relacionadas à
manutenção da configuração do SAGE.
Os scripts (rligador, rvisoracesso, convbase, sincconfig, ativasage e desativasage) são baseados
nos comandos rsh (remote shell) e rcp (remote file copy) e para seu funcionamento é necessário que
o arquivo $HOME/.rhosts das máquinas envolvidas no processo, estejam devidamente configurado.
O comando habilita_base se encarregará de criar e/ou atualizar este arquivo a partir do arquivo
$BD/sti_hosts que contém a relação de sites configurados na tabela NOH da base de dados (com
exceção das máquinas transportadoras de protocolo). Os scripts estão disponibilizados no diretório
$SAGE/bin/sys e poderão ser executados a partir de qualquer sub-diretório da conta SAGE.
Utilizaremos a seguinte convenção para os parâmetros dos scripts:
Convenção: <x
xx>
- parâmetros obrigatórios;
[x
xx]
- parâmetros opcionais.
7.2 Relação dos scripts
1. sincconfig <arq> [-x] [-h host | -s arq] [-d dir] [-u user]
2. AtualizaBD [] [fonte] [fria] [fria fonte] [user <nome user>] [user <nome user> fonte] [path <path
arq xdr] [path <path arq xdr> fonte]
3. ativasage [-h host | -s arq]
4. rligador [-h host | -s arq]
5. rvisoracesso <-h host>
6. geralog [-l lin] [-gz|-bz2]
7. cria_base <base> [padrao]
8. remove_base [base]
9. habilita_base [base]
Capítulo
7
7 SCRIPTS DE MANUTENÇÃO DO SAGE
58
10. instala_sage <base> [src]
11. instala_update <num_updI> [num_updF] [-h host | -s arq] [-u user]
12. remove_update <num_upd>
13. zipconfig < base| [-x arq] > [-b] [-i] [-t] [-s] [-c] [-m] [-gz | -bz2]
14. criasagecnf [base]
15. criasageexe [sage_so] [modelo]
16. habilita_postgres [servidor] [porta]
17. habilita_gbh
18. TrocaIdentTelas <planilha_x.csv> <planilha_z.csv> <tela1> <tela2><tela3> ....
7.3 Descrição dos scripts
7.3.1 sincconfig
Este procedimento faz a cópia de arquivos para computadores remotos, possibilitando a expansão
de arquivo nos formatos .tar.Z, .tar.gz e .tar.bz2. A expansão vale apenas para um único arquivo
copiado. A cópia de vários arquivos se dá por meio da máscara * aplicada com aspas junto ao nome
do arquivo <arq>. Sua forma de uso e os opcionais estão descritos abaixo.
Uso: sincconfig <arq> <-h host | -s [arq]> [-d dir] [-u user] [-x]
Onde:
arq Nome do arquivo para copia e/ou expansão, é permitido o uso da mascara “*”
para cópia de múltiplos arquivos.
-h host Sincroniza o site especificado em host.
-s Sincroniza os sites configurados no arquivo $BD/sti_hosts.
-s arq Sincroniza os sites configurados no arquivo “arq”.
-d dir Diretório destino do arquivo copiado. Default:($SAGE).
-u user Faz a sincronização do arquivo na conta do usuário user.
-x Expande o arquivo copiado (formatos: tar.Z, tar.gz, tar.bz2).
-h Para exibir as opções de uso.
Exemplos:
sincconfig SSC_Amb –h piracicaba
→ Copia o arquivo SSC_Amb para o diretório $SAGE da máquina piracicaba
sincconfig “$TELAS/SB*” –s –d $TELAS
→ Copia todos os arquivos iniciados com SB do diretório $TELAS para o diretório $TELAS de
todas as máquinas configuradas em $BD/sti_hosts.
sincconfig $TELAS/telas.tar.Z –h piracicaba –d $TELAS -x
→ Copia o arquivo telas.tar.Z para o diretório $TELAS da máquina piracicaba e faz a expansão.
7 SCRIPTS DE MANUTENÇÃO DO SAGE
59
sincconfig $TELAS/telas.tar.Z –s $BD/arq_sites –d $TELAS
→ Copia o arquivo telas.tar.Z para o diretório $TELAS da(s) máquina(s) relacionadas no arquivo
$BD/arq_sites.
sincconfig sagecnf_demo_ems.tar.Z -s –x
→ Copia o arquivo ./sagecnf_demo_ems.tar.Z para o diretório $SAGE da(s) máquina(s)
relacionadas no arquivo $BD/sti_hosts e faz a expansão.
sincconfig SSC_Amb –h piracicaba –u xpto
→ Copia o arquivo SSC_Amb para o diretório $SAGE da máquina piracicaba na conta do usuário
xpto.
7.3.2 AtualizaBD
Este script faz a atualização da base de dados do SAGE preparando-a para que possa ser
utilizada no ambiente de tempo-real. Os procedimentos realizados pelo script serão descritos para
cada uma das formas de utilização.
Formas de Uso:
AtualizaBD : Nesta forma o script executa os seguintes procedimentos:
▪ Verifica se existem arquivos TXT mais novos que os correspondentes arquivos XDR no
diretório $BD/fria. Se for o caso realiza a conversão TXT-> XDR;
▪ Executa o procedimento de preservação da versão anterior da base. Nesse caso é
pressuposto que a versão anterior se encontra no diretório $BD da mesma árvore do SAGE
onde se encontra a base nova (fria). Para efeito de salvaguarda a base anterior é copiada
para o diretório $BD/old.
AtualizaBD fonte : Esta forma pressupõem a existência de um servidor de base de dados
relacional configurado no ambiente Unix (Postgresql, Informix ou Oracle). Nesta forma o script
executa os seguintes procedimentos:
▪ Carrega a base fonte a partir dos arquivos de configuração localizados em
$SAGE/config/$BASE/bd/dados ($BD/dados) localizados na árvore do SAGE no ambiente
Unix.
▪ Carrega a base referência (base fria) no diretório $BD/fria já no formato XDR.
▪ Executa o procedimento de preservação da versão anterior da base. Nesse caso é
pressuposto que a versão anterior se encontra no diretório $BD da mesma árvore do SAGE
7 SCRIPTS DE MANUTENÇÃO DO SAGE
60
onde se encontra a base nova (fria). Para efeito de salvaguarda a base anterior é copiada
para o diretório $BD/old.
AtualizaBD fria : Nesta forma o script executa os seguintes procedimentos:
▪ Verifica se existem arquivos TXT mais novos que os correspondentes arquivos XDR no
diretório $BD/fria. Se for o caso realiza a conversão TXT-> XDR;
▪ Copia os arquivos XDR do diretório $BD/fria para o diretório $BD. Nesse caso não é
executado o procedimento de preservação.
AtualizaBD fria fonte : Esta forma pressupõem a existência de um servidor de base de dados
relacional configurado no ambiente Unix (Postgresql, Informix ou Oracle). Nesta forma o script
executa os seguintes procedimentos:
▪ Carrega a base fonte a partir dos arquivos de configuração localizados em
$SAGE/config/$BASE/bd/dados ($BD/dados) localizados na árvore do SAGE no ambiente
Unix.
▪ Carrega a base referência (base fria) no diretório $BD/fria já no formato XDR.
▪ Copia os arquivos XDR do diretório $BD/fria para o diretório $BD. Nesse caso não é
executado o procedimento de preservação.
AtualizaBD user <nome user> : Nesta forma o script executa os seguintes procedimentos:
▪ Verifica se existem arquivos TXT mais novos que os correspondentes arquivos XDR no
diretório $BD/fria. Se for o caso realiza a conversão TXT-> XDR;
▪ Executa o procedimento de preservação da versão anterior da base. Nesse caso é
pressuposto que a versão anterior se encontra no diretório $BD da árvore do SAGE
associada ao usuário <nome do user> (preservação remota). Sendo assim os arquivos
XDR da versão anterior deverão estar localizados em ~<nome
user>/sage/config/$BASE/bd. Para efeito de salvaguarda a base anterior é copiada para o
diretório $BD/old.
AtualizaBD user <nome user> fonte : Esta forma pressupõem a existência de um servidor de
base de dados relacional configurado no ambiente Unix (Postgresql, Informix ou Oracle). Nesta forma
o script executa os seguintes procedimentos:
▪ Carrega a base fonte a partir dos arquivos de configuração localizados em
$SAGE/config/$BASE/bd/dados ($BD/dados) localizados na árvore do SAGE no ambiente
Unix.
▪ Carrega a base referência (base fria) no diretório $BD/fria já no formato XDR.
▪ Executa o procedimento de preservação da versão anterior da base. Nesse caso é
pressuposto que a versão anterior se encontra no diretório $BD da árvore do SAGE
associada ao usuário <nome do user> (preservação remota). Sendo assim os arquivos
7 SCRIPTS DE MANUTENÇÃO DO SAGE
61
XDR da versão anterior deverão estar localizados em ~<nome
user>/sage/config/$BASE/bd. Para efeito de salvaguarda a base anterior é copiada para o
diretório $BD/old.
AtualizaBD path <path arq xdr> : Nesta forma o script executa os seguintes procedimentos:
▪ Verifica se existem arquivos TXT mais novos que os correspondentes arquivos XDR no
diretório $BD/fria. Se for o caso realiza a conversão TXT-> XDR;
▪ Executa o procedimento de preservação da versão anterior da base. Nesse caso é
pressuposto que os arquivos XDR da versão anterior se encontram no diretório <path arq
xdr>. Esse diretório pode ser local ou remoto. Para efeito de salvaguarda a base anterior é
copiada para o diretório $BD/old.
AtualizaBD path <path arq xdr> fonte : Esta forma pressupõem a existência de um servidor de
base de dados relacional configurado no ambiente Unix (Postgresql, Informix ou Oracle). Nesta forma
o script executa os seguintes procedimentos:
▪ Carrega a base fonte a partir dos arquivos de configuração localizados em
$SAGE/config/$BASE/bd/dados ($BD/dados) localizados na árvore do SAGE no ambiente
Unix.
▪ Carrega a base referência (base fria) no diretório $BD/fria já no formato XDR.
▪ Executa o procedimento de preservação da versão anterior da base. Nesse caso é
pressuposto que os arquivos XDR da versão anterior se encontram no diretório <path arq
xdr>. Esse diretório pode ser local ou remoto. Para efeito de salvaguarda a base anterior é
copiada para o diretório $BD/old.
Exemplos:
AtualizaBD
→ Atualiza os arquivos XDR e faz a preservação a partir de $BD da conta local.
AtualizaBD fria fonte
→ Carrega a Base Fonte, Carrega a Base Referência e copia os arquivos XDR de $BD/fria para
$BD.
AtualizaBD user sageold
→ Atualiza os arquivos XDR e faz a preservação a partir da conta sageold.
AtualizaBD path /home/sage/tmp fonte
→ Carrega a Base Fonte, Carrega a Base Referência efaz a preservação a partir dos arquivos
XDR localizados no diretório /home/sage/tmp.
7 SCRIPTS DE MANUTENÇÃO DO SAGE
62
7.3.3 ativasage
Este procedimento ativa o SAGE seqüencialmente na rede e/ou localmente (com intervalos de 30
segundos entre as ativações), com a exibição dos resultados em janelas independentes na máquina
local (syslog). Se nenhum parâmetro for utilizado, a ativação será na maquina local, para o parâmetro
–s, a seqüência de ativação será determinada pela ordem das máquinas no arquivo $BD/sti_hosts ou
no arquivo informado no parâmetro opcional –s arq. Sua forma de uso e os opcionais estão descritos
abaixo.
Uso: ativasage [-h host | -s [arq]]
Onde:
-h host Ativa o SAGE no site especificado em host.
-s Ativa o SAGE nos sites configurados no arquivo $BD/sti_hosts.
-s arq Ativa o SAGE nos sites configurados no arquivo "arq".
-h Para exibir as opções de uso.
Exemplos:
ativasage
→ Ativa o SAGE na máquina local ($HOST).
ativasage -s
→ Ativa o SAGE na(s) máquina(s) relacionada(s) no arquivo $BD/sti_hosts.
ativasage –h piracicaba
→ Ativa o SAGE na máquina piracicaba.
ativasage –s $BD/arq_sites
→ Ativa o SAGE na(s) máquina(s) relacionadas no arquivo $BD/arq_sites.
7.3.4 rligador
Este procedimento executa o Ligador de telas em computadores remotos (ou localmente) com a
exibição dos resultados na máquina local. Se nenhum parâmetro for utilizado, a ligação de telas se
dará somente na maquina local. Para o parâmetro –s, a seqüência de ligação será determinada pela
ordem das máquinas no arquivo $BD/sti_hosts ou no arquivo informado no parâmetro opcional –s
arq. Sua forma de uso e os opcionais estão descritos abaixo.
Uso: rligador [-h host | -s [arq]]
Onde:
-h host Executa o Ligador no site especificado em host.
-s Executa o Ligador nos sites configurados no arquivo $BD/sti_hosts.
-s arq Executa o Ligador nos sites configurados no arquivo “arq”.
7 SCRIPTS DE MANUTENÇÃO DO SAGE
63
-h Para exibir as opções de uso.
Exemplos:
rligador
→ Executa o ligador de telas na máquina local.
rligador -s
→ Executa o ligador de telas na(s) máquina(s) relacionada(s) no arquivo $BD/sti_hosts.
rligador –h piracicaba
→ Executa o ligador de telas na máquina piracicaba.
rligador –s arq_sites
→ Executa o ligador de telas na(s) máquina(s) relacionada(s) no arquivo ./arq_sites.
7.3.5 rvisoracesso
Este procedimento executa o visor de acesso em um computador remoto com exibição na
máquina local. Sua forma de uso e os opcionais estão descritos abaixo.
Uso: rvisoracesso <-h host>
Onde:
-h host Executa o visor no site especificado em host.
Exemplo:
rvisoracesso –h piracicaba
→ Executa o visor acesso na máquina piracicaba, com display local.
7.3.6 geralog
Cria 3 arquivos de log, em $SAGE, com os seguintes formatos e conteúdo:
logS_$HOST_ddmmaahhmm.tar.? $LOG/*.log
$SAGE/SSC_Amb
$BD/dc.conf
logSo_$HOST_ddmmaahhmm.tar.? $LOG/*.old
logSy_$HOST_ddmmaahhmm.tar.? /var/??/messages
Uso: geralog [-l lin] [-gz|-bz2]
Onde:
-l lin Seleciona as n linhas finais do arquivo messages
7 SCRIPTS DE MANUTENÇÃO DO SAGE
64
-gz|bz2 Seleciona o comando de compactação. Default:compress
-h Para exibir as opções de uso.
Exemplos:
geralog –l 1000
→ Captura os arquivos de log, e as 1000 linhas finais do arquivo de log do sistema operacional
(messages) no formato messages1000l, gerando os arquivos:
▪ logS_srv1_dd_mm_aa_hhmm.tar.Z ($LOG/*.log + dc.conf + SSC_Amb)
▪ logSo_srv1_dd_mm_aa_hhmm.tar.Z ($LOG/*.old)
▪ logSy_srv1_dd_mm_aa_hhmm.tar.Z (arquivo messages ou syslog)
geralog –bz2 –l 500
→ Captura os arquivos de log, utilizando o comando de compactação bzip2 e seleciona as 500
linhas finais do arquivo de log do sistema operacional (messages) no formato messages500l.
▪ logS_srv1_dd_mm_aa_hhmm.tar.bz2
▪ logSo_srv1_dd_mm_aa_hhmm.tar.bz2
▪ logSy_srv1_dd_mm_aa_hhmm.tar.bz2
geralog –gz
→ Captura os arquivos de log, utilizando o comando de compactação gzip.
▪ logS_srv1_dd_mm_aa_hhmm.tar.gz
▪ logSo_srv1_dd_mm_aa_hhmm.tar.gz
▪ logSy_srv1_dd_mm_aa_hhmm.tar.gz
7.3.7 cria_base
Este procedimento cria os diretórios e arquivos necessários para uma nova configuração do
SAGE, a partir de uma configuração padrão. Sua forma de uso e os opcionais estão descritos
abaixo.
Uso: cria_base <base> [padrao]
Onde:
base É o nome da base a ser criada.
padrao É o nome da base origem (configuração) que será utilizada como referencia para
a criação da nova base, caso não seja especificado, será utilizado o conteúdo da
variável de ambiente $PADRAO.
7 SCRIPTS DE MANUTENÇÃO DO SAGE
65
Exemplos:
cria_base uhett
→ Cria a estrutura de diretórios para a base uhett, baseada em $PADRAO.
cria_base uhett xpto
→ Cria a estrutura de diretórios para a base uhett, baseada na estrutura da base xpto
7.3.8 remove_base
Este procedimento remove os diretórios e arquivos pertencentes a uma configuração do SAGE.
Sua forma de uso e os opcionais estão descritos abaixo.
Uso: remove_base [base]
Onde:
base É o nome da base que será removida.
ATENÇÃO: caso não seja especificado, será utilizado o conteúdo da variável de
ambiente $BASE, portanto a base que está atualmente habilitada será removida.
Exemplos:
remove_base
→ Remove a estrutura de diretórios da configuração indicada em $BASE
remove_base uhett
→ Remove a estrutura de diretórios da configuração uhett.
7.3.9 habilita_base
Este procedimento permite colocar qualquer base de dados do SAGE (instalada) como default.
Ele prepara todo o ambiente com as características da nova configuração. Sua forma de uso e os
opcionais estão descritos abaixo.
Uso: habilita_base [base]
Onde:
base É o nome da base que será habilitada como default. Caso não seja especificado,
será utilizado o conteúdo da variável de ambiente $BASE.
Exemplos:
habilita_base
→ Coloca como default a configuração indicada em $BASE
7 SCRIPTS DE MANUTENÇÃO DO SAGE
66
habilita_base uhett
→ Coloca como default a configuração indicada em uhett
Obs. : As modificações feitas pelo script habilita_base só terão efeito após efetuar logout e login.
7.3.10 instala_sage
Este procedimento permite instalar o SAGE de forma simples e interativa. Com ele, podemos
instalar uma base, os binários, os fontes e também configurar todo o ambiente operacional, no que
diz respeito a variáveis de ambiente e parametrização do sistema operacional. Sua forma de uso e
os opcionais estão descritos abaixo.
Uso: instala_sage <base> [src]
Onde:
base É o nome da base que será instalada e habilitada a partir do arquivo
sagecnf_$BASE.tar.Z;
src É um mnemônico que indica que os fontes do SAGE também devem ser
instalados, esta instalação é feita a partir do arquivo sagesrc.tar.Z.
Exemplos:
instala_sage demo_ems
→ Instala os binários do sistema SAGE e expande o arquivo sagecnf_demo_ems.tar.Z que
contem toda a configuração da base demo_ems, colocando-a como default.
instala_sage demo_ems src
→ Instala os binários e os fontes do sistema SAGE e expande o arquivo sagecnf_demo_ems.tar.Z
que contem toda a configuração da base demo_ems, colocando-a como default.
7.3.11 instala_update
Este procedimento permite instalar os updates do SAGE localmente ou em rede de forma simples
e com algumas vantagens, como por exemplo, a criação de um arquivo de log ($LOG/update.log) que
registra as datas de todas as atualizações efetuadas no sistema. Além disto, uma cópia dos arquivos
alterados é salva no arquivo antes_updnnn_$CPU_$MODELO.tar.Z, (em $SAGE/updates),
permitindo-se, assim, que se retorne a uma situação anterior aos updates, usando o comando
“remove_update <num_upd>”, que irá expandir os arquivos antes_updnnn_$CPU_$MODELO.tar.Z,
na ordem inversa em que foram instalados,
Sua forma de uso e osopcionais estão descritos abaixo.
Uso: instala_update <num_updI> [num_updF] [-h host | -s [arq]] [-u user]
Onde:
-num_updI Número inicial do update a ser instalado.
-num_updF Número final do update a ser instalado.
7 SCRIPTS DE MANUTENÇÃO DO SAGE
67
-h host Instala o(s) update(s) no site especificado em host.
-s Instala o(s) update(s) nos sites configurados no arquivo $BD/sti_hosts.
-s arq Instala o(s) update(s) nos sites configurados no arquivo “arq”.
-u user Instala o(s) update(s) na conta do usuário user.
-h Para exibir as opções de uso.
Exemplos:
instala_update 001
→ Instala o update de nome upd001_$SAGE_SO_ems.tar.Z na máquina local
instala_update 001 010
→ Instala do update 1 ao update 10 na máquina local.
instala_update 010 –s arq_sites
→ Instala o update 10 na(s) máquina(s) relacionada(s) no arquivo ./arq_sites
instala_update 010 –h piracicba
→ Instala o update 10 na máquina piracicaba.
instala_update 010 –s piracicaba –u xpto
→ Instala o update 10 na máquina piracicaba na conta do usuário xpto.
7.3.12 remove_update
Este procedimento permite remover os updates do SAGE e restaurar a versão anterior a partir do
arquivo antes_updnnn_$CPU_$MODELO.tar.Z. Sua forma de uso e os opcionais estão descritos
abaixo.
Uso: remove_update <num_upd>
Onde:
Num_upd é o número do update a ser removido.
Exemplo:
remove_update 10
→remove o update número 10 e restaura o arquivo de backup
antes_upd010_Linux_x86_ems.tar.Z .
7.3.13 zipconfig
Para criar backups da configuração, devemos utilizar o script zipconfig . Este script criará
arquivo(s) de backup nos formatos .tar.Z, .tar.gz ou .tar.bz2 para uma configuração. Se nenhum
parâmetro opcional for selecionado, será criado o arquivo cnf_”$BASE”_ddmmaa.tar.?, com a
configuração completa da base (idem ao criasagecnf).
7 SCRIPTS DE MANUTENÇÃO DO SAGE
68
Veja abaixo os exemplos:
Uso: zipconfig < base| [-x arq] > [-b] [-i] [-t] [-s] [-c] [-m] [-gz | -bz2]
Onde:
base Nome da configuração para a execução do processo.
-x arq Faz a expansão de arq no diretório local a execução.
-b Faz a compactação do diretório $BD.
-i Faz a compactação do diretório de ihm.
-t Faz a compactação do diretório de telas.
-s Faz a compactação do diretório sys.
-c Faz a compactação do diretório de cálculos.
-m Cria múltiplos arquivos (valido para -b,-i,-t,-s e -c).
-gz|bz2 Seleciona o comando de compactação. Default:compress
gz = gzip Compacta mais que o compress.
bz2 = bzip2 Compacta mais que o gz mas é mais lento.
-h Para exibir as opções de uso.
Exemplos:
zipconfig
→ Cria em $SAGE o arquivo cnf_$BASE_ddmmaa.tar.Z (da base habilitada)
zipconfig demo_ems
→ Cria em $SAGE o arquivo cnf_demo_ems_ddmmaa.tar.Z
zipconfig demo_ems -i
→ Cria em $SAGE o arquivo ihm_demo_ems_ddmmaa.tar.Z
zipconfig demo_ems –i -gz
→ Cria em $SAGE o arquivo ihm_demo_ems_ddmmaa.tar.gz
zipconfig demo_ems –i –t -b
→ Cria em $SAGE o arquivo bd_ihm_tel_demo_ems_ddmmaa.tar.Z
zipconfig demo_ems –i –t –b –m
→ Cria em $SAGE os arquivos: bd_demo_ems_ddmmaa.tar.Z
ihm_demo_ems_ddmmaa.t
ar.Z
tel_demo_ems_ddmmaa.tar
.Z
zipconfig -x xpto.tar.gz
→ Expande o arquivo xpto, nos formatos .Z, .gz e bz2, no local de execução do comando.
7 SCRIPTS DE MANUTENÇÃO DO SAGE
69
7.3.14 criasagecnf
Para criar backup da configuração completa, podemos utilizar o script criasagecnf. Este script
criará um arquivo de backup no formato .tar.Z para uma configuração. Será criado o arquivo
sagecnf_“$BASE”.tar.Z.
Uso: criasagecnf [base]
Onde
:
base É o nome da configuração para a execução do processo
-h Para exibir as opções de uso
Exemplos:
criasagecnf
→ Cria em $SAGE o arquivo sage_cnf_$BASE.tar.Z (base habilitada)
criasagecnf demo_ems
→ Cria em $SAGE o arquivo sage_cnf_demo_ems.tar.Z
7.3.15 criasageexe
Este procedimento cria em $SAGE, um arquivo binário de distribuição do SAGE e tem o seguinte
formato: sageexe_$SAGE_SO_$MODELO.tar.Z. Sua forma de uso e os opcionais estão descritos
abaixo.
Uso: criasageexe [sage_so] [modelo]
Onde:
sage_so É o nome da variável de ambiente que indica para qual sistema
operacional e hardware será criado o binário do SAGE (ex.: Linux_x86,
SunOs_sparc). Caso não seja especificado, será utilizado o conteúdo da
variável de ambiente $SAGE_SO;
modelo É o nome da variável de ambiente que indica qual modelo será utilizado
para criar o binário do SAGE. Caso não seja especificado, será utilizado
o conteúdo da variável de ambiente $MODELO.
Exemplos:
criasageexe
→ Cria o arquivo sageexe_$SAGE_SO_$MODELO.tar.Z em $SAGE
criasageexe Linux_x86
→ Cria o arquivo sageexe_ Linux_x86_$MODELO.tar.Z em $SAGE
criasageexe Linux_x86 ems
→ Cria o arquivo sageexe_ Linux_x86_ems.tar.Z em $SAGE
7 SCRIPTS DE MANUTENÇÃO DO SAGE
70
7.3.16 habilita_postgres
Este script cria as bases de dados utilizadas pelo SAGE, no servidor de base de dados relacional
postgresql.
O nome das bases de dados depende do valor das variáveis de ambiente $MODELO (nome do
modelo de dados), $BASE(nome da base de dados de tempo real do SAGE) e $USER (conta do Unix
que será a proprietária das bases).
Na lista abaixo os nomes entre parênteses referem-se às bases criadas para o modelo “ems”,
base “demo_ems” e usuário “sage”, que correspondem a distribuição Padrão do CEPEL.
cf$MODELO_$USER (cfems_sage): Catálogo da Base Fonte;
cr$MODELO_$USER (crems_sage): Catálogo da Base Referência;
ch$MODELO_$USER (crems_sage): Catálogo da Base Histórica;
bf$BASE_$USER (bfdemo_ems_sage): Base Fonte;
bh$BASE_$USER (bhdemo_ems_sage): Base Histórica;
bc$BASE_$USER (bcdemo_ems_sage): Base Histórica Consolidada);
sapre: Base para o Ambiente de Estudos do SAGE.
O script cria ainda as tabelas e atributos para a base histórica consolidada e para a base sapre.
Obs.: Este script só deve ser utilizado se o servidor de base de dados relacional, a ser utilizado
pelo SAGE, for o Postgresql. Para os outros servidores de bancos de dados suportados pelo SAGE
(Informix e Oracle) o procedimento executado por este script deverá ser realizado manualmente pelo
usuário.
Uso : habilita_postgres [-h <hostname> ] [-p <porta>] [-f] [-m] [-help]
Onde:
-h<hostname> Nome ou endereço IP do servidor postgresql na rede.
Valor default = localhost
-p <porta> Porta de serviço do servidor postgresql na rede.
Valor default = 5432.
- f Força a criação das estruturas das bases de dados do SAGE (default)
- m Para a execução do comando sem a recriação das estruturas das bases
de dados do SAGE.
- help Exibe ajuda.
Obs. : A opção –f apaga todas as informações pré-existentes. Não apaga a Base Histórica.
Exemplos:
habilita_postgres
→ Cria as bases utilizando o servidor postgresql instalado em localhost utilizando a porta 5432.
habilita_postgres serv1
→ Cria as bases utilizando o servidor postgresql instalado na máquina serv1 utilizando a porta
5432.
7 SCRIPTS DE MANUTENÇÃO DO SAGE
71
habilita_postgres -f
→ Faz com que as estruturas das bases de dados do SAGE sejam recriadas. Esta opção deve ser
utilizada quando há mudança da estrutura de dados da Base Fonte e/ou da Base de Tempo-Real do
SAGE. A partir do update 16 passou a ser a opção default.
habilita_postgres -m
→ Deve ser utilizada caso usuário desejar executar o comando habilita_postgres sem recriar as
estruturas das bases de dados.
7.3.17 habilita_gbh
Este script cria as tabelas e atributos da base histórica a partir dos arquivos de configuração
preparados pelo usuário. Os arquivos de configuração (entidade.bh e atributo.bh) estão localizados
no diretório $SAGE/config/$BASE/sti/gbh/dados. Caso o usuário deseje utilizar a configuração padrão
do CEPEL, esses arquivos já estão preparados no diretório $SAGE/config/demo_ems/sti/gbh/dados.
Ao fazer a criação de uma novabase através do script cria_base (veja referência neste manual) os
arquivos de configuração da base histórica são automaticamente copiados da base PADRAO para o
diretório correspondente na nova árvore do SAGE.
Antes de executar o script habilita_bh, o usuário deve fazer as alterações que desejar nos
arquivos de configuração relacionados com a estrutura da base histórica fornecida pelo CEPEL. Para
maiores detalhes sobre esse procedimento consulte o Manual de Configuração da Base Histórica.
Uso : habilita_gbh
7.3.18 TrocaIdentTelas
Este script executa a troca dos identificadores de pontos analógicos e digitais nas telas segundo
orientação dada em planilhas csv. Estas planilhas são a conversão de-para que se pretende fazer,
tendo na primeira coluna os identificadores “de” e na segunda coluna os identificadores “para ”.
Uso: TrocaIdentTelas <planilha_pas.csv> <planilha_pds.csv> <tela1> <tela2>
Como resultado, o script gera no diretório corrente as novas telas, tendo o nome do arquivo
seguido de _ID.
Onde:
planilha_pas.csv Planilha com pontos analógicos
planilha_pds.csv Planilha com pontos digitais
tela1 Tela utilizada
tela2 Tela utilizada
Os seguintes cuidados devem ser tomados ao construir as planilhas CSV necessárias ao uso do
script:
7 SCRIPTS DE MANUTENÇÃO DO SAGE
72
▪ Não pode haver espaços entre as duas colunas, apenas o caractere “ponto-e-vírgula”;
▪ Um identificador não pode aparecer duas vezes na mesma planilha.
Exemplos:
TrocaIdentTelas <planilha_pas.csv> <planilha_pds.csv> <tela1> <tela2>
→ Troca nas telas 1 e 2 os identificadores dos pontos analógicos contidos na primeira planilha
pelos identificadores dos pontos digitais contidos na segunda planilha. Como resultado no diretório
corrente, temos:
<tela1>_ID <tela2>_ID
73
8 Planilha de Leituras Periódicas
O SAGE oferece uma funcionalidade provida pelo processo hist , através da qual são gerados
arquivos em formato CSV do MicroSoft-EXCEL, contendo um histórico de valores de pontos
analógicos pertencentes à entidade PAS do SAGE.
Esses pontos analógicos podem ser selecionados estaticamente na entidade PAS da Base Fonte
atribuindo o valor SIM ao atributo UAPL, ou dinamicamente através do diálogo desse tipo de ponto no
VisorTelas com o botão ‘seleção para exportação’. O número máximo de pontos que podem ser
selecionados é de 256.
A periodicidade de gravação de XX segundos é determinada com:
“setenv TMP_PLAN XX”
no SSC_Amb, onde o valor mínimo de XX é 2 segundos.
No SAGE, a periodicidade de aquisição analógica pode variar segundo os protocolos utilizados
(IEC/60870-5-104, DNP V3.0, IEC/61850, TASE.2 etc.), os parâmetros utilizados na base de dados
para ajuste desses protocolos, e a própria velocidade das linhas de comunicação. Sendo assim, a
periodicidade de gravação escolhida em TMP_PLAN deverá estar compatível com a taxa de
aquisição analógica possível de se obter no 0sistema configurado.
São gerados quatro arquivos diários "mmmddaa-p.csv" onde:
"mmm” é o mês
"dd" é o dia
"aa" é o ano
"p" é o período
para 00:00/06:00 p=1
06:00/12:00 p=2
12:00/18:00 p=3
18:00/24:00 p=4
Quando são feitas alterações na base de dados que afetam esta função, como, por exemplo, a
remoção de um ponto anteriormente selecionado para gravação, ou quando, por algum motivo, um
dos arquivos foi corrompido ou danificado, é feito um backup da planilha corrente e uma nova planilha
começa a ser escrita. As planilhas backup têm a mesma formação de nome, exceto pelo fato de que
em vez dos números 1, 2, 3 e 4 para designar os períodos, são usadas as letras a, b, c e d
respectivamente:
Capítulo
8
8 PLANILHA DE LEITURAS PERIÓDICAS
74
para 00:00/06:00 p=a
06:00/12:00 p=b
12:00/18:00 p=c
18:00/24:00 p=d
Os arquivos "csv" são lidos diretamente no EXCEL, e ficam em $ARQS pelo período definido na
variável de ambiente $NDIAS, assim como todos os outros desse diretório.
Ao lado de cada valor de medida registrado, pode existir um caracter de atributo de qualidade,
indicando medição inválida ("@") ou medição manual ("%").
No Windows deve ser configurado:
- o separador ";" em ControlPanel-RegionalSetings-Number-ListSeparator
- símbolo "." em ControlPanel-RegionalSetings-Number-DecimalSimbol
Na Figura 8- 1 pode ser visto um exemplo da planilha gerada:
Figura 8- 1 - Arquivo out2606-3.csv.
Observações:
1. Quando um ponto é selecionado ou tem sua seleção cancelada dinamicamente, ou seja,
através do VisorTelas, suas medidas só são incluídas ou excluídas no arquivo csv do próximo
período a ser gerado.
2. A aquisição dos valores é feita de acordo com a periodicidade de gravação estipulada, porém,
os registros só aparecerão na tabela caso ocorra variação no valor de pelo menos uma
medida.
8 PLANILHA DE LEITURAS PERIÓDICAS
75
3. No caso de queda do sistema, este evento ficará registrado na tabela apresentando os valores
da suas medidas zerados e acompanhados do caracter “ #”, como pode ser visto na linha 19
na planilha do exemplo acima.
8 PLANILHA DE LEITURAS PERIÓDICAS
76
77
9 Controle de Processo via linha de
comando (gcd_shell)
O gcd _shell é um utilitário que permite a interação com o módulo do GCD (gerente de controle
distribuído) para habilitar/desabilitar processos em um nó da rede para fins de manutenção. Esta
funcionalidade também está presente no Visor de Processos.
A sua ativação pode ser feita diretamente através de uma única linha de comando com a
especificação dos parâmetros, ou de modo de interativo.
9.1 Sintaxe de Ativação
O utilitário é ativado pela seguinte sintaxe: gcd_shell -c [comando] [processo] <noh> <-u user>
Onde:
-c → Executa o utilitário em linha de comando;
comando → Número ou mnemônico que indica qual comando será realizado sobre o
processo;
processo → Nome do processo (cadastrado na base de dados) sobre o qual será realizada o
comando;
noh → É o nome do nó (cadastrado na base de dados) onde será realizada o
comando. A especificação do nó é opcional já que depende do comando a ser
executado;
-u user → Executa o utilitário em outra conta de tempo-real.
Caso não seja especificado nenhum parâmetro, será exibida a janela ilustrada a seguir, para a
seleção dos comandos:
Capítulo
9
9 CONTROLE DE PROCESSO VIA LINHA DE COMANDO (GCD_SHELL)
78
Figura 9- 1 – Opções do utilitário gcd_shell.
Após a exibição desta tela, o usuário deverá informar a função desejada seguindo a sintaxe
especificada ao lado do comando conforme na Figura 9- 2.
9.1.1 Comandos
O GCD-Shell possui os seguintes comandos:
INPR_NO Inibição de um processo em um nó. Após esta chamada o processo será
desativado neste nó.
Exemplo:
gcd_shell INPR_NO calc srv1
INPR_GLO Inibição de um processo globalmente. Após esta chamada o processo será
desativado em toda a rede de tempo real. Este procedimento é equivalente a
usar a funcionalidade INPR_NO para todos os nós em que o processo está
cadastrado para rodar.
Exemplo:
gcd_shell INPR_GLO calc
DEPR_NO Habilitação de um processo em um nó. Após esta chamada o processo será
ativado neste nó. É o procedimento contrário ao item INPR_NO.
Exemplo:
gcd_shell DEPR_NO alr ihm3
DEPR_GLO Habilitação de um processo globalmente. Após esta chamada o processo
será ativado em toda a rede de tempo real. É o procedimento contrário ao
INPR_GLO.
Exemplo:
gcd_shell DEPR_GLO hist
FIM Sai do utilitário. Após esta chamada o gcd_shell é encerrado.
Para executar as ações acima, o usuário pode utilizar o nome da ação ou seu número,
respeitando a sintaxe de cada uma destas.
9 CONTROLE DE PROCESSO VIA LINHA DE COMANDO (GCD_SHELL)
79
Obs.1: : O gcd_shell funciona somente quando a ativação do SAGE é automática, visto que na
ativação manual o GCD não é lançado e os processos são ativadosum a um pelo usuário.
9 CONTROLE DE PROCESSO VIA LINHA DE COMANDO (GCD_SHELL)
80
81
10 Aquisição de Dados de Sistemas
externos (ADS)
O módulo ADS (Aquisição de Dados de Sistemas Externos) foi desenvolvido originalmente para
que o SAGE recebesse dados do primeiro sistema EMS instalado no CNOS (fornecido pela empresa
francesa SODETEG TAI.) criando dessa forma um ambiente de supervisão paralela com esse
sistema. Posteriormente foram acrescentadas funcionalidades que permitiram colocar dois SAGEs
em paralelo.
O serviço ADS integra o servidor ADS_LOC se comunicando com dois tipos de clientes: o ADS
para dados SCADA e o ADE para dados estimados. Esses clientes são independentes e podem
funcionar ambos no mesmo sistema ou individualmente.
O cliente ADS funciona no SAGE como um conversor de protocolo para comunicação com outros
sistemas ou com um outro SAGE, aquisitando os dados analógicos e digitais e executando controles
supervisórios. O cliente ADE atualiza a base do SAGE com os dados do Estimador de Estado ativo
no sistema COS.
O ADS tem sido amplamente utilizado na migração de sistemas antigos para o SAGE, também
para a disponibilização de plataformas de Tempo Real para fins corporativos e para disponibilização
de dados reais para ambientes de simulação e testes de bases de dados e aplicativos, sem
interferência no sistema e riscos operacionais.
Figura 10- 1 - Aplicação do ADS.
O ADE tem sido utilizado para sistemas locais poderem exibir localmente os dados estimados no
Sistema COS.
Capítulo
10
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
82
10.1 Funcionamento
Os processos clientes residem em $SAGE/bin/$SAGE_SO/$MODELO , e o servidor em
$SAGE/bin/$SAGE_SO .
Os dados do SAGE de Tempo-Real são disponibilizados para o Servidor ADS (asd_loc) pelo
processo hist que roda nos servidores de tempo-real. Estes arquivos são lidos pelo ads_loc (servidor)
e transferidos para o ads/ade (cliente) no SAGE paralelo via TCP/IP. São eles:cl.ref e cl.dat, para
pontos digitais e pa.ref, pa.dat e pe.dat para pontos 0analógicos.
Os arquivos com extensão .ref são arquivos contendo a lista de pontos da base de dados do
SAGE de Tempo-Real e são enviados para o SAGE paralelo sempre que ele entra no ar com uma
nova base de dados. Esta lista é utilizada pelo SAGE paralelo para verificar quais pontos serão
disponibilizados pelo servidor e em que referência de ordem os valores dos mesmos serão listados
nos arquivos .dat. Isso permite que o ADS/ADE funcione mesmo quando há inconsistência de bases
entre os SAGEs.
Os arquivos pa e cl com extensão .dat contêm os valores SCADA de Tempo-Real dos pontos
listados nos arquivos de referência (.ref) e são enviados periodicamente para o SAGE paralelo.
O arquivo pe.dat contém os dados estimados, análogos aos dados tempo-real de pa.dat.
Como são produzidos pelo módulo ‘hist’ esses arquivos residem no diretório $ARQS do SAGE de
Tempo-Real e o comando de lançamento do servidor (ads_loc) deve apontar para este diretório.
O ADS/ADE espera que os arquivos .dat sejam constantemente atualizados. O cliente ADS/ADE
detecta a perda de comunicação com o SAGE paralelo através do envelhecimento dos arquivos .dat.
A melhor forma de produzir arquivos .dat é a que usa este arquivo como um link, e a cada ciclo
grava uma cópia (operação não atômica), "alterando o link" da cópia anterior em outro arquivo para a
cópia recém gravada no novo arquivo, já que a operação de recriação do link é atômica.
Os controles supervisórios executados no sistema remoto são repassados pelos ads cliente para o
ads_loc, que tenta a execução do mesmo caso esta função esteja habilitada no script de lançamento
do servidor. O servidor ads_loc repassará ao ads cliente a informação de sucesso ou fracasso do
controle e estas serão repassadas ao operador normalmente como com qualquer outro conversor.
O log do processo cliente fica em $LOG junto com os logs de outros processos do SAGE. Já o log
do processo servidor fica em /tmp , visto que este pode estar rodando fora de uma plataforma SAGE,
obtendo arquivos por NFS.
Para que o cliente ADS funcione, é necessário que o SAC esteja no ar e não pode haver nenhum
protocolo concorrendo com ele, ou seja, o SAGE paralelo pode ter outros protocolos rodando
simultaneamente ao ADS desde que não estejam aquisitando um mesmo ponto da base de dados.
Para que o cliente ADE funcione, não pode haver concorrência com o SAR_estmon.
10.2 Configuração para utilização ADS
10.2.1 SSC_AMB – Variáveis de Ambiente
TMP_INTGR - Utilizada pelo cliente ADS/ADE no SAGE paralelo, define de quanto em
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
83
quanto tempo deverá ser feita a integridade dos dados.
Os arquivos .dat são lidos do servidor com a periodicidade definida no
script de ativação (ads_on.rc) e são repassadas para o SAC apenas as
variações, mas, de tempos em tempos o ADS repassa os valores de
todos os pontos. Este tempo é definido em TMP_INTGR.
ATLZINV - Utilizada pelo SAC no SAGE paralelo, define se os valores de pontos
analógicos e digitais na base de dados do SAGE local devem ser
atualizados mesmo que estes estejam inválidos no SAGE remoto,
garantindo assim coerência de valor de dados inválidos entre eles. Os
valores possíveis são sim e nao, sendo o default nao.
Nas contas em que o SAGE é alimentado com dados via ADS essa
variável deve ser criada com o valor sim. Para as contas de tempo-real
essa variável de ambiente não deve existir ou deve estar com o valor
default (nao).
TMP_ADAT – Utilizada pelo hist no SAGE de Tempo-Real, define a periodicidade de
gravação dos arquivos .dat, em segundos. Esse valor deve ser menor ou
igual ao tempo de varredura configurado no Cliente ADS.
Estas variáveis devem ser definidas no arquivo $BASE/sys/SSC_Amb.
Figura 10- 2 - Funcionamento do ADS.
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
84
10.2.2 Base de Dados
Para utilizar o processo ADS cliente, é necessária sua configuração na base de dados fonte do
SAGE, mediante o preenchimento das tabelas PRO, SXP e INP. A seguir veremos um exemplo de
configuração do ADS em dois servidores da rede SAGE (sage1 e sage2).
10.2.2.1 Tabela PRO - Classe de Processos
Esta tabela configura os processos do SAGE. Deve ser adicionado o seguinte registro:
PRO ADS PRO ADE
ATIVA = PRS ID = ADE
ATVAT = AUT NOME= Aquisição de Dados Estimados
ESSEN = NES SCRAT = Ade_on.rc
ID = ads SCRDE = Ade_off.rc
NOME = Aquisição de Dados de Sistemas
Externos
SCRAT = ads_on.rc
SCRDE = ads_off.rc
TIPPR = INSP
10.2.2.2 Tabela SXP - Relacionamento Severidade x Classe de Processos
Esta tabela define para cada processo um limite tolerado de erros e eventos que ele pode gerar,
classificados por severidade. Devem ser adicionados os seguintes registros:
SXP
PRO = ads/Ade
SEV = ADVER
SPX
PRO = ads/Ade
SEV = FATAL
SPX
PRO = ads/Ade
SEV = NORML
SPX
PRO = ads/Ade
SEV = PANIC
SPX
PRO = ads/Ade
SEV = SNULA
SPX
PRO = ads/Ade
SEV = URGEN
10.2.2.3 Entidade Instância de Processo
Um processo pode ser ativado em vários nós e cada uma dessas ativações define uma instância
do processo. Esta entidade configura as instâncias de todos os processos do SAGE.
Devem ser adicionados os seguintes registros:
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
85
INP
NOH = sage1
ORDEM = 1
PRO = ads/Ade
INP
NOH = sage2
ORDEM = 2
PRO = ads/Ade
10.2.3 Script de Ativação ADS:
O script de ativação do cliente ADS (ads_on.rc) contém o comando de lançamento do processo.
Este script faz parte da distribuição do SAGE e pode ser customizado. A seguir são descritos dois
exemplos de comando de ativação do cliente ADS:
nohup $SAGE/bin/$SAGE_SO/$MODELO/ads $CONTEXTO srv_remoto_1 srv_remoto_2 ref 2 di
> $LOG/ads.log &
Onde:
▪ nohup é o comando de lançamento▪ $SAGE/bin/$SAGE_SO/$MODELO/ads é o caminho onde se encontra o executável do
processo
▪ $CONTEXTO é a variável de ambiente que define o contexto em que o ADS vai rodar
▪ srv_remoto_1 e srv_remoto_2 é a declaração das máquinas onde roda o servidor ADS
▪ ref é a string que habilita o pedido dos arquivos .ref na inicialização
▪ 2 é o tempo de varredura dos dats em segundos
▪ di é a string que define que a varredura será integral (todas as TACs atualizadas de uma só
vez)
▪ > $LOG/ads.log é o comando de escrita do log de ativação
nohup $SAGE/bin/$SAGE_SO/$MODELO/ads $CONTEXTO 161.79.56.14 161.79.56.14
nref 600 dp CS > $LOG/ads.log &
Onde
▪ nohup é o comando de lançamento
▪ $SAGE/bin/$SAGE_SO/$MODELO/ads é o caminho onde se encontra o executável do
processo
▪ $CONTEXTO é a variável de ambiente que define o contexto em que o ADS vai rodar
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
86
▪ 161.79.56.14 e 161.79.56.14 é a declaração das máquinas onde roda o servidor ADS
▪ nref é a string que desabilita o pedido dos arquivos .ref na inicialização
▪ 600 é o tempo de varredura em segundos
▪ dp é a string que define que a varredura será parcial (o ADS dividirá o tempo de varredura
entre as TACs e fará a atualização das mesmas gradativamente)
▪ CS string de filtro (o ADS fará leitura somente dos pontos cujo ID comece com CS)
▪ > $LOG/ads.log é o comando de escrita do log de ativação
Obs. : Configurar o script de ativação do ADS cliente de forma que os dois IPs especificados
apontem para as duas máquinas (principal e backup) do SAGE de tempo-real, onde será feita a
instalação do Servidor ADSL.
10.2.4 Script de Ativação ADE:
O script de ativação do processo ADE é semelhante ao do processo ADS:
nohup $SAGE/bin/$SAGE_SO/$MODELO/Ade $CONTEXTO srv1 srv2 [dcp/ids] > $LOG/ade.log &
O parâmetro “dcp” ou “ids” determina se os pontos analógicos serão localizados na base de dados
pelo atributo identificador “id” presente na MCD “ids” ou pelo atributo “observ” presente na MCD “dcp”.
10.2.5 Configuração de Ativação do Servidor ADSL no Boot
Como o servidor ADS (ads_loc) não é controlado pelo SAGE, o ideal é que este seja ativado
durante o boot das máquinas de tempo-real. O procedimento para automatizar a ativação do servidor
ADSL no boot é descrito abaixo:
1. No $HOME da conta SAGE das máquinas onde vai ser instalado o ADSL, criar um sub-
diretório de nome 'adsl'. Por exemplo, se $SAGE for '/export/home/sage/sage' esse diretório
será '/export/home/sage/adsl'
> cd $HOME
> mkdir adsl
2. Copiar o arquivo executável ads_loc para o diretório recém criado adsl:
> cp $BIN/../ads_loc $HOME/adsl
3. Criar, dentro do diretório $HOME/adsl, o script executável S99adsl, com o seguinte conteúdo:
#ident "@(#)/etc/rc3.d/S99adsl 14/05/97 CEPEL"
case "$1" in
'start')
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
87
if [ -x /export/home/sage/adsl/ads_loc ]
then
/export/home/sage/adsl/ads_loc /tmp/sage/arqs &
fi
;;
'stop')
exit
;;
esac
Obs1. : Através do comando ls –l, verificar se o script tem permissões de execução. Caso não
tenha, executar o comando:
> chmod a+x S99adsl
Obs2. : É importante que os caminhos absolutos dos diretórios adsl e $ARQS definidos no script
estejam corretos.
Obs.3: Para habilitar a execução de controles supervisórios no servidor ads_loc a linha:
/export/home/sage/adsl/ads_loc /tmp/sage/arqs &
Deve ser alterada para:
/export/home/sage/adsl/ads_loc /tmp/sage/arqs xx CR TL_HAB &
Onde:
▪ CTRL_HAB é o parâmetro opcional de habilitação de execução de controles;
▪ xx é o tempo de time-out de controle em segundos.
4. Como super-usuário, copie esse S99adsl editado para o diretório:
/etc/rc3.d, se a plataforma for SUN;
/etc/rc5.d, se a plataforma for Linux;
/sbin/rc3.d se a plataforma for Alpha;
/etc/rc5.d. se a plataforma for Itanium, mesmo do L inux.
5. Reiniciar a máquina.
Para verificar se o servidor ADSL está funcionando corretamente utilizar o seguinte comando:
>tail -f /tmp/adsl.log
10.3 Arquivos CL.REF , PA.REF, PA.DAT, PE.DAT e
CL.DAT
Os arquivos planos descritos abaixo, encontram-se em $ARQS e são usados pelo módulo ADS do
SAGE para a interface de Dados entre Sistemas.
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
88
10.3.1 CL.REF e PA.REF (codificação ASCII)
dd-mmm-aaaa hh:mm:ss.ms
<id-ponto-1>
.
.
.
<id-ponto-n>
Onde ’dd-mmm-aaaa hh:mm:ss.ms’ é a data-hora da criação do arquivo REF que será
referenciada nos arquivos DAT. O arquivo ‘cl.ref’ possui os identificadores dos pontos digitais de PDS
e o arquivo ‘pa.ref’ os identificadores dos pontos analógicos de PAS.
10.3.2 PA.DAT ou PE.DAT (codificação binária)
Figura 10- 3 – Codificação binária de PA.DAT.
onde os valores das medidas e as datas-hora do cabeçalho são gravados em formato VAX . O
tamanho total desse arquivo é de [18 + (n*6)+8] bytes.
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
89
10.3.3 CL.DAT (codificação binária)
Figura 10- 4 - Codificação binária de CL.DAT.
O tamanho total desse arquivo é de [18 + (n*2)+8] bytes.
10.3.4 Codificação do Estado e dos Flags
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
90
91
11 Supervisão via linha de comando (
info-tr)
O utilitário INFO_TR é um programa de consulta interativa de dados de tempo real. Ele permite a
leitura de estados e valores da base de dados e a atuação sobre pontos do sistema elétrico.
O utilitário é ativado pela seguinte sintaxe: info-tr
Ao ser ativado o utilitário exibe a tela mostrada abaixo.
Figura 11- 1 - Tela de Apresentação do Utilitário INFO-TR.
Após a exibição desta tela, o usuário digita um dos comandos acima listados, seguido de
<ENTER>.
O comando Le possibilita a leitura do valor ou estado corrente e atributos diversos de qualquer
ponto de tempo real dos tipos digital, analógico, totalizado ou ponto de controle supervisório.
No exemplo abaixo o usuário solicita as informações sobre o ponto PA_FPOT_DJ2054_AZ, e
recebe o seguinte reporte:
Capítulo
11
11 SUPERVISÃO VIA LINHA DE COMANDO ( INFO-TR)
92
Comando (L,C,A,U,E,H,R,T,I,N,F) → le PA_FPOT_DJ2054_AZ
Informacoes da medida analogica PA_FPOT_DJ2054_AZ ( indice 33):
[ Fator de Potencia Fase AZ do DJ2054 de PA ]
Considerado → 700.50
Aquisitado → 700.50
Limites Inf. → 0.00 0.00 0.00
Limites Sup. → 689.00 750.00 760.00
Regiao → normal
Flags → -FOVAR -FALHA -IVORG -MAORG +SACOK
-MANUA -NINCI +ANREC -AINIB -NOSUP
Através do qual são obtidas as seguintes informações:
▪ Índice - Índice absoluto no banco de dados (1-n) para o tipo de ponto escolhido, no caso
uma medida analógica, igual a 33.
▪ Descrição - Descrição do ponto obtida da base de dados, no caso [Fator .de Potência …].
▪ Considerado - Valor considerado do ponto, ou seja aquele que é reportado para os
sistemas externos (centros de controle que recebem esse dado). O valor considerado pode
ser inserido manualmente pelo Subsistema de Interface Gráfica (SIG) ou substituído
automaticamente pela estimação de estado do Subsistema de Análise de Redes (SAR).
▪ Aquisitado - O valor efetivamente aquisitado do sistema ou equipamento que o enviou.
Será diferente do valor considerado se o atributo de inserção manual feita pelo SIG estiver
assinalado.
▪ Limites Inferiores - Informa os valores do limites inferiores que determinam as regiões
inferiores de advertência, urgência e escala, nessa ordem.
▪ Limites Superiores - Informa os valores do limites superiores que determinam as regiões
superiores de advertência, urgência e escala, nessa ordem.
▪ Região - Informa a região de operação corrente de uma medição analógica ou de um
totalizador, dentre as regiões: normal, inferior de advertência inferiorde urgência, superior
de advertência, superior de urgência, inferior de escala ou superior de escala. Para os
totalizadores somente a região normal e as regiões superiores são possíveis de serem
atingidas.
▪ Flags - Informa os estados dos atributos: "fora de varredura" (FOVAR), "em falha de
aquisição" (FALHA), "inválido na origem" (IVORG), "manual na origem" (MAORG),
"manualmente inserido pelo operador local" (MANUA), "serviço de aquisição e controle ok"
(SACOK), "não inicializado após o estabelecimento da comunicação de dados" (NINCI),
"presença de evento de alarme não reconhecido para o ponto nas listas de alarme"
11 SUPERVISÃO VIA LINHA DE COMANDO ( INFO-TR)
93
(ANREC), "geração de alarmes inibida para o ponto" (AINIB) e "ponto não supervisionado
pelo SAC" (NOSUP). Cada keyword acima listada é acompanhada de um sinal (+),
indicando que o atributo está assinalado ou (-) para indicar que ele está desassinalado.
O comando Controla permite enviar ao SAC um pedido de controle supervisório para close
(valor=1) ou trip (valor=0), um set-point ou um conjunto de pulsos de raise (valor=+n) ou lower
(valor=-n).
O comando Adv permite enviar ao SAC um pedido para alteração dos limites inferior e superior de
advertência.
O comando Urg permite enviar ao SAC um pedido para alteração dos limites inferior e superior de
urgência.
O comando Entra permite fazer uma inserção manual sobre o ponto escolhido da mesma forma
que é feita pelo SIG. Após a execução desse comando o ponto ficará "fora de varredura" e "inserido
manualmente", ou seja, o valor aquisitado não será transferido para o campo de valor considerado.
O comando Habilita permite a restauração do ponto a condição normal de aquisição após uma
inserção manual ou retirada de varredura ou inibição de alarme.
O comando Reconhece possibilita reconhecer um alarme inserido nas listas de alarmes sem ser
necessário o acesso a essas listas, mas apenas referenciando o nome do ponto.
O comando Tipo permite que seja indicado sobre que tipo de dado se pretende atuar. Os tipos
válidos e keywords equivalentes são:
▪ dig - para pontos de aquisição de estados digitais (chaves, disjuntores, etc.. );
▪ med - para pontos de aquisição de medidas analógicas (MW, MVAR, KV, etc..);
▪ tot - para pontos de aquisição de totalizadores (dados hidro-meteorológicos, dados de
MWh, etc.. );
▪ ctl - para pontos de controle supervisório.
O comando Inibe permite a inibição de alarme de um ponto.
O comando Índice permite obter o endereço da TAC a qual pertence o ponto e o seu índice
relativo dentro dela. Essa informação pode ser usada no arquivo de programa de simulação que o
simulador sim-tr processa para simular um cenário dinâmico de tráfego de mensagens para o sac.
O comando Fim termina o programa.
11 SUPERVISÃO VIA LINHA DE COMANDO ( INFO-TR)
94
95
12 Failover de Gateways
O SAGE implementa a filosofia de pares de máquinas (gateways) redundantes entre si em hot
standby, ou seja, uma das máquinas assume a posição de nó primário e gerencia as comunicações
com UTRs, IEDs, CLPs etc, e o nó chamado secundário fica online, pronto para tornar-se primário em
casa de falha do nó que desempenha este papel. Esta migração da gerência das comunicações é
chamada failover de gateways.
Visto que o failover de gateways só acontece caso haja uma queda no nó primário, foi
implementado um esquema de failover automático, executado pelo SAC, para as situações em que o
sistema no nó primário permanece no ar mas com todas as ligações inoperantes.
A habilitação deste esquema é feita através da definição da variável de ambiente TMP_FAIL_GSD
no arquivo $BASE/sys/SSC_Amb conforme segue:
setenv TMP_FAIL_GSD xxx
onde xxx é o tempo em segundos para a ativação do failover.
O failover somente ocorrerá se:
1. o nó é primário no gateway e existe um nó secundário ativo;
2. estão inoperantes todas as ligações vinculadas a protocolos (exceto CNVD e NLCN), cujo
atributo "verbd" da entidade LSC não seja igual a "LOCAL", e que já tenham passado pelo
estado operacional nesse nó pelo menos uma vez desde que o estado primário foi assumido.
Existe ainda a possibilidade de se provocar o failover de gateways a partir de um controle
supervisório. Para tanto é preciso implementar no código da aplicação do usuário uma rotina que
execute o script de restart do gateway primário ($SAGE/bin/scripts/gcd_off_cgs.rc) a partir da
ativação de um controle lógico (CGS). Neste caso o failover será ativado pelo processador de
cálculos (CALC).
Uma terceira maneira de se provocar um failover de gateways é através do protocolo SNMP. O
script de restart do gateway primário poderá ser executado pelo agente SAGE SNMP quando
solicitado por um gerente SAGE SNMP ou por um outro software de gerenciamento SNMP.
Obs. : Para mais informações consultar a documentação do SNMP.
Capítulo
12
12 FAILOVER DE GATEWAYS
96
97
13 Instalação e Uso do Som no SAGE
13.1 Introdução
Este capítulo descreve a configuração do esquema de “som local em console”, adicional ao
esquema já existente de “som global em sala de controle”, oferecendo ao usuário uma opção para
audição dos alarmes sonoros da IHM em ambientes afastados da sala de controle.
O esquema está disponível para consoles instaladas em ambiente MS-Windows utilizando
Exceed ou Exceed-on-Demand e ambiente Linux utilizando X-Windows das máquinas.
13.2 Instalação do Servidor de Som Local –
SERVSOM
13.2.1 Em Ambiente Windows
Para gerenciar a emissão dos sons dos alarmes do SAGE em uma console de IHM, é necessário
instalar na máquina da console o servidor de som ServSom . Caso o ambiente operacional da
console seja MS-Windows com Exceed ou Exceed-on-Demand, deve-se proceder da seguinte
maneira:
▪ Certificar-se através do comando “java –version”, digitado em uma janela de Prompt de
Comando, que a versão do JAVA é igual ou superior a 1.6.0_13 (version 6 update 13).
Caso não seja, instalar o JAVA mais recente a partir de www.java.com.
▪ Criar no Windows a variável de ambiente “SAGE” que indicará o diretório de instalação dos
softwares relacionados ao SAGE. Para efetuar a criação, clicar em “Painel de Controle �
Sistema � Configurações Avançadas � Variáveis de Ambiente � Novo ”, digitar
“SAGE” para o nome da variável e o caminho completo do diretório para o valor da
variável, como por exemplo, “C:\sage”.
▪ Obter através do site do SAGE, a mais recente versão do kit de instalação
inst _ServSomJava .zip disponível em Serviços On Line � Atualizações � Outubro de
2008 � updates. Colocar esse arquivo ZIP em um diretório temporário e expandi-lo.
Executar o arquivo Instala _ServSomJava .bat . Será criado no DeskTop do Windows um
Capítulo
13
13 INSTALAÇÃO E USO DO SOM NO SAGE
98
ícone “ServSom ” para a ativação do aplicativo. Sugere-se que a ativação do ServSom
seja copiada para o menu “Iniciar ”, de forma que esse servidor sempre esteja ativo
enquanto o usuário estiver utilizando a console.
▪ Após a instalação do ServSon no ambiente Windows, será necessária a configuração
específica do Exceed para abrir um Visor de Acesso com o servidor de som configurado.
Para isto, tenha um Xstart Cliente instalado na máquina e um Client específico para o som.
Depois de devidamente instalado o Exceed, clique no ícone Exceed on Demand no
desktop e configure o servidor EoD da seguinte maneira:
1. Na aba Connect da janela abaixo, conecte-se ao Servidor Exceed inserindo as informações
solicitadas e efetue o Login.
2. Escollha qual Xconfig e Xstart serão carregados, selecionando na barra de menus a opção
Edit /Xconfig Manager . Selecione a opção “XDCMP_Broadcast.cfg”
13 INSTALAÇÃO E USO DO SOM NO SAGE
99
3. Clique no botão Copy e renomeie a novo arquivo .cfg criado para o nome desejado e, em
seguida, clique no botãoModify . Será criada uma conexão passiva para abrir uma janela com
a execução de um software Linux como, por exemplo, o Visor de Acesso do SAGE.
4. Modifique as configurações do Xconfig:
• Na aba Font clique em Edit ;
• Na janela seguinte, clique em Add e em Font Server insira o Host do servidor de
fontes e escolha a porta a ser usada. Por precaução faremos o procedimento 2 vezes
para usar as 2 portas 7000 e 7100. Após a inserção dos 2 servidores de fonte, deve-
se mover os 2 para o topo da lista clicando no botão Move Up. Confirme a operação
cllicando em OK e siga para a próxima aba.
13 INSTALAÇÃO E USO DO SOM NO SAGE
100
5. Na aba Communication , selecione a opção Passive para Startup Mode.
13 INSTALAÇÃO E USO DO SOM NO SAGE
101
– No caso de estar criando um script para carregar um Desktop SAGE, escolha a
opção XDMCP_QUERY e insira o IP do servidor Exceed. Clique em Apply para
aplicar a mudança.
6. Na aba Performance , desabilite a opção “Limit Window Exposures” da área Drawing e
modifique a opção Backing Store para When Mapped. Na área Connection , modifique a
opção Speed para Slow e clique em Apply para aplicar as mudanças.
7. Na aba Screen do Xconfig certifique-se de que na área Window Mode esteja selecionada
para “Multilpe”. Ainda nessa área, na opção Window Manager, selecione a opção “Default to
13 INSTALAÇÃO E USO DO SOM NO SAGE
102
Native”. A maioria das aplicações X trabalham com as janelas nativas do Windows, porém
algumas requerem o gerenciador de janelas nativo do Sistema Operacional da Aplicação.
Caso a aplicação necessite do gerenciador de janelas nativo, o EOD pode trazer qualquer
gerenciador de janelas do Linux/Unix (mwm, Metacity ou olwm). É valido efetuar testes
utilizando a opção “PseudoColor” na área General na opção de Server Visual. Essa opção
selecionada reduz consideravelmente o tamanho das imagens que são transferidas do Server
para o Client. Na opção General , selecione a opção “Exit on X Server Reset” para sair do
Exceed quando fechar as janelas ou resetar o ambiente X o servidor Linux.
8. Clique em Ok para finalizar a configuração do Xconfig.
9. Selecione o novo Xconfig e clique em Select .
10. No caso de estar criando um script para carregar um Desktop SAGE escolha a opção none
para o Xstart, salte o procedimento de criação (vá para o item 14 desta lista) e salve o arquivo
EoD. Para a criação de um novo Xstart, basta clicar na opção Editar da barra de menus e
escolher a opção Xstart Manager . Será aberta uma nova janela com os Xsarts existentes.
Pode-se criar um novo Xstart clicando em New... ou copiar um já existente clicando em Copy .
No exemplo usaremos New...:
13 INSTALAÇÃO E USO DO SOM NO SAGE
103
11. Segundo a janela abaixo, na área Startup , para a opção Method selecione Secure Shell , na
área Conection insira em Host o IP do servidor Exceed, e em Command insira o comando
para chamar a tela do programa Linux. Após o preenchimento dos dados, salve a
configuração clicando no ícone de disquete na parte superior da janela ou através do menu
File /Save.
12. Na janela seguinte, nomeie ao novo Xstart e confirme a operação clicando em Save.
13 INSTALAÇÃO E USO DO SOM NO SAGE
104
13. Selecione o novo Xstart e clique Select .
14. Para criar um ícone de acesso direto ao Visor de Acesso na área de trabalho, na tela inicial
salve a nova conexão do Exceed OnDemand que terá uma extensão .eod , clicando no ícone
de disquete da barra de ferramentas, conforme janela abaixo:
15. Confira os dados e clique em continue:
13 INSTALAÇÃO E USO DO SOM NO SAGE
105
16. Escolha o local, neste caso o Desktop , dê um nome ao novo script e salve.
17. Clique no ícone e verifique se o script funcionou corretamente.
13.2.2 Em Ambiente Linux
Caso o ambiente operacional da console seja Linux (X-Windows), proceder da seguinte maneira:
▪ Como super-usuário no diretório $SAGE/drivers , instalar o ServSom para ser ativado no
próximo boot do Linux utilizando o comando “instala_transportes SSOM ”. Caso não se
deseje mais que o ServSom seja ativado, deve-se executar da mesma forma o comando
13 INSTALAÇÃO E USO DO SOM NO SAGE
106
“desinstala _transportes ”. Os arquivos serão instalados em /usr/local/sage_transp, os
sons (*.dsp) e o ServSom.cnf em /usr/local/sage_transpconfig/$BASE/bd .
▪ Criar em $HOME/Desktop, um icone no desktop para executar um Visor de Acesso
remotamente. Este ícone define a IHM para conexão, sendo ideal ter pelo menos dois
ícones, um principal e um reserva para conexão com outra IHM em casos onde a IHM
principal esteja fora do ar. A seguir exemplo de criação do ícone VisorIHM1.desktop.
[Desktop Entry]
Comment=
Comment[pt_BR]=
Encoding=UTF-8
Exec=xhost + ; ssh sage@161.79.56.22 "setenv REMOTE HOST 161.79.57.199 ;
/export/home/sage/sage/bin/scripts/VisorRemoto_on.r c"
GenericName=VisorIHM1
GenericName[pt_BR]=VisorIHM1
Icon=ktalkd
MimeType=
Name=VisorIHM1
Name[pt_BR]=VisorIHM1
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DCOP-ServiceType=
X-KDE-SubstituteUID=false
X-KDE-Username=
Tendo como base o exemplo anterior, customize a linha abaixo conforme seu ambiente:
Exec=xhost + ; ssh sage@161.79.56.22 "setenv REMOTE HOST 161.79.57.199 ;
/export/home/sage/sage/bin/scripts/VisorRemoto_on.r c"
Onde:
ssh sage@161.79.56.22
é o IP da IHM para conexão remota;
setenv REMOTEHOST 161.79.57.199
é o IP local, onde será exibido o visor de acesso.
▪ Ao clicar no ícone criado anteriormente, a janela abaixo será exibida solicitando a senha
para acesso a IHM remota.
13 INSTALAÇÃO E USO DO SOM NO SAGE
107
Figura 13 - 1: Janela de solicitação de senha para IHM remota.
Obs .: O primeiro acesso a IHM por ssh, deve ser feito via terminal, após responder a pergunta
chave para acesso. Essa pergunta não aparece no diálogo acima e sem a resposta correta não será
possível a autenticação para acesso a IHM, conforme figura abaixo:
Caso a interface gráfica para primeiro acesso não funcione conrretamente, esta deve ser
configurada através da execução do comando ssh conforme exemplo abaixo:
Exemplo :
sage@srv1:~/Desktop > ssh 161.79.58.198
The authenticity of host '161.79.58.198 (161.79.58. 198)' can't be
established.
RSA key fingerprint is 26:5b:6f:65:cf:29:0d:94:99:5 0:ff:ac:f4:f9:78:39.
Are you sure you want to continue connecting (yes/n o)?
Observação :
Para configurar o serviço de Som Local no SAGE utilizando uma própria IHM dentro da mesma
rede de difusão, siga os seguintes passos:
13 INSTALAÇÃO E USO DO SOM NO SAGE
108
▪ Como super-usuário no diretório $SAGE/drivers , instalar o ServSom utilizando o comando
“instala_transportes SSOM ”.
▪ Setar a variável de ambiente SERV_SOM através do seguinte comando “setenv
SERV_SOM $HOTS”
▪ Caso não se deseje iniciar o servidor de som apenas no próximo boot, este pode ser ativado
manualmente através do comando “service sage_transp start” . Além disso, o SAGE deve
ser ativado no mesmo terminal onde foram executados os comandos citados
anteriormente.
13.3 Habilitação, Inibição e Silenciamento do Som
Local
Foi recomendado anteriormente manter o servidor ServSom ativo na console de IHM, e para isso,
que ele estivesse associado ao boot do Linux ou ao “Iniciar” do Windows. Dessa forma, a habilitação,
inibição e silenciamento do som local da console, deve ser feito sempre através dos botões
disponíveis nos Visores de Acesso, Alarmes ou Telas do SAGE.
A condição default dos botões de habilitação, inibição e silenciamento de sons de alarmes
continuam se referindo ao “som global em sala de controle ”.
Para utilizar o “som local em console ”, o usuário deverá selecionar a opção "Local " no Quadro
"Som de Alarmes" localizado na ficha "Programas " do Visor de Acesso, conforme Figura 13 - 2:
Figura 13 - 2: Habilitação de Som Local de Alarmes no Visor de Acesso do SAGE.
No Visor de Telas , o usuário habilita o som local em console selecionando o item "Habilitar Som
Local de Alarmes " do menu "Base " conforme Figura 13 - 3.
13 INSTALAÇÃO E USO DO SOM NO SAGE
109
Figura 13 - 3: Habilitação de Som Local de Alarmes através do Visor de Telas do SAGE.
Para habilitar através do Visor de Alarmes , selecione a opção "Habilitar Som " através do menu
“Ações ” conforme Figura 13 - 4.
Figura 13 - 4: Habilitação de Som Local de Alarmes através do Visor de Alarmes do SAGE.
Ao habilitar o som em ambiente Windows, um balão de mensagem do ícone do Servidor de Som
na barra de tarefas da máquina indicará que este estado, conforme figura abaixo:
13 INSTALAÇÃO E USO DO SOM NO SAGE
110
O usuário poderá usar com referência, o ícone da FIGURA acima ou o botão indicativo com um
alto-falante nos Visores de Telas e de Alarmes para saber se o som local em console está habilitado
ou não, que também poderá ser utilizado para silenciar um som contínuo.
No Visor de Telas temos:
Som Global habilitado
Som Global desabilitado
Som Local habilitado
Som Local desabilitado
No Visor de Alarmes:
Som habilitado
Som desabilitado
O pedido de habilitação do som local em console deve ser feito pelo menos uma vez para o SAGE
a partir de uma determinada console. Essa condição de habilitação fica memorizada no SAGE e
mesmo que o sistema seja reiniciado, não será necessário refazer essa habilitação. Para a inibição
do som local em console as mesmas condições se aplicam.
13.4 Definição de Sons Locais Customizados
Com a introdução do conceito de som local na console, a customização de arquivos de sons tende
a ser mais usada, já que agora eles poderão ser específicos para o usuário da console.
Na tabela OCR da base de dados do SAGE, uma determinada ocorrência de alarme é associada a
um som de alarme. O usuário pode definir sons customizados utilizando para isso no atributo TPSOM
um valor de USR04 a USR32.
Na base demo_ems, a OCR PDNOT, associada ao alarme utilizado para inserir uma nota de
operação no Visor de Alarmes, foi configurada para usar o TPSOM=USR04. Esta OCR pode ser
usada como exemplo para definição de outros alarmes com TPSOM=USRxx.
Na configuração da OCR, define-se o tempo de duração do som (em mili-segundos) e o número
de repetições do som que o ServSom efetuará quando ocorrer o alarme. Este som deverá estar
gravado no arquivo som_usrXX.au (formato .au para Windows e .dsp para Linux).
13 INSTALAÇÃO E USO DO SOM NO SAGE
111
Por exemplo, o arquivo som _usr04 .au é uma mensagem de voz com a fala “Nota de Operação ”.
Esse som dura cerca de 4 segundos (4000 mili-segundos) e é soado apenas uma vez. Por esse
motivo, na definição da OCR temos DUR=4000 NREP=1.
Para se customizar um determinado som de alarme, após a sua adequada definição na tabela
OCR, deve-se providenciar a colocação do arquivo som_usrXX.au no diretório raiz do ServSom ,
juntamente com os arquivos som_breve.au , som_longo.au e som_continuo.au , que lá residem.
Além disso, deve-se informar novamente a duração e número de repetições no arquivo ServSom.cnf
do mesmo diretório, já que a informação editada na tabela OCR da base de dados refere-se ao “som
global em sala de controle”, que pode ser diferente do “som local em console” para cada console do
sistema.
Como o formato de arquivo de som com extensão AU, padronizado pela SUN e pelo JAVA, não é
muito popular, é fundamental que seja possível converter arquivos WAV, MP3, WMA, AAC, AMR, etc
(alguns deles usados em gravadores de som de telefones celulares), no padrão AU.
Para efetuar a conversão de qualquer desses formatos para o formato AU pode-se, por exemplo,
utilizar os serviços gratuitos do site www.convertfiles.com , seguindo as instruções (simples) do site
para efetuar a conversão (imediata).
Apos a conversão, o arquivo .au obtido poderá ser convertido em .dsp pela execução do comando
dspinfo em um terminal Linux, de uma máquina que tenha placa de som instalada. Este comando cria
em $BD uma cópia de todos os arquivos formato .au no formato .dsp .
Para se exercitar a produção de arquivos de som customizados, sugere-se usar a base
demo_ems substituindo o arquivo som _usr04 .au pelo arquivo a ser testado, re-configurar a duração
do som do novo arquivo em ServSom .cnf , e testar a sua audição usando o comando de “Nota de
Operação ” do Visor de Alarmes.
Outra possibilidade é ter sons de usuário (USRxx ) configurado na base de dados do SAGE, mas
que a sua audição não é desejada em uma determinada console. Nesse caso, basta que o arquivo
associado ao som não exista no diretório de instalação do ServSom daquela console
(/usr/local/sage_transp/config/$BASE/bd) e que o arquivo ServSom .cnf contenha a seguinte
configuração DUR=0 NREP=0 para este "som nulo".
13 INSTALAÇÃO E USO DO SOM NO SAGE
112
113
14 Serviço de Aquisição e Controle
(SAC)
14.1 Configuração do SAC
Alguns parâmetros do módulo SAC (Serviço de Aquisião e Controle) são configurados através do
arquivo $BD/sac.conf , que pode ser alterado de forma dinâmica, com o SAGE ativo. Para o SAC
assumir uma nova configuração, deve ser emitido o comando "kill -USR1 " para o processo SAC que
possuir o menor PID dentre os dois processos visíveis na lista obtida pelo comando "psax ".
A sintaxe de definição de um parâmetro neste arquivo é:
parâmetro = valor
O arquivo sac.conf admite os seguintes parâmetros:
14.1.1 Parâmetros Gerais
14.1.1.1 DIF_PP
Este parâmetro indica a forma da difusão, admitindo os seguintes valores:
▪ 0 - Indica difusão por TAC.
▪ 1 - Indica difusão por ponto.
14.1.1.2 STAT_BND
Este parâmetro é usado para gerar tanto estatísticas de uso da banda morta, definida conforme
descrito em 14.1.2, quanto estatísticas de variação analógica a cada ciclo de 4 segundos. Em ambos
os casos, a estatística fica registrada no arquivo $LOG/sac.log .
O parâmetro admite os valores:
▪ 0 – Indica que as estatísticas estão desabilitadas.
▪ 1 - Indica que as estatísticas estão habilitadas.
Capítulo
14
14 SERVIÇO DE AQUISIÇÃO E CONTROLE (SAC)
114
14.1.1.3 TEMPO_MAX_INIB_ALR
Indica o número máximo de segundos que um ponto pode ficar com o alarme inibido. Se o valor
for zero, o SAC não habilitará automaticamente pontos que estiverem com alarme inibido.
14.1.1.4 JANELA_SOE_VALIDO
Esse parâmetro pode ser especificado com um ou dois valores.
Se for especificado com um único valor, ele indica o tempo máximo em segundos tolerado para a
diferença entre a data-hora de um evento de SOE recebido em um protocolo e a data-hora corrente.
O valor do arquivo sac.conf da base demo_ems foi ajustado para 86400 segundos (1 dia) mantendo,
dessa forma, compatibilidade com o procedimento adotado no processo ALR, que tem a capacidade
de registrar eventos de SOEdo dia corrente, do dia anterior e do próximo dia.Caso a data-hora do
evento extrapole a janela definida, o registro de SOE (arquivo SDE) será descartado, sendo mantido
apenas o registro do alarme (arquivo ALR e Visor de Alarmes) e um Log informativo no arquivo de
extensão SSDE. O valor default zero desse parâmetro mantém o esquema atual, que não critica a
data-hora dos eventos de SOE.
Se for especificado com dois valores, o primeiro valor deverá ser um número negativo para a
janela anterior à hora corrente e o segundo, um número positivo, para a janela posterior à hora
corrente. Se, nesse caso, os números forem diferentes, ao invés do registro de SOE ser descartado,
ele será substituído pela hora corrente além de marcado com o flag de impreciso.
O descarte ou substituição de SOE em conseqüência da verificação desteparâmetro é registrada
no diretório $ARQS, em um arquivo de extensão “.ssde”, que utiliza o mesmo padrão de nome dos
que possuem extensão “.sde” .
14.1.1.5 HORA_ALARME_ORIGEM
Este parâmetro admite os seguintes valores:
▪ 0 – valor default.
▪ 1 - O SAGE utilizará a hora de atualização na origem (também SOE), recebida no protocolo
de comunicação para a geração de alarmes. Essa opção só tem efeito se a aquisição é
feita através do protocolo ICCP e, no caso de pontos analógicos, a medida é reportada
com time-tag.
14.1.1.6 AUTO_REST_VARR
Se tiver o valor 1, esse parâmetro permite a restauração automática da varredura e eventual
remoção da entrada manual de um ponto que passa do estado aquisitado inválido para válido.
14 SERVIÇO DE AQUISIÇÃO E CONTROLE (SAC)
115
14.1.1.7 ALR_VALID
Se tiver o valor 1, esse parâmetro permite a geração de um alarme indicando que um ponto com
varredura inibida ou entrada manual ou substituição pelo Estimador de Estado passou do estado
aquisitado inválido para válido.
14.1.1.8 IND_RAZOAB
Este parâmetro admite os seguintes valores:
▪ 0 – valor default.
▪ 1 - Faz com que o SAGE ligue o atributo @bit22 em a1_flags caso a medida extrapole os
limites de escala.
▪ 2 - Faz com que o @bit22 seja atualizado em função da informação recebida no protocolo
de comunicação. Este valor só tem efeito se a aquisição é feita através do protocolo ICCP
e o VCC remoto é um SAGE com distribuição via SICCP.
14.1.1.9 IGN_ALINT
Este parâmetro admite os seguintes valores:
▪ 0 - Indica que o atributo ALINT será processado normalmente
▪ 1 - Indica que o atributo ALINT será ignorado para todos os pontos da base que tenham o
atributo assinalado.
14.1.2 Parâmetros de Ajuste da Banda Morta
Este grupo de parâmetros permite definir uma banda morta percentual do valor corrente por tipo
de medida configurado no atributo TIPO de um ponto PAS, cujo atributo BNDMO tenha o valor zero
(ver descrição da entidade PAS no manual de configuração SAGE-SCADA).
Observe que, ao contrário dos parâmetros listados anteriormente, a sintaxe dos parâmetros para
ajustar banda morta por tipo utiliza caixa baixa. Estes parâmetros são:
14.1.2.1 freq
Simbólico do tipo de medida K_GRANDANA_FREQ.
14.1.2.2 outros
Simbólico do tipo de medida K_GRANDANA_OUTROS.
14 SERVIÇO DE AQUISIÇÃO E CONTROLE (SAC)
116
14.1.2.3 kv
Simbólico do tipo de medida K_GRANDANA_VOLT.
14.1.2.4 eca
Simbólico do tipo de medida K_GRANDANA_ECA.
14.1.2.5 mw
Simbólico do tipo de medida K_GRANDANA_P.
14.1.2.6 mvar
Simbólico do tipo de medida K_GRANDANA_Q ou K_GRANDANA_QANT.
14.1.2.7 amp
Simbólico do tipo de medida K_GRANDANA_CORRENT.
14.1.2.8 tmp
Simbólico do tipo de medida K_GRANDANA_TMP.
14.1.2.9 bias
Simbólico do tipo de medida K_GRANDANA_BIAS.
14.1.2.10 nivel
Simbólico do tipo de medida K_GRANDANA_NVL.
14.1.2.11 harmonicas
Simbólico do tipo de medida K_GRANDANA_HARMONICAS.
14.1.2.12 tap
Simbólico do tipo de medida K_GRANDANA_TAP.
14.1.2.13 tempo
Simbólico do tipo de medida K_GRANDANA_TEMPO.
14 SERVIÇO DE AQUISIÇÃO E CONTROLE (SAC)
117
14.1.2.14 vazao
Simbólico do tipo de medida K_GRANDANA_VAZAO.
14.1.2.15 default
Nenhum dos simbólicos listados acima.
14.2 Descrição de a1_flags
O atributo a1_flags faz parte da base de dados do SAGE e seus bits são usados para descrever o
status de pontos de controle (cgs), pontos analógicos (pas), pontos digitais (pds) ou pontos
totalizados (pts). De acordo com o tipo de ponto, os bits de a1_flags têm significados distintos, que
estão descritos abaixo.
Cada bit de a1_flags está associado a um simbólico, descrito no documento anexo II de
configuração (Descrição da Base Referência).
14.2.1 a1_flags para pontos de controle
Para pontos de Controle (cgs), os bits de a1_flags têm o seguinte signficado:
No do
Bit
Significado
0 Controle ativado
1 Controle inibido
2 Controle em falha de comunicação
3 Controle selecionado pela IHM
4 SAC operacional neste Nó
5 Inversão do controle
6 Habilitação da verificação do resultado
14.2.2 a1_flags para pontos analógicos
Para pontos Analógicos (pas), os bits de a1_flags têm o seguinte significado:
No do
Bit
Significado
0 Erro grosseiro de estimação
1 Fora de varredura
2 Falha de aquisição
3 Inválido na origem
4 Manual na origem
5 Manual local
6 Não inicializado
7 Alarme não reconhecido
8 Não supervisionado
9 Alarme inibido
10 Disponível para uso
11 SAC operacional neste Nó
12 Inválido local
14 SERVIÇO DE AQUISIÇÃO E CONTROLE (SAC)
118
No do
Bit
Significado
13 Fora de varredura na origem
14 Gera alarme inic. e integridade
15 Selecionado para Análise de Redes
16 Selecionado para distribuição
17 Habilitação de auto-reconhecimento
18 Selecionado para aplic. do usuário
19 Substituído pela Análise de Redes
20 Permite controle no Modo Estudo
21 Valor estimado na origem
25 Condição inicial do ponto na base fonte = estimado
26 Sinal de valor considerado invertido
27 Permite atualizar dado mesmo inválido
28 Indicador de medida fasorial sincronizável
29 Indicador de medida fasorial não sincronizada
30 Habilita sincronismo externo de entradas manuais
14.2.3 a1_flags para pontos digitais
Para pontos Digitais (pds), os bits de a1_flags têm o seguinte significado:
No do
Bit
Significado
0 Estado considerado do ponto digital
1 Fora de varredura
2 Falha de aquisição local
3 Inválido na origem
4 Manual na origem
5 Manual local
6 Não inicializado local
7 Evento de Alarme não reconhecido
8 Pont não supervisionado
9 Alarme inibido
10 Disponível para uso
11 SAC operacional neste nó
12 Inválido local
13 Fora de varredura na origem
14 Gera alarme inicialização e na integridade
15 Selecionado para Análise de Redes
16 Selecionado para distribuição
17 Habilitação de auto-reconhecimento
18 Selecionado para aplic. do usuário
19 Estado aquisitado
20 Estado inicial do ponto
21 Estado de referência do ponto – IHM
22 Indicador de Trânsito / Dupla transição
23 Indicado de Evento para cálculo
26 Estado considerado invertido
27 Permite atualizar dado mesmo inválido
28 Inibe Registro do SOE
29 Habilita sincronismo externo de entradas manuais
14 SERVIÇO DE AQUISIÇÃO E CONTROLE (SAC)
119
14.2.4 a1_flags para pontos totalizados
Para pontos Totalizados (pts), os bits de a1_flags têm o seguinte significado:
No do
Bit
Significado
0 Invalidou no período anterior
1 Fora de varredura
2 Em falha de aquisição
3 Inválido na origem
4 Manual na origem
5 Manual local
6 Não inicializado
7 Evento de alarme não reconhecido
8 Ponto não supervisionado
9 Alarme inibido
10 Disponível para uso
11 SAC operacional neste Nó
12 Inválido local
13 Fora de varredura na origem
14 Gera alarme na inicialização e na integridade
15 Selecionado para Análise de Redes
16 Selecionado para distribuição
17 Habilitação de auto-reconhecimento
18 Selecionado para aplic. do usuário
27 Permite atualizar dado mesmo inválido
29 Habilita sincronismo externo de entradas manuais