A precisão de ponto flutuante do medidor determina quão finamente um número transmitido pode representar uma leitura na sua magnitude atual. É diferente da precisão de medição do medidor, resolução do display e método interno de acumulação de energia. Para avaliar uma etiqueta de energia, obtenha o tipo de dado documentado, unidade, escala e ordem das palavras, preserve os registros brutos e calcule o passo de representação onde o contador realmente opera. Um float que funciona bem para potência instantânea pode ser inadequado para preservar pequenas diferenças entre leituras de energia acumulada muito grandes. Nunca infera o formato do acumulador interno apenas a partir do formato de comunicação.
Este guia aborda a representação numérica e o registo de dados. Use o separado guia de verificação de precisão do medidor para a cadeia de medição e guia de rollover do contador de energia para resets e limites do contador.
A precisão de medição descreve o acordo com uma referência sob condições especificadas. A resolução do display é a menor mudança que o painel frontal mostra. A resolução de comunicação descreve o valor transmitido e sua escala. A precisão de armazenamento descreve o que sobrevive no historiador ou base de dados. Todos estes podem diferir sem indicar um medidor defeituoso.
A família de instrumentos CNBYG BY194 é uma referência de produto relevante para um projeto de medição, com uma interface opcional RS485/MODBUS na sua descrição publicada. Essa descrição de família não prova que um valor de energia específico utilize binary32, binary64 ou um inteiro. Solicite o manual de comunicação exato para a variante e firmware selecionados. A ilustração exterior do produto abaixo não estabelece nenhuma capacidade numérica.
Um medidor pode acumular internamente com uma representação e exportar um valor arredondado em outra. Por outro lado, um sistema de monitorização pode danificar uma fonte adequadamente precisa ao convertê-la para um tipo menor. Avalie o caminho completo desde o registro do instrumento até ao relatório exportado, em vez de julgar apenas os dígitos visíveis numa tela.
Uma representação de ponto flutuante armazena um significando com um expoente. Dentro de um intervalo de expoente dado, valores representáveis têm um espaçamento fixo; esse espaçamento muda quando o expoente muda. Magnitudes grandes, portanto, têm um espaçamento absoluto mais grosseiro do que magnitudes pequenas para o mesmo formato. Mais casas decimais exibidas não podem recuperar informações ausentes do valor codificado.
O A documentação do Python sobre aritmética de ponto flutuante explica aproximação binária, erro de representação e por que a formatação não é a mesma que a precisão armazenada. Seus exemplos dizem respeito ao comportamento usual de ponto flutuante do Python. Eles explicam o princípio, mas não estabelecem o formato de um registro de medidor. Identifique o formato real de forma independente antes de usar um exemplo.
Para um valor binário32 normal ao estilo IEEE, o significando tem 24 bits de precisão, incluindo o bit líder. Entre 2 elevado ao expoente e o próximo potência de dois, valores adjacentes são separados por 2 elevado a (e menos 23). Esta é uma cálculo de representação, não uma especificação de precisão do instrumento. Também não descreve valores subnormais ou codificações especiais, que devem ser tratadas de acordo com o decodificador escolhido.
Suponha que um registro hipotético seja explicitamente documentado como binário32 em kWh e a sua leitura acumulada esteja entre 1.048.576 e 2.097.152 kWh. Esses limites são potências de dois, com e igual a 20. O espaçamento entre valores adjacentes é, portanto, 2 elevado a menos três kWh, ou 0,125 kWh. Uma pequena mudança na energia acumulada subjacente pode não produzir imediatamente um valor exportado diferente.
Agora assume-se que uma instalação relata apenas cerca de 0,05 kWh de energia nova entre algumas amostras. Duas leituras exportadas sucessivas podem ser idênticas, seguidas posteriormente por um passo aparente maior. Esse padrão por si só não demonstra uma acumulação interna em falta. Pode surgir quando um contador interno fino é arredondado para exportação. A confirmação requer a arquitetura documentada do medidor ou outro canal adequadamente resolvido.
A 230 V e 10 A, num exemplo hipotético de corrente resistiva monofásica, a potência real é de 2,3 kW, resultando em cerca de 0,0383 kWh em um minuto com carga constante. Este cálculo simplificado ilustra a escala de um incremento de intervalo; não é uma fórmula trifásica, um resultado de teste ou uma afirmação sobre BY194. A análise real deve usar a potência real medida, o tempo decorrido efetivo e as condições de wiring do sistema.
| Decisão de representação | O que pode correr mal | É necessária evidência |
|---|---|---|
| Energia acumulada em Binary32 | Passo absoluto cresce à medida que o total aumenta | Formato, unidades e magnitude de operação |
| Energia de inteiro escalado | Multiplicador errado ou manipulação de intervalo | Sinal, escala, largura e regra de rollover |
| Armazenamento Binary64 de entrada Binary32 | Arredondamento original permanece presente | Formato de origem e conversão de ingestão |
| Formatação de relatório decimal | Passos ocultos ou dígitos extras enganosos | Valor armazenado e formato de exibição |
| Diferença entre amostras acumuladas | Incrementos pequenos são obscurecidos pelo arredondamento | Leituras brutas com carimbo de data/hora e energia do intervalo esperado |
O exemplo matemático baseia-se no modelo de representação binária. A seleção real deve seguir a documentação do registo do fabricante. O Documentação do struct do Python descreve os formatos binários IEEE suportados para as suas operações de codificação e é útil ao reproduzir independentemente um teste de decodificador.

Comece com o endereço de registo exato, contagem e função. Guarde as palavras brutas e reproduza a sua decodificação usando um método independente. O Guia de ordem de bytes do Modbus explica por que um erro de ordem de bytes pode produzir valores plausíveis mas incorretos. Um cálculo de espaçamento de representação aplicado a um valor mal decodificado não tem significado prático.
Verifique a unidade de engenharia em cada etapa. Wh e kWh diferem por um fator de mil; uma escala aplicada duas vezes pode parecer um problema de calibração do instrumento. Confirme se o manual fornece um multiplicador fixo, um registo de expoente ou uma representação documentada com unidades já incluídas. Não infira a regra a partir de uma leitura única conveniente.
Para um valor de múltiplos registos, siga os requisitos documentados de leitura agrupada. Receber todas as palavras numa resposta de protocolo por si só não garante que a aplicação capturou uma instantânea interna coerente. Se a coerência for importante, solicite o comportamento de trava ou instantânea do fabricante. Mantenha as garantias de transporte de comunicação separadas da implementação de atualização de dados do medidor.
Estime a menor energia de intervalo relevante para a tarefa. Um painel de produção pode tolerar incrementos mais grosseiros do que um experimento de verificação de curta duração. Compare esse requisito com o espaçamento de representação tanto na magnitude presente quanto na futura esperada do contador. Um sistema que é adequado na fase de comissionamento pode tornar-se menos útil à medida que os totais acumulados crescem.
Se a fonte fornecer uma representação documentada de resolução superior em inteiros ou mais ampla, avalie-a antes de encomendar. Verifique se o cliente e a base de dados preservam exatamente toda a sua gama. Algumas ferramentas de relatórios convertem silenciosamente grandes inteiros em ponto flutuante; exportar uma coluna como número não é prova de que todos os inteiros permaneceram inalterados.
Aumentar a taxa de sondagem não pode criar novos valores representáveis numa contagem de origem arredondada. Pode produzir mais amostras repetidas enquanto adiciona carga ao barramento. Selecione uma intervalo de sondagem que atenda aos requisitos de atualidade e respeite o timing de atualização da fonte. Para cálculos de intervalo, utilize carimbos de data/hora reais e flags de qualidade, em vez de assumir que cada pedido foi bem-sucedido exatamente na hora prevista.
Armazene as palavras de registo brutas, o valor de engenharia decodificado, a unidade, o tipo de dado e a configuração de decodificação para capturas de comissionamento. Mantenha os carimbos de data/hora da fonte separadamente dos carimbos de receção quando ambos existirem. Marque valores obsoletos, ausentes e inválidos de forma distinta; substituir uma amostra ausente por zero pode criar um incremento de energia falso negativo.
Mantenha precisão suficiente nos cálculos intermédios. Arredondar cada amostra antes da subtração pode adicionar erro evitável. Realize o cálculo na melhor representação armazenada disponível e arredonde na fase de reporte de acordo com a resolução requerida pela tarefa. Documente qualquer conversão para quantidades decimais para que exportações posteriores permaneçam reproduzíveis.
Não force uma diferença negativa a zero sem investigação. Reset, rollover, direção de importação/exportação, perda de coerência e um multiplicador alterado são possibilidades distintas. Uma questão de representação numérica é apenas um candidato. Preserve a sequência original e o histórico de configuração antes de aplicar qualquer regra de correção.

Utilize um teste controlado que cubra várias magnitudes de operação sempre que possível. Compare os valores decodificados com a exibição documentada ou referência aprovada, e inspecione se o registrador preserva pequenas alterações. Isto valida o caminho dos dados dentro das condições de teste. Não substitui um teste de precisão rastreável ou uma afirmação de que cada valor futuro do contador é adequado.
Pergunte ao fornecedor quais as representações de energia disponíveis, se as mudanças de escala variam com a magnitude, como os resets e rollover são sinalizados, e se o acumulador interno difere do valor exportado. Solicite uma resposta bruta de exemplo com o seu resultado decodificado. Pergunte ao fornecedor de software sobre limites de inteiros, conversões automáticas e comportamento de exportação antes de escolher um campo na base de dados.
Quando uma instalação existente não puder fornecer a energia de intervalo fina requerida, registre essa limitação explicitamente. Um canal de pulso ou intervalo separado documentado pode ser útil se suportado, mas a sua escala, timing e adequação precisam de verificação própria. Não apresente suavização, interpolação ou dígitos extras impressos como medições recuperadas.
A lição abaixo explica a aritmética de ponto flutuante e as limitações numéricas. Fornece contexto para compreender os passos de representação crescente e arredondamento. As decisões de medição trabalhadas ainda dependem do formato real do registo, unidades de engenharia e requisitos de aceitação da instalação.
Não. A precisão da representação diz respeito ao espaçamento dos valores codificados. A precisão da medição diz respeito à cadeia completa de medição sob condições especificadas. Uma quantidade medida com precisão pode ser arredondada durante a exportação ou armazenamento.
Não. Um destino mais amplo pode preservar o valor de origem e melhorar cálculos posteriores, mas não pode recuperar informações já arredondadas na leitura original em binário32. Um canal de origem de resolução mais alta requer suporte documentado do medidor.
As causas possíveis incluem o momento de atualização da fonte, arredondamento, dados desatualizados e o comportamento real da carga. Verifique as palavras brutas, carimbos de data/hora, qualidade dos dados e a representação documentada antes de atribuir o padrão ao espaçamento de ponto flutuante.
Pedidos mais rápidos não reduzem o espaçamento do formato do número da fonte. Escolha o intervalo de acordo com a frescura requerida, a taxa de atualização do medidor e a capacidade da rede, e obtenha uma representação da fonte mais adequada quando a aplicação exigir incrementos mais finos.