Escolar Documentos
Profissional Documentos
Cultura Documentos
Manual Protocolo Modbus - Mult-K NG (Rev.2.1)
Manual Protocolo Modbus - Mult-K NG (Rev.2.1)
Revisão 2.1
Janeiro/2014
Características
A comunicação baseada no protocolo MODBUS possibilita a conexão com até 247 instrumentos
numa rede RS-485.
STOP
INSTRUMENTO BAUD RATE PARIDADE
BITS
9600/19200 Nenhuma, par
Mult-K NG 1 or 2
38400/57600 ou ímpar.
Bits de Dados: 8
RTU (Remote Terminal Unit): Modo de transmissão no qual os dados são transmitidos como
caracteres de 8 bits.
O usuário pode configurar os parâmetros de comunicação serial através da IHM ou via interface
serial.
Funções MODBUS:
Funções ESPECIAIS:
Podem ser lidos via função "Read Holding Register (3)" e escritos via funções “Preset Single
Register (6)” ou "Preset Multiple Register (16)". No máximo podem ser lidos 8 registros e podem ser
escritos 8 registros para cada requisição.
Limitações:
Limitações:
Utilizado para configurar a seqüência do ponto flutuante enviado pelo aparelho através dos
“Input Registers”. Estes “Input Registers” estão no formato IEEE 32-bit fp, sendo que a seqüência F2, F1,
F0 e EXP poderá ser configurada (função Preset Single Register) ou lida (Função Read Holding Register).
Exemplos:
42.901 (MSB , LSB) DISPOSIÇÃO COMENTÁRIO
0x32, 0x10 F2, F1, F0, EXP Padrão KRON
0x23, 0x01 F1, F2, EXP, F0 float
0x01, 0x23 EXP, F0, F1, F2 float inverse
D7 D6 D5 D4 D3 D2 D1 D0
D15 D14 D13 D12 D11 D10 D9 D8
Grandezas Elétricas: podem ser lidos até 94 registros de uma única vez (de 30001 a 30094).
Energias e Demandas
Exemplo:
(1) O registro inicial para ler é obtido removendo o indicativo (número 3) e subtraindo o resultado
por 1. No exemplo, o registro 30003 (decimal) é transmitido como 0x0002 (hexadecimal):
30003 - 30001 = 00002 = 0x0002 hexadecimal.
A resposta do Slave:
O registro byte count é igual ao total de registros a serem lidos vezes 2, pois cada registro possui 2
bytes.
No exemplo acima o master pediu uma leitura dos registros que contém a tensão trifásica (30003 e
30004) e obteve como resposta o valor 0x00006143 (IEEE 32-bit floating point). Convertendo esse valor
para decimal temos que a Tensão Trifásica = 225,00 Vc.a.
Códigos de Erro
Eventos
Memória de Massa
ENDEREÇO REGISTRO
33.931 – 33.934 Bloco Controle
33.935 Tamanho do Setor 0
33.936 Tamanho do Setor 1
33.937 Tamanho do Setor 2
33.938 Tamanho do Setor 3
33.939 Tamanho do Setor 4
33.940 Tamanho do Setor 5
33.941 Tamanho do Setor 6
33.942 Tamanho do Setor 7
33.943 Tamanho do Setor 8
33.944 Tamanho do Setor 9
33.945 Tamanho do Setor 10
VALOR
NORMAL VALOR MÍNIMO REG. DESCRIÇÃO
MÁXIMO
30.003, 30.004 31.003, 31.004 32.003, 32.004 U0 Tensão Trifásica (V)
30.005, 30.006 31.005, 31.006 32.005, 32.006 U12 Tensão Fase/Fase (A-B)
30.007, 30.008 31.007, 31.008 32.007, 32.008 U23 Tensão Fase/Fase (B-C)
30.009, 30.010 31.009, 31.010 32.009, 32.010 U31 Tensão Fase/Fase (C-A)
30.011, 30.012 31.011, 31.012 32.011, 32.012 U1 Tensão Linha 1 (V)
30.013, 30.014 31.013, 31.014 32.013, 32.014 U2 Tensão Linha 2 (V)
30.015, 30.016 31.015, 31.016 32.015, 32.016 U3 Tensão Linha 3 (V)
30.017, 30.018 31.017, 31.018 32.017, 32.018 I0 Corrente Trifásica (A)
30.019, 30.020 31.019, 31.020 32.019, 32.020 IN Corrente de Neutro
30.021, 30.022 31.021, 31.022 32.021, 32.022 I1 Corrente Linha 1 (A)
30.023, 30.024 31.023, 31.024 32.023, 32.024 I2 Corrente Linha 2 (A)
30.025, 30.026 31.025, 31.026 32.025, 32.026 I3 Corrente Linha 3 (A)
30.027, 30.028 31.027, 31.028 32.027, 32.028 Freq - FA Freqüência Linha 1
30.029, 30.030 31.029, 31.030 32.029, 32.030 Freq - FB Freqüência Linha 2
30.031, 30.032 31.031, 31.032 32.031, 32.032 Freq - FC Freqüência Linha 3
30.033, 30.034 31.033, 31.034 32.033, 32.034 Freq - IEC Freqüência Linha 1 (IEC – 10s)
30.035, 30.036 31.035, 31.036 32.035, 32.036 P0 Potência Ativa Trifásica (W)
30.037, 30.038 31.037, 31.038 32.037, 32.038 P1 Potência Ativa Linha 1 (W)
30.039, 30.040 31.039, 31.040 32.039, 32.040 P2 Potência Ativa Linha 2 (W)
30.041, 30.042 31.041, 31.042 32.041, 32.042 P3 Potência Ativa Linha 3 (W)
30.043, 30.044 31.043, 31.044 32.043, 32.044 Q0 Potência Reativa Trifásica (VAr)
30.045, 30.046 31.045, 31.046 32.045, 32.046 Q1 Potência Reativa Linha 1 (VAr)
30.047, 30.048 31.047, 31.048 32.047, 32.048 Q2 Potência Reativa Linha 2 (VAr)
30.049, 30.050 31.049, 31.050 32.049, 32.050 Q3 Potência Reativa Linha 3 (VAr)
30.051, 30.052 31.051, 31.052 32.051, 32.052 S0 Potência Aparente Trifásica (VA)
30.053, 30.054 31.053, 31.054 32.053, 32.054 S1 Potência Aparente Linha 1 (VA)
30.055, 30.056 31.055, 31.056 32.055, 32.056 S2 Potência Aparente Linha 2 (VA)
30.057, 30.058 31.057, 31.058 32.057, 32.058 S3 Potência Aparente Linha 3 (VA)
30.059, 30.060 31.059, 31.060 32.059, 32.060 FP0 Fator de Potência Trifásico
30.061, 30.062 31.061, 31.062 32.061, 32.062 FP1 Fator de Potência Linha 1
30.063, 30.064 31.063, 31.064 32.063, 32.064 FP2 Fator de Potência Linha 2
30.065, 30.066 31.065, 31.066 32.065, 32.066 FP3 Fator de Potência Linha 3
30.067, 30.068 31.067, 31.068 32.067, 32.068 FP0 - D Fator de Pot. Trifásico – Desloc.
30.069, 30.070 31.069, 31.070 32.069, 32.070 FP1 - D Fator de Pot. Linha 1 – Desloc.
30.071, 30.072 31.071, 31.072 32.071, 32.072 FP2 - D Fator de Pot. Linha 1 – Desloc.
30.073, 30.074 31.073, 31.074 32.073, 32.074 FP3 - D Fator de Pot. Linha 1 – Desloc.
30.075, 30.076 31.075, 31.076 32.075, 32.076 Fator K Desequilíbrio de Tensão.
Agrupamento de Harmônicos
VALOR
NORMAL VALOR MÍNIMO REG. DESCRIÇÃO
MÁXIMO
34.003, 34.004 35.003, 35.004 36.003, 36.004 U1 Agrup. H2 Agrup. 2º harmônico tensão fase 1
34.005, 34.006 35.005, 35.006 36.005, 36.006 U1 Agrup. H3 Agrup. 3º harmônico tensão fase 1
34.007, 34.008 35.007, 35.008 36.007, 36.008 U1 Agrup. H4 Agrup. 4º harmônico tensão fase 1
34.009, 34.010 35.009, 35.010 36.009, 36.010 U1 Agrup. H5 Agrup. 5º harmônico tensão fase 1
34.011, 34.012 35.011, 35.012 36.011, 36.012 U1 Agrup. H6 Agrup. 6º harmônico tensão fase 1
34.013, 34.014 35.013, 35.014 36.013, 36.014 U1 Agrup. H7 Agrup. 7º harmônico tensão fase 1
VALOR
NORMAL VALOR MÍNIMO REG. DESCRIÇÃO
MÁXIMO
34.083, 34.084 35.083, 35.084 36.083, 36.084 U2 Agrup. H2 Agrup. 2º harmônico tensão fase 2
34.085, 34.086 35.085, 35.086 36.085, 36.086 U2 Agrup. H3 Agrup. 3º harmônico tensão fase 2
34.087, 34.088 35.087, 35.088 36.087, 36.088 U2 Agrup. H4 Agrup. 4º harmônico tensão fase 2
34.089, 34.090 35.089, 35.090 36.089, 36.090 U2 Agrup. H5 Agrup. 5º harmônico tensão fase 2
34.091, 34.092 35.091, 35.092 36.091, 36.092 U2 Agrup. H6 Agrup. 6º harmônico tensão fase 2
34.093, 34.094 35.093, 35.094 36.093, 36.094 U2 Agrup. H7 Agrup. 7º harmônico tensão fase 2
VALOR
NORMAL VALOR MÍNIMO REG. DESCRIÇÃO
MÁXIMO
34.163, 34.164 35.163, 35.164 36.163, 36.164 U3 Agrup. H2 Agrup. 2º harmônico tensão fase 3
34.165, 34.166 35.165, 35.166 36.165, 36.166 U3 Agrup. H3 Agrup. 3º harmônico tensão fase 3
34.167, 34.168 35.167, 35.168 36.167, 36.168 U3 Agrup. H4 Agrup. 4º harmônico tensão fase 3
34.169, 34.170 35.169, 35.170 36.169, 36.170 U3 Agrup. H5 Agrup. 5º harmônico tensão fase 3
34.171, 34.172 35.171, 35.172 36.171, 36.172 U3 Agrup. H6 Agrup. 6º harmônico tensão fase 3
34.173, 34.174 35.173, 35.174 36.173, 36.174 U3 Agrup. H7 Agrup. 7º harmônico tensão fase 3
VALOR
NORMAL VALOR MÍNIMO REG. DESCRIÇÃO
MÁXIMO
34.243, 34.244 35.243, 35.244 36.243, 36.244 I1 Agrup. H2 Agrup. 2º harmônico corrente fase 1
34.245, 34.246 35.245, 35.246 36.245, 36.246 I1 Agrup. H3 Agrup. 3º harmônico corrente fase 1
34.247, 34.248 35.247, 35.248 36.247, 36.248 I1 Agrup. H4 Agrup. 4º harmônico corrente fase 1
34.249, 34.250 35.249, 35.250 36.249, 36.250 I1 Agrup. H5 Agrup. 5º harmônico corrente fase 1
34.251, 34.252 35.251, 35.252 36.251, 36.252 I1 Agrup. H6 Agrup. 6º harmônico corrente fase 1
34.253, 34.254 35.253, 35.254 36.253, 36.254 I1 Agrup. H7 Agrup. 7º harmônico corrente fase 1
VALOR
NORMAL VALOR MÍNIMO REG. DESCRIÇÃO
MÁXIMO
34.323, 34.324 35.323, 35.324 36.323, 36.324 I2 Agrup. H2 Agrup. 2º harmônico corrente fase 2
34.325, 34.326 35.325, 35.326 36.325, 36.326 I2 Agrup. H3 Agrup. 3º harmônico corrente fase 2
34.327, 34.328 35.327, 35.328 36.327, 36.328 I2 Agrup. H4 Agrup. 4º harmônico corrente fase 2
34.329, 34.330 35.329, 35.230 36.329, 36.330 I2 Agrup. H5 Agrup. 5º harmônico corrente fase 2
34.331, 34.332 35.331, 35.332 36.331, 36.332 I2 Agrup. H6 Agrup. 6º harmônico corrente fase 2
34.333, 34.334 35.333, 35.334 36.233, 36.334 I2 Agrup. H7 Agrup. 7º harmônico corrente fase 2
VALOR
NORMAL VALOR MÍNIMO REG. DESCRIÇÃO
MÁXIMO
34.403, 34.404 35.403, 35.404 36.403, 36.404 I3 Agrup. H2 Agrup. 2º harmônico corrente fase 3
34.405, 34.406 35.405, 35.406 36.405, 36.406 I3 Agrup. H3 Agrup. 3º harmônico corrente fase 3
34.407, 34.408 35.407, 35.408 36.407, 36.408 I3 Agrup. H4 Agrup. 4º harmônico corrente fase 3
34.409, 34.410 35.409, 35.410 36.409, 36.410 I3 Agrup. H5 Agrup. 5º harmônico corrente fase 3
34.411, 34.412 35.411, 35.412 36.411, 36.412 I3 Agrup. H6 Agrup. 6º harmônico corrente fase 3
34.413, 34.414 35.413, 35.414 36.413, 36.414 I3 Agrup. H7 Agrup. 7º harmônico corrente fase 3
COMANDO DESCRIÇÃO
001 Reseta DEMANDA ATIVA
002 Reseta DEMANDA APARENTE
003 Reseta MÁXIMA DEMANDA ATIVA
004 Reseta MÁXIMA DEMANDA APARENTE
005 Reseta ENERGIA ATIVA POSITIVA
006 Reinicializa Dispositivo
007 Sincroniza Cálculo da DEMANDA
040 Reseta todas ENERGIAS e DEMANDAS
050 Reseta ENERGIA REATIVA POSITIVA
051 Reseta ENERGIA ATIVA NEGATIVA
052 Reseta ENERGIA REATIVA NEGATIVA
053 Reseta Mínimos e Máximos
80 Zera o conteúdo da memória de massa.
100 Apaga todos eventos armazenados
101 Gera arquivo com DIP’s
102 Gera arquivo com SWELL’s
103 Gera arquivo com Interrupções
104 Gera arquivo com Interrupções da Fase 1
105 Gera arquivo com Interrupções da Fase 2
106 Gera arquivo com Interrupções da Fase 3
107 Reset do Prodist.
(1) Este registro é obtido subtraindo 1 do comando desejado. No exemplo o comando 006 é enviado
como 0x0005.
(2) Utilizado para ligar (0xFF00) ou desligar (0x0000) as saídas digitais. Ignorado pelos outros
comandos.
Para a leitura dos eventos (DIP, SWELL e INTERRUPÇÕES) no MULT-K/NG deverá ser utilizada a
função MODBUS “Read File Record (0x14)”. Cada tipo de evento será disponibilizado através de arquivos
de acordo com a tabela a seguir:
Cada arquivo será constituído de gravações (Record Number) sendo que cada gravação
Exemplo:
É mostrado a seguir um exemplo de uma requisição de DIP’s (1º DIP armazenado) para um
MULTK/NG com endereço 2.
Observação: apesar da função “Read File Record” permitir a solicitação de mais de um arquivo, para o
MULT-K/NG será permitida apenas a solicitação de um arquivo.
DIP ou SWELL:
IEEE fp 32-bit é uma variável no formato ponto flutuante com o seguinte significado:
DIP: tensão residual (menor valor RMS de tensão detectado em uma das 3 fases durante o DIP).
SWELL: magnitude máxima do Swell (maior valor RMS de tensão detectado em uma das 3 fases
durante o SWELL).
INTERRUPÇÕES:
Constituem informações adicionais para permitir ao usuário fazer a leitura dos eventos
armazenados na memória interna do MULT-K/NG:
ENDEREÇO DESCRIÇÃO
33.911 STATUS DA MEMÓRIA
33.912 TIPO DO ARQUIVO
33.913 DIA/MÊS
33.914 ANO/HORA
33.915 MINUTO/SEGUNDO
33.916 QUANTIDADE
VALOR DESCRIÇÃO
0x00 Memória disponível para Leitura
0x01 Memória ocupada: apagando
0x02 Memória ocupada: gerando arquivo
VALOR DESCRIÇÃO
0x01 Arquivo com DIP’s
0x02 Arquivo com SWELL’s
0x03 Arquivo com INTERRUPÇÕES
0x04 Arquivo com INTERRUPÇÕES da Fase1
0x05 Arquivo com INTERRUPÇÕES da Fase2
0x06 Arquivo com INTERRUPÇÕES da Fase3
2.3. DIA/MÊS/ANO/HORA/MINUTO/SEGUNDO:
Data e hora em que foi gerado o arquivo que está disponível na memória para leitura.
2.4. QUANTIDADE:
Quantidade de eventos armazenados no arquivo.
Exemplo:
Os eventos no MULT-K/NG serão armazenadas em memória não volátil. Esta memória está
dividida em duas partes: área de armazenamento e área de leitura. O usuário, utilizando as funções
MODBUS, terá acesso aos eventos armazenados somente na área de leitura. Portanto, a área de
armazenamento é invisível ao usuário.
Área de Leitura:
481 DIP’s, ou
481 SWELL’s, ou
194 INTERRUPÇÕES, ou
194 INTERRUPÇÕES da Fase1, ou
194 INTERRUPÇÕES da Fase2, ou
194 INTERRUPÇÕES da Fase3.
Área de Armazenamento:
Procedimento:
6.1. Ler o Input Register 33.911 (Status) e verificar se a memória está ocupada.
6.2. Enviar, através da função MODBUS “Force Single Coil (0x05)” o comando correspondente ao tipo de
evento que se deseja ler. O MULT-K/NG irá gerar o arquivo e colocá-lo na área de leitura.
6.3. É importante realizar a leitura do Input Register 33.911. O MULT-K/NG informará que a memória
está ocupada durante o tempo em que o arquivo estiver sendo gerado. Desta forma, o usuário pode
fazer um “polling” neste registro para saber o instante em que a geração do arquivo foi concluída.
6.4. Após terminada a geração do arquivo, o usuário pode verificar através dos demais Input Registers
os dados do arquivo gerado. Uma informação importante é a quantidade de eventos no arquivo.
6.5. De posse da quantidade, o usuário pode dar inicio a leitura do arquivo através da função “Read File
Record (0x14)”. O usuário pode enviar a solicitação de cada evento na ordem que ele desejar, porém é
mais adequado solicitar a partir do 1º do evento armazenado (Record Number 0) até o último (que será
sempre a quantidade menos um) ou vice-versa.
→ Estes passos devem ser repetidos para os outros tipos de eventos ou mesmo quando o usuário
desejar obter uma posição mais atualizada dos eventos armazenados pelo MULT-K/NG.
Observações:
Uma vez gerado o arquivo, este não será apagado da área de leitura enquanto o MULT-K/NG
não receber outro comando para gerar arquivos. Por isso é que foi disponibilizado a data e a
hora que o arquivo foi gerado. Isto pode auxiliar a interpretação do usuário.
Somente o arquivo que está disponível para o usuário é que fica “congelado”. O sistema
continua armazenando os eventos normalmente na área de armazenamento.
Se não houver eventos armazenados e for enviado o comando para gerar arquivo, este será
gerado, porém será indicado zero na quantidade. Se mesmo assim o usuário enviar comando
de leitura, o usuário irá obter zero para a resposta.
Inicialmente a memória terá apenas o modo circular. Isto significa que, quando for atingida a
capacidade da memória reservada para cada tipo de evento, o sistema irá sobreescrever a
memória com o evento mais novo, sendo descartado o evento mais antigo.
Quando a capacidade estiver sido atingida, por exemplo 481 eventos para os DIP’s, esta
quantidade não será mais incrementada, porém os eventos continuarão a ser armazenados.
Para o usuário, basta solicitar os eventos normalmente do mais antigo (Record Number 0) para
o mais recente (Record Number 480) ou vice-versa.
Se for enviado o COIL 60 (Apagar todos os eventos armazenados), serão apagadas ambas as
áreas: leitura e armazenamento.
Uma vez tendo um arquivo disponível na área de leitura, por exemplo um arquivo de SWELL’s,
se for enviada a solicitação de leitura pelo usuário solicitando um FILE NUMBER diferente de
SWELL, o MULT-K/NG irá devolver uma mensagem de erro como resposta.
Se o MULT-K/NG estiver executando o apagamento da memória (pode ser visualizado pelo registro de
STATUS), os comandos de gerar arquivo não serão aceitos. Da mesma forma, se o MULT-K/NG estiver
gerando a cópia de um arquivo, o comando de apagamento será ignorado.
Intervalo de armazenamento (IA) é o tempo entre as gravações na memória de massa das leituras realizadas
pelo medidor.
Pode variar entre 1 e 540 minutos.
Se IA for programado com 0 (zero) o medidor interrompe a gravação das leituras. A programação do IA pode
apagar (formatação) toda a memória de massa.
Para uma programação do IA maior do que 540 minutos, a gravação na memória de massa é bloqueada. A
mesma só retornará para operação normal quando o IA for programado com um valor válido.
Veja a tabela:
PROGRAMAÇÃO DO IA MEMÓRIA DE MASSA
Anterior Novo
0 1 Não apaga e inicia a gravação
1 12 Apaga a memória para iniciar as gravações
12 0 Não apaga e para a gravação
0 5 Não apaga e re-inicia a gravação
5 63 Apaga e inicia a gravação
A programação do IA pode ser feita através da função MODBUS 10h (WriteMultipleRegisters) ou pela função
MODBUS 06h (WriteSimpleRegister).
No exemplo a seguir o IA será programado para 1 minuto através da função MODBUS 06h.
REQUISIÇÃO
0 1 2 3 4 5 19 20
REG IA CRC
END FUN
MSB LSB MSB LSB LSB MSB
32 06 08 34 00 01 0E 67
RESPOSTA
0 1 3 2
4 5 6 7
REG IA CRC
END FUN
MSB LSB MSB LSB LSB MSB
32 06 08 34 00 01 0E 67
Tipo de Armazenamento
Existem dois tipos de armazenamento que podem ser configurados (circular e linear). Para realizar
tal configuração, é necessário ajustar o bit 2 do registro 40.007 através das funções 06H ou 10H. Se o bit
for configurado em ‘0’, é configurado o armazenamento circular. Se for configurado em ‘1’, linear.
Nos Mult-K NG com memória de massa Tipo 1 é permitida a configuração de 1 até 10 grandezas elétricas.
Ao selecionar uma grandeza que não esteja nos intervalos citados acima, o instrumento considerará que a
tensão trifásica deverá ser a grandeza a ser gravada.
As grandezas que não forem selecionadas deverão ser programadas com o valor FFFFh.
Desta forma a programação de duas grandezas elétricas, tensão trifásica (registro 30003) e freqüência
(registro 30015), com intervalo de armazenamento de 1 minuto terá este formato:
REQUISIÇÃO
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
REG QTD IA GRANDEZAS ELÉTRICAS CRC
END FUN BC
MSB LSB MSB LSB MSB LSB G1 G2 G3 G4 G5 LSB MSB
32 10 08 34 00 06 0C 00 01 00 02 00 0E FF FF FF FF FF FF 63 51
RESPOSTA
0 1 3 24 5 6 7
REG QTD CRC
END FUN
MSB LSB MSB LSB LSB MSB
32 10 08 34 00 06 06 66
REQUISIÇÃO
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 19 20
REG QTD GRANDEZAS ELÉTRICAS CRC
END FUN BC
MSB LSB MSB LSB G6 G7 G8 G9 G10 LSB MSB
32 10 08 3A 00 05 0A FF FF FF FF FF FF FF FF FF FF E6 B8
RESPOSTA
0 1 2
3 4 5 6 7
REG QTD CRC
END FUN
MSB LSB MSB LSB LSB MSB
32 10 08 3A 00 05 27 A4
OBSERVAÇÕES:
EXEMPLO 2
A seguir outro exemplo, com programação de 6 grandezas: tensão linha1, tensão linha2, tensão linha 3, Freq.
IEC, e Fatores de potência das fases 1, 2 e 3, com intervalo de armazenamento de 15 minutos.
PARTE 1
REQUISIÇÃO
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
REG QTD IA GRANDEZAS ELÉTRICAS CRC
END FUN BC
MSB LSB MSB LSB MSB LSB G1 G2 G3 G4 G5 LSB MSB
32 10 08 34 00 06 0C 00 0F 00 0A 00 0C 00 0E 00 20 00 3C 63 51
RESPOSTA
0 1 2 3 4 5 6 7
REG QTD CRC
END FUN
MSB LSB MSB LSB LSB MSB
32 10 08 34 00 06 06 66
PARTE 2
REQUISIÇÃO
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 19 20
END FUN REG QTD BC GRANDEZAS ELÉTRICAS CRC
0 1 3 4 2 5 6 7
REG QTD CRC
END FUN
MSB LSB MSB LSB LSB MSB
32 10 08 3A 00 05 27 A4
Por utilizar tecnologia Flash, a memória de massa é dividida por setores, sendo ao todo 19.
Os setores da memória Flash estão divididos por Bloco Grandeza; a quantidade de blocos de cada setor
depende da quantidade de grandezas elétricas programadas.
O bloco de controle e a quantidade de blocos por setor são lidos através da função MODBUS 04h
(ReadInputRegister).
Bloco de Controle
O bloco de controle possui as informações da memória de massa, necessárias para leitura, sendo: quantidade
de setores da memória, quantidade de grandezas programadas, total de blocos grandeza gravados e o
número do setor inicial para leitura. Para a leitura deste input register (33931), devemos solicitar a
informação completa que é formada por 4 registros. Não é permitido ler um número menor de registros.
REQUISIÇÃO
0 1 2 3 4 5 6 7
REG QTD CRC
END FUN
MSB LSB MSB LSB LSB MSB
32 04 0F 5A 00 04 F5 F6
RESPOSTA
0 1 2 3 4 5 6 7 8 9 10 11 12
BGS INI CRC
END FUN BC QSF GP
MSB LSB MSB LSB LSB MSB
32 04 08 13 05 00 00 00 01 00 00 91 90
Onde:
FUN.............. Função
BC................. Byte Count
QSF ................ Quantidade de setores da memória flash (1 byte)
GP.................. Quantidade de grandezas programadas na memória de massa (1 byte)
BGS................ Total de blocos gravados (4 bytes) (Bloco Grandeza)
INI.................. Setor onde está gravado o primeiro bloco (2 bytes)
Para o modo linear, o setor inicial sempre será o setor 0. Já para o modo circular o setor inicial pode ser
qualquer setor da memória, devido ao sistema de renovação dos dados.
A quantidade de grandezas elétricas que serão armazenadas pode variar de 1 até 10. Assim sendo, cada setor
poderá armazenar uma determinada quantidade de blocos grandeza. A quantidade de blocos de cada setor
pode ser obtida através dos registros:
Veja o exemplo, uma programação de 10 grandezas determina a capacidade do setor 0 em 455 BG´s (Blocos
Grandeza), que pode ser comprovada pela leitura do registro 33935.
REQUISIÇÃO
0 1 2 3 4 5 6 7
REG QTD CRC
END FUNC
MSB LSB MSB LSB LSB MSB
32 04 0F 5E 00 01 56 CF
RESPOSTA
0 1 2 3 4 5 6
QTD BLOCOS CRC
END FUNC BC
MSB LSB LSB MSB
32 04 02 01 C7 FD 36
Nº SETOR Total
Grand
BGs
. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
1 1638 819 819 3276 6553 6553 6553 6553 6553 6553 6553 6553 6553 6553 6553 6553 6553 6553 6553 104847
2 1365 682 682 2730 5461 5461 5461 5461 5461 5461 5461 5461 5461 5461 5461 5461 5461 5461 5461 87374
3 1024 512 512 2048 4096 4096 4096 4096 4096 4096 4096 4096 4096 4096 4096 4096 4096 4096 4096 65536
4 910 455 455 1820 3640 3640 3640 3640 3640 3640 3640 3640 3640 3640 3640 3640 3640 3640 3640 58240
5 744 372 372 1489 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 47647
6 682 341 341 1365 2730 2730 2730 2730 2730 2730 2730 2730 2730 2730 2730 2730 2730 2730 2730 43679
7 585 292 292 1170 2340 2340 2340 2340 2340 2340 2340 2340 2340 2340 2340 2340 2340 2340 2340 37439
8 546 273 273 1092 2184 2184 2184 2184 2184 2184 2184 2184 2184 2184 2184 2184 2184 2184 2184 34944
9 481 240 240 963 1927 1927 1927 1927 1927 1927 1927 1927 1927 1927 1927 1927 1927 1927 1927 30829
10 455 227 227 910 1820 1820 1820 1820 1820 1820 1820 1820 1820 1820 1820 1820 1820 1820 1820 29119
Apagando a memória de massa
O comando (Coil 80), limpa a memória de massa e apaga a indicação de erro, permitindo que a operação seja
iniciada normalmente, a função MODBUS utilizada é a 05h (WriteSingleCoil).
O comando de leitura da memória de massa só pode ser enviado após 10 segundos do envio do coil 80. Este é
o tempo necessário para que a memória seja totalmente apagada.
REQUISIÇÃO
0 1 2 3 4 5 6 7
COIL STATUS CRC
END FUN
MSB LSB MSB LSB LSB MSB
32 05 00 4F FF 00 B8 2E
RESPOSTA
0 1 3 42 5 6 7
COIL STATUS CRC
END FUN
MSB LSB MSB LSB LSB MSB
32 05 00 4F FF 00 B8 2E
Para verificar se a memória de massa apresenta problemas é usada a função MODBUS 07h
(ReadExceptionStatus). Este código de erro pode apresentar várias combinações (consulte o manual do
aparelho). O código 80h indica falha no módulo de memória de massa. Mesmo apresentando falha é possível
ler a memória de massa. Este erro pára a coleta de dados.
REQUISIÇÃO
0 1 2 3
CRC
END FUNC
LSB MSB
32 07 55 12
RESPOSTA
0 1 2 3 4
CRC
END FUNC RES
LSB MSB
32 07 80 D3 9F
Para leitura das configurações do relógio e da memória de massa é usada a função MODBUS 03h
(ReadHoldingRegisters).
Para a configuração da memória de massa é feita a leitura do registro 42101. Este processo também é
dividido em duas partes.
REQUISIÇÃO – PARTE 1
0 1 2 3 4 5 6 7
REG QTD CRC
END FUN
MSB LSB MSB LSB LSB MSB
32 03 08 34 00 06 83 A5
RESPOSTA- PARTE 1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
IA GRANDEZAS ELÉTRICAS CRC
END FUN QTD
MSB LSB G1 G2 G3 G4 G5 LSB MSB
32 03 0C 00 01 00 20 00 0A FF FF FF FF FF FF D6 D7
REQUISIÇÃO – PARTE 2
0 1 2 3 4 5 6 7
REG QTD CRC
END FUN
MSB LSB MSB LSB LSB MSB
32 03 08 3A 00 05 A2 67
RESPOSTA- PARTE 2
0 1 2 4 5 6 7 8 9 10 11 12 13 14 15
GRANDEZAS ELÉTRICAS CRC
END FUN QTD
G6 G7 G8 G9 G10 LSB MSB
32 03 0A FF FF FF FF FF FF FF FF FF FF 51 06
Para a leitura do conteúdo da memória de massa é usada a função MODBUS 14h (ReadFileRecord). Só é
possível ler um grupo por vez. A quantidade de bytes recebida varia de acordo com a quantidade de
grandezas elétricas programada na memória de massa.
OBSERVAÇÃO: Quando o número de bytes for ímpar, deverá ser acrescentado mais 1 byte.
REQUISIÇÃO
0 1 2 3 4 5 6 7 8 9 10 11
SET BLC QTD CRC
END FUN BC RT
MSB LSB MSB LSB MSB LSB LSB MSB
32 14 07 06 00 00 00 00 00 05 C9 D7
RESPOSTA
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 17 18
G1 Byte CRC
END FUN RDL FRL RT DATA E HORA CS
F1 F0 EXP Extra LSB MSB
32 14 0C 0B 06 49 40 53 08 13 06 C5 43 05 FF 27 5B
No próximo exemplo o MULT-K NG está programado com duas grandezas elétricas, Frequência IEC e Tensão
na linha 1.
REQUISIÇÃO
0 1 2 3 4 5 6 7 8 9 10 11
SET BLC QTD CRC
END FUN BC RT
MSB LSB MSB LSB MSB LSB LSB MSB
32 14 07 06 00 00 00 00 00 06 89 D6
RESPOSTA
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
G1 G2 CRC
END FUN RDL FRL RT DATA E HORA CS
F1 F0 EXP F1 F0 EXP LSB MSB
32 14 0E 0D 06 38 50 53 08 13 00 00 00 0F 64 43 AC 47 90
Requisição:
FUN.............. Função
BC................. Byte Count (1 byte)
RT .................. Reference type (1 byte)
SET ................ Número do setor inicial (2 bytes)
BLC ................ Número do BG requisitado (2 bytes)
QTD ............... Número de registros a ser lido (2 bytes)
Resposta:
FUN.............. Função
RDL.............. Register Data Length (1 byte)
FRL............... File Resp. Length (1 byte)
RT .................. Reference type (1 byte)
No próximo exemplo o medidor esta programado com 2 grandezas elétricas, e a leitura será iniciada no bloco
15 do setor 0.
REQUISIÇÃO
DESCRIÇÃO FIELD NAME HEX
End 32
Função 14
Byte Count 07
Ref. Type 06
SET File Number Hi 00
File Number Lo 00
BLC Record Number Hi 00
Record number Lo 0F
QTD Register Length Hi 00
Register Length Lo 06
CRC Lo
CRC Hi
RESPOSTA
DESCRIÇÃO FIELD NAME HEX
End 32
Função 14
Data Length 0E
File resp. length 0D
Ref. Type 06
X/SEC Record Data Hi(00) 00
MIN/HOUR Record Data Lo(01) 05
HOUR/DAY Record Data Hi(02) 54
DAY/MONTH Record Data Lo(03) 08
YEAR Record Data Hi(04) 13
F1 Record Data Lo(05) 0B
F0 Record Data Hi(06) 70
EXP Record Data Lo(07) 42
F1 Record Data Hi(08) 3E
F0 Record Data Lo(09) 65
EXP Record Data Hi(10) 43
CS Record Data Hi(21) F0
CRC CRC Lo 2E
CRC Hi 39
Data e Hora
Os bytes 5 a 9 contém as informações de data e hora das grandezas elétrica gravadas na memória de massa
compactadas em cinco bytes. O mapa a seguir mostra a forma de compactação bit a bit. Estes valores estão
no formato BCD.
5 X S6 S5 S4 S3 S2 S1 S0 S = SEG
N = MIN / H =
6 H5 N6 N5 N4 N3 N2 N1 N0
HOR
D5 D4 D3 H4 H3 H2 H1 H0 H = HOR / D =
7
DIA
M4 M3 M2 M1 M0 D2 D1 D0 D = DIA / M =
8
MES
9 A7 A6 A5 A4 A3 A2 A1 A0 A = ANO
CAMPO BYTE BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 HEXA
SEG 5 X 0 0 0 0 0 0 0 00
MIN 6 0 0 0 0 0 1 0 1 05
6 0 0 0 0 0 1 0 1
HORA 14
7 0 1 0 1 0 1 0 0
7 0 1 0 1 0 1 0 0
DIA 10
8 0 0 0 0 1 0 0 0
MES 8 0 0 0 0 1 0 0 0 01
ANO 9 0 0 0 1 0 0 1 1 13
Os valores de medição estão no formato ponto flutuante 32 bits (F2, F1, F0, EXP). A memória de massa grava
24 bits, portanto, F3 é considerado zero, logo:
F2 F1 F0 EXP VALOR
G1 00 3E 65 43 229.2421875
G2 00 0B 70 42 60.010742
Checksum
O valor CS é a soma dos bytes do bloco lido (bytes 5 a 15), formado por Data, Hora e Grandezas. Este valor é
utilizado para verificar se a resposta enviada pelo medidor foi corrompida. Faça a soma no frame recebido e
compare com o byte CS. Se forem iguais, o dado recebido está correto.
REQUISIÇÃO
0 1 2 3 4 5 6 7 8 9 10 11
SET BLC QTD CRC
END FUN BC RT
MSB LSB MSB LSB MSB LSB LSB MSB
32 14 07 06 00 00 00 00 00 06 89 D6
RESPOSTA
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
G1 G2 CRC
END FUN RDL FRL RT DATA E HORA CS
F1 F0 EXP F1 F0 EXP LSB MSB
32 14 0E 0D 06 53 12 91 48 06 00 70 42 5B D5 43 69 DB CF
Para um frame que possui o byte extra, este deve ser desconsiderado para o cálculo do checksum.
Nota
Os valores de THD na memória de massa estão no formato ponto flutuante. O valor obtido deverá ser dividido
por 10 para sua correta interpretação.
Linear
No modo Linear não há atualização dos dados armazenados, a operação é iniciada pelo setor 0 e termina no
setor 18. Para a renovação dos dados a memória deve ser apagada, para dar inicio a um novo ciclo.
A leitura dos blocos neste modo sempre será iniciada pelo setor 0 e a quantidade de setores que serão lidos
depende da quantidade de blocos gravados.
Estas informações serão obtidas através da leitura do bloco controle, registro 33931. Com as informações
obtidas, para a leitura de todos os blocos gravados, pode-se seguir a seqüência demonstrada abaixo.
INICIA
OPERAÇÃO DE
LEITURA
INICIA LEITURA?
SIM
SELECIONA
SETOR
LÊ BG DO
SETOR
NÃO
NÃO NÃO
ATUALIZA
CONTADOR DE
LEITURA
FIM DA
LEITURA DO
SETOR?
SIM
LEU TODOS OS
BG´S GRAVADOS?
SIM
FIM DA
OPERAÇÃO
A primeira informação dirá se é necessário limpar a memória ao final da leitura (caso esteja indicando erro na
memória de massa).
Com a segunda informação é possível saber a quantidade de grandezas elétricas programadas, a quantidade
de setores da memória flash, a quantidade de blocos gravados e qual o setor inicial para leitura dos blocos,
que serão necessárias para leitura com a função Read File Record - 14h.
Sabendo-se a quantidade de setores da memória, é possível solicitar a capacidade de blocos de cada setor, e,
conhecendo a capacidade e a quantidade de blocos gravados há como determinar quais setores serão lidos.
Lembrando que a leitura será sempre em seqüência.
Por exemplo, ler a memória de massa de um medidor com 10 grandezas programadas e IA de 3 minutos, com
531 blocos já gravados, sem erro na memória de massa.
Como pode ser observado apenas os setores 0 e 1 estão disponíveis para leitura, os demais setores estão
apagados.
REQUISIÇÃO
0 1 2 3
CRC
END FUN
LSB MSB
32 07 55 12
RESPOSTA
0 1 2 3 4
CRC
END FUN RES
LSB MSB
32 07 00 D2 3F
RESPOSTA
0 1 2 3 4 5 6 7 8 9 10 11 12
BGS INI CRC
END FUN BC QSF GP
MSB LSB MSB LSB LSB MSB
32 04 08 13 0A 00 00 02 13 00 00 CF 2D
REQUISIÇÃO
0 1 2 3 4 5 6 7
REG QTD CRC
END FUNC
MSB LSB MSB LSB LSB MSB
32 04 0F 5E 00 12 17 02
RESPOSTA
0 1 2 3 4 5 6 7 8 9
END FUNC BC QTD DE QTD DE QTD DE QTD DE QTD DE QTD DE QTD DE
BLOCOS BLOCOS BLOCOS BLOCOS BLOCOS BLOCOS BLOCOS
MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB
32 04 24 01 C7 00 E3 00 E3 03 8E 07 1C 07 1C 07 1C
10 4 5 6 7 8
QTD DE QTD DE QTD DE QTD DE QTD DE QTD DE QTD DE QTD DE QTD DE
BLOCOS BLOCOS BLOCOS BLOCOS BLOCOS BLOCOS BLOCOS BLOCOS BLOCOS
MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB
07 1C 07 1C 07 1C 07 1C 07 1C 07 1C 07 1C 07 1C 07 1C
10 4 9
QTD DE QTD DE CRC
BLOCOS BLOCOS
MSB LSB MSB LSB MSB LSB
07 1C 07 1C FA BD
Deste ponto em diante os Blocos grandezas deverão ser lidos conforme exemplo abaixo, a leitura deve
ser iniciada pelo setor inicial informado pelo bloco de controle.
REQUISIÇÃO
0 1 2 3 4 5 6 7 8 9 10 11
BLC QTD CRC
END FUNC BC RT SET
MSB LSB MSB LSB LSB MSB
32 14 07 06 00 00 00 00 00 12 89 D9
RESPOSTA
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
END FUNC RDL FRL RT DATA E HORA G1 G2 G3 G4
F1 F0 EXP F1 F0 EXP F1 F0 EXP F1 F0 EXP
32 14 26 25 06 26 26 56 08 13 5B CB 43 00 00 00 00 00 00 00 00 00
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
G5 G6 G7 G8 G9 G10 CRC
F1 F0 EXP F1 F0 EXP F1 F0 EXP F1 F0 EXP F1 F0 EXP F1 F0 EXP CS MSB LSB
D7 6A 43 69 6A 43 31 6B 43 BB 1D 3D 3C EB 3D 9C 1D 3D 0E 0F F8
REQUISIÇÃO
0 1 2 3 4 5 6 7 8 9 10 11
BLC QTD CRC
END FUNC BC RT SET
MSB LSB MSB LSB LSB MSB
32 14 07 06 00 00 00 01 00 12 D8 19
RESPOSTA
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
END FUNC RDL FRL RT DATA E HORA G1 G2 G3 G4
F1 F0 EXP F1 F0 EXP F1 F0 EXP F1 F0 EXP
32 14 26 25 06 00 28 56 08 13 0B CB 43 00 00 00 00 00 00 00 00 00
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
G5 G6 G7 G8 G9 G10 CRC
F1 F0 EXP F1 F0 EXP F1 F0 EXP F1 F0 EXP F1 F0 EXP F1 F0 EXP CS MSB LSB
7B 6A 43 0C 6A 43 D5 6A 43 CF 1C 3D EB E9 3D EB 1C 3D 92 79 69
Circular
O modo circular permite uma renovação dos dados armazenados. O preenchimento da memória inicia no
setor 0 e termina no setor 18, retornando em seguida ao setor 0. Neste momento os dados mais antigos são
substituídos por dados atuais. No processo de renovação dos dados o setor seguinte sempre será apagado
quando o primeiro BG do setor anterior for gravado, logo é fundamental saber o setor inicial para leitura da
memória de massa para assim evitar a leitura de um setor apagado.
O inicio de operação de coleta de dados da memória de massa, após a sua programação (IA, relógio e
grandezas elétricas), ou após ter sido apagada, é iniciada no setor 0, sendo este também o setor inicial para
leitura.
Para a correta leitura da memória de massa neste modo é fundamental obter o setor inicial (Bloco
Controle).
Estas informações serão obtidas através da leitura do bloco controle, registro 33931. Com as informações
obtidas, para a leitura de todos os blocos gravados, pode-se seguir a mesma seqüência demonstrada no
modo linear, lembrando que após o último setor teremos o setor 0.
No exemplo o processo de renovação foi iniciado, o setor 0 foi apagado para que os dados possam ser
atualizados, a leitura da memória deverá ser iniciada pelo setor 1.
REQUISIÇÃO
0 1 2 3
CRC
END FUN
LSB MSB
32 07 55 12
RESPOSTA
0 1 2 3 4
CRC
END FUN RES
LSB MSB
32 07 00 D2 3F
Bloco de Controle
REQUISIÇÃO
0 1 2 3 4 5 6 7
REG QTD CRC
END FUN
MSB LSB MSB LSB LSB MSB
32 04 0F 5A 00 04 D7 0D
RESPOSTA
0 1 2 3 4 5 6 7 8 9 10 11 12
BGS INI CRC
END FUN BC QSF GP
MSB LSB MSB LSB LSB MSB
32 04 08 13 0A 00 00 64 00 00 01 E1 A0
REQUISIÇÃO
0 1 2 3 4 5 6 7
REG QTD CRC
END FUNC
MSB LSB MSB LSB LSB MSB
32 04 0F 5E 00 12 17 02
RESPOSTA
0 1 2 3 4 5 6 7 8 9
END FUNC BC QTD DE QTD DE QTD DE QTD DE QTD DE QTD DE QTD DE
BLOCOS BLOCOS BLOCOS BLOCOS BLOCOS BLOCOS BLOCOS
MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB
32 04 24 01 C7 00 E3 00 E3 03 8E 07 1C 07 1C 07 1C
10 4 5 6 7 8
QTD DE QTD DE QTD DE QTD DE QTD DE QTD DE QTD DE QTD DE QTD DE
BLOCOS BLOCOS BLOCOS BLOCOS BLOCOS BLOCOS BLOCOS BLOCOS BLOCOS
MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB
07 1C 07 1C 07 1C 07 1C 07 1C 07 1C 07 1C 07 1C 07 1C
10 4 9
QTD DE QTD DE CRC
BLOCOS BLOCOS
MSB LSB MSB LSB MSB LSB
07 1C 07 1C FA BD
REQUISIÇÃO
0 1 2 3 4 5 6 7 8 9 10 11
BLC QTD CRC
END FUNC BC RT SET
MSB LSB MSB LSB LSB MSB
32 14 07 06 00 01 00 00 00 12 B4 19
RESPOSTA
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
END FUNC RDL FRL RT DATA E HORA G1 G2 G3 G4
F1 F0 EXP F1 F0 EXP F1 F0 EXP F1 F0 EXP
32 14 26 25 06 00 36 47 09 13 A9 C5 43 00 00 00 00 00 00 00 00 00
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
G5 G6 G7 G8 G9 G10 CRC
F1 F0 EXP F1 F0 EXP F1 F0 EXP F1 F0 EXP F1 F0 EXP F1 F0 EXP CS MSB LSB
42 64 43 D9 63 43 9B 64 43 DC 23 3D 14 F4 3D 32 23 3D 97 DA 74
Deve-se repetir esta operação para leitura de todos os BG´s do setor 1 e dos demais setores.
O primeiro passo para iniciar a leitura da Memória é fazer a leitura do Input Register (Função 0x04) do registro 33.931. Devem ser
solicitados 23 Registros.
Requisição
0 1 2 3 4 5 6 7
REG QTD CRC
END FUNC
MSB LSB MSB LSB LSB MSB
32 04 0F 5A 00 17 93 03
Resposta:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
QTD de Setor que Capacidade
QTD de QTD de Blocos Setor que Capacidade Capacidade
Blocos da inicia o Total de
END FUNC Grandezas da Semana em inicia o Total de Blocos Total de Blocos
Semana Primeiro Blocos do
BC Armazenadas Andamento Primeiro bloco do Setor 0 do Setor 1
Finalizada bloco da Setor 2
da Semana
Semana em
MSB LSB MSB LSB MSB LSB Finalizada MSB LSB MSB LSB MSB LSB
Andamento
32 4 2E 00 A3 00 A2 03 F0 0B 00 00 21 00 10 00 10
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
Capacidade Capacidade Capacidade Capacidade Capacidade Capacidade Capacidade Capacidade Capacidade
Capacidade
Total de Total de Total de Total de Total de Total de Total de Total de Total de
Total de Blocos
Blocos do Blocos do Blocos do Blocos do Blocos do Blocos do Blocos do Blocos do Blocos do
do Setor 3
Setor 4 Setor 5 Setor 6 Setor 7 Setor 8 Setor 9 Setor 10 Setor 11 Setor 12
MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB
00 42 00 84 00 84 00 84 00 84 00 84 00 84 00 55 00 84 00 84
37 38 39 40 41 42 43 44 45 46 47 48 49 50
Capacidade Capacidade Capacidade Capacidade Capacidade Capacidade
Total de Total de Total de Total de Total de Total de
CRC
Blocos do Blocos do Blocos do Blocos do Blocos do Blocos do
Setor 13 Setor 14 Setor 15 Setor 16 Setor 17 Setor 18
MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB LSB MSB
00 84 00 84 00 84 00 84 00 84 00 54 17 3B
Na resposta obtida, ao checar o campo relacionado aos blocos armazenados na Semana em andamento,
chega-se ao número de 162 leituras (0x00A2). O setor da memória onde foi iniciado o armazenamento
dos Blocos da Semana em Andamento é o Setor 11 (0x0B). Portanto, para leitura de toda a informação
do período em andamento deve-se ler 132 blocos do setor 11 (0x84) e os 30 blocos restantes, presentes
no Setor 12 (que também tem capacidade de armazenar 132 blocos).
Assim, serão lidos 33 Blocos do Setor 0, 16 Blocos dos Setores 1 e 2, 66 Blocos do Setor 3, 132 Blocos
dos Setores 4, 5, 6, 7, 8 e 9, e finalmente 85 leituras do Setor 10.
Obs: Nessas 163 grandezas não está incluída a leitura das Tensões de Regime Permanente, pois elas
ficam armazenadas em outra Memória. Para baixar as Tensões de Regime Permanente, deve ser seguido
o procedimento descrito no documento “Prodist – MODBUS”.
O segundo passo para a leitura da Memória de Agregações é solicitar a leitura através da função 0x64.
Requisição:
0 1 2 3 4 5 6 7 8 9 10 11
BLOCO QUANTIDADE CRC
END FUNC BC RT SETOR STEP
MSB LSB MSB LSB LSB MSB
32 64 07 06 0B 00 01 00 00 3C 78 10
0 1 2 3 4 5 6 7 8 9
FILE RESP LENGTH Data / Hora
END FUNC RT
MSB LSB SEC MIN/HOUR HOUR/DAY DAY/MONTH YEAR
32 64 00 B9 06 56 08 92 48 12
18 18 19
10 11 12 13 14 15 16 17 18 .... .... .... 189 191
7 8 0
GRANDEZA 1 GRANDEZA 2 GRANDEZA 3 .................... GRANDEZA 60 CRC
F1 F0 EXP F1 F0 EXP F1 F0 EXP .... .... .... F1 F0 EXP LSB MSB
32 80 01 F2 06 56 08 92 48 .... .... .... 00 45 3C 2E 39
Onde:
END = Endereço Modbus do Aparelho na Rede . (1 byte)
FUNC = Função especial Modbus 0x64. (1 byte)
BC = Byte Count (será sempre esta valor). (1 byte)
RT = Reference Type(será sempre este valor). (1 byte)
SETOR = Setor a ser lido da Memória. (1 byte)
BLOCO = Bloco a ser lido do setor. (2 bytes)
STEP = Passo a ser lido de cada Bloco (0, 1 ou 2). (1 byte)
QUANTIDADE = Quantidade de Bytes da Resposta. (utilizar o cálculo mostrado abaixo)
CRC = Checksum do pacote. (2 bytes)
FILE RESP LENGTH = Quantidade de Bytes da resposta. (2 Bytes)
SEC = Segundos (bit 0 a 7)
Observações:
Os valores de todas as Grandezas na resposta estão no formato Ponto Flutuante 24-bit (F1_F0_EXP).
Os valores de THD na Memória de Agregações estão no formato ponto flutuante. O valor obtido deverá
ser dividido por 100 para sua correta interpretação.
A alteração no bit 2 deste registro não tem efeito nos medidores com memória de massa de Tipo 2.
O Mult-K NG versão E-14 possui mapeamento especial para comunicação, com registros
codificados em UINT e INT 12 e 16 bits, e ponto flutuante 32 bits, utilizando a função “0x03 – Read
Holding Register”.
Estes registros podem ser lidos utilizando a função "Read Holding Register (3)" e escritos via
funções “Preset Single Register (6)” ou "Preset Multiple Register (16)". No máximo podem ser lidos 22
registros e podem ser escritos 22 registros para cada requisição.
Podem ser lidos via função "Read Holding Register (3)" e escritos via funções “Preset Single
Register (6)” ou "Preset Multiple Register (16)". No máximo podem ser lidos 8 registros e podem ser
escritos 8 registros para cada requisição.
Valores que podem ser lidos apenas via função "Read Holding Register (3)".
No MULT-K/NG E14 esses registros foram alterados para a faixa que se estende de 41.001 a
41.010.
Podem ser lidos via função "Read Holding Register (3)" e escritos via funções “Preset Single
Register (6)” ou "Preset Multiple Register (16)". No máximo podem ser lidos 9 registros e podem ser
escritos 9 registros para cada requisição. Abaixo, tabela informativa:
HIGH LOW
Configuração de Baudrate e Formato do Caracter Configuração do Endereço
CONFIGURAÇÃO DE BAUDRATE:
Baudrate
D9 D8
(bps)
0 0 9600
0 1 19200
1 0 38400
1 1 57600