FAQ





 


<< VOLTAR
 
  11-18 de 18 Perguntas  
11.

ASSUNTO: Temporizações do controle supervisório
PERGUNTA: Gostaríamos de saber qual o tempo máximo de atraso que poderemos ter no canal de comunicação para que a execução de um comando obtenha sucesso sem apresentar time-out ?

RESPOSTA: Existem tres parâmetros relacionados a execução e verificação de controle supervisório. São os atributos NTENT e RESPT da entidade UTR, gerenciados pelos módulos conversores de protocolo, e o atributo TRRAC da entidade CGS, gerenciado pelo módulo SAC.

O número de tentativas NTENT e o tempo de espera RESPT são usados também por outros tipos de mensagem nos protocolos de comunicação, além das de controle supervisório, e dizem respeito ao mecanismo efetuado pelos conversores de protocolo para recuperação de erros de comunicação em sessões onde o SAGE envia uma mensagem com um pedido e espera por uma mensagem de resposta que, caso não seja recebida no intervalo RESPT de centésimos de segundos, será repetida até NTENT vezes antes de declarar a ligação inoperante.

Já o temporizador TRRAC medido em segundos, é específico para aguardar a última mensagem de confirmação de término de cada ponto de controle, porque diferentes pontos de controle podem sinalizar o término da operação com diferentes tempos. Por exemplo, o controle sobre uma chave seccionadora pode demorar um tempo maior para sinalizar o término do que o controle sobre um disjuntor.

 

<< Voltar

 

12.

ASSUNTO: Uso do SAGE em rede heterogênea
PERGUNTA: Em minha instalção disponho de máquinas PC com o sistema operacional Linux RedHat (plataforma Linux_x86) e máquinas RISC da SUN com o sistema operacional Solaris (plataforma SunOs_sparc). Gostaria de saber se é possível configurar um gateway-SAGE usando um par de máquinas constituído por uma máquina de cada tipo. Caso afirmativo, é necessária alguma configuração especial ?

RESPOSTA: Como o SAGE usa o formato XDR na difusão confiável da base de dados tempo real, a configuração de uma rede heterogênea (diferentes plataformas e sistemas operacionais) ou homogênea (plataformas e sistemas operacionais idênticos) segue os mesmos procedimentos, não sendo necessário nenhum procedimento específico para o caso em que ela é heterogênea. Além das plataformas citadas, será possível utilizar também máquinas RISC ALPHA com sistema o operacional DIGITAL-Unix (plataforma OSF1_alpha), máquinas RISC HP-64bits com o sistema operacional HP-UX (plataforma HPUX_hppa2w) e máquinas HP-Itanium2-64bits com o sistema operacional Linux RedHat (plataforma Linux_ia64).

 

<< Voltar

 

13.

ASSUNTO: Uso de portas USB com transportadores de protocolo baseados em TTY
PERGUNTA: Disponho de um notebook com o SAGE e desejo estabelecer uma comunicação através da porta USB desse sistema, via protocolo IEC/60870-5-101, com uma UAC que possui uma porta serial RS-232. Conectei na porta USB do notebook um conversor USB/RS-232 e no arquivo SSC_Amb, a variável de ambiente TTY00 foi carregada com o valor ttyUSB0 (setenv TTY00 ttyUSB0). Quando o protocolo é ativado no SAGE, o SysLog passa a exteriorizar uma mensagem indicando a ocorrência do erro 111, que o comando perro traduz para ‘conection refused’. Gostaria de saber onde pode estar o problema desta comunicação ?

RESPOSTA: Verificando a entidade CNF de sua base de dados, observamos que a comunicação em questão está configurada para se estabelecer pela “placa 1 linha 5” (PlPr= 1 LiPr= 5). Como o valor da variável de ambiente TTY00 determina o dispositivo físico correspondente a “placa 1 linha 1”, essa configuração fêz com que o transportador de protocolo do SAGE tentasse acessar o quinto dispositivo na sequência iniciada em /dev/ttyUSB0, ou seja, o dispositivo /dev/ttyUSB4, que não existe. Considerando que o notebook dispõe de apenas uma porta USB, a porta /dev/ttyUSB0, o acesso a porta /dev/ttyUSB4 inexistente provoca o restart do transportador de protocolo e a consequente perda de sua comunicação com o conversor de protocolo, qua passa então a acusar erros na tentativa de conexão com aquele transportador. Nesse caso, a ação recomendada é alterar a base de dados para utilizar a “placa 1 linha 1” ao invés da “placa 1 linha 5”.

 

<< Voltar


14.

ASSUNTO: Uso de placas de som pelo SAGE no Linux RedHat
PERGUNTA: Vou comprar uma placa de áudio CREATIVE SOUND BLASTER LIVE 5.1 e queria a orientação do CEPEL a fim de saber se tal placa funcionará no SAGE instalado em um PC com o sistema operacional Linux RedHat 7.2.

RESPOSTA: A placa de som em questão já foi testada pelo CEPEL e é utilizada por outros usuários do SAGE no mesmo tipo de instalação. Caso seja necessário verificar a compatibilidade de alguma outra placa de som com o SAGE, consulte o CEPEL porque nem todas as placas de som listadas no site da RedHat são compatíveis com o SAGE.

 

<< Voltar

 

15.

ASSUNTO: Variáveis de ambiente NOH e LOCAL
PERGUNTA: Qual o significado das variáveis de ambiente NOH e LOCAL ? Em que situações devo alterá-las ?

RESPOSTA: A variável de ambiente NOH serve para o SAGE localizar o arquivo $BD/sites_$NOH que permitirá obter, inicialmente, os nomes dos nós da rede de difusão confiável para que, posteriormente, os IPs desses nós possam ser lidos do arquivo /etc/hosts. Uma condição mandatória de funcionamento é a de que o nome real da máquina onde o SAGE é executado deve estar listado no arquivo $BD/sites_$NOH.

A variável de ambiente LOCAL serve para que o SAGE, excetuando-se a condição descrita acima, ignore o nome real da máquina onde ele está sendo executado e, no lugar deste, use o nome contido nessa variável de ambiente para determinar as funções que devem ser executadas naquela máquina, após pesquisar este nome na tabela NOH da base de dados.

A alteração manual dessas variáveis serve quase que exclusivamente para atender casos de teste. O principal desses casos ocorre quando o nome real da máquina utilizada no teste não consta da tabela NOH cadastrada na base de dados, como por exemplo, o caso em que, numa maquina chamada est1, deseja-se executar uma base de dados que tem cadastrados os nós srv1 e srv2. Nesse caso o usuário deve providenciar que:

- no diretório $BD exista um arquivo chamado sites_est1;
- no conteúdo desse arquivo, esteja definido nome est1;
- o conteúdo da variável de ambiente NOH seja est1;
- o conteúdo da variável de ambiente LOCAL seja srv1 ou srv2.

As três primeiras ações descritas acima foram necessárias porque no arquivo sites_ALL, gerado pelo STI e comumente usado em conjunto com a variável de ambiente NOH contendo o valor ALL, não está listado, obviamente, o nome da máquina est1, mas apenas os nomes dos nós srv1 e srv2, configurados originalmente na base de dados. Por sua vêz, a quarta ação foi necessária porque, ao executar em uma máquina que se chama est1, o SAGE foi informado que deveria fazê-lo assumindo as funções definidas na base de dados para o nó srv1 ou srv2.

 

<< Voltar


16.

ASSUNTO: Velocidade de canais de WAN para uso de protocolos no SAGE
PERGUNTA: Numa ligação do SAGE com uma UAC ou outro sistema, através de uma WAN, via protocolo IEC/60870-5-104 ou DNP-3.0, qual seria a velocidade mínima do canal de comunicação para garantir um bom desempenho ?

RESPOSTA: A velocidade a ser sugerida para o canal dependerá da forma que se pretende utiliza-lo. Caso o canal seja dedicado somente à comunicação tempo real sob IEC/60870-5-104 ou DNP-3.0, com eventual utilização de FTP pelo STI para transferência da base de dados fria, a velocidade de 64Kbps é suficiente. Caso o canal venha a ser utilizado para outros fins, com o uso frequente de FTP, TELNET, X-Windows, HTTP, etc, a velocidade recomendada seria de 128Kbps.

 

<< Voltar

 

17.

ASSUNTO: Verificação de problemas na execução de cálculos codificados em ‘calculos.c’
PERGUNTA: Na tabela TCL da base fonte criei um novo tipo de cálculo com o nome ORORNOT. Através das tabelas RCA e PDS defini e relacionei respectivamente as parcelas e resultado desse novo cálculo. Após gerar a nova base, introduzi no arquivo calclulos.c a rotina equivalente de nome funcORORNOT e executei o comando instala_calculos. Agora, quando ativo o SAGE com a nova base de dados e o novo programa executável de cálculos, o processo calc não atualiza o watch-dog-timer e é desativado. Como posso fazer um ‘trace’ da nova rotina de cálculos que fiz ?

RESPOSTA: A maioria das rotinas de cálculo programadas no arquivo calclulos.c segue um padrão de programação que imprime com printf no arquivo $LOG/calc.log os erros detectados durante a sua execução. Esse método não é muito eficiente já que o usuário está acostumado a monitorar erros no SysLog do sistema e não nos arquivos individualizados de Log dos processos. Outro problema do arquivo calclulos.c é que a verificação do número de parcelas passadas para o cálculo deveria impedir o processamento do cálculo e não apenas sinalizar o erro e prosseguir. A nova versão do programa calculos.c da base demo_ems, disponível a partir do UPD-019/2002, corrige esses dois problemas sinalizando no SysLog as condições de discordancia no número de parcelas e evitando a execução desse cálculo quando esta condição ocorre.

Específicamente, o problema relatado está nesta discordância entre o número de parcelas definidas em RCA para a execução de um determinado ponto calculado PDS, e a verificação que a rotina fêz para o número de parcelas que deveriam ter sido passadas para sua execução. Ao ser acionada para realizar um cálculo que não tinha o número correto de parcelas, a rotina prosseguiu indevidamente com a execução do cálculo e o aviso dessa operação ficou registrado apenas no Log individualizado do processo, sem ser visualizado por quem acompanhava o SysLog. Além disso, o prosseguimento do cálculo tentando acessar parcelas não definidas provocou uma violação de acesso na sua execução. O exemplo abaixo mostra como deveria ser codificada a função ORORNOT:\


 

<< Voltar

 

 

18.

ASSUNTO: Configuração de Grupos de diagnóstico
PERGUNTA: Como mecanismo de identificação de problemas que inviabilizam o rápido estabelecimento após ocorrências utilizamos a criação de grupos de diagnósticos do SAGE, através dos quais o operador identifica rapidamente os pontos de falha. Em alguns casos, o estado 0 (zero) do ponto digital intertrava um comando importante, assim como, outras vezes, é o estado 1 (um) que o faz. Com isso na mesma janela de diagnóstico temos alguns eventos que sinalizam em vermelho e não impedem um comando, enquanto outras vezes, outro evento é sinalizado verde e impede o comando, dificultando a identificação do ponto de falha e retardando o restabelecimento do sistema. Para resolver isso, gostaríamos que na configuração dos grupos de diagnóstico grcmp, fosse possível definir a cor (verde ou vermelha) para o estado 0 ou 1 independente da configuração do Visor de Telas e Alarmes. Assim seria possível configurar os pontos na janela de diagnóstico de forma que a cor vermelha indicasse uma necessidade de intervenção por parte do operador e a cor verde indicasse normalidade, independente do estado ser 0 ou 1. Desta forma, o operador ao abrir um grupo de diagnóstico identificaria facilmente um problema pela cor vermelha.

RESPOSTA: A configuração que está sendo usada deve ser "TPSIMB = FIGURA" nos componentes da entidade grcmp. Nesta opção, realmente os pontos digitais são representados com um desenho em verde para estado 0 e vermelho para estado 1. Para obter o efeito desejado, use:

Pontos que intertravam comandos no estado
TPSIMB
Representação no estado 0
Representação no estado 1
0 (zero)
CHECK
check_inv
check
1 (um)
CHECK_INV
check_inv
check_inv

Deste modo, os pontos de falha serão apresentados no diálogo com o "X" vermelho.

Observação: Tabela completa de representação de pontos digitais em diálogos de grupo:

TPSIMB Representação no estado 0 Representação no estado 1
FIGURA
fig0
fig_1
ESTADO
Equipamento desligado
Equipamento ligado
CHECK
check
check_inv
CHECK_INV
check_inv
check
CHECK_SIMPLES
(vazio)
check_inv
CHECK_SIMPLES_INV
check_inv
(vazio)
CIRC
circ
circ_inv
CIRC_INV
circ_inv
circ
CIRC_SIMPLES
(vazio)
CIRC_SIMPLES_INV
circ-inv
(vazio)
QUAD
quad
quad_inv
QUAD_INV
quad_inv
quad
QUAD_SIMPLES
(vazio)
quad_inv
QUAD_SIMPLES_INV
quad_inv
(vazio)
NULO
(vazio)
(vazio)

Note que o par de textos de "TPSIMB = ESTADO" é obtido a partir da ocr de cada ponto.

A opção "TPSIMB = FIGURA" usa o desenho de retângulo para disjuntores, o desenho de chave para chaves seccionadoras e de distribuição e o desenho de uma ficha para os demais pontos digitais.

A opção "TPSIMB = NULO" é útil apenas quando se deseja apresentar o identificador ou a narrativa do ponto, sem representação de estado.

 
<< VOLTAR