transmissor de peso mod4352

18
ALFA INSTRUMENTOS ELETRÔNICOS LTDA. www.alfainstrumentos.com.br E-mail: [email protected] Rua Cel. Mário de Azevedo, 138 São Paulo – SP 02710-020 Brasil Fax: (11) 3961-4266 Fone: (11) 3952-2299 TRANSMISSOR DIGITAL mod.4352

Upload: reginaldo-espindola

Post on 30-Nov-2015

247 views

Category:

Documents


33 download

TRANSCRIPT

Page 1: Transmissor de Peso Mod4352

ALFA INSTRUMENTOS ELETRÔNICOS LTDA. www.alfainstrumentos.com.br E-mail: [email protected] Rua Cel. Mário de Azevedo, 138 São Paulo – SP 02710-020 Brasil Fax: (11) 3961-4266 Fone: (11) 3952-2299

TRANSMISSOR DIGITAL mod.4352

Page 2: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

2/18

1. INTRODUÇÃO..................................................................................................................................... 3

2. APRESENTAÇÃO................................................................................................................................ 3

2.1 ESQUEMA DE INTERLIGAÇÃO............................................................................................................... 4

3 - SETUP.................................................................................................................................................. 5

3.1 - ENDEREÇAMENTO LÓGICO ....................................................................................................................... 5

4. COMANDOS DE PESAGEM............................................................................................................... 6

4.1. QUADRO DE COMANDOS .......................................................................................................................... 6 4.2. QUADRO DE RESPOSTAS.......................................................................................................................... 6 4.3. COMANDOS DISPONÍVEIS NOS INDICADORES ALFA INSTRUMENTOS .................................................................... 6

4.3.1 Número da revisão de revisão do firmware (Leitura) .................................................................. 6 4.3.2 Número de série (Leitura)........................................................................................................... 7 4.3.3 Manutenção automática de zero e velocidade de comunicação ................................................... 8 4.3.4 Leitura dos níveis do filtro digital (Leitura e Escrita).................................................................. 9 4.3.5 Leitura de Parâmetros de calibração (Leitura e Escrita) ............................................................ 9 4.3.6 Leitura de Peso e Status.............................................................................................................. 9 4.3.7 Comando de zero CANAL #1 .................................................................................................... 11 4.3.8 Comando de zero CANAL #2 .................................................................................................... 12 4.3.9 Comando de zero de ambos os canais ....................................................................................... 12 4.3.10 Comando de SPESO CANAL #1.............................................................................................. 13 4.3.11 Comando de SPESO CANAL #2.............................................................................................. 13 4.3.12 Comando de SPESO em ambos os canais................................................................................ 14 4.3.13 Comando de CPESO CANAL #1 ............................................................................................. 14 4.3.14 Comando de CPESO CANAL #2 ............................................................................................. 14 4.3.15 Comando de CALC CANAL #1 ............................................................................................... 15 4.3.16 Comando de CALC CANAL #2 ............................................................................................... 15

4.4. CHECAGEM DO FRAMING – CRC .............................................................................................................. 16

5. ESPECIFICAÇÕES............................................................................................................................ 18

Page 3: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

3/18

1. Introdução

O transmissor digital é um equipamento desenvolvido como evolução das caixas de junção comuns que se encarregavam de conectar individualmente cada sinal das células de carga, proporcionando ao indicador de pesagem um sinal único, analógico, referente ao peso aplicado sobre o conjunto. No caso deste equipamento, cada sinal analógico individual é convertido próximo da célula de carga e enviado digitalmente via uma rede RS-485 ou Fibra-ótica (opcional) ao mestre indicador.

Deste modo, ganha-se em Qualidade de sinal e Versatilidade.:

Qualidade de sinal, pois o envio de informações por meio de comunicação digital enviado por rede RS485 ou fibra-ótica, tem pouca ou nenhuma suscetibilidade a interferências eletromagnéticas, além de proporcionar uma maior confiabilidade na informação recebida devido ao controle (CRC) do protocolo de comunicação.

Versatilidade, pois possibilita a utilização de um único dispositivo controlador/indicador a leitura e tratamento do valor de mais de uma plataforma com ganho em custo e tamanho físico. Ideal para controle de processos em que há uma grande restrição de espaço físico, ou não há visualização local da informação de peso.

2. Apresentação

Figura 1 - Vista dos conectores da placa mod.4352

O Transmissor Digital mod.4352 é dotado de 2 canais de entrada de células de carga, que fazem aquisição da informação de pesagem individualmente a 60 amostras por segundo, possui uma vasta gama de filtros digitais para as mais diversas aplicações. Cada canal, suporta sistemas de até 16 células interligadas via caixas de junção tradicionais. A comunicação com o equipamento é feita por meio do protocolo modbus-RTU, até 115200bps,8,N,2 , e os comandos estão descritos no capítulo 4. Cada caixa é dotada de um número de série único, por onde é possível ser alterado o endereço lógico do equipamento. ( de 1 a 254). O processo de endereçamento lógico do equipamento será descrito no Capítulo 3- SETUP Existem ainda leds de diagnóstico e 2 jumpers para uso no setup do equipamento.

Conector p/ Célula 1

Conector p/ Célula 2

Conector p/ Comunicação+ Alimentação

Page 4: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

4/18

2.1 Esquema de interligação

Page 5: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

5/18

3 - Setup

3.1 - Endereçamento lógico Endereço lógico é um número de 8 bits que representa o equipamento no protocolo modbus. O re-endereçamento lógico do equipamento segue o seguinte procedimento: 1 – De posse do número de série do equipamento (por exemplo 100FFF), feche o jumper E1 como indicado na figura abaixo, isso resetará a comunicação, fazendo com que a placa assuma endereço lógico #1 e velocidade serial de 19200bps.

2 – Envie o comando de escrita do registrador 4, com endereço de broadcast, como descrito no exemplo abaixo: (Números em Hexadecimal) Exemplo: Número de série: 100FFF, Novo endereço: 02

END CMD REG QTD N NUM SER N END CRC

00 10 00 03 00 02 04 10 0F FF 02 47 48

3 – O transmissor responderá:

END CMD N NUM SER N END CRC

01 10 04 10 0F FF 02 ## ##

4 – Remova o Jumper “E1”, o transmissor já responde com o endereço selecionado.

Jumper de reset de comunicação (E1)

Page 6: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

6/18

4. Comandos de Pesagem

No estágio da aplicação, o protocolo se preocupa com o tratamento das informações embutidas em uma mensagem enviada ou recebida pela rede de comunicação. Estas mensagens compõem o Quadro de Comandos e Quadro de Respostas que são compostos pelos Comandos disponíveis nos equipamentos ALFA Instrumentos.

4.1. Quadro de Comandos Toda mensagem enviada por um equipamento conectado a uma rede cujo conteúdo especifique a execução de uma

tarefa define um Quadro de Comandos. A tarefa requisitada pode ser o simples envio de dados do sistema, dados relativos a alarmes, alteração de parâmetros internos, etc..

Todo Quadro de Comandos é composto pelo identificador de início de mensagem, quando o protocolo assim o requerer, campo de endereço do escravo, função Modbus a ser executada, dados relativos à função Modbus, quando necessário, campo de checksum da mensagem e identificador de fim de mensagem, quando o protocolo assim o requerer.

4.2. Quadro de Respostas Para todo Quadro de Comandos recebido e validado pelo escravo selecionado, obrigatoriamente deve existir um Quadro de Respostas, que é a mensagem retornada por ele ao dispositivo que solicitou a tarefa. Esta mensagem ou contém os dados relativos à tarefa solicitada pelo mestre ou o status atual do escravo indicando ao mestre o porquê de ainda não estar apto a retornar os dados relativos à tarefa solicitada, etc..

Todo Quadro de Respostas é composto pelo identificador de início de mensagem, quando o protocolo assim o requerer, campo de endereço do escravo, função Modbus que foi executada, dados relativos à função Modbus executada, quando necessários, campo de checksum da mensagem e identificador de fim de mensagem, quando o protocolo assim o requerer.

Todos os campos acima estão abordados detalhadamente nos itens 3. Protocolo Modbus e 4. Funções Modbus. O campo de dados relativos à função Modbus está descrito em detalhes no item 4.3. Comandos disponíveis nos indicadores ALFA Instrumentos.

4.3. Comandos disponíveis nos indicadores ALFA Instrumentos A seguir exibimos todos os comandos disponibilizados para configuração e ajuste dos dispositivos mod.4352

4.3.1 Número da revisão de revisão do firmware (Leitura)

Funções Modbus: 3

Solicita o envio do número de série da placa

Conteúdo do campo Dados para o Indicador no quadro de comandos:

No. do registrador inicial 1 No. total de registradores 1

Exemplo:

Quadro de Comandos enviado pelo mestre a um indicador com endereço #1 (valores em hexadecimal):

Os Transmissores Digitais mod.4352 ALFA Instrumentos possuem a seguinte configuração de fábrica:

- Padrão Modbus RTU: 19200 bps, 8 DATA BITS, SEM paridade, 2 STOP BITS, (padrão Modbus-RTU)

- Endereço lógico 254

Page 7: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

7/18

REG QTD CRC

01 03 00 00 00 01 84 0A

Conteúdo do campo Dados para o Indicador no quadro de respostas:

No. de bytes lidos 4

Valor lido do registrador 1 Bits 15-8: 10h

Bits 7-0: 00h

Resposta: (Para revisão de firmware número 1.00)

DADOS CRC CRC

1 3 2 01 00 CRC CRC

4.3.2 Número de série (Leitura)

Funções Modbus: 3 - Solicita o envio do número de série da placa

Conteúdo do campo Dados para o Indicador no quadro de comandos:

No. do registrador inicial 2 No. total de registradores 2

Exemplo:

Quadro de Comandos enviado pelo mestre a um indicador com endereço #1 (valores em hexadecimal):

REG QTD CRC

01 03 00 01 00 02 C4 0B

Conteúdo do campo Dados para o Indicador no quadro de respostas:

No. de bytes lidos 4

Valor lido do registrador 2 Bits 15-8: 0

Bits 7-0: 10h

Valor lido do registrador 3 Bits 15-8: 0Fh

Bits 7-0: FFh

Resposta: (Para número de série 100FFFh)

DADOS CRC

1 3 4 0 10 0f ff CRC CRC

Page 8: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

8/18

4.3.3 Manutenção automática de zero e velocidade de comunicação (Leitura e Escrita)

Funções Modbus: 3 e 16 Conteúdo do campo Dados para o Indicador no quadro de comandos:

No. do registrador inicial 5 No. total de registradores 1

Exemplo:

Quadro de Comandos enviado pelo mestre (valores em hexadecimal):

REG QTD CRC

01 03 00 04 00 01 C5 CB

Conteúdo do campo Dados para o Indicador no quadro de respostas:

No. de bytes lidos 2

Valor lido do registrador 5 Valor da configuração do parâmetro de autozero

Bits 15-7 – 0

Bits 6 5 4 – Velocidade de comunicação serial

0 0 0 – 9600 bps

0 0 1 – 19200 bps

0 1 0 – 38400 bps

0 1 1 – 57600 bps

1 0 0 – 115200 bps

Bit 1 – Status da manutenção de zero CANAL#2.

1 – manutenção automática de zero acionada

0 – manutenção automática de zero desativada.

Bit 0 – Status da manutenção de zero CANAL#1.

1 – manutenção automática de zero acionada

0 – manutenção automática de zero desativada.

Resposta: (Para velocidade de 115200bps e manutenção de zero acionado em ambos os canais)

DADOS CRC

1 3 2 0 67 CRC CRC

Exemplo de escrita (alteração de velocidade para 38400bps e manutenção de zero desligado em ambos os canais):

REG QTD N DADOS CRC

01 10 00 04 00 01 02 00 20 A6 0C

Page 9: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

9/18

4.3.4 Leitura dos níveis do filtro digital (Leitura e Escrita)

Funções Modbus: 3 e 16

Conteúdo do campo Dados para o Indicador no quadro de comandos:

No. do registrador inicial 7 No. total de registradores 1

Exemplo de um Quadro de Comandos enviado pelo mestre (valores em hexadecimal):

REG QTD CRC

01 03 00 06 00 01 64 0B

Conteúdo do campo Dados para o Indicador no quadro de respostas:

No. de bytes lidos 8

Valor lido do registrador 7 Bits 15 a 8 = Valor do filtro do canal 2

Bit 7 a 0 = Valor do filtro do canal 1

Resposta: (Para velocidade de 115200bps e manutenção de zero acionado em ambos os canais)

DADOS CRC

01 03 02 04 04 CRC CRC

Exemplo de escrita (alteração dos filtros do canal #1 e canal#2 para valor 4):

REG QTD N DADOS CRC

01 10 00 06 00 01 02 04 04 A5 35

4.3.5 Leitura de Parâmetros de calibração (Leitura e Escrita)

Função Modbus: 3

Conteúdo do campo Dados para o Indicador no quadro de comandos:

No. do registrador inicial 8 No. total de registradores 6

Quadro de Comandos enviado pelo mestre (valores em hexadecimal):

REG QTD CRC

01 03 00 07 00 06 74 09

Conteúdo do campo Dados para o Indicador no quadro de respostas:

No. de bytes lidos 12

Valor lido do registrador 8 CANAL #1

Bits 15 a 8 = 0

Bit 7 – Se em zero fixo = 1

Page 10: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

10/18

Bits 6,5 e 4 – Degrau

Bit 2 e 3 = 0

Bit 1 - Bit mais significativo do valor da capacidade

Bit 0 - Bit mais significativo do valor do Peso de calibração

Valor lido do registrador 9 16 bits menos significativos do valor da capacidade da balança, limitado a 65535 unidades do CANAL #1.

Valor lido do registrador 10 16 bits menos significativos do valor do peso de calibração da balança, limitado a 65535 unidades do CANAL #1.

Valor lido do registrador 11 CANAL #2

Bits 15 a 8 = 0

Bit 7 – Se em zero fixo = 1

Bits 6,5 e 4 – Degrau

Bit 2 e 3 = 0

Bit 1 - Bit mais significativo do valor da capacidade

Bit 0 - Bit mais significativo do valor do Peso de calibração

Valor lido do registrador 12 16 bits menos significativos do valor da capacidade da balança, limitado a 65535 unidades do CANAL #2.

Valor lido do registrador 13 16 bits menos significativos do valor do peso de calibração da balança, limitado a 65535 unidades do CANAL #2.

Resposta para: Degrau “1”, CAPAC “10009”, PECAL “10000” sem zero fixo em ambos os canais

DADOS CRC

1 3 12 0 16 39 19 39 16 0 16 39 19 39 16 CRC CRC

4.3.6 Leitura de Peso e Status

Função Modbus: 3

Solicita o envio dos valores já calculados de peso de cada canal (obedecendo valores configurados em Calib)

Conteúdo do campo Dados para o Indicador no quadro de comandos:

No. do registrador inicial 34 No. total de registradores 4

Exemplo de um Quadro de Comandos enviado pelo mestre (valores em hexadecimal):

REG QTD CRC

01 03 00 21 00 04 14 03

Conteúdo do campo Dados para o Indicador no quadro de respostas:

No. de bytes lidos 8

Valor lido do registrador 34 Bits 15 a 8 – Status Canal #1

Bit 14 – Sobrecarga

Page 11: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

11/18

Bit 13 – Saturação

Bit 12 – Peso em movimento

Bit 11 – Peso Negativo

Bits 7 a 0 - valor múltiplo de 65536, correspondente aos 8 bits mais significativos do valor de peso relativo ao canal #1. O valor completo deve ser calculado da seguinte maneira : (conteúdo (Reg34 AND 0x00ff)*65536) + conteúdo Reg35

Valor lido do registrador 35 16 bits menos significativos do valor bruto do conversor A/D relativo à célula #1, limitado a 65535 unidades.

Valor lido do registrador 36 Bits 15 a 8 – Status Canal #2

Bit 14 – Sobrecarga

Bit 13 – Saturação

Bit 12 – Peso em movimento

Bit 11 – Peso Negativo

Bits 7 a 0 - valor múltiplo de 65536, correspondente aos 8 bits mais significativos do valor de peso relativo ao canal #2. O valor completo deve ser calculado da seguinte maneira : (conteúdo (Reg36 AND 0x00ff)*65536) + conteúdo Reg37

Valor lido do registrador 37 16 bits menos significativos do valor bruto do conversor A/D relativo à célula #2, limitado a 65535 unidades.

REG QTD CRC

01 03 00 21 00 04 14 03

4.3.7 Comando de zero CANAL #1

Função Modbus: 3

Conteúdo do campo Dados para o Indicador no quadro de comandos:

No. do registrador inicial 49 No. total de registradores 2

Exemplo de um Quadro de Comandos enviado pelo mestre (valores em hexadecimal):

REG QTD CRC

01 03 00 30 00 02

Conteúdo do campo Dados para o Indicador no quadro de respostas:

No. de bytes lidos 4

Valor lido do registrador 49 valor múltiplo de 65536, correspondente aos 16 bits mais significativos do valor bruto do conversor A/D relativo ao zero recém adquirido do canal #1. O valor completo deve ser calculado da seguinte maneira : (conteúdo Reg49*65536) + conteúdo Reg50

Valor lido do registrador 50 16 bits menos significativos do valor bruto do conversor A/D relativo ao zero recém adquirido do canal #2, limitado a 65535 unidades.

Page 12: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

12/18

4.3.8 Comando de zero CANAL #2

Função Modbus: 3

Conteúdo do campo Dados para o Indicador no quadro de comandos:

No. do registrador inicial 51 No. total de registradores 2

Exemplo de um Quadro de Comandos enviado pelo mestre (valores em hexadecimal):

REG QTD CRC

01 03 00 32 00 02

Conteúdo do campo Dados para o Indicador no quadro de respostas:

No. de bytes lidos 4

Valor lido do registrador 51 valor múltiplo de 65536, correspondente aos 16 bits mais significativos do valor bruto do conversor A/D relativo ao zero recém adquirido do canal #1. O valor completo deve ser calculado da seguinte maneira : (conteúdo Reg51*65536) + conteúdo Reg52

Valor lido do registrador 52 16 bits menos significativos do valor bruto do conversor A/D relativo ao zero recém adquirido do canal #2, limitado a 65535 unidades.

4.3.9 Comando de zero de ambos os canais

Função Modbus: 3

Conteúdo do campo Dados para o Indicador no quadro de comandos:

No. do registrador inicial 53 No. total de registradores 4

Exemplo de um Quadro de Comandos enviado pelo mestre (valores em hexadecimal):

REG QTD CRC

01 03 00 34 00 04

Conteúdo do campo Dados para o Indicador no quadro de respostas:

No. de bytes lidos 8

Valor lido do registrador 53 valor múltiplo de 65536, correspondente aos 16 bits mais significativos do valor bruto do conversor A/D relativo ao zero recém adquirido do canal #1. O valor completo deve ser calculado da seguinte maneira : (conteúdo Reg53*65536) + conteúdo Reg54

Valor lido do registrador 54 16 bits menos significativos do valor bruto do conversor A/D relativo ao zero recém adquirido do canal #2, limitado a 65535 unidades.

Valor lido do registrador 55 valor múltiplo de 65536, correspondente aos 16 bits mais significativos do valor bruto do conversor A/D relativo ao zero recém adquirido do canal #1. O valor completo deve ser calculado da seguinte maneira : (conteúdo Reg55*65536) + conteúdo Reg56

Valor lido do registrador 56 16 bits menos significativos do valor bruto do conversor A/D relativo ao zero recém adquirido do canal #2, limitado a 65535 unidades.

Page 13: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

13/18

4.3.10 Comando de SPESO CANAL #1

Função Modbus: 3

Conteúdo do campo Dados para o Indicador no quadro de comandos:

No. do registrador inicial 83 No. total de registradores 1

Exemplo de um Quadro de Comandos enviado pelo mestre (valores em hexadecimal):

REG QTD CRC

01 03 00 52 00 01

Conteúdo do campo Dados para o Indicador no quadro de respostas:

No. de bytes lidos 2

Valor lido do registrador 83

4.3.11 Comando de SPESO CANAL #2

Função Modbus: 3

Conteúdo do campo Dados para o Indicador no quadro de comandos:

No. do registrador inicial 99 No. total de registradores 1

Exemplo de um Quadro de Comandos enviado pelo mestre (valores em hexadecimal):

REG QTD CRC

01 03 00 62 00 01

Conteúdo do campo Dados para o Indicador no quadro de respostas:

No. de bytes lidos 2

Valor lido do registrador 99

Page 14: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

14/18

4.3.12 Comando de SPESO em ambos os canais

Função Modbus: 3

Conteúdo do campo Dados para o Indicador no quadro de comandos:

No. do registrador inicial 102 No. total de registradores 1

Exemplo de um Quadro de Comandos enviado pelo mestre (valores em hexadecimal):

REG QTD CRC

01 03 00 70 00 01

Conteúdo do campo Dados para o Indicador no quadro de respostas:

No. de bytes lidos 2

Valor lido do registrador 99

4.3.13 Comando de CPESO CANAL #1

Função Modbus: 3

Conteúdo do campo Dados para o Indicador no quadro de comandos:

No. do registrador inicial 84 No. total de registradores 1

Exemplo de um Quadro de Comandos enviado pelo mestre (valores em hexadecimal):

REG QTD CRC

01 03 00 53 00 01

Conteúdo do campo Dados para o Indicador no quadro de respostas:

No. de bytes lidos 2

Valor lido do registrador 83

4.3.14 Comando de CPESO CANAL #2

Função Modbus: 3

Conteúdo do campo Dados para o Indicador no quadro de comandos:

No. do registrador inicial 100 No. total de registradores 1

Exemplo de um Quadro de Comandos enviado pelo mestre (valores em hexadecimal):

REG QTD CRC

01 03 00 63 00 01

Page 15: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

15/18

Conteúdo do campo Dados para o Indicador no quadro de respostas:

No. de bytes lidos 2

Valor lido do registrador 100

4.3.15 Comando de CALC CANAL #1

Função Modbus: 3

Conteúdo do campo Dados para o Indicador no quadro de comandos:

No. do registrador inicial 85 No. total de registradores 1

Exemplo de um Quadro de Comandos enviado pelo mestre (valores em hexadecimal):

REG QTD CRC

01 03 00 54 00 01

Conteúdo do campo Dados para o Indicador no quadro de respostas:

No. de bytes lidos 2

Valor lido do registrador 83

4.3.16 Comando de CALC CANAL #2

Função Modbus: 3

Conteúdo do campo Dados para o Indicador no quadro de comandos:

No. do registrador inicial 101 No. total de registradores 1

Exemplo de um Quadro de Comandos enviado pelo mestre (valores em hexadecimal):

REG QTD CRC

01 03 00 64 00 01

Conteúdo do campo Dados para o Indicador no quadro de respostas:

No. de bytes lidos 2

Valor lido do registrador 100

Page 16: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

16/18

4.4. Checagem do framing – CRC No modo RTU, o cálculo de checksum adotado é o CRC, Cyclical Redundandcy Check, que calcula o conteúdo de toda a mensagem. É gerado um valor de 16 bits sendo que na composição final deste campo, os 8 bits menos significativos são enviados primeiro e depois os 8 bits mais significativos. O dispositivo transmissor calcula o valor do CRC e o integra à mensagem, transmitindo-a em seguida ao dispositivo receptor, que por sua vez, recalcula o CRC de toda a mensagem após a sua total recepção e o compara ao campo CRC da mensagem recebida, sinalizando erro caso não sejam iguais. Este método, apesar de levar mais tempo para ser executado em relação ao método LRC, é muito mais confiável pois, como será visto a seguir, analisa o real conteúdo dos dados, bit a bit, que estão sendo transferidos na linha de comunicação, fisicamente falando. O cálculo do CRC é iniciado primeiramente carregando-se um registrador / variável de memória (referenciado de agora em diante simplesmente como registrador CRC) de 16 bits com valor FFFFH. Apenas os 8 bits menos significativos deste registrador CRC serão utilizados para o cálculo efetivo do CRC. Os bits de configuração: start, paridade e stop bits, não são utilizados no cálculo do CRC, apenas os bits do caracter propriamente dito. Durante a geração do CRC, cada caracter é submetido a uma lógica XOR (OU exclusivo) com os 8 bits menos significativos do registrador CRC, cujo resultado é retornado a ele mesmo e deslocado (não é rotacionado) uma posição (1 bit) à direita, em direção ao bit menos significativo, sendo que a posição do bit mais significativo é preenchida com valor 0 (zero). Após esta operação, o bit menos significativo é examinado, ocorrendo o seguinte processamento: se o valor deste bit for igual a 0, nada ocorre e a rotina de cálculo do CRC continua normalmente; se o valor do bit for igual a 1, o conteúdo de todo o registrador CRC (16 bits) é submetido a uma lógica XOR com um valor constante A001H e o resultado é retornado ao registrador CRC. Este processo se repete até que ocorram 8 deslocamentos para cada caracter da mensagem que é submetido à lógica XOR com o registrador CRC portanto, o processo só terminará após todos os caracteres da mensagem terem sido submetidos à lógica XOR com o registrador CRC, gerando o valor do CRC que será colocado no Campo Checksum da mensagem. Como regra geral, o procedimento para o cálculo do LRC é o seguinte: carrega-se o registrador CRC com o valor FFFFH; submete-se o caracter da mensagem a uma lógica XOR com os 8 bits menos significativos do registrador CRC, retornando o resultado no registrador CRC; desloca-se o conteúdo do registrador CRC 1 bit par a direita programando seu bit mais significativo com 0 (zero); examina-se o bit menos significativo do registrador CRC e: - se bit igual a 0, repete-se o processo a partir do item 3; - se bit igual a 1, submete-se o registrador CRC a uma lógica XOR com a constante A001H retornando o resultado no registrador CRC, em seguida, repete-se o processo a partir do item 3; repetem-se os itens 3 e 4 até que tenham ocorrido 8 deslocamentos; repetem-se os itens 2 até 5 para o próximo caracter da mensagem e assim sucessivamente até que todos os caracteres tenham sido analisados; o valor final do registrador CRC é o valor do Campo Checksum; primeiramente coloca-se o byte menos significativo do registrador CRC na mensagem e depois o mais significativo. O processo descrito acima é o chamado cálculo discreto do CRC que, infelizmente, consome muito tempo para se realizar e começa a ficar crítico à medida que as mensagens passam a ter vários bytes a serem transmitidos. Para minimizar este problema, foram criadas duas tabelas de 256 bytes cada uma, contendo todas as possíveis combinações tanto para o byte mais significativo como para o menos significativo do registrador CRC. O inconveniente deste recurso é que ele requer que o dispositivo possa dispor de pelo menos 512 bytes da memória de programa para armazenar as duas tabelas porém, o cálculo será realizado bem mais rápido pois é feito através de indexação dos seus valores. As tabelas e respectivos valores são mostradas ao final deste item. Para esta solução o procedimento para o cálculo de CRC é o seguinte: carrega-se ambos registradores CRC+ e CRC– com FFH; as tabelas referenciada como tab CRC + e tab CRC – devem estar previamente programadas com os respectivos valores das combinações; submete-se o byte da mensagem a uma lógica XOR com o conteúdo do registrador CRC +, retornando o resultado em um variável de 8 bits referenciada como index; submete-se o valor da tab CRC +, indexada pela variável index, a uma lógica XOR com o registrador CRC – , retornando o resultado no registrador CRC +; carrega-se o registrador CRC – com o valor da tab CRC – , indexada pela variável index;

Page 17: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

17/18

repete-se os itens 3 à 5 até que todo o conteúdo da mensagem tenha sido analisado; após este processo, os registradores CRC + e CRC – já possuem os respectivos valores a serem programados no Campo Checksum da mensagem. Código exemplo do cálculo de CRC: Tabela CRC + 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, Tabela CRC – 0x00,0xC0,0xC1,0x01,0xC3,0x03,0x02,0xC2,0xC6,0x06,0x07,0xC7,0x05,0xC5,0xC4,0x04, 0xCC,0x0C,0x0D,0xCD,0x0F,0xCF,0xCE,0x0E,0x0A,0xCA,0xCB,0x0B,0xC9,0x09,0x08,0xC8, 0xD8,0x18,0x19,0xD9,0x1B,0xDB,0xDA,0x1A,0x1E,0xDE,0xDF,0x1F,0xDD,0x1D,0x1C,0xDC, 0x14,0xD4,0xD5,0x15,0xD7,0x17,0x16,0xD6,0xD2,0x12,0x13,0xD3,0x11,0xD1,0xD0,0x10, 0xF0,0x30,0x31,0xF1,0x33,0xF3,0xF2,0x32,0x36,0xF6,0xF7,0x37,0xF5,0x35,0x34,0xF4, 0x3C,0xFC,0xFD,0x3D,0xFF,0x3F,0x3E,0xFE,0xFA,0x3A,0x3B,0xFB,0x39,0xF9,0xF8,0x38, 0x28,0xE8,0xE9,0x29,0xEB,0x2B,0x2A,0xEA,0xEE,0x2E,0x2F,0xEF,0x2D,0xED,0xEC,0x2C, 0xE4,0x24,0x25,0xE5,0x27,0xE7,0xE6,0x26,0x22,0xE2,0xE3,0x23,0xE1,0x21,0x20,0xE0, 0xA0,0x60,0x61,0xA1,0x63,0xA3,0xA2,0x62,0x66,0xA6,0xA7,0x67,0xA5,0x65,0x64,0xA4, 0x6C,0xAC,0xAD,0x6D,0xAF,0x6F,0x6E,0xAE,0xAA,0x6A,0x6B,0xAB,0x69,0xA9,0xA8,0x68, 0x78,0xB8,0xB9,0x79,0xBB,0x7B,0x7A,0xBA,0xBE,0x7E,0x7F,0xBF,0x7D,0xBD,0xBC,0x7C, 0xB4,0x74,0x75,0xB5,0x77,0xB7,0xB6,0x76,0x72,0xB2,0xB3,0x73,0xB1,0x71,0x70,0xB0, 0x50,0x90,0x91,0x51,0x93,0x53,0x52,0x92,0x96,0x56,0x57,0x97,0x55,0x95,0x94,0x54, 0x9C,0x5C,0x5D,0x9D,0x5F,0x9F,0x9E,0x5E,0x5A,0x9A,0x9B,0x5B,0x99,0x59,0x58,0x98, 0x88,0x48,0x49,0x89,0x4B,0x8B,0x8A,0x4A,0x4E,0x8E,0x8F,0x4F,0x8D,0x4D,0x4C,0x8C, 0x44,0x84,0x85,0x45,0x87,0x47,0x46,0x86,0x82,0x42,0x43,0x83,0x41,0x81,0x80,0x40, /******************************************************************************* * Cálculo do checksum para protocolo ModBus RTU - durante RECEPCAO/TRANSMISSAO * CRC_HiByte aponta para Tabela CRC + * CRC_LoByte aponta para Tabela CRC - * Entrada: buffer a ser analisado e quantidade de caracteres a serem lidos * Saída: atualiza buffer com o resultado no cálculo de CRC nas posições corretas *******************************************************************************/ void CRC_RTU_serial(unsigned char *pointer, unsigned char n_caracters) { unsigned char cont_carac,carac=0; CRC_Hi=CRC_Lo=0xFF; cont_carac=0; do

Page 18: Transmissor de Peso Mod4352

CAIXA DE JUNÇÃO DIGITAL MOD.4352

18/18

{ carac=CRC_Lo^*pointer++; CRC_Lo=CRC_Hi^CRC_HiByte[carac]; CRC_Hi=CRC_LoByte[carac]; cont_carac++; } while(cont_carac<n_caracters); *pointer++=CRC_Lo; *pointer++=CRC_Hi; }

5. Especificações

• Gerais

• Alimentação: 8 a 12 VCC

• Comunicação: RS-485

• # de canais: 2 independentes

• Ligações de células de carga a 6 fios (Kelvin)

• Alimentação da célula de carga: 5Vcc

• Taxa de amostragem: 60/seg

• Consumo: 15 VA máximo

• Temperatura de operação: -5 a + 55o C

• Temperatura de armazenagem: -25 a + 70o C

• Peso: 0,6 kg

• Dimensões: 153 x 138 x 56 mm

• Grau de Proteção Ambiental: IP-67 com os cabos corretamente vedados nos prensa-cabos

• Operacionais

• Valor de DEGRAU: 1, 2, 5;

• Número de DIVISÕES: até 100.000

• Taxas de comunicação: 9600, 19200, 38400, 56600, 115200.

• CAPACIDADE: até 99.999 independente da posição do ponto decimal

• Faixa de captura do ZERO: ± 2% da CAPACIDADE com referência no parâmetro SEM PESO

• Velocidade de variação para AUTOZERO: < 0,5 div/seg

• Detecção de movimento: > 1 divisão

• Velocidade de conversão: 60 ciclos/seg

• Retenção dos dados de calibração e parâmetros na memória não volátil: 100 anos

• Precisão dos cálculos internos: 24 bits com ponto flutuante