- Created by Jose Porto, last modified on Apr 11, 2022
- Translations
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 11 Next »
Geral
Os pontos podem ser de entrada ou de saída.
Os pontos de entrada, isto é os pontos que são adquiridos pelo protocolo tem basicamente dois parâmetros principais: O tipo de ponto e o seu endereço.
Os pontos de saída, utilizados para telecomandos, possuem além do tipo e do endereço um parâmetro "Control Code" para especificar a operação de saída. No mapa de endereços de um IED os endereços reiniciam para cada tipo de ponto.
Os estados ou valores dos pontos são reportados pelo IED por Objetos de Informação definidos no protocolo. Estes objetos possuem variações como com ou sem "timestamp". Sempre que o IED reportar com "timestamp" este será utilizado no atributo correspondente de um ponto no ActionNET. Quando não vier "timestamp" o driver colocará a hora atual do computador onde o driver está executando como "timestamp".
O módulo de comunicação no modo Mestre, implementa:
Leitura de pontos digitais;
Leitura de variáveis analógicas;
Leitura de contadores;
Comandos de Pontos digitais e analógicos;
Comando "select before operate";
Tipos de pontos
Os tipos de pontos implementados são definidos utilizando os objetos de dados definidos na norma, a seguir apresentados. Para cada tipo de ponto quaisquer que sejam as variações de objetos recebidos do IED , com "flag" ou sem, com timestamp ou sem, os valores adquiridos serão colocados em pontos com o tipo entre os abaixo listados. Na tabela pontos, no campo "address" escolhe-se o tipo do ponto e especifica-se seu endereço.
AI - Analog Input
Medição analógica escalar utilizado para transmissão de grandezas analógicas. Utilizado para receber dados enviados através dos objetos 30 e 32 e todas as suas variações que usam numeros inteiros de 16 ou 32 bits inteiros. (Excluída variação 5 – floating point).
BI - Binary Input
Ponto de entrada binario simples, valor 0 ou 1. Utilizado para receber dados enviados através dos objetos 1 e 2 e todas as suas variações.
DBI - Double Binary Input
Ponto de entrada binario duplo, valor entre 0 e 3. Utilizado para receber dados enviados através dos objetos 3 e 4 e todas as suas variações.
RAO – Read Analog Output
Ponto para leitura de conteudo de saida analógica de 16 ou 32 bits bits. Utilizado para a recepção de objetos dos tipos 40 e 41.
CRO - Control Relay Output
Ponto de saida digital utilizado para o comando de chaves e disjuntores. É utilizado o objeto DNP 12, incluido o Control Code (8 bits) para indicação do tipo de comando e detalhes de execução. Ao ser escolhido aparece campo para a informação deste código. Clicando-se na seta a direita ( ) é mostrada janela com os atributos selecionados para o valor atual. Se o usuário alterar os atributos selecionados e pressionar a seta de retorno ( ), um novo valor associado aos atributos selecionados será gerado.
Figura 8 – Atributo de Comando
Os valores possíveis para o ControlCode são apresentados na tabela abaixo com as respectivas ações associadas:
Control Code | Ação |
1 | Saída Pulse ON |
2 | Saída Pulse OFF |
3 | Saída Latch ON |
4 | Saída Latch OFF |
65 | Saída Pulse ON + Close |
66 | Saída Pulse OFF + Close |
67 | Saída Latch ON + Close |
68 | Saída Latch OFF + Close |
129 | Saída Pulse ON + Trip |
130 | Saída Pulse OFF + Trip |
131 | Saída Latch ON + Trip |
132 | Saída Latch OFF + Trip |
+ 16 | Enfileirar (Queue) + Trip |
+ 32 | Limpar (Clear) + Trip |
Na Norma DNP30 é informado que somente estas combinações são InterOperaveis:
funcCode – Nos comandos pode se também definir a operação ser executada no comando conforme ao tabela a seguir:
function Code | Ação |
3 | Seleciona |
4 | Opera |
5 | Opera direto (sem seleção) |
6 | Opera direto (sem ack) |
34 | Seleciona e Opera |
Obs: Se não for escolhido nenhum código será considerado o código 5.
CT – Counter
Contador binário de 16 ou 32bits, recebido do IED através do objetos 20 e todas as suas variações. Este numero possui o ultimo estado de um a contagem, no instante em que é lido.
FRZ - Frozen Counter
Contador binário de 16 ou 32 bits, recebido do iIED através do objeto 21 e suas variações, que contém a informação de um contador na ultima vez que foi "congelado". O valor congelado mostra o valor do contador (de mesmo índice) quando a ultima operação de congelamento do contador foi executada no IED escravo.
AO - Analog Output Status or Block (16bits)
Saída analógica para um conversor DA de 16 bits, utilizando os objetos 40 (valor real a ser aplicado no conversor) ou 41 (valor requerido para ser alcançado na saida analógica) na suas variações 2 (16 bits).
AOL - Analog Output long (32 bits)
Saída analógica para um conversor DA de 32 bits, utilizando os objetos 40 (valor real a ser aplicado no conversor) ou 41 (valor requerido para ser alcançado na saida analógica) na suas variações 1 (32 bits).
AIF - Analog Input Floating (32 bits)
Medição analógica utilizada para transmissão de grandezas analógicas. Utilizado para receber dados enviados através dos objetos 30-5 e 32 variações 5 e 7 e objeto 100 e suas variações. São numeros de ponto flutuante de 32 ou 64 bits, formato IEEE-754.
CRS – Control Relay Signalling
É um tipo definido para o Action.NET para a configuração da correspondência entre o tag de saída e o tag de entrada que faz a sinalização, em decorrência do comando. Quando se escolhe o tipo CRS, na definição da coluna Address, aparece um menu diferente com os campos para definição dos parâmetros necessários.
A figura seguinte mostra a configuração na tabela POINTS. A sinalização vem no tag A2.DJ.DJ que é do tipo DBI. As duas linhas em amarelo mostram a definição das sinalizações dos comandos com mesmo endereço (0009) e código de controle (128 – Abrir e 64 – Fechar).
Estas duas linhas são utilizadas na carga do módulo de protocolo para criar uma lista estática com todas as correspondências existentes no node. As informações das mesmas não criam pontos novos em tempo real.
Nada mais é necessário para a configuração. Com esta lista o módulo chamará os métodos de criação de transação e verificação automaticamente.
A sinalização de comando somente é utilizada para comandos digitais CRO e sinalizações digitais BI e DBI.
IIN - Internal Indications
Nesta implementação pode-se ter acesso aos status dos Internal Indications ou status de resposta de comandos definindo-se tags com tipo IIN, para que estes recebam do módulo de comunicação estas informações.
Estes status de indicações internas dos IEDs, são reportadas através de flags nos objetos transmitidos na comunicação.
Para receber as IIN deve ser definido um tag analog int, com tipo IIN e endereço 65000. Este tag receberá o registro com os bits com os significados apresentados na tabela a seguir.
Para receber os status de comandos recém enviados, deve-se definir um tag com analog int com o tipo IIN e endereço 65001.
IIN: 16 bits enviados em toda a resposta do escravo com dados de controle- End: 65000
BIT | Origem | Descrição | Conteúdo |
0 | IIN | Broadcast | Retorna 1 quando escravo recebe uma mensagem de broadcast (endereço = FFFF) |
1 | IIN | Classe 1 | Retorna 1 se escravo tem eventos classe 1 |
2 | IIN | Classe 2 | Retorna 1 se escravo tem eventos classe 2 |
3 | IIN | Classe 3 | Retorna 1 se escravo tem eventos classe 3 |
4 | IIN | Sincronismo de relógio | Retorna 1 se escravo pede sincronização de relógio |
5 | IIN | Saídas em local | Retorna 1 se algumas ou todas as saídas estão em local |
6 | IIN | Problema | Retorna 1 se escravo com problema |
7 | IIN | Reinício | Retorna 1 se escravo reiniciou (restart) |
8 | IIN | Função não implementada | Retorna 1 se função enviada pelo mestre não está implementada no escravo |
9 | IIN | Objeto desconhecido | Retorna 1 se escravo não tem determinado objeto ou classe não tem esse objeto |
10 | IIN | Dado inválido | Retorna 1 se tem parâmetro inválido no qualificador ou intervalo de endereços está inválido |
11 | IIN | Overflow | Retorna 1 se buffer do escravo teve overflow |
12 | IIN | Ocupado | Retorna 1 se requisição foi entendida mas já está sendo executada |
13 | IIN | Dado corrompido | Retorna 1 se dados de parametrização estão corrompidos |
14 | IIN | Reservado | Sempre 0 |
15 | IIN | Reservado | Sempre 0 |
Status field in Commands: Um byte enviado como resposta de um comando. Endereço 65001
Valor no byte | Origem | Descrição | Interpretação |
0 | Status | Comando aceito | após comando correto |
1 | Status | Comando não aceito | ocorreu time out entre tempo de select e operate. |
2 | Status | Falta select | feito um operate sem prévio select |
3 | Status | Erro formato | Comando tem erro de formato |
4 | Status | Controle não suportado | operação não é suportada |
5 | Status | Fila cheia | fila de requisição do escravo está cheia ou ponto já está ativo |
6 | Status | Erro hardware | ocorreu um erro de hardware do dispositivo ao tentar executar o comando |
7 a 127 | Não utilizado |
.
Estes valores de Resposta de Comandos podem ser definidos em dicionários e mostrados nas listas de eventos e/ou alarmes. Assim, por exemplo, abaixo é mostrado um dicionário associado a variável que contém o status resultante de um comando e na sequência a definição desta variável em um template e sua declaração nos pontos da tabela Device.
Figura 9 – Dicionário associado ao Atributo de Comando
Figura 10 – Tag de Variável que recebe o Resultado de um Comando
Figura 11 – Declaração do ponto que recebe o resultado de um comando DNP3
Obs: Para que ocorra um evento sempre nesta tag, o módulo de comunicação, sempre coloca o valor 99 no tag antes de iniciar o envio de um comando. Após, coloca na tag o resultado obtido na resposta ao comando.
Numero de Keep Alive failures – End 65002
Quando se utiliza o RequestLinkStatus para verificar a integridade da comunicação, é feita a contagem de numero de falhas de resposta nestas requisições, Este contador, zerado a a cada reinicialização do driver, é mantido no tag com endereço IIN:65002
Estado de comunicação do Node (Canal Tcp-Ip)
O estado da comunicação do node (tcp-Ip) esta disponível em uma tag que seja cadastrada como IIN:65003. O conteúdo desta tag deve ser interpretado como:
CLOSED = 0,
OPENING = 1,
OPEN = 2,
SHUTDOWN = 3
Endereço do ponto
O campo Address a ser preenchido no cadastramento de pontos é o que a norma chama de "Index". Trata-se de um numero de 16 bits que é o índice [0 a n-1] indicativo de cada um dos pontos do mesmo tipo mapeados dentro do IED.
Abaixo, a título de exemplo é apresentada uma tabela de pontos preenchida com diferentes tipos de ponto. Os pontos tipo saída digital (CRO), conforme citado acima, além do endereço possuem o código de controle.
129 = Pulse ON + TRIP
Figura 12 – Exemplo da tabela de Points com diferentes tipos de pontos
Para implementar pontos de entrada digital discretos, basta usar o atributo "Bit" de um Tag, para cada um dos pontos que definem o valor da entrada digital discreta. Assim, por exemplo, uma seccionadora que tem dois contatos para definir seu estado:
Tag | ENDEREÇO | Complemento |
SEL_LINHA_01.SC89_1 | 8 | Seccionadora aberta |
SEL_LINHA_01.SC89_1 | 9 | Seccionadora Fechada |
É definida como um Tag AnalogInt e na tabela node se usa o atributo Bit desta variável de 16 bits (AnalogInt) para endereçar os dois pontos, como na tabela abaixo:
Os valores assumidos pela variável SEL_LINHA_01.SC89_1 serão:
Tag | Bit 0 | Bit 1 | VALOR | SIGNIFICADO |
SEL_LINHA_01.SC89_1 | 0 | 0 | 0 | INDEFINIDO |
SEL_LINHA_01.SC89_1 | 1 | 0 | 1 | ABERTA |
SEL_LINHA_01.SC89_1 | 0 | 1 | 2 | FECHADA |
SEL_LINHA_01.SC89_1 | 1 | 1 | 3 | ERRO |
Conversão de flags Dnp em Qualidade OPC
Os códigos de erro ou flags utilizados pelo DNP 3, ao chegarem ao Action.NET são convertidos para códigos do padrão OPC. A tabela a seguir mostra como é feita esta conversão.
Access Type
Por ser um módulo de comunicação em modo cliente há a necessidade de algumas características próprias para a parametrização do campo Access Type da tabela Points:
Para pontos com tipos que são de leitura:
O Access Type deve ser definido com:
ReadOnStartup= On;
ReadPooling= Always;
ReadPoolongRate: 500 mili
WriteEvent= Changed;
AccepUnsolictited = On;
Para pontos com tipos que são de comandos tipos CRO, AO e AOL
O Access Type deve ser definido com:
ReadPooling = Never;
WriteEnable = On
WriteEvent= Changed;
Solucionar problemas
O estado de execução do driver pode ser observado através das ferramentas de diagnóstico, que são:
Janela de rastreamento
Property Watch
Informação do Módulo
Um valor de status de 0 (zero) significa que a comunicação foi um sucesso. Valores negativos indicam um erro de driver interno e valores positivos significam que há erros de protocolo.
Nesta pagina:
- No labels