Você está na página 1de 28

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU Linha 3000C / 3000C.S.

ALFA INSTRUMENTOS ELETRNICOS LTDA R. Cel. Mrio de Azevedo, 138 CEP: 02710-020 - So Paulo - SP F: (0xx11) 3952-2299 - Fax: (0xx11) 3961-4266 SAC: 0800-772-2910 vendas@alfainstrumentos.com.br http://www.alfainstrumentos.com.br

REVISO 4.3 13/08/2009

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

Sumrio
1 Introduo ___________________________________________________________________________________________ 4 1.1 2 3 Terminologia _____________________________________________________________________________________ 4

Conceitos em Comunicao _____________________________________________________________________________ 4 O Protocolo Modbus ___________________________________________________________________________________ 5 3.1 3.2 3.3 3.4 3.5 3.6 Introduo _______________________________________________________________________________________ 5 Comunicao _____________________________________________________________________________________ 6 Modos de transmisso _____________________________________________________________________________ 6 Framing da mensagem no modo RTU _________________________________________________________________ 6 Campo Endereo do Escravo ________________________________________________________________________ 7 Campo Funo Modbus ____________________________________________________________________________ 7

3.7 Campo Dados para o Escravo________________________________________________________________________ 8 3.7.1 Comandos sem erro _____________________________________________________________________________ 8 3.7.2 Comandos com erro _____________________________________________________________________________ 8 3.8 4 Campo Checksum Checagem do framing (CRC) ________________________________________________________ 9

Funes Modbus _____________________________________________________________________________________ 12 4.1 4.2 Codificao do endereo __________________________________________________________________________ 12 Contedo dos campos ____________________________________________________________________________ 12

4.3 Leitura de Bloco de Registradores Funo 03 ________________________________________________________ 13 4.3.1 Descrio _____________________________________________________________________________________ 13 4.3.2 Comando enviado ______________________________________________________________________________ 13 4.3.3 Resposta ao comando __________________________________________________________________________ 14 4.4 Escrita em nico Registrador Funo 06 ____________________________________________________________ 14 4.4.1 Descrio _____________________________________________________________________________________ 14 4.4.2 Comando enviado ______________________________________________________________________________ 14 4.4.3 Resposta ao comando __________________________________________________________________________ 15 4.5 Escrita em Bloco de Registradores Funo 16 ________________________________________________________ 15 4.5.1 Descrio _____________________________________________________________________________________ 15 4.5.2 Comando enviado ______________________________________________________________________________ 15 4.5.3 Resposta ao comando __________________________________________________________________________ 16 5 Descrio Funcional ___________________________________________________________________________________ 16 5.1 Mestre _________________________________________________________________________________________ 16 5.1.1 Transmissor ___________________________________________________________________________________ 16 5.1.2 Receptor _____________________________________________________________________________________ 17 5.2 Escravo ________________________________________________________________________________________ 18 5.2.1 Receptor _____________________________________________________________________________________ 18 5.2.2 Transmissor ___________________________________________________________________________________ 18 5.2.3 Retry ________________________________________________________________________________________ 19 6 Comandos de Pesagem ________________________________________________________________________________ 19 6.1 6.2 Quadro de Comandos_____________________________________________________________________________ 19 Quadro de Respostas _____________________________________________________________________________ 19

6.3 Comandos disponveis nos indicadores ALFA Instrumentos ______________________________________________ 20 6.3.1 Inicializao do indicador ________________________________________________________________________ 20 6.3.2 Programao Simultnea dos SetPoints ____________________________________________________________ 20 6.3.3 Verificao da Programao do nvel dos SetPoints ___________________________________________________ 21

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU 6.3.4 6.3.5 6.3.6 6.3.7 6.3.8 6.3.9 6.3.10 6.3.11 6.3.12 6.3.13 6.3.14 6.3.15 6.3.16 6.3.17 6.3.18 6.3.19 6.3.20 Programao da Configurao dos SetPoints ________________________________________________________ 21 Verificao da Configurao dos SetPoints __________________________________________________________ 22 Programao do Endereo do Indicador ____________________________________________________________ 22 Leitura do Peso e Status do Indicador ______________________________________________________________ 23 Acionamento Remoto das teclas de funo do indicador _______________________________________________ 23 Programao da faixa de pesos da Sada Analgica ___________________________________________________ 24 Verificao da faixa de pesos da Sada Analgica ___________________________________________________ 24 Leitura dos dados de Acumulao _______________________________________________________________ 24 Programao do Relgio-Calendrio _____________________________________________________________ 25 Leitura do Relgio-Calendrio __________________________________________________________________ 25 Captura do PESO ALVO para aplicao SOBRA-FALTA _______________________________________________ 25 Programao do parmetro Zero _______________________________________________________________ 25 Programao do parmetro Tara _______________________________________________________________ 26 Programao do Filtro Digital __________________________________________________________________ 26 Programao do valor da TARA Editvel __________________________________________________________ 26 Verificao dos parmetros de calibrao ________________________________________________________ 26 Leitura do Peso e Status do Indicador 3105 _______________________________________________________ 27

Equipamentos que possuem o Protocolo Modbus-RTU incorporado: - 3104C - 3101C.S - 3105C - 3102C.S - 3107C - 3103C.S - 3104C.S - 3105C.S - 3107C.S Modbus RTU e Modbus ASCII so marcas registradas da Modicon Inc, Industrial Automation Systems.

Modificaes realizadas sobre o documento: Verso Revisado por: Revisado em: 3.0 Rafael 05/03/2009 4.3 Rafael 13/08/2009

4.0 4.1 4.2

Srgio de Paula Rafael Srgio de Paula

18/06/2009 01/07/2009 17/07/2009

Modificaes Retirada de parte das menes ao modo ASCII do Modbus. Correes de alguns dos comandos Modbus. Correes da verso anterior do manual. Retirada de todas as menes ao modo ASCII do Modbus. Incluso das modificaes feitas nos comandos das sees 6.3.12 a 6.3.25. Texto original substitudo pelas sugestes feitas em 4.0 e 4.1. Retirada da Programao Individual dos SetPoints. Alterao dos comandos do Indicador.

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

Introduo

Este documento destina-se a programadores e/ou profissionais que sero responsveis pela programao de um Scanner, um Sistema Supervisrio ou um PLC. A programao adequada desses dispositivos se valer do conceito de 3 bases numricas (decimal, hexadecimal e cdigo ASCII), bem como de outras informaes contidas neste manual. Ser descrito em detalhes o protocolo de comunicao serial assncrona padro Modbus RTU, implementado nos Indicadores da Alfa Instrumentos. Este protocolo deve ser utilizado para realizar a comunicao entre estes indicadores e qualquer controlador ou computador que esteja capacitado a transferir dados atravs do protocolo Modbus. A interface serial dos indicadores ALFA pode operar tanto nos padres eltricos RS232 como RS485, configurveis por software (vide manual do indicador). O protocolo Modbus embarcado nos indicadores independe do meio eltrico usado. Maiores informaes sobre os indicadores podem ser obtidas nos documentos disponveis no site www.alfainstrumentos.com.br. 1.1 Terminologia

Descrio de alguns termos empregados ao longo deste documento: PLC/CLP Dispositivo que controla e processa todas as informaes de um sistema industrial Protocolo de comunicao Realiza a troca de informaes (mensagens) entre 2 ou mais dispositivos seguindo uma normalizao especfica, dependendo do tipo do protocolo. Dispositivo Equipamento conectado a uma rede com capacidade de enviar e receber mensagens. Mensagem Conjunto de dados que compem uma srie de informaes trocadas entre os dispositivos. Mestre Dispositivo que inicia a transmisso de uma mensagem para um dispositivo escravo. Escravo Dispositivo que responde a uma mensagem enviada por um dispositivo mestre. Caractere Dado propriamente dito, contido numa palavra de dados. Palavra de dado (s) Informao contendo o caractere, start bit, bits de paridade e stop bits. Framing Conjunto de palavras de dados que compem uma mensagem Barramento Meio fsico por onde trafegam as mensagens Campo Uma mensagem composta por vrios campos, cada qual com uma informao especfica. Registrador Regio de memria interna de um dispositivo. H Abreviao da base numrica hexadecimal. (+) / ( - ) Parte mais / menos significativa da informao. Time-out Intervalo de tempo aguardado antes de se abortar um processo de comunicao Retry (retries) Retransmisso de informaes / mensagens Aplicao Programa que estiver sendo executado no terminal mestre ou programa principal do indicador responsvel pela interpretao dos comandos Modbus. 2 Conceitos em Comunicao

Um conceito importante em uma comunicao de dados em Modbus diz respeito aos equipamentos mestre e escravo. Em qualquer interligao na qual esteja sendo utilizado esse protocolo, dever existir somente um equipamento mestre e pelo menos um escravo. Define-se como equipamento mestre aquele responsvel por toda a iniciativa do processo de comunicao, ou seja, o dispositivo que inicia e finaliza uma troca de dados entre os ns da rede Modbus, seja para transmisso ou recepo. J o equipamento escravo definido como sendo aquele que s realiza alguma funo sob solicitao e controle do mestre, no processo de comunicao entre estaes de uma rede Modbus.

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

Um equipamento pode ser mestre ou escravo dependendo somente da sua aplicao no sistema. Ou seja, em determinado sistema um equipamento pode ser configurado como mestre e, em outro, o mesmo equipamento pode estar configurado como escravo. Na comunicao entre um equipamento mestre e um escravo existem duas situaes possveis: 1. mestre deseja enviar/receber dados para/do escravo 2. escravo deve enviar/receber dados para/do mestre Como foi mencionado, o mestre tem o poder de iniciar o processo de comunicao. No caso de esse ltimo precisar enviar uma mensagem a um escravo (1 caso), ela a envia a qualquer momento, de acordo com suas necessidades e independente do estado em que se encontrar o escravo. Essa mensagem deve requisitar ao escravo a execuo de uma determinada funo. Ao receber a mensagem enviada pelo mestre, o escravo executa a funo solicitada e envia uma resposta contendo o resultado desta funo. No 2 caso, contudo, o escravo no pode iniciar a comunicao entre os dispositivos. Assim, necessrio que o equipamento mestre pesquise se h escravos precisando enviar ou receber dados, e s ento esses ltimos podero enviar ou requisitar tais dados. O protocolo Modbus define a forma pela qual os dados so encapsulados em um frame, o modo de endereamento dos equipamentos escravos, os modos que o dispositivo mestre pode utilizar para enviar mensagens para os escravos (unicast ou broadcast), entre outros. Contudo, deve-se frisar que a interao entre o equipamento mestre e os escravos no tem comportamento definido pelo protocolo. Ou seja, o comportamento citado nos dois pargrafos acima est implementado na aplicao, no estando ligado a qualquer imposio de protocolo. A aplicao deve fazer a funo do nvel de enlace da camada OSI, pois esta camada no est presente no protocolo Modbus. Assim, alm do tratamento das informaes relativas ao processo que se deseja supervisionar/controlar, a aplicao fica responsvel tambm pelos procedimentos a serem seguidos na transmisso e recepo das mensagens, recuperao de erros, sincronismo entre os equipamentos na rede, conexo e desconexo, entre outros. 3 O Protocolo Modbus

Os indicadores Alfa Instrumentos dispem de comunicao serial atravs do protocolo Modbus-RTU, o qual foi implementado seguindo fielmente as normas estabelecidas pela Modicon Inc., desenvolvedora deste protocolo. 3.1 Introduo

Este protocolo foi desenvolvido pela Modicon Inc. para ser utilizado como meio de comunicao entre computadores existentes numa rede. Esse protocolo basicamente define uma estrutura de mensagens composta por bytes, que os mais diversos tipos de dispositivos so capazes de reconhecer, independentemente do tipo de rede utilizada. Durante a comunicao, o protocolo determina como cada dispositivo pode: - identificar seu endereo na rede - reconhecer uma mensagem endereada a ele - determinar o tipo de ao a ser executada - obter toda a informao necessria para executar a ao Quando h a necessidade de retornar uma resposta ao comando recebido, o dispositivo escravo monta uma mensagem e a envia para o mestre, mesmo que esta indique um erro. Em caso de erro, o cdigo da funo pode ser reajustado para indicar que um retorno de erro, e os bytes de dados podem ser preenchidos com um cdigo que o descreva.

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

3.2

Comunicao

Como anteriormente citado, a comunicao feita atravs da tcnica mestre-escravo, na qual apenas um dispositivo (mestre) pode iniciar a comunicao (query). Os outros dispositivos (escravos) respondem enviando os dados solicitados pelo mestre (response). O mestre pode enderear individualmente um escravo ou acessar a todos em uma rede atravs de mensagens em cadeia (broadcast). Contudo, apenas o escravo endereado retorna uma resposta (response) a uma query e nunca so geradas responses quando uma query for do tipo broadcast. O protocolo Modbus estabelece o formato da query definindo: - o endereo do escravo (ou cdigo para acesso broadcast) - o cdigo da funo, que indica qual ao deve ser tomado pelo escravo - parmetros ou dados pertinentes funo definida - o campo de checksum (CRC) para checar a integridade da mensagem enviada Assim, a unidade de dados de protocolo serial Modbus (Modbus Serial Line Protocol Data Unit) pode ser esquematizada da seguinte forma:

Frame Modbus sobre uma linha serial

A resposta do escravo gerada nos mesmos moldes, obedecendo ao formato correspondente funo recebida pelo mestre. Com isso, define-se: - a confirmao da funo realizada - parmetros ou dados pertinentes funo solicitada - o campo de checksum (CRC) para checar a integridade da mensagem enviada Quando ocorrer um erro na comunicao ou se o escravo no estiver apto para atender funo requisitada, ele monta uma mensagem especfica (exception), justificando o seu no atendimento. 3.3 Modos de transmisso

O modo de transmisso suportado pelos indicadores de pesagem Alfa Instrumentos o RTU. Devem-se definir os parmetros de comunicao do nvel fsico (RS-232 / RS-485): baud rate, paridade, stop bits, os quais devem ser os mesmos para todos os dispositivos da rede. A quantidade de bits por cada palavra de dados sempre ser igual a 11 sendo que a ALFA Instrumentos adota os seguintes parmetros de comunicao: 1 START bit 8 DATA bits SEM paridade (no h bit de paridade) 2 STOP bits (pois no h paridade) 3.4 Framing da mensagem no modo RTU

O modo RTU no possui bytes que indiquem incio e fim de framing. Para identificar estes campos, no deve haver nenhuma transmisso de dados por um perodo mnimo, equivalente a 3.5 vezes o tamanho da palavra de dados (silent). Por exemplo, suponha que a taxa de transmisso seja de 19200 bps. Para esta taxa, o tempo total para envio de 1 palavra de dados (11 bits) de 572.9 us (11 x (1 / 19200)). Portanto, para identificar um incio e/ou trmino de framing, no deve haver transmisso por um perodo mnimo de 2.005 ms (3.5 x 572.9 us). Os dispositivos ficam monitorando o barramento e checando intervalos silent. Estes, depois de detectados, do incio recepo da mensagem. Aps a recepo de toda a mensagem, deve ser gerado pelo mestre um intervalo silent similar ao do incio da mensagem, caracterizando o fim da mesma.

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

Neste modo, toda a mensagem deve ser enviada de maneira contnua. Se um intervalo maior que 1.5 vezes o tamanho da palavra de dados for detectado antes que toda a mensagem tenha sido recebida, o escravo descarta os dados j recebidos da mensagem atual e assume que o prximo caractere ser o campo de endereo de uma nova mensagem. De modo similar, se uma nova mensagem for recebida em um intervalo menor que o intervalo silent, o escravo assume que esta mensagem uma continuao da ltima mensagem recebida. Esta condio ir gerar um erro, pois o campo CRC no corresponder aos dados enviados na mensagem. A seguir mostrado um framing tpico no modo RTU. Incio de framing Incio End. Escravo 1 char Funo Modbus 1 char Dados para o Escravo N chars Checksum CRC CRC + Fim de framing Fim

Os campos Endereo do Indicador e Funo Modbus possuem um nico byte cada. Outra particularidade est na seqncia de envio dos bytes de checksum da mensagem: o primeiro byte enviado o menos significativo e depois o mais significativo. Exemplo: - endereo do indicador: 69 = 45H - funo Modbus: leitura de registradores: 03 = 03H - registrador inicial a ser lido: 11 = 0BH pela norma Modbus: 000AH - nmero total de registradores a serem lidos: 1 = 0001H - Checksum (CRC) gerado: 19627 = 4CABH pela norma Modbus RTU = ABH 4CH Para os valores acima, ser gerado o seguinte framing de dados: 45H 03H 00H 0AH 00H 01H 3.5 Campo Endereo do Escravo

ABH

4CH

Este campo possui oito bits. A faixa de endereos vlidos para os escravos de 0 a 247. Individualmente os escravos so endereados de 1 a 247 e o endereo 0 reservado para acesso tipo broadcast, que o nico endereo que todos os escravos reconhecem. Um mestre envia um request para determinado escravo inserindo o endereo desse ltimo no campo de endereo da mensagem. Quando o escravo envia o response, ele coloca seu prprio endereo no campo de endereo da mensagem para sinalizar ao mestre qual escravo est respondendo. Para acessos tipo broadcast no h response por parte de nenhum escravo. 3.6 Campo Funo Modbus

Este campo possui oito bits. A faixa de valores vlidos de 1 a 255. Destes valores, a maioria compatvel com todos os CLPs, enquanto alguns esto disponveis apenas para os modelos mais novos. H ainda alguns outros que esto reservados para uso futuro. As funes disponveis para os indicadores Alfa Instrumentos sero abordadas no item 4. Quando uma mensagem recebida pelo escravo, este campo indica qual ao deve ser tomada, por exemplo: ler e/ou programar um ou mais sensores; ler e/ou programar um ou mais registradores; ler o status do escravo. No response do escravo este campo usado para informar ao mestre se a ao foi executada com sucesso ou se ocorreu algum tipo de erro (exception). Para funes executados com sucesso o escravo simplesmente devolve o prprio cdigo da funo; quando ocorre algum erro, o escravo devolve o cdigo da funo com o seu bit mais significativo em nvel 1. Por exemplo, se ocorrer um erro na escrita de um registrador, ao invs do escravo retornar o cdigo 06H = (0000 0110)2 (cdigo de escrita em um nico registrador em cdigo binrio), ele retorna o cdigo 86H = (1000 0110)2. Juntamente com essa sinalizao, o escravo passa no campo de dados outro cdigo que identifica a causa do erro. Esses cdigos sero vistos mais adiante. O mestre possui a responsabilidade de gerenciar e analisar mensagens de exception, reenviando a mensagem que originou o erro ou enviando uma funo de diagnstico para identificar mais precisamente a causa do erro. 7

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

3.7

Campo Dados para o Escravo Este campo formado por 1 byte, variando de (0000 0000)2 a (1111 1111)2.

3.7.1

Comandos sem erro

As informaes contidas neste campo esto relacionadas ao tipo de funo definido no campo funo Modbus. Por exemplo, quantos sensores ou dados devem ser escritos ou lidos, os dados a serem programados em determinados registradores e a quantidade de bytes que esto sendo enviados na mensagem. Se no ocorrer erro na realizao do comando, este campo da mensagem dever conter as informaes relativas ao comando enviado. Em caso contrrio, este campo dever conter um cdigo de exception, identificando o motivo que causou o erro e orientando o mestre para a execuo do prximo comando. 3.7.2 Comandos com erro

Quando o mestre envia uma mensagem para um escravo, esperada uma resposta de acordo com os seguintes critrios: Se o escravo receber uma mensagem sem nenhum tipo de erro de comunicao e a mesma puder ser tratada corretamente, o escravo responde ao mestre os dados pertinentes ao comando recebido; Se o escravo no receber a mensagem devido a um erro de comunicao, nenhuma mensagem retornada ao mestre e provavelmente o mestre executar um procedimento de time-out; Se o escravo receber uma mensagem, mas detectar que houve um erro de comunicao (framing, checksum), nenhuma mensagem retornada ao mestre e provavelmente o mestre executar um procedimento de time-out; Se o escravo receber uma mensagem sem erro de comunicao, mas no puder atend-la, ele retornar uma mensagem de exception informando ao mestre a natureza do erro. 3.7.2.1 Campo Cdigo da Funo

Em uma resposta normal, o escravo repete o cdigo da funo no respectivo campo de mensagem. Nesses casos, todos os cdigos possuem o bit mais significativo igual a 0. Quando ocorre um erro, porm, este mesmo bit passa a ter valor igual a 1 caracterizando uma resposta com exception. Uma vez detectado o erro, o mestre passa a analisar o prximo campo da mensagem, Campo de Dados, que deve conter o cdigo do motivo que originou a exception. 3.7.2.2 Campo de Dados

Em mensagens sem erro, o escravo utiliza este campo para retornar informaes pertinentes ao comando solicitado. Quando ocorre um erro, este campo contm o cdigo da causa do exception. A seguir esto relacionados os cdigos de exception e os respectivos significados. Cdigo Identificao Significado 1 Funo invlida A funo Modbus solicitada pelo mestre no est implementada no escravo. 2 Sensor ou registrador O escravo no possui o(s) sensor (es) ou registrador (es) especificado(s) no invlido comando enviado pelo mestre. 3 Valor de dado invlido O valor de algum dado contido no Campo de Dados invlido. 4 Falha no dispositivo Ocorrncia de erro por parte do escravo durante a execuo do comando solicitado pelo mestre. 5 Estado de espera O escravo reconheceu o comando enviado pelo mestre, mas o notifica que o mesmo ser processado num perodo de tempo maior que o normal. Este tipo de cdigo enviado para evitar a ocorrncia de time-out por parte do mestre. Nestas condies, o mestre pode ficar monitorando as atividades do escravo at a realizao do comando. 6 Dispositivo ocupado O escravo est ocupado atendendo a outro comando. O mestre pode retransmitir a mensagem mais tarde quando o escravo concluir o comando em execuo. 8

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

7 8

No reconhecimento

O escravo no conseguiu executar o comando. Este exception gerado quando o mestre envia um comando atravs das funes 13 ou 14. Erro de paridade na O escravo detectou erro de paridade na leitura de sua memria estendida. memria

O exemplo a seguir adota o modo de comunicao RTU. O mestre envia um comando para o escravo nmero 69H da rede, solicitando que seja programado o seu registrador 0058H com o valor 05AFH. A mensagem enviada para este comando a seguinte: 69H 06H 00H 58H 05H AFH 43H DDH onde: - 69H = endereo do escravo - 06H = cdigo da funo Modbus de escrita em um nico registrador - 00H 58H = nmero do registrador interno do escravo - 05H AFH = valor a ser programado no registrador 0058H do escravo - 43H DDH = checksum da mensagem enviada pelo mestre Antes de executar o comando de escrita, o escravo identifica que no existe o registrador 0058H em seu dispositivo e retorna a seguinte mensagem de exception: 69H 86H 02H 42H 7DH onde: - 69H = endereo do escravo - 86H = cdigo da funo Modbus de escrita em um nico registrador com sinalizao de erro - 02H = cdigo de exception indicando que no existe o registrador solicitado - 42H 7DH = checksum da mensagem a ser enviada pelo escravo 3.8 Campo Checksum Checagem do framing (CRC)

No modo RTU, o clculo de checksum adotado o CRC (Cyclical Redundandcy Check), que calcula o contedo de toda a mensagem. gerado um valor de 16 bits sendo que, na composio final deste campo, os 8 bits menos significativos so 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. Este ltimo, por sua vez, recalcula o CRC de toda a mensagem aps a sua total recepo e o compara ao campo CRC da mensagem recebida, sinalizando erro em caso de no serem iguais. O clculo do CRC iniciado primeiramente carregando-se um registrador / varivel de memria (referenciado de agora em diante simplesmente como registrador CRC) de 16 bits com valor FFFFH. Apenas os 8 bits menos significativos desse registrador CRC sero utilizados para o clculo efetivo do CRC. Os bits de configurao: start, paridade e stop bits, no so levados em considerao no clculo do CRC, mas apenas os bits do caractere propriamente dito. Durante a gerao do CRC, cada caractere submetido a uma lgica XOR (OU exclusivo) com os 8 bits menos significativos do registrador CRC, cujo resultado retornado a ele mesmo e deslocado (no rotacionado) uma posio (1 bit) direita, em direo ao bit menos significativo, sendo que a posio do bit mais significativo preenchida com valor 0 (zero). Aps esta operao, o bit menos significativo examinado, ocorrendo o seguinte processamento: 1. Se o valor deste bit for igual a 0, nada ocorre e a rotina de clculo do CRC continua normalmente; 2. Se o valor do bit for igual a 1, o contedo de todo o registrador CRC (16 bits) submetido a uma lgica XOR com um valor constante A001H e o resultado retornado ao registrador CRC. Este processo se repete at que ocorram 8 deslocamentos para cada caractere da mensagem que submetido lgica XOR com o registrador CRC. Portanto, o processo s terminar quando todos os caracteres da mensagem tiverem sido submetidos lgica 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 clculo do CRC o seguinte: 1. Carrega-se o registrador CRC com o valor FFFFH; 9

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

2. Submete-se o caractere da mensagem a uma lgica XOR com os 8 bits menos significativos do registrador CRC, retornando o resultado no registrador CRC; 3. Desloca-se o contedo do registrador CRC 1 bit par direita programando seu bit mais significativo com 0 (zero); 4. 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 lgica XOR com a constante A001H retornando o resultado no registrador CRC, em seguida, repete-se o processo a partir do item 3 5. Repetem-se os itens 3 e 4 at que tenham ocorrido 8 deslocamentos; 6. Repetem-se os itens 2 at 5 para o prximo caractere da mensagem e assim sucessivamente at que todos os caracteres tenham sido analisados; 7. O valor final do registrador CRC o valor do Campo Checksum; 8. Primeiramente coloca-se o byte menos significativo do registrador CRC na mensagem e depois o mais significativo. O processo descrito acima o chamado clculo discreto de CRC que, infelizmente, consome muito tempo para se realizar e comea a ficar crtico medida que as mensagens passam a ter vrios bytes a serem transmitidos. Para minimizar este problema, foram criadas duas tabelas de 256 bytes cada uma, contendo todas as possveis combinaes tanto para o byte mais significativo como para o menos significativo do registrador CRC. O inconveniente deste recurso que ele requer que o dispositivo disponha de pelo menos 512 bytes da memria de programa para armazenar as duas tabelas. Porm, o clculo realizado bem mais rapidamente, pois feito atravs de indexao de seus valores. As tabelas e respectivos valores so mostrados ao final deste item. Para esta soluo o procedimento para o clculo de CRC o seguinte: 1. Carregam-se ambos registradores CRC+ e CRC- com FFH; 2. As tabelas referenciadas como CRC+ e CRC- devem estar previamente programadas com os respectivos valores das combinaes; 3. Submete-se o byte da mensagem a uma lgica XOR com o contedo do registrador CRC+, retornando o resultado em uma varivel de 8 bits referenciada como index; 4. Submete-se o valor da tabela CRC+, indexada pela varivel index, a uma lgica XOR com o registrador CRC- retornando o resultado no registrador CRC+; 5. Carrega-se o registrador CRC- com o valor da tabela CRC-, indexada pela varivel index; 6. Repetem-se os itens 3 a 5 at que todo o contedo da mensagem tenha sido analisado; 7. Aps este processo, os registradores CRC+ e CRC- j possuem os respectivos valores a serem programados no Campo Checksum da mensagem.

10

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

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,

Cdigo exemplo do clculo de CRC: /******************************************************************************* * Clculo 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 * Sada: atualiza buffer com o resultado no clculo de CRC nas posicoes 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 { 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; }

11

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

Funes Modbus

Apesar de existirem diversas funes Modbus, cada CLP disponibiliza um conjunto especfico delas para os seus usurios. Os indicadores da Alfa Instrumentos, entretanto, esto programados para reconhecer apenas as que realizam os comandos pertinentes pesagem de maneira mais rpida e eficaz. Sero descritas apenas essas funes, em modo RTU. Antes, contudo, necessrio expor como os dados so referenciados no protocolo Modbus. 4.1 Codificao do endereo

Para a unidade de dados de protocolo Modbus (Modbus Protocol Data Unit), cada dado endereado de 0 a 65535. Porm, o modelo de dados do protocolo Modbus define que cada bloco de dados enumerado de 1 a n. Com isso, quando se est tentando acessar um registrador de um dispositivo, o endereo na mensagem Modbus dever ser um valor unitrio a menos do que o valor do endereo desse registrador. Por exemplo, se o registrador alvo estiver no endereo 0001H, o endereo na mensagem que deve ser usado o 0000H; se o registrador do dispositivo a ser programado for 0059H e estiver sendo acessado via Modbus, o mesmo deve ser referenciado com o nmero 0058H na mensagem (exemplo do item 3.7.2.2); e assim sucessivamente. O mesmo ocorre para os sensores e demais registradores de acesso ao dispositivo. Para a unidade de dados de protocolo Modbus (Modbus Protocol Data Unit), cada dado endereado de 0 a 65535. Porm, o modelo de dados do protocolo Modbus define que cada bloco de dados enumerado de 1 a n. Com isso, quando se est tentando acessar um registrador de um dispositivo, o endereo na mensagem Modbus dever ser um valor unitrio a menos do que o valor do endereo desse registrador. Por exemplo, se o registrador alvo estiver no endereo 0001H, o endereo na mensagem que deve ser usado o 0000H; se o registrador do dispositivo a ser programado for 0059H e estiver sendo acessado via Modbus, o mesmo deve ser referenciado com o nmero 0058H na mensagem (exemplo do item 3.7.2.2); e assim sucessivamente. O mesmo ocorre para os sensores e demais registradores de acesso ao dispositivo. Nos indicadores da Alfa Instrumentos, todos os registradores so do tipo holding, ou seja, podem tanto ser acessados para leitura como para escrita. Segundo os padres da Modicon, estes registradores so numerados a partir do endereo 40001, cujo endereo correspondente na mensagem 0000H. Recorrendo uma vez mais ao exemplo do item 3.7.2.2, o registrador 0058H, na realidade, possui valor 40089 (em decimal). 4.2 Contedo dos campos

A seguir mostrado um exemplo de um comando e resposta. O mestre envia um comando de leitura de registradores tipo holding para o dispositivo escravo nmero 7BH, desejando ler o contedo dos registradores 40108 a 40110, portanto, um total de 3 registradores. Note que na mensagem o endereo do registrador inicial 40107 decimal, equivalente a 006BH. Na resposta, o escravo repete o cdigo da funo Modbus, indicando que o comando foi executado com sucesso. O campo Byte Count especifica quantos bytes esto sendo retornados ao mestre.

Nome do campo Identificador de incio Endereo do escravo Funo Modbus Endereo inicial (+) Endereo inicial (-) No. de registradores (+) No. de registradores (-) Checksum caracter 1 Checksum caracter 2 Indicador de fim Total de bytes enviados

Mensagem query: Valores em HEXA 7BH 03H 00H 6BH 00H 03H

Bytes em RTU NO H 0111 1011 0000 0011 0000 0000 0110 1011 0000 0000 0000 0011 0111 1111 1000 1101 NO H 8

12

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

Contedo em hexadecimal da mensagem query no modo RTU: 7BH 03H 00H 6BH 00H 03H Mensagem response: Nome do campo Valores em HEXA Identificador de incio Endereo do escravo 7BH Funo Modbus 03H Campo Byte Count 06H Dado do 1 registrador (+) 00H Dado do 1 registrador (-) 5FH Dado do 2 registrador (+) 01H Dado do 2 registrador (-) A8H Dado do 3 registrador (+) 3CH Dado do 3 registrador (-) 69H Checksum caracter 1 Checksum caracter 2 Indicador de fim Total de bytes enviados Contedo em hexadecimal da mensagem response no modo RTU: 7BH 03H 06H 00H 5FH 01H A8H 3CH 4.3 4.3.1 Leitura de Bloco de Registradores Funo 03 Descrio

7FH

8DH

Bytes em RTU NO H 0111 1011 0000 0011 0000 0110 0000 0000 0101 1111 0000 0001 1010 1000 0011 1100 0110 1001 1111 1111 0010 1000 NO H 11

69H

FFH

28H

L o contedo de um bloco de registradores tipo holding (referenciados como 4XXXX). Para este comando no so vlidos acessos tipo broadcast. 4.3.2 Comando enviado

A mensagem query especifica o registrador inicial e a quantidade de registradores a serem lidos. Lembrar que os registradores so endereados a partir do endereo 0, ou seja, os registradores 1 a 99 so endereados como 0 a 98. No exemplo a seguir solicitada uma leitura dos registradores 40108 a 40110 do dispositivo 17. Observe que as informaes relativas aos registradores so formatadas em 2 bytes. Nome do campo Identificador de incio Endereo do escravo Funo Modbus Endereo inicial (+) Endereo inicial (-) No. de registradores (+) No. de registradores (-) Checksum caracter 1 Checksum caracter 2 Indicador de fim Total de bytes enviados Valores em HEXA 11H 03H 00H 6BH 00H 03H Bytes em RTU NO H 0001 0001 0000 0011 0000 0000 0110 1011 0000 0000 0000 0011 0111 0110 1000 0111 NO H 8

Contedo em hexadecimal da mensagem query no modo RTU: 1H 03H 00H 6BH 00H 03H 13

76H

87H

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

4.3.3

Resposta ao comando Na resposta, os dados dos registradores tambm so formatados em 2 bytes. Nome do campo Identificador de incio Endereo do escravo Funo Modbus Campo Byte Count Dado do 1 registrador (+) Dado do 1 registrador (-) Dado do 2 registrador (+) Dado do 2 registrador (-) Dado do 3 registrador (+) Dado do 3 registrador (-) Checksum caracter 1 Checksum caracter 2 Indicador de fim Total de bytes enviados Valores em HEXA 11H 03H 06H 00H 5FH 01H A8H 3CH 69H Bytes em RTU NO H 0001 0001 0000 0011 0000 0110 0000 0000 0101 1111 0000 0001 1010 1000 0011 1100 0110 1001 0010 1001 1000 1010 NO H 11

Contedo em hexadecimal da mensagem response no modo RTU: 11H 03H 06H 00H 5FH 01H A8H 3CH

69H

29H

8AH

De acordo com o comando, o registrador 40108 contm 005FH (95 decimal), o registrador 40109 contm 01A8H (424 decimal) e o registrador 40110 contm 3C69H (15465 decimal). 4.4 4.4.1 Escrita em nico Registrador Funo 06 Descrio

Programa um nico registradores tipo holding (referenciado como 4XXXX). Para acessos tipo broadcast, o mesmo registrador em todos os escravos da rede ser programado com o mesmo valor. 4.4.2 Comando enviado

A mensagem query especifica o registrador a ser programado. Lembrar que os registradores so endereados a partir do endereo 0, ou seja, os registradores 1 a 99, so endereados como 0 a 98. No exemplo programado o valor 07D5H no registrador 40351 do dispositivo 17. Observe que as informaes relativas aos registradores so formatadas em 2 bytes. Nome do campo Identificador de incio Endereo do escravo Funo Modbus Endereo inicial (+) Endereo inicial (-) Valor programado (+) Valor programado (-) Checksum caracter 1 Checksum caracter 2 Indicador de fim Total de bytes enviados Valores em HEXA 11H 06H 01H 5EH 07H D5H Bytes em RTU NO H 0001 0001 0000 0110 0000 0001 0101 1110 0000 0111 1101 0101 0010 1000 1101 1011 NO H 8

14

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

Contedo em hexadecimal da mensagem query no modo RTU: 11H 06H 01H 5EH 07H D5H 4.4.3 Resposta ao comando

28H

DBH

Se o comando for realizado com sucesso, a mensagem de resposta uma cpia exata da mensagem query. Nome do campo Identificador de incio Endereo do escravo Funo Modbus Endereo inicial (+) Endereo inicial (-) Valor programado (+) Valor programado (-) Checksum caracter 1 Checksum caracter 2 Indicador de fim Total de bytes enviados Valores em HEXA 11H 06H 01H 5EH 07H D5H Bytes em RTU NO H 0001 0001 0000 0110 0000 0001 0101 1110 0000 0111 1101 0101 0010 1000 1101 1011 NO H 8

Contedo em hexadecimal da mensagem response no modo RTU: 11H 06H 01H 5EH 07H D5H 28H 4.5 4.5.1 Escrita em Bloco de Registradores Funo 16 Descrio

DBH

Programa um bloco de registradores tipo holding (referenciado como 4XXXX) seqencialmente. Para acessos tipo broadcast, este mesmo bloco de registradores de todos os escravos da rede ser programado igualmente. 4.5.2 Comando enviado

A mensagem query especifica o bloco de registradores a ser programado. Lembrar que os registradores so endereados a partir do endereo 0, ou seja, registradores 1 a 99, so endereados como 0 a 98. No exemplo, programado no dispositivo 17 um bloco de registradores, a partir do registrador 40070 a 40072, com os seguintes dados, respectivamente: 350BH (13579 decimal), 6068H (24680 decimal) e FF98H (65432 decimal). O campo de dados deste comando define o endereo do registrador inicial do bloco, o nmero de registradores do bloco a serem programados, a quantidade de bytes que ser programada e os bytes propriamente ditos. Observe que as informaes relativas aos registradores so formatadas em 2 bytes sendo que o primeiro byte contm a parte mais significativa da informao. Nome do campo Identificador de incio Endereo do escravo Funo Modbus Endereo inicial (+) Endereo inicial (-) No. de registradores (+) No. de registradores (-) Campo Byte Count Dado do 1 registrador (+) Dado do 1 registrador (-) Dado do 2 registrador (+) Dado do 2 registrador (-) Valores em HEXA 11H 10H 00H 45H 00H 03H 06H 35H 0BH 60H 68H 15 Bytes em RTU NO H 0001 0001 0001 0000 0000 0000 0100 0101 0000 0000 0000 0011 0000 0110 0011 0101 0000 1011 0110 0000 0110 1000

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

Dado do 3 registrador (+) Dado do 3 registrador (-) Checksum caracter 1 Checksum caracter 2 Indicador de fim Total de bytes enviados

FFH 98H

1111 1111 1001 1000 1011 0101 0011 0110 NO H 15

Contedo em hexadecimal da mensagem query no modo RTU: 11H 10H 00H 45H 00H 03H 06H 35H 0BH 60H 4.5.3 Resposta ao comando

68H

FFH

98H

B5H

36H

Se o comando for realizado com sucesso, a mensagem de resposta retorna apenas o endereo do escravo, o cdigo da funo Modbus, o endereo inicial do bloco de registradores e a quantidade de registradores programados. Nome do campo Identificador de incio Endereo do escravo Funo Modbus Endereo inicial (+) Endereo inicial (-) No. de registradores (+) No. de registradores (-) Checksum caracter 1 Checksum caracter 2 Indicador de fim Total de bytes enviados Valores em HEXA 11H 10H 00H 45H 00H 03H Bytes em RTU NO H 0001 0001 0001 0000 0000 0000 0100 0101 0000 0000 0000 0011 1001 0011 0100 1101 NO H 8

Contedo em hexadecimal da mensagem response no modo RTU: 11H 10H 00H 45H 00H 03H 93H 5 Descrio Funcional

4DH

Este item descreve os procedimentos a serem seguidos na transmisso e recepo das mensagens bem como o comportamento dos terminais mestre e escravo. Neste item, toda a referncia feita a um terminal mestre identifica um CLP ou sistema supervisrio visto que os indicadores Alfa Instrumentos sempre so configurados como escravos em uma rede de comunicao. 5.1 Mestre Em uma rede de comunicao o mestre pode ter dois comportamentos distintos: Transmissor de mensagens para o escravo Receptor de mensagens enviadas pelo escravo 5.1.1 Transmissor

Como transmissor, o mestre envia uma mensagem ao(s) escravo(s) e dispara uma contagem mxima (time-out) de espera para confirmar se o escravo recebeu essa mensagem. Podem ocorrer as seguintes situaes em relao resposta esperada: Execuo com sucesso Time-out Funo invlida Registrador invlido 16

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

5.1.2

Valor de dado invlido Estado de espera Dispositivo ocupado

Receptor

Como receptor, o mestre analisa a mensagem respondida pelo escravo e podem ocorrer as seguintes situaes: Execuo com sucesso: o terminal escravo reconhece a mensagem enviada pelo mestre, executa o comando definido na mensagem e responde ao mestre os valores obtidos. O mestre finaliza o processo de recepo e um novo pedido de transmisso fica a cargo da aplicao que estiver sendo executada. Time-out: o terminal escravo no responde absolutamente nada ao mestre aps a ocorrncia de timeout. O time-out ocorre ou quando no existe o escravo endereado na mensagem transmitida pelo mestre, ou quando o checksum da mensagem no coincide com o valor do campo Checksum CRC (Modbus RTU), ou ainda quando h qualquer outro erro de comunicao. Nestes casos, geralmente o mestre executa uma seqncia de re-tries (novas tentativas), retransmitindo a mensagem enviada anteriormente. Este processo de retry se repete at que o escravo responda uma mensagem coerente, ou at que seja atingido o nmero mximo de re-tries programados pelo mestre. Neste ltimo caso, o mestre assume a ocorrncia de um erro de comunicao, finaliza o processo de recepo e a anlise do time-out fica a cargo da aplicao que estiver sendo executada. Funo invlida: o escravo endereado pelo mestre reconhece a mensagem, mas identifica que a funo Modbus solicitada pelo mestre no est implementada no terminal escravo. Neste caso, o mestre recebe uma mensagem de Exception do escravo. O mestre finaliza o processo de recepo e um novo pedido de transmisso fica a cargo da aplicao que estiver sendo executada. Registrador invlido: o escravo endereado pelo mestre reconhece a mensagem mas identifica que o(s) registrador(es) especificado(s) na mensagem transmitida pelo mestre no existe(m). Neste caso, o mestre recebe uma mensagem de Exception do escravo. O mestre finaliza o processo de recepo e um novo pedido de transmisso fica a cargo da aplicao que estiver sendo executada. Valor de dado invlido: o escravo endereado pelo mestre reconhece a mensagem, mas identifica que o valor de ou mais dados contidos no Campo de Dados da mensagem enviada so invlidos. Neste caso, o mestre recebe uma mensagem de Exception do escravo. O mestre finaliza o processo de recepo e um novo pedido de transmisso fica a cargo da aplicao que estiver sendo executada. Estado de espera: o escravo endereado pelo mestre reconhece a mensagem, mas o notifica de que a mesma ser processada num perodo de tempo maior que o normal. Neste caso, o mestre recebe uma mensagem de Exception do escravo. Este tipo de mensagem enviada ao mestre para evitar a ocorrncia de time-out. O mestre finaliza o processo de recepo e um novo pedido de transmisso fica a cargo da aplicao que estiver sendo executada, que pode atribuir ao mestre a tarefa de monitorar as atividades do escravo at que este realize o comando. Dispositivo ocupado: o escravo endereado pelo mestre reconhece a mensagem e o notifica de que a mesma no pode ser processada, pois o escravo est ocupado atendendo a outro comando. Neste caso, o mestre recebe uma mensagem de Exception do escravo. Este tipo de mensagem enviada ao mestre para evitar a ocorrncia de time-out. O mestre finaliza o processo de recepo e um novo pedido de transmisso fica a cargo da aplicao que estiver sendo executada, que pode atribuir ao mestre a tarefa de retransmitir a mensagem mais tarde, quando o escravo j tiver completado o comando em execuo.

A formao de todas as mensagens de Excpetion est descrita no item 3.7 deste documento.

17

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

5.2

Escravo Em uma rede de comunicao o escravo pode ter dois comportamentos distintos: Receptor das mensagens enviadas pelo mestre Transmissor de mensagens para o mestre quando for solicitado

5.2.1

Receptor Como receptor, o escravo analisa a mensagem enviada pelo mestre e podem ocorrer as seguintes situaes: Recepo com sucesso: o escravo valida o endereo definido no campo Endereo do Escravo e as demais informaes contidas nos outros campos da mensagem, executando o comando solicitado. Dados invlidos: uma mensagem considerada invlida quando o endereo definido no seu campo Endereo do Escravo no corresponder ao endereo do terminal escravo que estiver recebendo a mensagem, ou quando o checksum da mensagem no coincidir com o valor do campo Checksum CRC (Modbus RTU) ou ainda quando houver qualquer outro erro de comunicao. Funo invlida: o escravo endereado pelo mestre reconhece a mensagem, mas identifica que a funo Modbus solicitada pelo mestre no est implementada. Registrador invlido: o escravo endereado pelo mestre reconhece a mensagem, mas identifica que o(s) registrador(es) especificado(s) na mensagem transmitida no existe(m). Valor de dado invlido: o escravo endereado pelo mestre reconhece a mensagem, mas identifica que o valor de um ou mais dados contidos no Campo de Dados da mensagem enviada so invlidos. Estado de espera: o escravo endereado pelo mestre reconhece a mensagem, mas o notifica de que a mesma ser processada num perodo de tempo maior que o normal. Dispositivo ocupado: o escravo endereado pelo mestre reconhece a mensagem e o notifica de que a mesma no pode ser processada, pois o escravo est ocupado atendendo a outro comando.

5.2.2

Transmissor

Como transmissor, o escravo envia uma mensagem ao mestre contendo informaes relativas mensagem recebida e podem ocorrer as seguintes situaes: Recepo com sucesso: aps validar e executar o comando definido na mensagem, responde ao mestre com as informaes relativas ao comando executado. A formao deste tipo de mensagem est descrita no item 6.3 deste documento. Dados invlidos: nesse caso o escravo no responde nada ao mestre. Funo invlida: o escravo responde com uma mensagem de Exception. Registrador invlido: o escravo responde com uma mensagem de Exception. Valor de dado invlido: o escravo responde com uma mensagem de Exception. Estado de espera: o escravo responde com uma mensagem de Exception. Este tipo de mensagem enviada ao mestre para evitar a ocorrncia de time-out. Dispositivo ocupado: o escravo responde com uma mensagem de Exception. Este tipo de mensagem enviada ao mestre para evitar a ocorrncia de time-out. 18

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

A formao de todas as mensagens de Exception est descrita no item 3.7 deste documento. 5.2.3 Retry

Os indicadores Alfa Instrumentos esto preparados para atender a qualquer que seja o nmero de re-tries programado pelo mestre, que devem ocorrer num intervalo mnimo de 100 ms. 6 Comandos de Pesagem Os indicadores ALFA Instrumentos possuem a seguinte configurao de fbrica: - Padro Modbus RTU: 19200 bps, 1 START BIT, 8 DATA BITS, SEM paridade, 2 STOP BITS No estgio da aplicao, o protocolo se preocupa com o tratamento das informaes embutidas em uma mensagem enviada ou recebida pela rede de comunicao. Estas mensagens compem o Quadro de Comandos e Quadro de Respostas. Estes, por sua vez, so compostos pelos Comandos disponveis nos indicadores ALFA Instrumentos. O Indicador trata o valor de DWord 32bits da seguinte forma: MSWord0 correspondente aos 16bits mais significativos (valor mltiplo de 65536), mais LSWord1 correspondente aos 16bits menos significativos, ficando assim (MSWord0*65536) + LSWord1. Exemplo: Escrever 70000 no SetPoint1: escrever na MSWord0 = 1 e LSWord1 = 4464, o indicador ir tratar da seguinte forma: (1*65536) + 4464 = 70000. Leitura do Peso indicado no display 98765: leitura da MSWord0 = 1 e LSWord1 = 33229, o indicador ir tratar a informao da seguinte forma: (1*65536) + 33229 = 98765. 6.1 Quadro de Comandos

Toda mensagem enviada por um equipamento conectado a uma rede cujo contedo especifique a execuo de uma tarefa define um Quadro de Comandos. A tarefa requisitada pode ser o simples envio de dados do sistema, dados relativos a alarmes, alterao de parmetros internos, etc. Todo Quadro de Comandos composto pelo identificador de incio de mensagem, quando o protocolo assim o requerer, campo de endereo do escravo, funo Modbus a ser executada, dados relativos funo Modbus, quando necessrio, campo de checksum da mensagem e identificador de fim de mensagem, quando o protocolo assim o requerer. Todos os campos acima esto abordados detalhadamente nos itens 3. Protocolo Modbus e 4. Funes Modbus. O campo de dados relativo funo Modbus est descrito em detalhes no item 6.3. Comandos disponveis nos indicadores ALFA Instrumentos. 6.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 contm os dados relativos tarefa solicitada pelo mestre, ou o status atual do escravo, indicando ao mestre o porqu de ainda no estar apto a retornar os dados relativos tarefa solicitada. Todo Quadro de Respostas composto pelo identificador de incio de mensagem, quando o protocolo assim o requerer, campo de endereo do escravo, funo Modbus que foi executada, dados relativos funo Modbus executada (quando necessrios), campo de checksum da mensagem e identificador de fim de mensagem, quando o protocolo assim o requerer. Todos os campos acima esto abordados detalhadamente nos itens 3. Protocolo Modbus e 4. Funes Modbus. O campo de dados relativos funo Modbus est descrito em detalhes no item 6.3. Comandos disponveis nos indicadores ALFA Instrumentos.

19

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

6.3

Comandos disponveis nos indicadores ALFA Instrumentos

Na descrio destes comandos, sero analisados apenas os dados do campo Dados para o Indicador. Os valores dos campos Incio e Fim de framing foram definidos no item 3, de acordo com o modo de transmisso RTU. O campo Endereo do Indicador pode assumir qualquer valor de 0 a 255 e tambm ser definido de acordo com o modo de transmisso (item 3). O mesmo acontecendo com o campo Checksum, que no padro CRC (item 3). O campo Funo Modbus (item 4) conter o comando que identifica o tipo de acesso que estar sendo feito ao indicador. Incio de framing End. Indicador Funo Modbus Dados para o Indicador Checksum Fim de framing

O campo Dados para o Indicador dever ser gerado de acordo com o modo de transmisso RTU (item 4) alm de obedecer aos padres do Modbus, ou seja, 2 bytes (modo RTU) para valores que identifiquem o nmero de registradores e valores lidos ou programados nos registradores. Na descrio dos comandos do protocolo Modbus a seguir, o contedo do campo Dados para o Indicador analisado do ponto de vista do indicador. 6.3.1 Inicializao do indicador Programa o indicador para o estado de indicao de pesos. Quadro de Comandos Funo Modbus No. do registrador Valor programado 6.3.2 Quadro de Respostas No. do registrador 21 Valor programado 00

06 21 00

Programao Simultnea dos SetPoints

Programa os nveis de corte (SetPoints) do indicador juntamente com o valor da configurao VAZIA. Todos os valores devem ser passados, independentemente de quais nveis sejam alterados. Quadro de Comandos 16 31 09 18 bits 15 a 11 = Reservados bit 10 e 9 = chave seletora de SetPoints 01 = HI - SP 4,5,6,7 | 10 = LO - SP 0,1,2,3 bit 8 e 7 = Reservados bit 6 = 0 no gravar | 1 gravar bits 5 a 0 = Nmero de SetPoints) DWord SetPoint1 / 4 MSWord0 (Reg.32) LSWord1 (Reg.33) DWord SetPoint2 / 5 MSWord0 (Reg.34) LSWord1 (Reg.35) DWord SetPoint3 / 6 MSWord0 (Reg.36) LSWord1 (Reg.37) DWord SetPoint VAZIA / 7 MSWord0 (Reg.38) LSWord1 (Reg.39) Quadro de Respostas Registrador inicial 31 Total de registradores 09

Funo Modbus Registrador inicial Total de registradores bytes programados

Registrador 31

Registradores 32 / 33 Registradores 34 / 35 Registradores 36 / 37 Registradores 38 / 39

20

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

6.3.3

Verificao da Programao do nvel dos SetPoints L os nveis de corte (SetPoints) do indicador juntamente com o valor da configurao VAZIA.

Quadro de Comandos Funo Modbus 03 Registrador inicial 41 Total de registradores 09

bytes lidos Registrador 41 Registradores 42 / 43 Registradores 44 / 45 Registradores 46 / 47 Registradores 48 / 49

Quadro de Respostas 18 bits 15 a 8 = Reservados bit 7 = 0 - LO SP 0,1,2,30 | 1 - HI SP 4,5,6,7 bit 6 = Reservado bits 5 a 0 = Nmero de SetPoints DWord SetPoint1 / 4 MSWord0 (Reg.42) LSWord1 (Reg.43) DWord SetPoint2 / 5 MSWord0 (Reg.44) LSWord1 (Reg.45) DWord SetPoint3 / 6 MSWord0 (Reg.46) LSWord1 (Reg.47) DWord SetPoint VAZIA / 7 MSWord0 (Reg.48) LSWord1 (Reg.49)

6.3.4

Programao da Configurao dos SetPoints Quadro de Comandos Quadro de Respostas Registrador inicial 51 Total de registradores 06

Funo Modbus Registrador inicial Total de registradores bytes programados Registrador 51

Registrador 52

Registrador 53

Registrador 54

Registrador 55

Registrador 56

16 51 06 12 bits 15 a 7 = Reservado bits 6 a 0 = valor da histerese em porcentagem, variando de 1 e 99 bits 15 a 1 = Reservado bit 0 = lgica do rel: 0 normalmente aberto| 1 normalmente fechado bits 15 a 7 = Reservado bit 6 = 0 no gravar | 1 gravar bits 5 a 0 = 3 em binrio: NVEIS VAZIA, 1, 2, 3 | 4 em binrio: NVEIS 0, 1, 2, 3 bits 15 a 2 = Reservado bit 0 = SP1 0 - no trava | 1 trava bit 1 = SP4 0 - no trava | 1 trava bits 15 a 2 = Reservado bit 0 = SP2 0 - no trava | 1 trava bit 1 = SP5 0 - no trava | 1 trava bits 15 a 3 = Reservado bit 0 = SP3 0 - no trava | 1 trava bit 1 = SP6 0 - no trava | 1 trava bit 2 = SP7 0 - no trava | 1 trava

21

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

6.3.5

Verificao da Configurao dos SetPoints bytes lidos Registrador 61 Quadro de Respostas 12 bits 15 a 7 = Reservado bits 6 a 0 = valor da histerese em porcentagem, variando de 1 e 99 bits 15 a 1 = Reservado bit 0 = lgica do rel: 0 normalmente aberto| 1 normalmente fechado bits 15 a 6 = Reservado bits 5 a 0 = 3 em binrio: NVEIS VAZIA, 1, 2, 3 | 4 em binrio: NVEIS 0, 1, 2, 3 bits 15 a 2 = Reservado bit 0 = SP1 0 - no trava | 1 trava bit 1 = SP4 0 - no trava | 1 trava bits 15 a 2 = Reservado bit 0 = SP2 0 - no trava | 1 trava bit 1 = SP5 0 - no trava | 1 trava bits 15 a 1 = Reservado bit 0 = SP3 0 - no trava | 1 trava bit 1 = SP6 0 - no trava | 1 trava bit 2 = SP7 0 - no trava | 1 trava

Quadro de Comandos Funo Modbus 03 Registrador inicial 61 Total de registradores 06

Registrador 62

Registrador 63

Registrador 64

Registrador 65

Registrador 66

6.3.6

Programao do Endereo do Indicador

Define novo endereo do indicador na rede. Quadro de Comandos Funo Modbus 06 Registrador 71 Valor programado novo endereo do indicador, entre 0 e 99 Quadro de Respostas Registrador 71 Valor programado novo endereo do indicador, entre 0 e 99

22

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

6.3.7

Leitura do Peso e Status do Indicador Quadro de Respostas bytes lidos 12 bits 15 a 7 = Reservados bit 6 = 1 ocorreu sobrecarga bit 5 = 1 ocorreu saturao bit 4 = 1 balana est em movimento bit 3 = 1 o peso aplicado balana negativo bits 2 a 0 = posio do ponto decimal, em binrio bits 15 a 12 = Reservados Ocorreu passagem pelo Setpoint: bit 11 = SP7 | bit 10 = SP6 | bit 9 = SP5 | bit 8 = SP4 bit 7 = Reservado bit 6 = 1 ocorreu alterao local de parmetros bit 5 = 1 peso BRUTO bit 4 = 1 sistema operando com ZERO FIXO Ocorreu passagem pelo Setpoint: bit 3 = SP0 | bit 2 = SP3 | bit 1 = SP2 | bit 0 = SP1 DWord PESO MSWord0 (Reg.83) LSWord1 (Reg.84) DWord TARA MSWord0 (Reg.85) LSWord1 (Reg.86)

Quadro de Comandos Funo Modbus 03 Registrador inicial 81 Total de registradores 06

Registrador 81

Registrador 82

Registradores 83 / 84 Registradores 85 / 86

Exemplo de um Quadro de Comandos enviado pelo mestre (valores em decimal): Modbus RTU 6.3.8 indicador com endereo #1 1 3 0 80 0 6 197 217

Acionamento Remoto das teclas de funo do indicador Acionamento remoto das funes do indicador.

Funo Modbus Registrador

Quadro de Comandos 06 91 bits 15 a 7 = Reservado bit 6 = 1 ACUMULA bit 5 = 1 IMPRIME bit 4 = 1 aciona DESTRAVA Valor programado bit 3 = 1 aciona DESTARA bit 2 = 1 Zerar Total Acumulado bit 1 = 1 aciona TARA bit 0 = 1 aciona ZERO

Quadro de Respostas No. do registrador 91 Valor programado Idntico ao enviado

Exemplo de um Quadro de Comandos enviado pelo mestre (valores em decimal): indicador com endereo #1 TARA DESTARA ZERO ACUMULA 1 1 1 1 6 6 6 6 0 0 0 0 90 90 90 90 0 0 0 0 2 8 1 64 40 168 104 168 24 31 25 41

23

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

6.3.9

Programao da faixa de pesos da Sada Analgica Programa a faixa de atuao da sada 0/20mA ou 4/20mA e referncia de peso: bruto ou lquido.

Quadro de Comandos Funo Modbus 16 Registrador inicial 101 Total de registradores 05 bytes programados 10 bits 15 a 11 = Reservados bit 10 = HI config. A1 | A2 bit 9 = LO config. P1 | P2 Registrador 101 bit 8 = Reservado bits 7 a 0 = referncia: 42H peso bruto | 4CH peso lquido Registradores DWord Valor de P1 / A1 102 / 103 MSWord0 (Reg.102) LSWord1 (Reg.103) Registradores DWord Valor de P2 / A2 104 / 105 MSWord0 (Reg.104) LSWord1 (Reg.105) 6.3.10 Verificao da faixa de pesos da Sada Analgica

Quadro de Respostas Registrador inicial 101 Total de registradores 05

Leitura da faixa de atuao da sada 0/20mA ou 4/20mA e respectiva referncia de peso. Quadro de Comandos Funo Modbus 03 Registrador inicial 111 Total de registradores 05 Quadro de Respostas 10 bits 15 a 8 = Reservado bits 7 a 0 = referncia: 42H peso bruto | 4CH peso lquido DWord Valor de P1 | A1 MSWord0 (Reg.112) LSWord1 (Reg.113) DWord Valor de P2 | A2 MSWord0 (Reg.114) LSWord1 (Reg.115)

bytes lidos Registrador 111 Registradores 112 / 113 Registradores 114 / 115

6.3.11 Leitura dos dados de Acumulao Disponvel apenas nos indicadores que possuem funo de acumulao de peso. Quadro de Comandos Funo Modbus 03 Registrador inicial 141 Total de registradores 07 Quadro de Respostas 14 bits 15 a 3 = Reservado bits 2 a 0 = posio da casa decimal DWord Total Acumulado MSWord0 (Reg.142) LSWord1 (Reg.143) DWord Total de Acumulaes MSWord0 (Reg.144) LSWord1 (Reg.145) DWord Mdia dos Pesos Acumulados MSWord0 (Reg.146) LSWord1 (Reg.147)

bytes lidos Registrador 141 Registradores 142 / 143 Registradores 144 / 145 Registradores 146 / 147

24

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

6.3.12 Programao do Relgio-Calendrio Quadro de Comandos Funo Modbus 16 Registrador inicial 161 Total de registradores 06 bytes programados 12 Registrador 161 DIA Registrador 162 MS Registrador 163 ANO (2 ltimos dgitos) Registrador 164 HORA (formato 00..24 HS) Registrador 165 MINUTOS Registrador 166 SEGUNDOS 6.3.13 Leitura do Relgio-Calendrio Quadro de Comandos Funo Modbus 03 Registrador inicial 171 Total de registradores 07 Quadro de Respostas 14 DIA MS ANO (2 ltimos dgitos) HORA (formato 00..24 HS) MINUTOS SEGUNDOS DIA DA SEMANA: 1 = SEG ... 7 = DOM Quadro de Respostas Registrador inicial 161 Total de registradores 06

No. de bytes lidos Registrador 171 Registrador 172 Registrador 173 Registrador 174 Registrador 175 Registrador 176 Registrador 177

6.3.14 Captura do PESO ALVO para aplicao SOBRA-FALTA Quadro de Comandos Funo Modbus 03 Registrador inicial 181 Total de registradores 02 Quadro de Respostas 04 Reservado

bytes lidos Registradores 181 / 182

6.3.15 Programao do parmetro Zero Quadro de Comandos 06 231 bits 15 a 9 = Reservado bit 8 = 1 habilita ZERO Inicial Valor programado bits 7 a 3 = Reservado bits 2 a 0 modo de atuao do ZERO: Quadro de Respostas No. do registrador 231 Valor programado Idntico ao valor enviado 0 = desabilitada 1 = automtico 2 = manual 3 = manual e automtico

Funo Modbus No. do registrador

25

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

6.3.16 Programao do parmetro Tara Acionamento remoto das funes do indicador. Quadro de Comandos 06 251 0 = no sucessiva 10 = no sucessiva e memorizada 20 = Sucessiva 30 = Sucessiva e memorizado 40 = Editvel Quadro de Respostas No. do registrador 251 Valor programado Idntico ao enviado 50 = Editvel e memorizado 60 = desabilitada 70 = Automtico e memorizado 80 = Automtico

Funo Modbus No. do registrador

Valor programado

6.3.17 Programao do Filtro Digital Quadro de Comandos 06 271 bits 15 a 4 = Reservado bits 3 a 0 tipo do filtro digital: 0 = R1 1 = R2 2 = R3 3 = P1 5 = P3 6 = P4 7 = G1 8 = G2 Quadro de Respostas No. do registrador 271 Valor programado Idntico ao enviado

Funo Modbus No. do registrador Valor programado

4 = P2 9 = LN

6.3.18 Programao do valor da TARA Editvel Quadro de Comandos 16 851 2 4 DWord Tara Editvel MSWord0 (Reg.851) LSWord1 (Reg.852) Quadro de Respostas Registrador inicial 851 Total de registradores 02

Funo Modbus Registrador inicial Total de registradores bytes programados Registradores 851 / 852

6.3.19 Verificao dos parmetros de calibrao Quadro de Comandos Funo Modbus 03 Registrador inicial 811 Total de registradores 09

26

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

Quadro de Respostas bytes lidos Registrador 811 Registrador 812 Registradores 813 / 814 Registradores 815 / 816 Registrador 817 18 bits 15 a 3 = Reservado bits 2 a 0 = nmero de CASAS DECIMAIS bits 15 a 3 = Reservado bits 2 a 0 = valor do DEGRAU: 1, 2, ou 5 DWord Peso de Calibrao (PECAL) MSWord0 (Reg.813) LSWord1 (Reg.814) DWord Capacidade Mxima (CAPAC) MSWord0 (Reg.815) LSWord1 (Reg.816) 0 = ZERO manual e automtico desabilitados 2 = ZERO manual habilitado 1 = ZERO automtico habilitado 3 = ZERO manual e automtico habilitados 0, 1, 2 = respostas rpidas em plataformas com capacidade inferior a 120 kg 3, 4, 5, 6 = repostas rpidas em plataformas com capacidade superior a 120 kg 7, 8 = para aplicaes com cargas mveis 9 = para aplicaes com alto grau de vibrao 0 = TARA no sucessiva 4 = TARA editvel 1 = TARA no sucessiva memorizada 5 = TARA editvel e memorizada 2 = TARA sucessiva 6 = TARA Desabilitada 3 = TARA sucessiva e memorizada 7 = TARA Automtica e memorizada 8 = TARA Automtica

Registrador 818

Registrador 819

6.3.20 Leitura do Peso e Status do Indicador 3105 Quadro de Comandos Funo Modbus 03 Registrador inicial 81 Total de registradores 06 bytes lidos Quadro de Respostas 18 bits 15 a 8 = Reservados bit 7 = 1 modo setup bit 6 = 1 operao em compresso Registrador 81 bit 5 = 1 operao em trao bit 4 = 1 sobrecarga ou saturao bit 3 = 1 o peso aplicado balana negativo bits 2 a 0 = posio do ponto decimal, em binrio bits 15 a 12 = Reservados Ocorreu passagem pelo Setpoint: bit 11 = SP7 | bit 10 = SP6 | bit 9 = SP5 | bit 8 = SP4 bit 7 = Reservado Registrador 82 bit 6 = 1 ocorreu alterao local de parmetros bit 5 = 1 peso BRUTO bit 4 = 1 sistema operando com ZERO FIXO Ocorreu passagem pelo Setpoint: bit 3 = SP0 | bit 2 = SP3 | bit 1 = SP2 | bit 0 = SP1 Registradores DWord PESO 83 / 84 MSWord0 (Reg.83) LSWord1 (Reg.84) Registradores DWord Compresso/Trao 85 / 86 MSWord0 (Reg.85) LSWord1 (Reg.86)

Exemplo de um Quadro de Comandos enviado pelo mestre (valores em decimal): Modbus RTU indicador com endereo #1 1 3 0 80 0 6

27

Comandos para Indicadores de Pesagem no Protocolo Modbus-RTU

ALFA INSTRUMENTOS ELETRNICOS LTDA R. Cel. Mrio de Azevedo, 138 CEP: 02710-020 - So Paulo - SP F: (0xx11) 3952-2299 - Fax: (0xx11) 3961-4266 SAC: 0800-772-2910 vendas@alfainstrumentos.com.br http://www.alfainstrumentos.com.br

28