Escolar Documentos
Profissional Documentos
Cultura Documentos
Manual
Administração do SAGE
SAGE_ManAdm.doc
Janeiro de 2010
Quadro de Revisão
Preparado por:
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.
Conteúdo
1 INTRODUÇÃO.......................................................................................................1
i
CONTEÚDO
ii
CONTEÚDO
iii
CONTEÚDO
iv
Capítulo
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 5 - Ajuste de Limites por Patamares de Carga: 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 9 Planilha Excel gerada pelo Módulo HIST: descreve uma funcionalidade que gera
arquivos contendo um histórico de valores de pontos analógicos.
1
1 INTRODUÇÃO
▪ 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 um outro SAGE.
2
Capítulo
2
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 Retoceder Base
do Visor Base ou ativar o sistema com a base fria.
3
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
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
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
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
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.
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 cadastrados 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
...
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.
Esta entidade configura a informações para dump e/ou preservação dos dados de tempo real.
Em psv.dat é feita a selaçã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.
3
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
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.
4
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
Feita esta alteração, o Dump será executado a cada 30 minutos na próxima ativação.
5
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
6
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
Figura 2 - 2 -
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.
7
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
8
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
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.
9
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
** IMPORTANTE ! Estas classes de MCD nunca devem ser marcadas para Dump pois isso pode
gerar mal funcionamento do sistema.
10
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
11
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
12
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
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.
13
2 PRESERVAÇÃO DA BASE DE DADOS (DUMPBD)
14
Capítulo
3
3 Manual da Base Histórica
3.1 Introdução
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 Figura 3 - 1 descreve o fluxo da informação do SAGE.
15
3 MANUAL DA BASE HISTÓRICA
▪ Base Referência
▪ Base On–line
▪ Base Histórica
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
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
▪ Armazenada em disco
É 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.
16
3 MANUAL DA BASE HISTÓRICA
▪ Residente em memória
▪ Arquitetura proprietária
17
3 MANUAL DA BASE HISTÓRICA
18
3 MANUAL DA BASE HISTÓRICA
19
3 MANUAL DA BASE HISTÓRICA
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.
20
3 MANUAL DA BASE HISTÓRICA
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:
21
3 MANUAL DA BASE HISTÓRICA
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 STI_cargbh.
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.
22
3 MANUAL DA BASE HISTÓRICA
3.6.2 Particionamento
23
3 MANUAL DA BASE HISTÓRICA
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- 5
24
3 MANUAL DA BASE HISTÓRICA
3.6.2.3 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.
25
3 MANUAL DA BASE HISTÓRICA
ENT
NOME= <nome da tabela na base histórica>
IDEN = <atributos chave 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>
LCLINDX= <nome da tablespace onde serão criados os índices. O valor
default é SAGEBHIND>
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>
O atributo HISTPER que tem seu valor definido na entidade PAS da base fonte do SAGE indica o
período, em segundos, que o ponto será verificado. Esse valor deve ser múltiplo do período de
varredura determinado ou preenchido com zero para o ponto ser verificado a cada varredura ou com -
1 para excluir o ponto do histórico.
O atributo HISTSLC definido na base fonte pode assumir os valores SIM e NAO o que indica se o
ponto digital deve ser gravado no histórico ou não.
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 do atributo na base histórica>
PEREXP = <período de integridade em segundos>
ENTID = <tabela de referência associada>
26
3 MANUAL DA BASE HISTÓRICA
Os atributos das tabelas dinâmicas são definidos no arquivo atributo.bh da seguinte forma:
ATR
NOME= <nome do atributo na base histórica>
ENT = <nome da entidade>
ATRBD = <nome do atributo na base on-line do SAGE>
NOTIF = <se igual a SIM indica que o atributo deverá ser verificado a cada
varredura e caso tenha seu valor alterado gravar o registro na base
histórica. No esquema assíncrono funciona também como gatilho
para dispara varredura>
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>
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
K_PDS_FLG_FVORG Fora de varredura na origem
27
3 MANUAL DA BASE HISTÓRICA
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:
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.
▪ Configurar Base Histórica, nesse passo são geradas as estruturas da base histórica e o
programa STI_cargbh 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]
28
3 MANUAL DA BASE HISTÓRICA
3.9 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/disponibilidades da 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.
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.
29
3 MANUAL DA BASE HISTÓRICA
Figura 3 - 6 -
30
3 MANUAL DA BASE HISTÓRICA
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- 9
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- 10
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 - 7.
Figura 3 - 7 -
31
3 MANUAL DA BASE HISTÓRICA
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.
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.
32
3 MANUAL DA BASE HISTÓRICA
Figura 3 - 8 -
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
33
3 MANUAL DA BASE HISTÓRICA
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.
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:
▪ Período Partição: Período em segundos da partição que pode ser diária, semanal ou mensal.
Onde:
▪ npontos: Número de registros na tabela de referência relativa à tabela histórica.
34
3 MANUAL DA BASE 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 STI_cargbh baseado no comportamento do
sistema elétrico monitorado.
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- 12
35
3 MANUAL DA BASE HISTÓRICA
36
Capítulo
4
4 Simulação do Tráfego de Dados de
Tempo Real no SAGE (sim-tr)
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;
▪ [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.
37
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
▪ 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Ó.
38
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
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.
Sintaxe: > 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.
Sintaxe: > 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.
Sintaxe: > 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.
Sintaxe: > 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.
Sintaxe: > PCT val
INI(s) - Requer o parâmetro val 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.
Sintaxe: > INI val
39
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
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.
Sintaxe: > 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.
Sintaxe: > 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.
Sintaxe: > 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.
Sintaxe: > 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.
Sintaxe: > 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.
Sintaxe: > 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
digitação da tecla <ENTER> para continuar com a execução do programa de simulação. Esse
comando não requer subcomandos.
Sintaxe: > 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.
Sintaxe: > LGN TAC ind
> LGN nome_tac
40
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
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.
Sintaxe: > 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.
Sintaxe: > 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.
Sintaxe: > 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
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.
41
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
CIC(c) - Requer o parâmetro pc que marca uma linha do arquivo de simulação como início de um
ciclo.
Sintaxe: > 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.
Sintaxe: > 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.
Sintaxe: > 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.
42
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
43
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
#
> CIC 4 ; marca
ponto 4 de ciclo
> VAR med C2E02AE03ALT1MW REL 2.0 ; rampa de
mais 20 MW ...
> VAR med C2E02AE03ALT1MR REL 2.0 ; ... em
steps de 2.0 MW
> ESP 1 ; espera 1
seg
> LOP 10 4 ; cicla 10
vezes em 4
#
> SDE C2E02ADB1B VAL 0 SEG 1 MIL 123 ; disjuntor
abriu !
> VAR med C2E02AE03ALT1MW VAL 0.0 ; medidas
zeraram
> VAR med C2E02AE03ALT1MR VAL 0.0 ;
> ESP 20 ; aguarda 20
seg
> SDE C2E02ADB1B VAL 0 SEG 1 MIL 345 ; disjuntor
fechou
> VAR med C2E02AE03ALT1MW VAL 500.0 ; recoloca
valores iniciais
> VAR med C2E02AE03ALT1MR VAL 200.0 ;
> ESP 1 ; espera 1
seg
> LOP 1000 1 ; cicla 1000
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.
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>.
44
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
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" ]
then
sim-tr sim_uge_lower srv1
else
sim-tr sim_uge_raise srv1
fi
exit
45
4 SIMULAÇÃO DO TRÁFEGO DE DADOS DE TEMPO REAL NO SAGE (SIM-TR)
46
Capítulo
5
5 Monitor de Mensagens Físicas
(MMF)
47
5 MONITOR DE MENSAGENS FÍSICAS (MMF)
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.
48
Capítulo
6
6 Ajustes de Limites por Patamares
de Carga (Pcarg)
49
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (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.
50
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (PCARG)
Para determinar a mudança de patamar de um 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.
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.
51
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (PCARG)
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,
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)
52
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (PCARG)
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’.
O CEPEL recomenda a utilização do exemplo distribuído com a base ‘demo_ems’ como base para
a configuração inicial dessas entidades.
T_xxx_yy
Define a ordenação de pesquisa nas entradas da tabela de
ID
tempo onde ‘xxx’ está no formato 001 a 999 e ‘yy’ no formato
01 a 99
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’ é
HORÁRIO 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.
Identificação do PTC associado ou o caractere ‘*’ indicando
PTC que a entrada da tabela de tempo está associada a todos os
PTC.
Define o valor do patamar de carga dentre as palavras chave
MIN, LEV, MED, PES, MAX para os patamares de carga
PATAMAR 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.
53
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (PCARG)
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
54
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (PCARG)
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.
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.
55
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (PCARG)
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.
56
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (PCARG)
57
6 AJUSTES DE LIMITES POR PATAMARES DE CARGA (PCARG)
58
Capítulo
7
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: <xxx> - parâmetros obrigatórios;
[xxx] - parâmetros opcionais.
2. AtualizaBD [] [fonte] [fria] [fria fonte] [user <nome user>] [user <nome user> fonte] [path <path
arq xdr] [path <path arq xdr> fonte]
8. remove_base [base]
9. habilita_base [base]
59
7 SCRIPTS DE MANUTENÇÃO DO SAGE
13. zipconfig < base| [-x arq] > [-b] [-i] [-t] [-s] [-c] [-m] [-gz | -bz2]
17. habilita_gbh
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:
60
7 SCRIPTS DE MANUTENÇÃO DO SAGE
→ 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.
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:
61
7 SCRIPTS DE MANUTENÇÃO DO SAGE
▪ 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.
▪ 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;
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.
62
7 SCRIPTS DE MANUTENÇÃO DO SAGE
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;
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.
Exemplos:
AtualizaBD
→ Atualiza os arquivos XDR e faz a preservação a partir de $BD da conta local.
63
7 SCRIPTS DE MANUTENÇÃO DO SAGE
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”.
64
7 SCRIPTS DE MANUTENÇÃO DO SAGE
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
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
logSo_$HOST_ddmmaahhmm.tar.? $LOG/*.old
logSy_$HOST_ddmmaahhmm.tar.? /var/??/messages
Onde:
-l lin Seleciona as n linhas finais do arquivo messages
65
7 SCRIPTS DE MANUTENÇÃO DO SAGE
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)
▪ 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.
66
7 SCRIPTS DE MANUTENÇÃO DO SAGE
Exemplos:
cria_base uhett
7.3.8 remove_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
67
7 SCRIPTS DE MANUTENÇÃO DO SAGE
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.
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 os opcionais 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.
68
7 SCRIPTS DE MANUTENÇÃO DO SAGE
Exemplos:
instala_update 001
→ Instala o update de nome upd001_$SAGE_SO_ems.tar.Z na máquina local
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).
69
7 SCRIPTS DE MANUTENÇÃO DO SAGE
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 –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 bd_demo_ems_ddmmaa.tar.Z
arquivos:
ihm_demo_ems_ddmmaa.tar.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.
70
7 SCRIPTS DE MANUTENÇÃO DO SAGE
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
71
7 SCRIPTS DE MANUTENÇÃO DO SAGE
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.
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.
72
7 SCRIPTS DE MANUTENÇÃO DO SAGE
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 nova base 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”.
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:
73
7 SCRIPTS DE MANUTENÇÃO DO SAGE
▪ Não pode haver espaços entre as duas colunas, apenas o caractere “ponto-e-vírgula”;
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
74
Capítulo
8
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:
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
75
8 PLANILHA DE LEITURAS PERIÓDICAS
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.
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.
76
Capítulo
9
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.
Figura 9- 1 –
77
9 CONTROLE DE PROCESSO VIA LINHA DE COMANDO (GCD_SHELL)
Após a exibição desta tela, o usuário deverá informar a função desejada digitando um dos
comandos acima listados.
9.1.1 Comandos
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.
Obs.: 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 ativados um a um pelo usuário.
78
Capítulo
10
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 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 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.
10.1 Funcionamento
O módulo ADS é constituído de 2 processos, cliente e servidor.
79
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
O processo cliente é o ads e o processo servidor, quando os sistemas paralelos são dois SAGEs,
é o ads_loc, o primeiro disponível na distribuição do SAGE em $SAGE/bin/$SAGE_SO/$MODELO, e
o segundo em $SAGE/bin/$SAGE_SO.
Quando o ADS é utilizado para colocar o SAGE em paralelo com outros sistemas, o processo
servidor é específico, modificado e alterado de acordo com a plataforma local, não disponibilizado na
distribuição do SAGE.
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 asd_loc (servidor)
e transferidos para o ads (cliente) no SAGE paralelo via TCP/IP. São eles:cl.ref e cl.dat, para pontos
digitais e pa.ref e pa.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 funcione mesmo quando há inconsistência de bases entre
os SAGEs.
Os arquivos com extensão .dat contém os valores de Tempo-Real dos pontos listados nos
arquivos de referência (.ref) e são enviados periodicamente para o SAGE paralelo.
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 espera que os arquivos .dat sejam constantemente atualizados. O cliente ADS 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 não necessariamente vai estar rodando em uma
plataforma SAGE.
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.
TMP_INTGR - Utilizada pelo cliente ADS no SAGE paralelo, define de quanto em quanto
80
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
81
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
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).
Esta tabela configura os processos do SAGE. Deve ser adicionado o seguinte registro:
PRO
ATIVA = PRS
ATVAT = AUT
ESSEN = NES
ID = ads
NOME = Aquisição de Dados de Sistemas Externos
SCRAT = ads_on.rc
SCRDE = ads_off.rc
TIPPR = INSP
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
SEV = ADVER
SPX
PRO = ads
SEV = FATAL
SPX
PRO = ads
SEV = NORML
SPX
PRO = ads
SEV = PANIC
SPX
PRO = ads
SEV = SNULA
SPX
PRO = ads
SEV = URGEN
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:
INP
82
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
NOH = sage1
ORDEM = 1
PRO = ads
INP
NOH = sage2
ORDEM = 2
PRO = ads
Onde:
▪ nohup é o comando de lançamento
▪ $CONTEXTO é a variável de ambiente que define o contexto em que o ADS vai rodar
▪ di é a string que define que a varredura será integral (todas as TACs atualizadas de uma só
vez)
Onde
▪ nohup é o comando de lançamento
▪ $CONTEXTO é a variável de ambiente que define o contexto em que o ADS vai rodar
83
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
▪ 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)
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.
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
3. Criar, dentro do diretório $HOME/adsl, o script executável S99adsl, com o seguinte conteúdo:
84
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
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 &
Onde:
▪ CTRL_HAB é o parâmetro opcional de habilitação de execução de controles;
5. Reiniciar a máquina.
Para verificar se o servidor ADSL está funcionando corretamente utilizar o seguinte comando:
>tail -f /tmp/adsl.log
dd-mmm-aaaa hh:mm:ss.ms
<id-ponto-1>
.
.
.
<id-ponto-n>
85
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
Figura 10- 3 -
onde os valores das medidas e as datas-hora do cabeçalho são gravados em formato VAX. O
tamanho total do arquivo é de [18 + (n*6)] bytes.
Figura 10- 4 -
86
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
87
10 AQUISIÇÃO DE DADOS DE SISTEMAS EXTERNOS (ADS)
88
Capítulo
11
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.
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:
89
11 SUPERVISÃO VIA LINHA DE COMANDO ( INFO-TR)
▪ Descrição - Descrição do ponto obtida da base de dados, no caso [Fator .de Potência …].
▪ 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"
90
11 SUPERVISÃO VIA LINHA DE COMANDO ( INFO-TR)
(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..);
91
11 SUPERVISÃO VIA LINHA DE COMANDO ( INFO-TR)
92
Capítulo
12
12 Failover de Gateways
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.
93