Académique Documents
Professionnel Documents
Culture Documents
02 Manual do Usurio
DNP Driver
Ficha Tcnica Arquivo Fabricante Protocolos Suportados Plataforma DNPMaster.DLL Protocolo DNP 3.0 DNP 3.0 Win32
User Layer Application Layer Data Link Layer Physical Layer Communication Media
A camada do usurio (User Layer) pode ser definida como o local que o usurio manipular os dados, depois de todas as comunicaes. Nos softwares da Elipse, ela representada pela aplicao do usurio. A camada do usurio faz uso da camada de aplicao do driver para enviar/receber mensagens completas para ou de uma estao. A camada de aplicao responsvel por especificar em detalhes os pedidos da camada do usurio, e de volta ela quando a mensagem vem da camada de Data Link. Em outras palavras, ela junta as mensagens da camada do usurio, chamadas de fragmentos, numa mensagem de mltiplos fragmentos com informao completa para ser processada e enviada para uma estao pela camada de Data Link.
DNP Driver
A camada de Data Link usada para passar as mensagens entre as estaes primria (originadora) e secundria (recebedora). Ela tambm empacota os dados, os checa contra erros de transmisso e os envia para a rede TCP/IP. O protocolo DNP pode ser configurado para trocas de mensagens via polling (comunicao constante), ou via Integridade Mudanas (mais eficiente). O envio das mudanas tambm conhecido como RBE (Report by Exception) pode ocorrer de forma espontnea (No Solicitada) ou no espontnea atravs da solicitao explcita do lado mestre pelas mudanas.
1 2 3
4 5 6 7 9 10 11 13 14 20 21 22 23
Operate Direct Operate Direct Operate NO ACK Immediate Freeze Freeze and Clear Freeze and Clear No ACK
Cold Restart Warm Restart Enable Unsolicited Messages Disable Unsolicited Messages Assign Classes Delay Measurement
Solicita os objetos especificados da remota; responde com os objetos pedidos que esto disponveis. Armazena os objetos especificados na remota; responde com o status da operao. Seleciona ou arma pontos de sada mas no seta ou produz qualquer ao (controles, setpoints ou sadas analgicas); responde com o status da operao. A funo Operate deve ser usada para ativar estas sadas. Seta ou produz aes nas sadas ou pontos previamente selecionados com a funo Select. Seleciona e Opera as sadas especificadas; respond com o status dos pontos de controle. Seleciona e Opera as sadas especificadas mas no envia resposta (porm leva menos tempo); Copia os objetos especificados para um buffer de congelamento. Copia os objetos especificados para um buffer de congelamento, depois zera os objetos. Copia os objetos especificados para um buffer de congelamento, depois zera os objetos, mas no envia resposta de confirmao. Copia os objetos especificados para um buffer de congelamento no instante especificado, repondendo com o status da operao. Realiza uma sequencia de reset Realiza uma sequencia parcial de reset. Habilita a notificao espontnea dos objetos especificados. Desabilita a notificao espontnea dos objetos especificados Associa os objetos especificados para uma classe. Permite aplicao calcular o atraso (tempo de propagao) para uma estao em particular.
DNP Driver
1.3 Objetos
Os dispositivos inteligentes que usam a camada de Aplicao do protocolo DNP so capazes de monitorar, controlar e/ou produzir um grande nmero de dados. Estes dados, chamados de elementos de informao, so processados e armazenados como objetos de informao, que so padronizados de forma a atingir meios de descrev-los e represent-los de forma nica. Existem quatro tipos de categorias de objetos de dados: Objetos Estticos (Static Objects): So os objetos que refletem o valor atual de uma varivel de campo ou interna. Objetos de Evento (Event Objects): So os objetos que so gerados como o resultado de uma mudana de valor ou outro estimulante. So objetos histricos, ou seja, refletem o valor de um dado em algum instante no passado. Objetos Estticos Congelados (Frozen Static Objects): Refletem o valor congelado atual de uma varivel de campo ou interna. Dados so congelados como o resultado de um pedido de congelamento de dados. Objetos de Evento Congelados (Frozen Event Objects): So os objetos resultantes da mudana de um valor congelado ou outro estmulo. So objetos histricos, ou seja, refletem o valor de um dado em algum instante no passado. Cada categoria representada com um objeto diferente, a saber:
Objeto Descrio
Entradas Digitais Sadas Digitais Contadores Entradas Analgicas Sadas Analgicas Tempo Classes Arquivos Dispositivos Aplicaes Numricos alternativos
O grupo de entradas digitais contm todos os objetos que representam entradas binrias (status ou atributos booleanos). Vo de 1 a 9. O grupo de sadas digitais contm todos os objetos que representam sadas binrias ou informao de controle de rels. Vo de 10 a 19. Este grupo contm todos os objetos contadores. 20 a 29. Contm todas as entradas analgicas, e vo de 30 a 39. Contm todas as sadas analgicas, e vo de 40 a 49. Contm todos os objetos que representam tempo em forma absoluta ou relativa, e vo de 50 a 59. Este grupo contm todos os objetos que representam classes de dados ou prioridade de dados. De 60 a 69. Arquivos ou sistema de arquivos. De 70 a 79. De 80 a 89. Objetos que representam aplicaes de software ou processos do sistema operacional. De 90 a 99. Representaes numricas customizadas. De 100 a 109.
importante observar que um objeto esttico quando sofre variao capaz de gerar um objeto de evento indicando esta mudana - entretanto ambos representam o mesmo objeto.
1.4 Variao
So modificaes ou sub-tipos que podem ocorrer nos objetos. Como exemplo, uma entrada digital pode ser representada apenas por um nico bit (0 ou 1), por uma palavra de status (um byte) ou ainda conter ou no a informao de tempo (timestamp). Sendo assim, a combinao do objeto mais a variao descrevem completamente uma informao. Exemplos: Objeto 01 Variao 01 representa uma entrada digital sem status (apenas um bit); Objeto 01 Variao 02 representa uma entrada digital com status (um byte); Objeto 02 Variao 01 representa uma mudana de entrada digital sem a informao de tempo;
DNP Driver 4
Objeto 02 Variao 02 representa uma mudana de entrada digital com a informao de tempo. Apesar de ambos objetos estarem relacionados mesma entrada digital, esta informao pode ser simbolizada de maneiras diferentes.
1.5 Qualificador
Especifica o significado do campo Faixa (Range).
1.7 Classes
Os objetos declarados em um sistema/equipamento que implementa o protocolo DNP modo escravo podem ser agrupados em classes. O protocolo DNP define 4 classes padronizadas, definidas a seguir: Classe 0: Significa todos os objetos. Ou seja, o driver (lado mestre) na inicializao pode realizar um pedido de classe 0, e na resposta o lado escravo enviar o valor corrente de todos os objetos declarados. Classe 1 a 3: So entidades que armazenam temporariamente listas de eventos (mudanas) nos objetos. Cada objeto precisa estar configurado no lado escravo para gerar eventos quando h mudanas, e geralmente h um padro entre os usurios de DNP para reservar a classe 1 para eventos digitais, classe 2 para eventos analgicos e classe 3 para contadores.
3 - Configurao do Driver
3.1 Parmetros [P] de configurao do driver
P1 No usado (manter o valor em zero) P2 No usado (manter o valor em zero) P3 No usado (manter o valor em zero) P4 Deixar em zero. Caso esteja utilizando o equipamento Toshiba Regulator, configurar para 1.
DNP Driver
App Timeout (ms): o tempo mximo que a camada de aplicao esperar por uma resposta completa da camada de Data Link. Se o recebimento do pedido est em andamento pela camada de DataLink, este tempo estendido automaticamente at o termino da recepo pela camada de DataLink. Valor Padro: Depende da taxa de comunicao utilizada, mas recomenda-se que este valor seja igual ou superior ao valor de timeout do IOKIT (aba Setup). O valor de timeout do IOKIT representa o timeout byte a byte da mensagem, enquanto que o App Timeout representa uma ou mais mensagens completas de data link. App Read Retries: Nmero de retentativas de comunicao feitas pela camada de aplicao no caso de erro de Leitura. Valor Padro: 0. App Write Retries: Nmero de retentativas de comunicao feitas pela camada de aplicao no caso de erro de Escrita. Valor Padro: 0. Master Address: Este o endereo da estao mestre (PC). Control Relay Off-Time: Quando so enviados comandos de rels (Control Relay Commands) com tags individuais, este campo indica o tempo normal de desligado ou off -time para os comandos de Pulso On/Off ou Latch On/Off Control Relay On-Time: Quando so enviados comandos de rels (Control Relay Commands) com tags individuais, este campo indica o tempo normal de ligado ou on-time para os comandos de Pulso On/Off ou Latch On/Off. Default Slave Address: Endereo DNP padro do Dispositivo, a ser utilizando quando o campo N1 de cada tag estiver em 0 (zero). Delay Between Messages: Tempo de atraso a ser aplicado entre cada mensagem enviada pelo driver, em milisegundos. Error Count for Inactive State: Indica quantos erros consecutivos o driver deve considerar para colocar o dispositivo em estado INATIVO. O Driver tentar comunicar novamente com este dispositivo no prximo scan de qualquer tag do mesmo endereo ou somente no tempo informado na propriedade Demotion Time, caso este recurso seja utilizado. Extra Sync Offset: Tempo adicional (positivo ou negativo) a ser adicionado aos comandos de sincronismo.
DNP Driver
Control Block Qualifier: Ao realizar um comando de escrita de bloco de controle (comando de sada digital, como Direct Operate, Select, Operate, etc..) necessrio o envio de um qualificador que pode variar de equipamento para equipamento. Os valores possveis neste campo so 39 (ou 27h) para o campo range com 1 byte e objeto prefixado com 2 bytes, ou 40 (ou 28h) para o campo range com 2 bytes e objeto prefixado com 2 bytes. Consulte o device profile de seu equipamento para descobrir o qualificador correto. IIN Qualifier: Quando o dispositivo escravo informa uma reinicializao, o driver realiza uma escrita para o objeto de indicao interna (Internal Indications Object), informando o reconhecimento do evento. Use este campo para informar o qualificador (presente no documento Slave Device Profile do dispositivo escravo). Os valores mais comuns so 0 ( 1 byte de indice de inicio e fim) e 1 ( 2 bytes de indice de inicio e fim). Perform Class 0 Integrity On Startup: Realiza um pedido de Classe 0 ao iniciar o driver, que obtem toda a base de dados do equipamento, fazendo com que todos os tags sejam atualizados. Os Tags de eventos, neste caso, tero a Propriedade TimeStamp como sendo o horrio da recepo dos dados, e a Propriedade Qualidade ser 216. Enable Unsolicited on Startup: Indica se o driver deve enviar o comando de habilitao de mensagens no solicitadas ao iniciar a comunicao. Initialize Upon Receiving Device Restart: Indica se o driver deve enviar os comandos de inicializao do dispositivo (reset link, classe 0 e enable unsolicited caso habilitados) quando receber uma mensagem que o dispositivo foi reiniciado. Scan for Events Every X ms: Envia um comando de leitura de classes 1, 2 ou 3 no intuito de verificar se existem eventos no equipamento. Indique o intervalo de tempo que o comando ser repetido. Perform Class 0 Integrity every X ms: Realiza um pedido de Classe 0 ciclicamente, com o objetivo apenas de checar a base de dados do driver, verificando se a base do equipamento est idntica. O tempo padro para isso de 10 ou 15 minutos. Aba Other
Counter DeadBand (units): Banda Morta em unidades, a serem checadas na verificao de novos eventos para os contadores.
DNP Driver
Analog DeadBand (units): Banda Morta em unidades, a serem checadas na verificao de novos eventos para os pontos analgicos. Select/Operate Message Timeout: Tempo mximo para o bloqueio de outras mensagens exceto o operate, logo aps um comando de select. Use Auto Demotion: Habilita o sistema de auto-demotion que retira e insere automaticamente de comunicao os escravos que estiverem INATIVOS, ou seja, com erro de comunicao. Este procedimento utilizado quando dois ou mais escravos utilizam o mesmo canal, evitando assim que um escravo nesse estado monopolize a utilizao do canal. Demotion Time: Tempo em segundos que o driver tentar comunicar com cada escravo INATIVO, a fim de verificar se a comunicao est ok, colocando-o de volta no estado ATIVO. Use Local Time Zone as Sync/Event Time Offset: Instrui o driver a considerar o a diferena de horrio oficial do Windows em relao ao UTC/GMT para todos os eventos e solicitaes de sincronismo de horrio. Esta funo til quando o lado DNP Servidor tem o horrio UTC mas se deseja informar o horrio relativo local para a aplicao. Use Callbacks: Caso esteja usando a verso do IOKIT 1.15 ou superior, o driver pode ser configurado para utilizar callbacks ou chamadas assncronas para o Elipse E3, fazendo com que este ltimo receba imediatamente os valores dos objetos que chegam na comunicao (Neste caso a taxa de scan no utilizada). Caso esta opo estiver desabilitada, ou se estiver usando uma verso do IOKIT anterior ao 1.15, os tags levaro mais tempo para serem atualizados (em mdia mais o tempo de scan definido). Check Select/Operate Message Sequence: Permite a utilizao de comandos de operate controlando o numero de sequncia da mensagem para que seja imediatamente subsequente ao comando de select. Marcando esta opo o driver no enviar nenhum comando exceto o de operate at que um tempo mximo para a operao seja excedido. Select/Operate Timeout: Caso o item anterior estiver setado, este campo indica o tempo mximo esperado entre a mensagem de operate aps o select conforme exposto. Aps esse perodo, caso no seja enviada a mensagem de operate, o driver permitir o envio de outras mensagens. Driver in Listen Mode: Neste modo, o driver no transmitir nada, mas pode interpretar respostas, recebidas de um sniffer da comunicao entre outros mestres e um escravo. Use Single Block Read for All Events: Atravs desta opo, todos os eventos que forem enviados pelo dispositivo sero reportados num nico Tag Bloco. Esta opo til para concentrar todos os eventos a fim de gerar logs especficos de eventos, por exemplo. Discard Events out of Order (by TimeStamp Info): Para os objetos que possuem informao de TimeStamp, esta opo faz com que eventos cujo timestamp for mais antigo do que o ltimo processado sejam descartados. Scan for Files: Indica que o driver deve tentar realizar transferncias de arquivos do dispositivo. Deve ser escolhido o perfil de coleta, sendo que nesta verso s suportado o perfil Pextron. Wait for Unsolicited Messages after Startup (ms): Indica quanto tempo o driver deve esperar por mensagens no solicitadas aps se conectar, com o objetivo de obter eventos recentes antes de realizar o pedido de integridade (Classe 0). Desta forma, os pontos que tiverem eventos ficaro com qualidade 192 e o timestamp correto, visto que na resposta da integridade os objetos no possuem timestamp.
DNP Driver
Os objetos proprietrios so declaraes que podem ser criadas entre cada fabricante, e refletem estruturas de dados compostas de tipos bsicos de dados do DNP. A janela acima apresenta duas listas: a da direita so declarados os objetos, compostos de um ndice (number), um cdigo de at quatro caracteres para o fabricante ( vendor), um nmero de identificao do objeto para o fabricante (obj ID), e o tamanho em bytes total do objeto (bytes). A lista pode ser editada pelos botes [Add], [Update] e [Del]. Ao clicar sobre cada uma das linhas, podem ser inseridos os objetos DNP que faro parte de cada um dos PROs (Private Registration Objects). Devem ser informados o cdigo do objeto, variao e quantidade. A ordem na qual os objetos aparece tambm importante, logo, isso pode ser modificado pelas setas, ou editados pelos botes [Add], [Update] e [Del]. Ao utilizar a declarao de objetos de tempo (tipo 50), este ser usado como TimeStamp do PRO. A opo Return All PRO Instances as one indexed block tag faz com que todos os PROs sejam enviados ao mesmo tag bloco, desde que possua o mesmo endereo DNP. Nesse caso, o bloco dever ser criado com um elemento a mais do que a declarao do PRO, pois o primeiro elemento do mesmo conter o ndice do PRO, e em seguida viro os outros elementos, cada um com uma das variveis declaradas no PRO.
DNP Driver
-34
-33
R/W
R R/W W R/w
-11 -10 -7 -6 0
R/W R W W R
Dados para canais analgicos do arquivo comtrade (perfil Pextron). N3 indica o canal, de 0 a 7. Deve ser usado um bloco com at 8 elementos. Index=0 Nome do Canal Index =1 Constante A Index =2 Constante B Index =3 Valor Mximo do Canal Index =4 Valor Mnimo do Canal Index =5 Constante RPV Index =6 Constante RSV Index =7 Circuito Primrio ou Secundrio (deve ser p, P, s ou S) Dados para a transferencia do perfil Pextron N3=0 Indica que um arquivo acabou de ser gravado (pulso em 1) N3=1 Numero de arquivos que faltam para transmitir N3=2 (Write) Solicita a coleta de arquivo Pextron (instantneo) N3=3 (Write) Solicita o incio de contagem randomica para coleta de arquivo Pextron (vai contar o tempo para solicitar a coleta) Nome base do arquivo comtrade Nome do circuito para arquivos comtrade Diretorio para armazenamento de arquivos Retorna uma WORD contendo os Internal Indications, IIN1 no byte LOW e IIN2 no byte HIGH Bit 0: All stations message received Bit 1: Class 1 data available Bit2: Class 2 data available Bit3: Class 3 data available Bit 4: Time sync required Bit 5: Points in local state Bit 6:Device Trouble Bit 7:Device Restart Bit 8:Not implemented Bit 9:Requested objects unknown Bit 10:Parameters not valid Bit 11:Buffer overflow Bit 12:operation already executing Bit 13:Configuration Corrupted Bit 14:Not used Bit 15:Not used Endereo indicado em N1 ativo/inativo (0=INATIVO,1=ATIVO) On/Off do endereo indicado em N1 (0=OFF,1=ON) Solicita reinicio de inicializao (reset link, Classe 0, etc...) Estatsticas de Comunicao N4=0 (Write Only) Zera Estatsticas N4=1 Frames Enviados N4=2 Frames sem Resposta N4=3 Erros de CRC no formato da Resposta N4=4 Erros de Envio N4=5 Retentativas de Transmisso N4=6 Frames Recebidos N4=7 Bytes Enviados N4=8 Bytes Recebidos Solicita Classe 0 (Integridade) LinkStatus Sincronizao de tempo (procedimento Ethernet) Sincronizao de tempo (escreve o horrio do PC na remota) READ FROM CACHE: Remove todos os eventos que estiverem disponveis para o Tag deixando o ltimo evento como o valor atual para o tag. Para os objetos estticos faz uma comunicao de leitura antes (funo READ).
10
DNP Driver
1 2 3 4 5 6 7 9 10 11 13 14 20 21 22 23 50 51 101
R W W W W W W W W W W W W W W R R R R
READ EVENTS: Retorna todos os eventos que estiverem disponveis para o Tag. Para os objetos estticos faz uma comunicao de leitura antes (funo READ). Write Select Operate Direct Operate Direct Operate No ACK Immediate Freeze Freeze and Clear Freeze and Clear No ACK Freeze with Time Cold Restart Warm Restart Enable Unsolicited Messages Disable Unsolicited Messages Assign Classes Delay Measurement Single Block Event AutoZero Bad Read: Funo usada quando o Tag recebe um evento de mudana apenas de subida (0 para 1), e nunca de descida (1 para 0). Neste caso o driver insere um evento de valor 0 antes de retornar cada evento em 1. READ (INTEGRIDADE) - Faz uma integridade solicitando todos os pontos que houverem do tipo de objeto*100 + variao declarado em N3. Pode ser tambm usada a variao 0, correspondendo qualquer objeto informado no importando a variao. Esta funo realiza uma comunicao (integridade) cada vez que o tag for lido.
1 1 2 2 2 3 3 4 4 10 10 12 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21
DNP Driver
1 2 1 2 3 1 2 1 2 1 2 1 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
Binary Input w/o Status Binary Input w/ Status Binary Input Change w/o Time Binary Input Change w/ Time Binary Input Change w/ Relative Time Double bit binary Input w/o Status Double bit binary Input w/ Status Double bit binary Input Change w/o Time Double bit binary Input Change w Time Binary Output Binary Output Status Control Relay Output Block 32-bit Counter 16-bit Binary Counter 32-bit Delta Counter 16-bit Delta Counter 32-bit Counter w/o Flag 16-bit Counter w/o Flag 32-bit Delta Counter w/o Flag 16-bit Delta Counter w/o Flag 32-bit Frozen Counter 16-bit Frozen Counter 32-bit Frozen Delta Counter 16-bit Frozen Delta Counter 32-bit Frozen Counter w/ Time Of Freeze 16-bit Frozen Counter w/ Time Of Freeze 32-bit Frozen Delta Counter w/ Time Of Freeze 16-bit Frozen Delta Counter w/ Time Of Freeze
1 1 1 1 1 1 1 1 1 1 1 3,4,5,6 1,7,9,10,11 1,7,9,10,11 1,7,9,10,11 1,7,9,10,11 1,7,9,10,11 1,7,9,10,11 1,7,9,10,11 1,7,9,10,11 1,7,9,10,11 1,7,9,10,11 1,7,9,10,11 1,7,9,10,11 1,7,9,10,11 1,7,9,10,11 1,7,9,10,11 1,7,9,10,11
11
Obj
Var
Nome do objeto
21 21 21 21 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 30 30 30 30 30 31 31 31 31 31 31 31 32 32 32 32 32 32 33 33 33 33 33 33 34 34 34 40 40 40 41 50 51 51 52 60 60 60 60 80 83
9 10 11 12 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 1 2 3 4 5 6 7 1 2 3 4 5 7 1 2 3 4 5 7 1 2 3 1 2 3 2 1 1 2 2 1 2 3 4 1 1
32-bit Frozen Counter w/o Flag 16-bit Frozen Counter w/o Flag 32-bit Frozen Delta Counter w/o Flag 16-bit Frozen Delta Counter w/o Flag 32-bit Counter Change Event w/o Time 16-bit Counter Change Event w/o Time 32-bit Delta Counter Change Event w/o Time 16-bit Delta Counter Change Event w/o Time 32-bit Counter Change Event w/ Time 16-bit Counter Change Event w/ Time 32-bit Delta Counter Change Event w/ Time 16-bit Delta Counter Change Event w/ Time 32-bit Counter Change Event w/o Time 16-bit Frozen Counter Event w/o Time 32-bit Frozen Delta Counter Event w/o Time 16-bit Frozen Delta Counter w/o Time 32-bit Frozen Counter Event w/ Time 16-bit Frozen Counter Event w/ Time 32-bit Frozen Delta Counter Event w/ Time 16-bit Frozen Delta Counter Event w/ Time 32-bit Analog Input 16-bit Analog Input 32-bit Analog Input w/o Flag 16-bit Analog Input w/o Flag 32-bit Analog Input Floating Point 32-bit Frozen Analog Input 16-bit Frozen Analog Input 32-bit Frozen Analog Input w/ Time Of Freeze 16-bit Frozen Analog Input w/ Time Of Freeze 32-bit Frozen Analog Input w/o Flag 16-bit Frozen Analog Input w/o Flag 32-bit Frozen Analog Input Floating Point 32-bit Change Event w/o Time 16-bit Change Event w/o Time 32-bit Analog Change w/ Time 16-bit Analog Change Event w/ Time 32-bit Analog Change Floating Point w/o Time 32-bit Analog Change Floating Point with Time 32-bit Frozen Analog Event w/o Time 16-bit Frozen Analog Event w/o Time 32-bit Frozen Analog Event w/ Time 16-bit Frozen Analog Event w/ Time 32-bit Frozen Analog Floating Point w/o Time 32-bit Frozen Analog Floating Point with Time 16-bit Analog Input Deadband 32-bit Analog Input Deadband 32-bit Analog Input Floating Point DeadBand 32-bit Analog Output Status 16-bit Analog Output Status 32-bit Analog Output Status Floating Point 16-bit Analog Output Block Time and Date Time and Date CTO Unsynchronized Time and CTO Time Delay Fine Class 0 Data Class 1 Data Class 2 Data Class 3 Data Internal Indications Pro
DNP Driver
12
4. Comentrios Gerais
DNP Driver
13
Trip/Close
Trip/Close: Este campo determina que rel de controle ser ativado num sistema onde um par de rels trip e close usado para energizar e desenergizar os pontos no campo. Os valor possveis so (em binrio): 00 = NUL, 01 = Close, 10 = Trip. O valor NUL pode ser usado para ativar o rel de seleo sem ativar os rels de trip ou close. Num sistema sem rels de seleo, o valor NUL no realizar nenhuma operao. J num sistema sem rels trip/close, este campo deve ser sempre NUL para indicar uma operao normal de controle digital onde o ponto exato de controle implcito ou totalmente conhecido. Este campo no suporta os comandos de Trip e Close simultaneamente, sendo esta uma operao ilegal.
DNP Driver 14
Clear: Se o comando possui este campo em 1 (ligado), todas as operaes de controle so removidas da fila incluindo o comando que estiver sendo executado e esta operao de controle realizada. Queue (Fila): Indica a colocao do comando numa fila de comandos no equipamento. Se este campo 0 (NUL) ento nenhuma operao colocada na fila, e a fila limpa de todos os controles incluindo o comando que estiver sendo executado se o campo Clear estiver ligado. Quando a funo de controle executada e completada removida da fila. Se o comando em questo tiver o atributo Queue ligado, ento a operao enfileirada novamente (posicionada no fim da fila) para aquele ponto. Code: Este campo especifica o tipo de operao propriamente dito. Este comando pode ser usado com equipamentos que suportam enfileiramento de comandos (queuing), ponto a ponto ou outros mecanismos de controle. No primeiro tipo, qualquer comando de controle deve ser enfileirado para o ponto em questo. No segundo, cada controle realizado at ser completado antes do prximo comando ser aceito para aquele ponto. Valores possveis para CODE (em binrio)
Valor Operao Descrio
0000 NUL 0001 PULSE ON 0010 PULSE OFF 0011 LATCH ON 0100 LATCH OFF
Nenhuma operao realizada. O(s) ponto(s) (so) ligado(s) pelo tempo especificado em on-time, desligado(s) pelo tempo off-time e deixado no estado OFF. O(s) ponto(s) (so) desligado(s) pelo tempo especificado em off-time, ligado(s) pelo tempo on-time e deixado no estado ON. Mantm o(s) ponto(s) no estado ON. Mantm o(s) ponto(s) no estado OFF.
Outros valores fora desta tabela no so definidos. Byte 1: Count Este byte indica quantas vezes a operao ser executada. Este valor mantido fixo em 1 (um) pelo driver. Bytes 2 a 5: On Time Tempo on-time em milisegundos. definido na configurao Extra do driver, e fixo para todos os comandos. Bytes 6 a 9: Off Time Tempo off-time em milisegundos. definido na configurao Extra do driver, e fixo para todos os comandos.
DNP Driver
15
Byte 10: Status Status da operao, retornando pelo driver se a operao foi concluda com sucesso. O Status s interpretado na resposta, e pode ser usado pela aplicao para verificar se o comando foi executado com sucesso. Os cdigos so: 0 : Comando executado corretamente (incluindo operaes de Select e Operate) 1: Operate enviado aps o tempo mximo de select definido no escravo 2:O Operate foi enviado sem um Select prvio 3:Erros de Formatao na mensagem 4:Operao no suportada para o ponto em questo 5:Fila cheia ou ponto j est ativo 6:Problemas de Hardware Outros: Cdigos de erro no padronizados
O valor do campo Status pode ser obtido no Elipse E3 atravs do parmetro WStatus do mtodo WriteEx dos Tags ou Blocos (Veja exemplo abaixo). Para envio dos comandos, pode ser utilizado tanto um tag PLC (ou IOtag) quanto um tag Bloco. Ao usar um tag PLC, deve ser atribudo ao tag um nmero de 0 a 255 correspondendo ao Control Code (Byte 0 da mensagem). Os bytes restantes so obtidos das configuraes padro do driver, definidas na janela de extras. Para o tag bloco deve ser usado um script que execute a funo Write() do bloco. Para isso, o bloco dever possuir apenas quatro elementos, que devem possuir a propriedade de escrita individual desabilitada, com os seguintes elementos: Elemento 0 = Control Code Elemento 1 = Count Elemento 2 = Relay OnTime Elemento 3 = Relay OffTime Este recurso poder ser utilizado caso sejam necessarias programacoes individuais de comandos para cada ponto, desprezando as configuraes default de temporizao OnTime e OffTime. Exemplo de script (Elipse E3) usando um tag de comando simples
DNP Driver
16
Valor = 65 // Cdigo da Operao msg = MsgBox(Quer enviar comando?, 292, "Comando") If msg = 7 Then MsgBox Comando abortado, 48, "Desistncia" ElseIf msg = 6 Then If MsgBox(Confirma o envio do comando?, 292, "Ateno") = 6 Then Set Tag = Application.GetObject(DriverDNP.NomedoTag) IF Tag.WriteEx(Valor,,,WStatus) = false Then MsgBox Erro no envio do comando, 48, "Erro" Else If WStatus <> 0 Then MsgTrack = Comando no Executado," EndText = "" select case WStatus case 1 Endtext = " Operate recebido depois do Timeout de Seleo" case 2 Endtext = " Sem Mensagem de Seleo anterior" case 3 Endtext = " Erro de Formatao no Comando" case 4 Endtext = " Operao no suportada para este ponto" case 5 Endtext = " Fila est cheia ou ponto j est ativo" case 6 Endtext = " Problemas de Hardware" case else Endtext = " Problema no definido" end select MsgBox MsgTrack & EndText, 48, Erro End If End If End If
Exemplo de script (Elipse SCADA) usando um bloco com quatro elementos Configuraes: B2=5 (DIRECT OPERATE), B3 = 1201
Block1.Element0 Block1.Element1 Block1.Element2 Block1.Element3 Block1.Write() = = = = 65 // operation code 1 // count 500 // on time 500 // off time
DNP Driver
17
OBS: O Bloco nico de eventos no pode ser usado em conjunto com outros tags de evento em uma aplicao.
OL (ONLINE): em 0, Q = 12 (BAD, DEVICE FAILURE) CL (COMM LOST): em 1, Q = 12 (BAD, DEVICE FAILURE) RS (RESTART): em 1, Q = 68 (UNCERTAIN) CF (CHATTER FILTER) em 1, Q = 80 (UNCERTAIN) RF (REMOTE FORCED): em 1, Q = 216 (GOOD, LOCAL OVERRIDE) LF (LOCAL FORCED): em 1, Q = 216 (GOOD, LOCAL OVERRIDE)
OL (ONLINE): em 0, Q = 12 (BAD, DEVICE FAILURE) CL (COMM LOST): em 1, Q = 12 (BAD, DEVICE FAILURE) RS (RESTART): em 1, Q = 68 (UNCERTAIN) RE (REFERENCE ERROR): em 1, Q = 80 (UNCERTAIN) OR (OVER RANGE): em 1, Q = 66 (UNCERTAIN) RF (REMOTE FORCED): em 1, Q = 216 (GOOD, LOCAL OVERRIDE) LF (LOCAL FORCED): em 1, Q = 216 (GOOD, LOCAL OVERRIDE)
RS (RESTART): em 1, Q = 68 (UNCERTAIN) Bits 5 ou 6 em 1, Q = 80 (UNCERTAIN) RF (REMOTE FORCED): em 1, Q = 216 (GOOD, LOCAL OVERRIDE) LF (LOCAL FORCED): em 1, Q = 216 (GOOD, LOCAL OVERRIDE)
Obs: Vale lembrar que de acordo com o padro OPC, se a qualidade for maior ou igual a 192 considerada BOA (GOOD).
3.02
2012-05-31
M. Salvador
Inclui as seguintes alteraes disponveis em verses Beta: Beta 1: Correes no Bloco nico de Eventos Beta 2: Suporte Leitura objeto 50 Var 01 Correo Qualificadores 7 e 8 Ao conectar, a solicitao de eventos feita antes da Classe 0 Beta 3: Correo verificao de eventos fora de ordem Beta 4: Tempo de espera por Mensagens no solicitadas em ms Beta 5: Verificao de eventos fora de ordem individual por tag Beta 6: Correo de mensagem de Log quando h erro de CRC Beta 7: Correo na informao de qualidade do Bloco nico de Eventos Beta 8,9: Correo no numero de sequencia esperado na camada de aplicao Beta 10: Correo pontos duplos objetos 3 e 4 Beta 11: Tag indicando numero de frames recebidos Beta 12: Comando de Write Objeto 10 Variao 1 Beta 13: Diminuio tempo de espera de transmisso quando no est conectado Beta 14: Tag N2=-21 s informa ATIVO aps ter recebido a resposta de um RESET OF REMOTE LINK do escravo Beta 15: Tratamento de 05 duplicado no inicio do frame (ex: 05 05 64)
19
DNP Driver
3.01
2009-12-14
M. Salvador
3.00
2009-11-30
M. Salvador
2.29
2008-11-30
M. Salvador
2.28
2006-10-29
M. Salvador
2.20
2005-12-20
M. Salvador
2.19
2005-10-11
M. Salvador
Beta 16: Separados os processos de Envio, Recepo e Verificao Beta 17: Processo de Envio agora sncrono com a camada de aplicao; Beta 18: Opo de aplicar o Local Time Zone a eventos e sincronismo Beta 19: Opo de descartar eventos fora de ordem estava sendo sempre aplicada Beta 20: Estatsticas de Bytes Enviados e Recebidos Beta 21: Melhorias de desempenho com utilizao de muitos tags com callbacks Beta 22: Correo tratamento objeto 10 variao 1 Beta 23: Liberao de confirmao de mensagens de aplicao mesmo sem um reset of remote link, para permitir o processamento de mensagens no solicitadas recebidas imediatamente aps a conexo Beta 24: Adio do tag de indicao de IIN (-22) - Correo case 11020. A conexo era considerada inativa assim que entrava em estado ativo, devido um erro de digitao interno. - Mudana de nome da dll para DNPMaster.dll - Implementao das opes de Read from Cache e Read Events, tornando o comportamento do driver similar ao do driver IEC 60870101/104. - Reviso da documentao - Correo Sincronismo para mais de um escravo no mesmo link. - Correo revalidao dos pontos aps queda de conexo - Correo de Leitura de Blocos com tipo Float - Correo na mensagem de verificao de eventos (a mesma classe solicitada mais de uma vez na mesma mensagem) - Correo competio entre processos quando em Select. - Opo de Inicializao no Device Restart - Coleta de Arquivos - Retentativas de Leitura e Escrita Independentes - Bloco nico de Eventos - Habilitao de Msg No Solicitadas ao Iniciar - Controle On/Off para cada endereo - Controle de Ativo/Inativo para cada endereo - Controle de Demotion automtico - Melhorias no processo de atualizao da base de dados - Leitura de eventos baseada em solicitao de classes ao invs do comando de leitura de relgio - Sistema de Integridades e Pollings Internos. - Correo de Congelamento dos valores. - Adicionado suporte ao equipamento Toshiba Regulator (case 5768) - Todas as publicaes anteriores ao controle de revises.
DNP Driver
20