Você está na página 1de 12

MKM

PROTOCOLO MODBUS

KRON INSTRUMENTOS ELTRICOS


MKM
PROTOCOLO MODBUS MANUAL DO CLIENTE
Rev. 1.4

Caractersticas
A comunicao baseada no protocolo MODBUS possibilita a conexo com at 247 mdulos MKM
numa linha RS-485.
Especificaes:

Baud Rate =
9600 ou 19200 bps
Parity
=
nenhuma
Stop Bit
=
2
Data Bit
=
8
RTU (Remote Terminal Unit) - Modo de transmisso no qual os dados so transmitidos como
caracteres de 8 bits.
MASTER (PC)
SLAVE (MKM)
Endereo do Slave
Endereo do Slave
8 bits
8 bits
Cdigo da Funo
Cdigo da Funo
8 bits
8 bits
Dado
Dado
N * 8 bits
N * 8 bits
Error check
Error Check
16 bits
16 bits
Intervalo de Silncio Intervalo de Silncio
T1 T2 T3
T1 T2 T3

A interface de comunicao do padro RS-485, a dois fios, half-duplex, baudrate de 9600 ou 19200,
1 start bit, 8 bits de dados, 2 stop bits e sem paridade. Com exceo da velocidade, os demais
parmetros so fixos. A especificao da velocidade feita na especificao do pedido e, uma vez
definida, esta no mais poder ser alterada.
Apenas o master pode comear um dilogo com os slaves, sendo este dilogo do tipo question/reply
(endereo de apenas um slave) ou endereando a mensagem para todos os slaves (endereo 0 =
broadcast) sem obter um reply.
No protocolo MODBUS, o instrumento sai de fbrica com apenas o nmero de srie programado,
ficando a cargo do usurio definir um endereo na rede para o dispositivo que vai de 1 at 247.

\eng\mkm\doc\protocolo modbus - cliente \rev1_4\modbus_c.doc

MEDIDORES KRON - 1/12

MKM

PROTOCOLO MODBUS

Algoritmo
Uma mensagem iniciada com um intervalo de silncio de no mnimo 3,5 vezes a velocidade de
comunicao de um caracter. Por exemplo, a 9600 bps, um caracter leva 1,15ms para ser transmitido
(8N2 = 11 bits), portanto deve haver um silncio na rede de 4 ms antes de uma mensagem ser
transmitida. O nmero mximo de caracteres numa mensagem 29.
A rede monitorada continuamente pelo slave, incluindo durante o intervalo de silncio. Quando o
1o. caracter recebido, cada dispositivo decodifica-o para verificar se o seu endereo. Se no for, o
dispositivo deve aguardar que a rede fique em silncio ( sem transmisso ) por 3,5 vezes a velocidade
de comunicao de um caracter. Se o endereo for o do dispositivo, o mesmo deve receber todo o resto
do frame. O fim do frame indicado pelo intervalo de silncio. Uma mensagem deve ser transmitida
como uma cadeia continua de bytes.
Quando ocorrer erro de comunicao, uma retransmisso (retry) para o mesmo slave deve esperar no
mnimo 3 segundos.

Procedimento para clculo do CRC


No modo RTU, includo na mensagem um error-checking baseado no mtodo CRC que verifica se a
mensagem recebida est correta.
O CRC contm dois bytes e calculado pelo dispositivo transmissor, que anexa o CRC na mensagem.
O dispositivo receptor recalcula o CRC aps a recepo da mensagem e compara o valor calculado
com o valor recebido. Se os valores no so iguais, a mensagem descartada.
O algoritmo para clculo do CRC :
1.
2.
3.
4.

Preencha um registro de 16 bits com 1s (0xFFFF)


Faa um OR EXCLUSIVE entre o registro (lsb) e o byte de transmisso
Desloque o registro obtido 1 bit direita
Se o bit menos significativo do registro for igual a 1, faa um OR EXCLUSIVE com os seguintes
16 bits:
10100000 00000001
MSB
LSB
5. Repita os passos 3 e 4 oito vezes
6. Repita os passos 2,3,4 e 5 para todos os bytes da mensagem
7. O contedo final do registro o valor do CRC que transmitido no final da mensagem comeando
com o byte menos significativo.
A seguir uma funo para clculo do CRC escrita em C:
void main()
{
unsigned char buf_485[30];
union CRC
{
unsigned char c_crc[2];
unsigned int i_crc;
} crc;
crc.i_crc = 0;
buf_485[0] = 0x1B;
buf_485[1] = 0x04;
buf_485[2] = 0x00;

// Endereo do Slave
// Funo MODBUS: Read Input Register
// Registro inicial para ler (MSB)

MEDIDORES KRON - 2/12

MKM

PROTOCOLO MODBUS

buf_485[3] = 0x14;
// Registro inicial para ler (LSB)
buf_485[4] = 0x00;
// Total de registros para ler (MSB)
buf_485[5] = 0x02;
// Total de registros para ler (LSB)
crc.i_crc = MB_CalcCRC (6, buf_485, 0xFFFF);
buf_485[6] = crc.c.crc[0];
// CRC (LSB)
buf_485[7] = crc.c_crc[1];
// CRC (MSB)
}
#define NUM_SHIFT
#define POLINOMIAL

8
0xA001 // Polinomial constant (RTU mode)

unsigned int MB_CalcCRC (unsigned char num_of_char, unsigned char *ptr_num,


register unsigned int checksum)
{
char i,j;
// for all char
for (i=0; i < num_of_char; i++)
{
// execute XOR
checksum ^= *ptr_num;
ptr_num++;
// shift checksum 1 bit right
for (j=1; j < NUM_SHIFT+1; j++)
{
// if LSBit = 0
if ((checksum & 0x01) == 0)
checksum >>= 1;
else
checksum = (checksum >> 1) ^ POLINOMIAL;
}
}
return(checksum);
}

Cdigo do Dispositivo
Este documento apresenta as funes MODBUS disponveis para toda a linha de dispositivos MKM.
Para distinguir as caractersticas conforme o modelo do MKM, fornecido um cdigo que indica
quais funes MODBUS esto disponveis para um instrumento em particular. Consulte mais adiante
neste manual a funo Report Slave ID (17) para obter o cdigo do dispositivo.
Os cdigos vlidos so:
DISP.
MKM

CDIGO
0x60

DESCRIO
MKM-120

MKM
MKM
MKM

0x72
0x73
0x74

MKM-01 sem Demanda


MKM-01 com Demanda Ativa
MKM-01 com Demanda Ativa e Aparente

MKM

0x80

MKM-01 com Memria de Massa

MEDIDORES KRON - 3/12

MKM

PROTOCOLO MODBUS

Funes MODBUS
As funes MODBUS para o MKM so:

Read Input Status


(2)
Read Holding Register
(3)
Read Input Register
(4)
Force Single Coil *
(5)
Preset Single Register *
(6)
Read Exception Status
(7)
Preset Multiple Register *
(16)
Report Slave ID
(17)
Exception Response (ERROR)

* Broadcast - funes que podem ser endereadas para todos os slaves (endereo 0)

Read Input Status (2)


Esta funo permite ler o estado das portas de entrada e sada digitais do instrumento. Os seguintes
registros esto disponveis:
ENDEREO
10001
10002
10003
10004

REGISTRO
EDP-1
EDP-2
SD-1
SD-2

DESCRIO
Entrada Digital de Pulso 1
Entrada Digital de Pulso 2
Sada 1
Sada 2

TIPO
BIT
BIT
BIT
BIT

RANGE
0=0FF / 1=ON
0=0FF / 1=ON
0=0FF / 1=ON
0=0FF / 1=ON

O cdigo do MKM e os registros vlidos para esta funo so:


REGISTROS VLIDOS
10001 10004

0x60

0x72

0x73

MASTER
0x00 0x00

0x04

0x74

0x80

Os frames desta funo para o master e slave so:


Funo
Endereo
do Slave

0x02

0x00

(1) Registro
inicial para ler

CRC
8 bit 8 bit

Total de
registros para ler

(1) O registro inicial para ler obtido removendo o indicativo (nmero 1) e subtraindo o resultado por
1. No exemplo, o registro 10001 (decimal) transmitido como 0x0000 (hexadecimal): 10001 = 0001
= (0001 - 1) = 0000 = 0x0000 hexadecimal.

Endereo
do Slave

0x02

Byte Count

SLAVE
0x01 ESTADO
8 bit

CRC
8 bit - 8 bit
Estado das Entradas e Sadas
MEDIDORES KRON - 4/12

MKM

PROTOCOLO MODBUS

O estado das entradas e sadas digitais deve ser interpretado conforme tabela abaixo, onde bit 1 indica
porta ligada e bit 0 indica porta desligada.
D7
BIT
REGISTRO ---

D6
---

D5
---

D4
---

D3
SD-2

D2
SD-1

D1
EDP-2

D0
EDP-1

Read Holding Register (3)


Esta funo permite ler os registros de configurao do instrumento. Os seguintes registros esto
disponveis:
REGISTRO
TP
TC
KE
TL
TI

DESCRIO
Relao do Transformador de Potncia
Relao do Transformador de Corrente
Relao Watt-horas por pulso
Tipo de Ligao
Tempo de Integrao em minutos

TIPO
IEEE754 32-bit floating point
IEEE754 32-bit floating point
unsigned int 16-bit
unsigned int 8-bit
unsigned int 8-bit

RANGE
------0 65535
0 255
0 60

Os registros TP e TC indicam a relao do transformador de potncia ou corrente, o registro KE


indica quantos Wh eqivale um pulso (caso o dispositivo no possua sada de pulsos, KE deve ser
igual a zero). TI o tempo de integrao em minutos para o clculo da Demanda e da Mxima
Demanda. Para o tipo de ligao (TL) siga a tabela abaixo:
TIPO DE LIGAO
4 FIOS - 3 ELEMENTOS
4 FIOS - 2 ELEMENTOS
4 FIOS - 1 ELEMENTO
3 FIOS - 3 ELEMENTOS
3 FIOS - 2 ELEMENTOS
3 FIOS - 1 ELEMENTO
3 FIOS - 2 ELEMENTOS (Delta TL48)
3 FIOS - 2 ELEMENTOS (Delta TL80)

TL
0
1
2
16
17
18
48
80

Os registros so endereados da seguinte forma:


ENDEREO
40001
40002
40003
40004
40005
40006

REGISTRO
TP
TP
TC
TC
KE
TL / TI

DESCRIO
IEEE 32-bit fp 1a. parte (F2,F1)
IEEE 32-bit fp 2a. parte (F0,EXP)
IEEE 32-bit fp 1a. parte (F2,F1)
IEEE 32-bit fp 2a. parte (F0,EXP)
unsigned int 16-bit (LSB,MSB)
unsigned int 8-bit (LSB) / unsigned int 8-bit (MSB)

Observe que para cada registro temos dois bytes. Os frames desta funo para o master e slave so:
Funo
Endereo
do Slave

(1) Registro
inicial para ler

0x03

MASTER
0x00 0x02 0x00

0x02

CRC
8 bit - 8 bit

Total de
registros para ler
MEDIDORES KRON - 5/12

MKM

PROTOCOLO MODBUS

(1) O registro inicial para ler obtido removendo o indicativo (nmero 4) e subtraindo o resultado por
1. No exemplo, o registro 40003 (decimal) transmitido como 0x0002 (hexadecimal): 40003 = 0003
= (0003 - 1) = 0002 = 0x0002 hexadecimal.

Endereo
do Slave

0x03

0x04

SLAVE
0x00 0x80

0x89

0x44

CRC
8 bit - 8 bit

Byte Count

Reg. 40003 = 0x0080

Reg. 40004 = 0x8944

O registro byte count igual ao total de registros para ler vezes 2, pois cada registro possui 2 bytes.
No exemplo anterior o master pediu uma leitura dos registros referentes ao TC (40003 e 40004) e
obteve como resposta o valor 0x00808944 (IEEE 32-bit floating point). Convertendo este valor para
decimal temos que TC = 1100,0.

MEDIDORES KRON - 6/12

MKM

PROTOCOLO MODBUS

Read Input Register (4)


Esta funo permite ler os registros no qual as grandezas eltricas esto armazenadas. Os seguintes
registros esto disponveis no MKM:
ENDEREO
30001, 30002
30003, 30004
30005, 30006
30007, 30008
30009, 30010
30011, 30012
30013, 30014
30015, 30016
30017, 30018
30019, 30020
30021, 30022
30023, 30024
30025, 30026
30027, 30028
30029, 30030
30031, 30032
30033, 30034
30035, 30036
30037, 30038
30039, 30040
30041, 30042
30043, 30044
30045, 30046
30047, 30048
30049, 30050
30051, 30052
30053, 30054
30055, 30056
30057, 30058
30059, 30060
30061, 30062
30063, 30064
30065, 30066
30067, 30068

REG.
NS
U
I
FP
S
Q
P
F
U1
U2
U3
I1
I2
I3
P1
P2
P3
Q1
Q2
Q3
S1
S2
S3
FP1
FP2
FP3
EA+
ER+
EAERMDA
DA
MDS
DS

DESCRIO
Nmero de Srie
Tenso Trifsica (V)
Corrente Trifsica (A)
Fator de Potncia Trifsico
Potncia Aparente Trifsica (VA)
Potncia Reativa Trifsica (VAr)
Potncia Ativa Trifsica (W)
Freqncia (Hz)
Tenso Linha 1 (V)
Tenso Linha 2 (V)
Tenso Linha 3 (V)
Corrente Linha 1 (A)
Corrente Linha 2 (A)
Corrente Linha 3 (A)
Potncia Ativa Linha 1 (W)
Potncia Ativa Linha 2 (W)
Potncia Ativa Linha 3 (W)
Potncia Reativa Linha 1 (VAr)
Potncia Reativa Linha 2 (VAr)
Potncia Reativa Linha 3 (VAr)
Potncia Aparente Linha 1 (VA)
Potncia Aparente Linha 2 (VA)
Potncia Aparente Linha 3 (VA)
Fator de Potncia Linha 1
Fator de Potncia Linha 2
Fator de Potncia Linha 3
Energia Ativa Positiva (KWh)
Energia Reativa Positiva (KVArh)
Energia Ativa Negativa (KWh)
Energia Reativa Negativa (KQh)
Mx. Demanda Ativa (KW)
Demanda Ativa (KW)
Mx. Demanda Aparente (KVA)
Demanda Aparente (KVA)

TIPO
Unsigned int 32-bit (MSB,LSB)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)

RANGE

0,0 99.999.999,0
0,0 99.999.999,0
0,0 -99.999.999,0
0,0 -99.999.999,0

O cdigo do MKM e os registros vlidos para esta funo so:


REGISTROS VLIDOS
30001 30060
30001 30064
30001 30068

0x60

0x72

0x73

0x74

0x80

O MKM cdigo 0x60 difere no tratamento dos seguintes registros:


ENDEREO
30057, 30058
30059, 30060

REG.
EDP-1
EDP-2

DESCRIO
Contador da EDP-1
Contador da EDP-2

TIPO
IEEE 32-bit fp (F2,F1,F0,EXP)
IEEE 32-bit fp (F2,F1,F0,EXP)

RANGE
0,0 9.999.999,0
0,0 9.999.999,0

MEDIDORES KRON - 7/12

MKM

PROTOCOLO MODBUS

Os frames desta funo para o master e slave so:


Funo
Endereo
do Slave

0x04

MASTER
0x00 0x0E 0x00

0x02

(1) Registro
inicial para ler

CRC
8 bit - 8 bit

(2) Total de
registros para ler

(1) O registro inicial para ler obtido removendo o indicativo (nmero 3) e subtraindo o resultado
por 1. No exemplo, o registro 30015 (decimal) transmitido como 0x000E (hexadecimal): 30015
= 0015 = (0015 - 1) = 00014 = 0x000E hexadecimal.
(2) No mximo podem ser lidos 12 registros (6 grandezas eltricas) para cada requisio.

Endereo
do Slave

0x04

0x04

SLAVE
0x00 0x00

0x70

0x42

CRC
8 bit - 8 bit

Byte Count

Reg. 30015 = 0x0000

Reg. 30016 = 0x7042

O registro byte count igual ao total de registros para ler vezes 2, pois cada registro possui 2 bytes.
No exemplo anterior o master pediu uma leitura dos registros que contm a frequncia (30015 e
30016) e obteve como resposta o valor 0x00007042 (IEEE 32-bit floating point). Convertendo este
valor para decimal temos que Frequncia = 60,0 Hz.
Force Single Coil (5)
Esta funo permite executar os seguintes comandos no MKM:
COMANDO
001
002
003
004
005
006
007
021
022
031
032
040
050
051
052
080

DESCRIO
Zera Demanda Ativa (DA)
Zera Demanda Aparente (DS)
Zera Mxima Demanda Ativa (MDA)
Zera Mxima Demanda Aparente (MDS)
Zera Energia Ativa Positiva (EA+)
Reinicializa Dispositivo
Sincroniza Clculo da Demanda
Zera Contador EDP-1
Zera Contador EDP-2
Liga / Desliga SD-1
Liga / Desliga SD-2
Zera Energias, Demandas e Contadores EDPs
Zera Energia Reativa Positiva (ER+)
Zera Energia Ativa Negativa (EA-)
Zera Energia Reativa Negativa (ER-)
Zera Contedo da Memria de Massa

0x60 0x72 0x73 0x74 0x80

MEDIDORES KRON - 8/12

MKM

PROTOCOLO MODBUS

Os frames desta funo para o master e slave so:


Funo
Endereo
do Slave

0x05

0x00

MASTER
0x04 0xFF

0x00

(1) Comando

CRC
8 bit - 8 bit

(2) 0xFF00 = ON
0x0000 = OFF

(1) Este registro obtido subtraindo 1 do comando desejado. No exemplo o comando 005 enviado
como 0x0004.
(2) Utilizado para ligar (0xFF00) ou desligar (0x0000) as sadas digitais. Ignorado pelos outros
comandos
O Slave retorna uma cpia do frame recebido. Para o exemplo acima:

Endereo
do Slave

0x05

SLAVE
0x00 0x04 0xFF

0x00

CRC
8 bit - 8 bit

Preset Single Register (6)


Esta funo serve para programar um dos registros de configurao do instrumento (Holding
Registers). Para saber quais so estes registros consulte a funo Read Holding Register (3). Os
frames desta funo para o master e slave so:
Funo
Endereo
do Slave

0x06

(1) Registro para


programar

0x00

MASTER
0x05 0x00

0x01

CRC
8 bit - 8 bit

Valor para ser


programado

(1) O registro para programar obtido removendo o indicativo (nmero 4) e subtraindo o resultado
por 1. No exemplo, o registro 40006 (decimal) transmitido como 0x0005 (hexadecimal): 40006 =
0006 = (0006 - 1) = 0005 = 0x0005 hexadecimal.
Funo
Endereo
do Slave

SLAVE (echo of the command received)


0x06 0x00 0x05 0x00 0x01
CRC
8 bit - 8 bit

(1) Registro para


Valor para ser
programar
programado
Para esta funo o slave retorna uma cpia do comando recebido. No exemplo anterior o master
programou o registro 40006 (TL - Tipo de Ligao) com o valor 01: 4 fios - 2 elementos.

MEDIDORES KRON - 9/12

MKM

PROTOCOLO MODBUS

Read Exception Status (7)


Permite checar a integridade do dispositivo. Os cdigos retornados pelo instrumento so:
CDIGO
0x00
0x01
0x02
0x04
0x08
0x10
0x80

DESCRIO
Funcionamento correto
Inverso de Fase ou falta de Fase
Erro matemtico
Overflow na gerao do Pulso de Energia
Excedido o limite permitido para Urms e/ou Irms
Sistema reinicializado incorretamente
Falha Memria de Massa

Observe que o cdigo binrio, ou seja, pode haver uma combinao de cdigos. Assim, um cdigo de
erro 09 identifica um cdigo de erro 01 mais cdigo 08.
Os frames desta funo para o master e slave so:
MASTER
Endereo 07
CRC
do Slave
8 bit - 8 bit

Endereo
do Slave

07

SLAVE
Cdigo

CRC
8 bit - 8 bit

Preset Multiple Register (16)


Esta funo serve para programar vrios registros de configurao do instrumento (Holding
Registers). Para saber quais so estes registros consulte a funo Read Holding Register (3).
Os frames desta funo para o master e slave so:
Funo
Endereo
do Slave

0x10

0x00

0x00

0x00

MASTER
0x02 0x04 0x00 0x80 0xBB

(1) Registro inicial


para programar
Quantidade
de registros

Reg 40001 =
0x0080

Byte Count

0x44

CRC
8 bit - 8 bit

Reg 40002 =
0xBB44

(1) O registro inicial para programar obtido removendo o indicativo (nmero 4) e subtraindo o
resultado por 1. No exemplo, o registro 40001 (decimal) transmitido como 0x0000 (hexadecimal):
40001 = 0001 = (0001 - 1) = 0000 = 0x0000 hexadecimal.
Funo
Endereo
do Slave

(1) Registro inicial


para programar

0x10

0x00

SLAVE
0x00 0x00

0x02

CRC
8 bit - 8 bit

Quantidade

MEDIDORES KRON - 10/12

MKM

PROTOCOLO MODBUS

No exemplo acima o master programou os registros referentes ao TP (40001 e 40002) como 1500
(IEEE 32-bit float pointing = 0x0080BB44).
Ateno: O frame transmitido pelo master no deve exceder 29 bytes.

Report Slave Id ( 17)


Esta funo permite identificar um dispositivo na rede atravs de um cdigo conhecido.

Slave
Address

Endereo 0x11
do Slave
Onde:
Byte Count
CDIGO
ON / OFF
XX XX

Byte
Count

MASTER
0x11
CRC
8 bit - 8 bit

SLAVE
CDIGO ON /
OFF

XX

XX

CRC

= Sempre 0x04
= Cdigo do Dispositivo
= Sempre ON 0xFF
= Reservado

Exception Response (ERROR)


Os erros de comunicao detectados pelo slave so manipulados de duas maneiras:
1. No reply: Caso o slave detecte um erro no formato dos dados, CRC, etc, ele ignorar a
mensagem no gerando um reply (resposta).
2. Exception Response: O slave enviar um frame com um cdigo de erro

Endereo
do Slave

SLAVE
0x80 + Funo Cdigo
de Erro

CRC
8 bit - 8 bit

Nmero da
funo enviada
pelo master com
o bit 7 = 1
Os possveis cdigos de erro so:
Cdigo de Erro
Descrio
01
Ilegal Function
02
Ilegal Data Address
03
Ilegal Data Value

MEDIDORES KRON - 11/12

MKM

PROTOCOLO MODBUS

Funes Especiais MODBUS para o MKM


As funes especiais MODBUS para o MKM so:
ConfigAddress

(0 / 0x42)

ConfigAddress ( 0 / 0x42)
Esta funo, embora seja especial, compatvel com os dispositivos Electrex e TKE-01. O slave no
dever gerar reply e, no caso do MKM, este no necessita estar com o jumper CONFIGURAO.
Esta funo permite configurar o endereo de um dispositivo atravs de seu nmero de srie. Os
endereos vlidos vo de 1 at 247, sendo que cada dispositivo deve possuir um endereo nico na
rede. Para certificar-se que o endereo desejado j no est cadastrado em outro dispositivo, antes de
executar esta funo envie, por exemplo, a funo 07 com o endereo desejado para a rede. Caso voc
no obtenha resposta, significa que nenhum dispositivo foi configurado com este endereo.

0x00

0x42

MASTER
Nmero de Srie do Dispositivo
8 bit - 8 bit - 8 bit - 8 bit

Novo Endereo
CRC
8 bit
8 bit - 8 bit

Por exemplo, supondo um dispositivo com nmero de srie 21000, para configur-lo para o endereo
100:
MASTER
0x00 0x42
0x00 0x00 0x52 0x08
0x64
CRC
Observe que o dispositivo no gera reply.

Timing
Os seguintes tempos devem ser respeitados na comunicao entre o Master e o Slave:
Ao
Retry para um mesmo slave
Delay para iniciar a transmisso de um frame
Aguardar a recepo de um frame
Delay para transmitir um byte do frame
Aguardar a recepo de um byte do frame
Tempo para confirmar silncio na rede

Equate
DELAY_RETRY_SEND_FRAME
DELAY_SEND_FRAME
TIMEOUT_RECEIVE_FRAME
DELAY_SEND_BYTE
TIMEOUT_RECEIVE_BYTE
CONFIRM_SILENT

Independente da velocidade de comunicao, os seguintes tempos do master so sempre os mesmos:


DELAY_RETRY_SEND_FRAME
DELAY_SEND_FRAME
TIMEOUT_RECEIVE_FRAME

3 segundos
> 10 ms
1 segundo

Para 9600 bps, o master e o slave devem possuir os seguintes tempos:


DELAY
DELAY_SEND_FRAME
TIMEOUT_RECEIVE_FRAME
DELAY_SEND_BYTE
TIMEOUT_RECEIVE_BYTE
CONFIRM_SILENT

MASTER SLAVE
> 10 ms
4 ms
1 segundo

< 3 ms
1 ms
3 ms
3 ms

MEDIDORES KRON - 12/12