Histórico de Revisões do Driver

<< Clique para Mostrar o Sumário >>

 

Histórico de Revisões do Driver

Versão

Data

Autor

Comentários

4.0.69

26/09/2024

M. Salvador

Agora é permitido informar mais de um endereço DNP no campo "My DNP Addresses", separados por ponto e vírgula (exemplo: 1;3;5) compartilhando a mesma conexão. [30900] { implementado no DNPSlave v4.00 Build 39 }

Agora objeto 2005 pode ser independente do objeto 2001 através da opção "Unify objects with and without Status" desmarcada. [31397] { implementado no DNPSlave v4.00 Build 40 }

Implementados objetos 3006 / 3206 (Double Floating Point) [31588] { implementado no DNPSlave v4.00 Build 41 }

Adicionado suporte a objeto 100 variação 1 [31780] { implementado no DNPSlave v4.00 Build 42 }

Criado o tag N2=-42 (force_events) que permite forçar a geração de eventos de um tipo específico definido no parâmetro N3. O parametro N4 define como será tratado o timestamp: N4 = 0 : Eventos são forçados usando o timestamp corrente do último evento N4 = 1: Eventos são forçados usando o timestamp do momento da escrita do tag force_events N4 = 2: Eventos são forçados usando o timestamp do minuto arrendado mais próximo do momento da escrita do tag force_events [30899] { implementado no DNPSlave v4.00 Build 44 }

Agora é possível informar quais classes o driver começa enviando, informando no campo "Use Unsolicited Msg" uma sequencia de numeros 1,2 ou 3 separados por ponto e vírgula se necessário. ex: "1;2" habilitam somente as classes 1 e 2 para as mensagens não solicitadas. Esta configuração entretanto, pode ser alterada pelo mestre ao enviar os comandos de ENABLE ou DISABLE unsolicited. [32331] { implementado no DNPSlave v4.00 Build 47 }

Implementados os objetos de variações 3006, 3206 e 3208 (64 bits). [32401] { implementado no DNPSlave v4.00 Build 49 }

Criada a opção "Disconnect after unconfirmed unsolicited sequence count" onde é possível informar o numero máximo de mensagens não solicitadas consecutivas sem resposta para que o slave realize uma desconexão forçada. [32403] { implementado no DNPSlave v4.00 Build 49 }

[BUG] Agora os pedidos deferred são respondidos corretamente após o recebimento de uma confirmação ou timeout. [32177] { corrigido no DNPSlave v4.00 Build 45 }

[BUG] Eventos Analógicos sem timestamp agora são enviados na ordem que foram gerados. Além disso se a opção "One Analog Event per Index" estiver setada, então na ocorrência de um novo evento e um anterior estiver pendente de envio, então o valor é atualizado mas a ordem original é mantida. Demais eventos continuam sendo ordenados por timestamp (se usarem timestamp) ou por índice. [32223] { corrigido no DNPSlave v4.00 Build 46 }

[BUG] Agora o driver espera corretamente o timeout ou a chegada de confirmação para enviar a proxima mensagem não solicitada. [32346] { corrigido no DNPSlave v4.00 Build 48 }

[BUG] Melhorias nas regras para envio de mensagens não-solicitadas, de forma a aumentar a velocidade de envio. [32838] { corrigido no DNPSlave v4.00 Build 50 }

4.0.69

18/05/2021

M. Salvador

Adicionado suporte a qualificador 8 nos pedidos de eventos (classes, 1,2 e 3) [29111] { implementado no DNPSlave v4.00 Build 20 }

Implementado suporte à função Assign Classes (22) [29138] { implementado no DNPSlave v4.00 Build 21 }

Implementada resposta a pedidos de leitura do objeto 80 variação 1 - Internal Indications - (indices de 0 a 15) [29192] { implementado no DNPSlave v4.00 Build 22 }

Criada uma opção para ignorar o Assign Class, e definido um SoeType padrão sem timestamp quando recebe um Assign Class e não há SoeType no tag (Parametro N1). [29246] { implementado no DNPSlave v4.00 Build 24 }

Criada opção "Unify objects with and without status" que vem marcada como default para manter compatibilidade com versões anteriores. [29516] { implementado no DNPSlave v4.00 Build 28 }

Criada nova opção de SOE = 3, que gera dois eventos, com e sem timestamp. Exemplo: Ao configurar um tag com N1=31, quando houver mudança de valor será criado um evento com timestamp e outro sem timestamp, ambos para classe 1. [29769] { implementado no DNPSlave v4.00 Build 34 }

Implementada opção de Analógica do tipo BitString [30602] { implementado no DNPSlave v4.00 Build 36 }

[BUG] Corrigidas as funções 20 (ENABLE UNSOLICITED), 21 (DISABLE UNSOLICITED) e 24 (RECORD CURRENT TIME) [28900] { corrigido no DNPSlave v4.00 Build 19 }

[BUG] Warm e Cold restart agora iniciam imediatamente após a resposta do pedido [29206] { corrigido no DNPSlave v4.00 Build 22 }

[BUG] Correção do uso de banda morta individual para os tags do tipo R32 e R64. [29223] { corrigido no DNPSlave v4.00 Build 23 }

[BUG] Suporte a Variação 0 com outros qualificadores além do 6 (não especificado) [29515] { corrigido no DNPSlave v4.00 Build 28 }

[BUG] A resposta de classe 0 pode agora ser respondida no mesmo fragmento de aplicação com respostas de outros pedidos na mesma mensagem. [29380] { corrigido no DNPSlave v4.00 Build 30 }

[BUG] Suporte a pedidos de objetos de eventos diretamente, com variação 0 ou variação específica. [29615] { corrigido no DNPSlave v4.00 Build 31 }

Corrigido problema durante uma classe 0 caso o escravo não tenha nenhum objeto criado. [29768] { surgiu no DNPSlave v4.00 Build 30 , corrigido no DNPSlave v4.00 Build 33 }

Criadas duas novas opções para publicação de eventos na primeira conexão e nas conexões subsequentes, com o objetivo do mestre receber antes da classe 0 os valores correntes dos tags com timestamp relativo à ultima alteração. [30111] {DNPSlave v4.00 Build 37 }

Criado o tag N2=-42 que permite forçar a geração de eventos de um tipo específico definido no parâmetro N3. [30899] {DNPSlave v4.00 Build 37 }

Agora é permitido informar mais de um endereço DNP no campo "My DNP Addresses", separados por ponto e vírgula (exemplo: 1;3;5) compartilhando a mesma conexão. [30900] {DNPSlave v4.00 Build 37}

 

4.0.18

10/08/2019

M. Salvador

Adicionado suporte para operações em UDP/IP (Case 27693).

C. Mello

Driver portado para o Visual Studio 2017 (Case 27509).

4.0.17

14/02/2019

M. Salvador

Implementado suporte ao comando Direct Operate No Ack no Tag com o parâmetro N2 igual a seis (Case 26212).

4.0.16

16/10/2018

M. Salvador

Definido um valor padrão (um) para o número de conexões DNP (Case 25520).

4.0.15

08/10/2018

M. Salvador

Implementado o parâmetro Item "DBR:valor" para especificar uma banda morta relativa (Case 24431).

Corrigida a resposta de requisições com um qualificador 27h, ou 39 em decimal (Case 24291).

Adicionado um novo Elemento no bloco de leitura de comandos (Control Block) para identificar o Mestre que enviou o comando (Case 22800).

Adicionada uma opção para desabilitar a reinicialização via comandos Cold Restart e Warm Restart (Case 22328).

Corrigido um problema com mensagens não solicitadas após uma desconexão (Case 21757).

Adicionado suporte a múltiplos canais (Case 21616).

Corrigido um erro de arredondamento no objeto 41v03 (Case 21162).

Implementadas melhorias nos logs da camada de Data Link (Case 20168).

Adicionada uma opção para definir a banda morta individualmente por Tag (Case 20161).

Modificada a banda morta de pontos analógicos e contadores para utilizar casas decimais (Case 19337).

Implementado um evento para escrita de valores nulos (Case 19117).

Melhorias no sistema de controle e tratamento de sequenciamento de mensagens (Case 18783).

Implementadas funções callback para Tags Bloco (Case 18782).

4.0.1

20/02/2015

M. Salvador

Removidos os objetos de comando da resposta de classe zero (Case 18274).

Adicionada uma opção para gerar eventos na primeira escrita de cada ponto (Case 18273).

Melhorias nos logs de comandos (Case 18176).

Implementado um Tag com o parâmetro N2 igual a -30 para invalidar todos os Tags existentes na base de dados (Case 18175).

Adicionadas opções para definir a pilha de eventos das Classes um, dois e três (Case 18085).

Melhorias no processamento de mensagens não solicitadas (Case 17836).

Implementado suporte para funções de callback (Case 17835).

Implementado o tipo de dados String (Case 16921).

Driver portado para o IOKit v2.00 (Case 15635).

3.2.1

22/02/2013

M.Salvador

Mudança do ID de proteção.

3.1.1

31/05/2012

M. Salvador

Beta 1, 2: Modificações no Bloco Único de Eventos.

Beta 3: Correção no teste de banda morta.

Beta 4: Suporte à leitura do Objeto 50 Variação 1 e correção dos qualificadores 7 (sete) e 8 (oito).

Beta 6: Implementação do Objeto 1 Variação 1.

Beta 11: Confirmação de aplicação não pode ser desmarcada, suporte a mensagens de classe com qualificador 7, suporte aos Objetos 1 Variação 1 Qualificador 6 e Objeto 1 Variação 0.

Beta 12, 13: Correções na banda morta.

Beta 14, 15: A função de ordenação na resposta estava invertendo a ordem de pontos sem estampa de tempo.

Beta 16: Correção do Tag OnOff.

Beta 17: Limitação do tamanho máximo da camada de aplicação em 2048 bytes.

Beta 18: Correção no suporte a pontos duplos nos Objetos 3 e 4.

Beta 20: Implementação do comando Cancel e verificação de comando Select sobre Select.

Beta 22: Correção de escrita do Objeto 10 Variação 1.

Beta 23: Correção na propagação de qualidade na escrita de valores para os eventos.

Beta 24: Opção de tratamento de pontos analógicos se desconectado.

Beta 25: Opção de espera pelo Reset of Remote Link (anteriormente sempre esperava).

Beta 26: Opção Sort Analog by Index.

Beta 27: Opção Respond Link Status estava utilizando código incorreto.

Beta 28: Mensagens de Data Link de NACK não estavam sendo tratadas. Eventos de Objeto e Variação diferentes na mesma classe não eram transmitidos ao mesmo tempo.

Beta 29: Opção de limitar as mensagens de classe a um fragmento de Data Link.

Beta 30: Suporte a pedido de evento com Variação 0 e Qualificador 6.

Beta 31: Suporte a estampas de tempo convertidas para GMT.

3.0.1

20/01/2010

M. Salvador

Reimplementada a camada de aplicação (Case 8270).

1.1.1

31/08/2004

M. Salvador

Todas as publicações anteriores ao controle de revisões.