Histórico de Revisões do Driver
| Versão | Data | Autor | Comentários |
|---|---|---|---|
| 4.0.77 | 10/08/2026 | M. Ludwig | • Driver atualizado para a biblioteca IOKit versão 3 e Visual Studio 2022 (Case 37955). |
| 4.0.74 | 13/05/2025 | M. Salvador | • Comandos analógicos de 16 e 32 bits agora são interpretados como int16 e int32, respectivamente (Case 37456). • Corrigido o comportamento da recepção de dados ao usar a opção Unify Objects with/without status (Case 37535). • Criada a opção Discard Events Before this date (DD/MM/YY) (Case 37650). |
| 4.0.70 | 10/12/2024 | M. Salvador | • Criada uma opção para enviar eventos de Classes 2 (dois) e 3 (três) mais rapidamente, sem solicitar confirmação de uma aplicação, supondo que eventos de SOE são reportados somente na Classe 1 (um) (Case 32987). • Criada uma opção de banda morta individual absoluta, além da forma já existente de individual por porcentagem (Case 33326). • Agora com a opção Generate Events on First Write configurada, um evento não é gerado na primeira escrita de um Tag caso a qualidade seja ruim (Case 33375). • Criada uma proteção para evitar a entrada de valores do tipo Float inválidos (Case 34437). • Adicionado suporte a pedidos de leituras com Variação 0 (zero) e Qualificador diferente de 6 (seis) (Case 36673). • Criada uma opção de número máximo de dias à frente do horario atual para que escritas sejam aceitas. O limite inferior de data é fixo em 01/01/1980 e corrigido o tratamento de escritas de valores NULL (Case 33162). • Agora este Driver responde a pedidos de leitura de Strings com Qualificador 6 (seis) e índice não especificado corretamente (integridade de objetos estáticos) e responde com erro a pedidos com outros Qualificadores (Case 34739). • Agora este Driver pode enviar objetos do tipo String (110 ou 111) com índice maior que 255 (Case 34774). • Melhorada a performance para tratar mensagens vindas de um Mestre (Case 35103). • Comunicação em UDP revisada. Agora este Driver responde para o endereço IP e porta TCP/IP utilizado por um Mestre em cada conexão (Case 35375). • Revisado o de tamanho máximo de mensagem de aplicação, que agora está realmente limitado ao máximo declarado pelo usuário na propriedade Max App Size (Case 35646). • Corrigido um problema ao reportar eventos com um offset que acumula a cada conexão adicional (Case 36655). |
| 4.0.50 | 22/06/2022 | M. Salvador | • Agora é permitido informar mais de um endereço DNP na opção My DNP Addresses, separados por ponto e vírgula, compartilhando a mesma conexão (Case 30900). • Agora o Objeto 2005 pode ser independente do Objeto 2001 usando a opção Unify objects with and without Status desmarcada (Case 31397). • Implementados os Objetos 3006 e 3206 (Double Floating Point) (Case 31588). • Adicionado suporte ao Objeto 100 variação 1 (um) (Case 31780). • Criado um Tag com o parâmetro N2 igual a -42 (force_events), que permite forçar a geração de eventos de um tipo específico definido no parâmetro N3. O parâmetro N4 define como é tratada a estampa de tempo (Case 30899). • Agora é possível informar quais Classes este Driver começa enviando, informando na opção Use Unsolicited Msg uma sequência de números 1 (um), 2 (dois) ou 3 (três) separados por ponto e vírgula, se necessário. Esta configuração pode ser alterada pelo Mestre ao enviar os comandos de Enable ou Disable unsolicited (Case 32331). • Implementados os Objetos de Variações 3006, 3206 e 3208 de 64 bits (Case 32401). • Criada a opção Disconnect after unconfirmed unsolicited sequence count, que permite informar o número máximo de mensagens não solicitadas consecutivas sem resposta para que um Escravo realize uma desconexão forçada (Case 32403). • Agora os pedidos deferred são respondidos corretamente após o recebimento de uma confirmação ou time-out (Case 32177). • Eventos analógicos sem estampa de tempo agora são enviados na ordem em que foram gerados. Além disto, se a opção One Analog Event per Index está selecionada, então na ocorrência de um novo evento e um anterior está pendente de envio, então o valor é atualizado mas a ordem original é mantida. Demais eventos continuam sendo ordenados por estampa de tempo, se usada, ou por índice (Case 32223). • Agora este Driver espera corretamente o time-out ou a chegada de confirmação para enviar a próxima mensagem não solicitada (Case 32346). • Melhorias nas regras para envio de mensagens não solicitadas, de forma a aumentar a velocidade de envio (Case 32838). |
| 4.0.38 | 18/05/2021 | M. Salvador | • Adicionado suporte ao Qualificador 8 (oito) nos pedidos de eventos das Classes 1 (um), 2 (dois) e 3 (três) (Case 29111). • Implementado suporte à função Assign Classes (22) (Case 29138). • Implementada a resposta a pedidos de leitura do Objeto 80 Variação 1 (um) (Internal Indications, índices de zero a 15) (Case 29192). • Criada uma opção para ignorar a função Assign Class e definido um SoeType padrão sem estampa de tempo quando recebe uma função Assign Class e não há SoeType no Tag (parâmetro N1) (Case 29246). • Criada a opção Unify objects with and without status, que vem selecionada por padrão para manter compatibilidade com versões anteriores (Case 29516). • Criada uma nova opção de SOE igual a 3 (três), que gera 2 (dois) eventos, com e sem estampa de tempo (Case 29769). • Implementada uma opção de Analógica do tipo BitString (Case 30602). • Corrigidas as funções 20 (Enable Unsolicited), 21 (Disable Unsolicited) e 24 (Record Current Time) (Case 28900). • Warm e Cold restart agora iniciam imediatamente após a resposta de um pedido (Case 29206). • Corrigido o uso de banda morta individual para os Tags dos tipos R32 e R64 (Case 29223). • Adicionado suporte à Variação 0 (zero) com outros Qualificadores além do 6 (seis, não especificado) (Case 29515). • A resposta de Classe 0 (zero) agora pode ser respondida no mesmo fragmento de aplicação com respostas de outros pedidos na mesma mensagem (Case 29380). • Adicionado suporte a pedidos de Objetos de eventos diretamente, com Variação 0 (zero) ou Variação específica (Case 29615). • Corrigido um problema durante uma Classe 0 (zero) caso o Escravo não tenha nenhum Objeto criado (Case 29768). • Criadas 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 (zero) os valores correntes dos Tags com estampa de tempo relativa à ultima alteração (Case 30111). |
| 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 6 (seis) (Case 26212). |
| 4.0.16 | 16/10/2018 | M. Salvador | • Definido um valor padrão 1 (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 um 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 41 Variação 03 (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 0 (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 1 (um), 2 (dois) e 3 (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 a biblioteca IOKit versão 2 (Case 15635). |
| 3.2.1 | 22/02/2013 | M.Salvador | • Mudança do identificador 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 (um) e correção dos Qualificadores 7 (sete) e 8 (oito). • Beta 6: Implementação do Objeto 1 (um) Variação 1 (um). • Beta 11: Confirmação de aplicação não pode ser desmarcada, suporte a mensagens de Classe com qualificador 7 (sete), suporte aos Objetos 1 (um) Variação 1 (um) Qualificador 6 (seis) e Objeto 1 (um) Variação 0 (zero). • 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 (três) e 4 (quatro). • Beta 20: Implementado o comando Cancel e verificação de comando Select sobre Select. • Beta 22: Correção de escrita do Objeto 10 Variação 1 (um). • 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 comando Reset of Remote Link, que 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 unacknowledged 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 pedidos de eventos com Variação 0 (zero) e Qualificador 6 (seis). • Beta 31: Suporte a estampas de tempo convertidas para o formato GMT (Greenwich Mean Time). |
| 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. |