Você está na página 1de 31

Soft-Starter SSW-07/SSW-08

Manual da Comunicao
Serial
04/2011

Srie: SSW-07/SSW-08
Idioma: Portugus
Documento: 0899.5802 / 03

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL

Sumrio
CUIDADO ......................................................................................................................................................................... 3
AVISO ............................................................................................................................................................................... 3
DEFINIES ................................................................................................................................................................... 3
TERMOS UTILIZADOS ....................................................................................................................................................... 3
REPRESENTAO NUMRICA ........................................................................................................................................... 3
1.

INTRODUO......................................................................................................................................................... 4

2.

PARAMETRIZAO DA SOFT-STARTER SSW-07/SSW-08.......................................................................... 5


2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.

3.

P308 ENDEREO DA SOFT-STARTER SSW-07/SSW-08 NA REDE ..................................................................... 5


P312 TIPO DE PROTOCOLO SERIAL E TAXA DE COMUNICAO .......................................................................... 5
P313 AO PARA ERRO DE COMUNICAO ...................................................................................................... 6
P314 TEMPO PARA TIMEOUT NA RECEPO DE TELEGRAMAS ........................................................................... 6
P220 SELEO FONTE LOCAL/REMOTO ............................................................................................................. 7
P229 SELEO DE COMANDOS SITUAO LOCAL ........................................................................................... 8
P230 SELEO DE COMANDOS SITUAO REMOTO ........................................................................................ 8

DESCRIO DAS INTERFACES......................................................................................................................... 9


3.1. RS-232 ................................................................................................................................................................ 9
3.2. RS-485 ................................................................................................................................................................ 9
3.2.1.
Utilizao do Kit RS-485 para SSW-07/SSW-08....................................................................................... 10

4.

DADOS ACESSVEIS VIA COMUNICAO SERIAL ................................................................................... 11


4.1. PARMETROS DA SOFT-STARTER SSW-07/SSW-08 ......................................................................................... 11
4.2. VARIVEIS BSICAS DISPONVEIS PARA A SOFT-STARTER SSW-07/SSW-08.................................................... 11
4.2.1.
Varivel bsica 1 ...................................................................................................................................... 12
4.2.2.
Varivel bsica 3 ...................................................................................................................................... 13
4.2.3.
Varivel bsica 8 ...................................................................................................................................... 14
4.3. ALTERAO DE PARMETROS E VARIVEIS BSICAS ........................................................................................ 14

5.

PROTOCOLO MODBUS-RTU ............................................................................................................................ 15


5.1. MODOS DE TRANSMISSO .................................................................................................................................. 15
5.2. ESTRUTURA DAS MENSAGENS NO MODO RTU ................................................................................................... 15
5.2.1.
Endereo ................................................................................................................................................... 16
5.2.2.
Cdigo da funo...................................................................................................................................... 16
5.2.3.
Campo de dados........................................................................................................................................ 16
5.2.4.
CRC .......................................................................................................................................................... 16
5.2.5.
Tempo entre mensagens............................................................................................................................ 16
5.3. OPERAO DA SOFT-STARTER SSW-07/SSW-08 NA REDE MODBUS-RTU....................................................... 17
5.3.1.
Funes disponveis e tempos de resposta................................................................................................ 18
5.3.2.
Endereamento dos dados e offset ............................................................................................................ 18
5.4. DESCRIO DETALHADA DAS FUNES ............................................................................................................. 20
5.4.1.
Funo 01 Read Coils............................................................................................................................ 20
5.4.2.
Funo 03 Read Holding Register......................................................................................................... 21
5.4.3.
Funo 05 Write Single Coil.................................................................................................................. 22
5.4.4.
Funo 06 Write Single Register ........................................................................................................... 23
5.4.5.
Funo 15 Write Multiple Coils............................................................................................................. 24
5.4.6.
Funo 16 Write Multiple Registers ...................................................................................................... 25
5.4.7.
Funo 43 Read Device Identification................................................................................................... 26
5.4.8.
Erros de comunicao .............................................................................................................................. 28

APNDICES ................................................................................................................................................................... 30
APNDICE A APNDICE B -

CLCULO DO CRC UTILIZANDO TABELAS ......................................................................................... 30


CLCULO DO CRC UTILIZANDO DESLOCAMENTO DE REGISTRADORES .............................................. 31

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL

Cuidado

Ler o manual da Soft-Starter SSW-07/SSW-08 na ntegra, antes de instalar ou operar


o mesmo.

Seguir atentamente os cuidados e avisos de segurana contidos nele.

Quando houver possibilidade de danos a pessoas ou equipamentos relacionados a


motores acionados por Soft-Starters SSW-07/SSW-08, prever dispositivos de
segurana eletromecnicos.

Aviso

Seguir atentamente os cuidados definidos neste manual, no que diz respeito aos
cabos de interconexo das duas interfaces para comunicao serial.

Equipamento com componentes sensveis eletricidade esttica. Os cartes


eletrnicos devem ser manuseados com os seguintes cuidados:
- No tocar com as mos diretamente sobre componentes ou ligaes (conectores).
Quando necessrio tocar antes em um objeto metlico aterrado.

Definies
Termos utilizados

Parmetros: so aqueles existentes nas Soft-Starters SSW-07/SSW-08 cuja


visualizao ou alterao possvel atravs da interface homem-mquina (IHM).
Variveis bsicas: valores internos da Soft-Starter SSW-07/SSW-08 que somente
podem ser acessados atravs da serial, utilizados para monitorao dos estados,
comandos e identificao do equipamento.
Registradores: so endereos de memria interna da Soft-Starter. Podem ser usados
para representar tanto variveis bsicas quanto parmetros.
EEPROM: a memria no voltil que permite com que a Soft-Starter
SSW-07/SSW-08 mantenha os valores dos parmetros mesmo aps desligar o
equipamento.

Representao numrica

Nmeros decimais so representados atravs de dgitos sem sufixo.


Nmeros hexadecimais so representados com a letra h depois do nmero.

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL

1. Introduo
O objetivo bsico da comunicao serial a ligao fsica entre dois ou mais
equipamentos em uma rede configurada da seguinte forma:
MESTRE
PC, CLP, etc.

ESCRAVO 1
(Soft-Starter 1)

ESCRAVO 2
(Soft-Starter 2)

...

ESCRAVO N
(Soft-Starter N)

Utilizando esta interface, o mestre da rede pode solicitar diversos servios para
cada escravo conectado na rede, tais como:

IDENTIFICAO:
- Tipo de equipamento (inversor de freqncia, servoconversor, soft-starter)
- Monitorao dos estados
- Leitura de erros

PARAMETRIZAO
- Leitura dos parmetros (corrente, tenso, etc.)
- Escrita de parmetros para configurao do equipamento

COMANDOS
- Habilita / Desabilita
- Desabilita geral
- Reset de erros

A Soft-Starter SSW-07/SSW-08 utiliza o protocolo Modbus-RTU para comunicao


atravs da sua interface serial. Este protocolo permite a integrao da Soft-Starter
SSW-07/SSW-08 em diferentes sistemas, uma vez que possibilita sua conexo a vrios
equipamentos, tais como:

PC (mestre) para parametrizao de uma ou vrias Soft-Starters SSW-07/SSW-08


simultaneamente.
SDCD monitorando variveis e parmetros da Soft-Starter SSW-07/SSW-08.
CLP controlando a operao do equipamento em um processo industrial.

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL

2. Parametrizao da Soft-Starter SSW-07/SSW-08


A seguir sero descritos os parmetros relacionados com a comunicao serial e
operao via protocolo Modbus-RTU da Soft-Starter SSW-07/SSW-08.

2.1. P308 Endereo da Soft-Starter SSW-07/SSW-08 na rede


Cada escravo da rede deve possuir um endereo diferente dos demais, para que o
mestre possa enviar o telegrama desejado para um escravo especfico da rede. Este
parmetro permite programar qual o endereo da Soft-Starter SSW-07/SSW-08 na rede.
Faixa de valores

Valor padro
1

1 ... 247

Acesso
Leitura/ escrita

Sendo necessria a colocao de um repetidor no caso de se utilizarem mais que


30 equipamentos em uma mesma rede de comunicao.

2.2. P312 Tipo de protocolo serial e taxa de comunicao


A Soft-Starter SSW-07/SSW-08 possui uma das seguintes opes para a
comunicao atravs da interface serial do produto:
Faixa de valores
1 = Modbus-RTU, 9600 bit/s, sem paridade
2 = Modbus-RTU, 9600 bit/s, paridade mpar
3 = Modbus-RTU, 9600 bit/s, paridade par
4 = Modbus-RTU, 19200 bit/s, sem paridade
5 = Modbus-RTU, 19200 bit/s, paridade mpar
6 = Modbus-RTU, 19200 bit/s, paridade par
7 = Modbus-RTU, 38400 bit/s, sem paridade
8 = Modbus-RTU, 38400 bit/s, paridade mpar
9 = Modbus-RTU, 38400 bit/s, paridade par

Valor padro
1

Acesso
Leitura/ escrita

necessrio que todos os equipamentos que operam na mesma rede possuam a


mesma configurao de comunicao.

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL

2.3. P313 Ao para erro de comunicao


Este parmetro permite programar uma ao que o drive deve tomar em caso de
ocorrncia de erro de comunicao.
Faixa de valores
0 = Sem ao
1 = Desabilita
2 = Desabilita geral
3 = Vai para local

Padro
Acesso
1
Leitura/ escrita

0 Sem ao: caso ocorra um dos erros citados, a SSW-07/SSW-08 permanece no


estado atual e apenas indica o erro ocorrido.
1 Desabilita: a SSW-07/SSW-08 ser desabilitada via rampa de tenso em caso de
erro de comunicao.
2 Desabilita geral: nesta opo a chave de partida corta a alimentao para o
motor, e este dever parar por inrcia.
3 Vai para local: caso a chave esteja operando no modo remoto e ocorra um erro de
comunicao, ela ir automaticamente para o modo local.

Para a interface serial, apenas o erro de timeout na recepo de telegramas (E28 Comunicao Serial Inativa) considerado como erro na comunicao. O timeout na
recepo de telegramas programado atravs do parmetro P314.
O erro E28 indicado atravs de piscadas no LED Error do mdulo de
comunicao.
NOTA!
Os comandos de desabilitao e mudana para o modo local somente podero ser
executados se os mesmos forem controlados via serial. Esta programao feita atravs
dos parmetros P220, P229 e P230.

2.4. P314 Tempo para timeout na recepo de telegramas


Permite programar o tempo para deteco de timeout na recepo de telegramas.
O valor 0 (zero) desabilita esta funo.
Caso o drive seja controlado via serial e ocorra um problema na comunicao com
o mestre (rompimento do cabo, queda de energia, etc.), no ser possvel enviar um
comando via serial para a desabilitao do equipamento. Nas aplicaes onde isto
representa um problema, possvel programar no P314 um intervalo mximo dentro do
qual a SSW-07/SSW-08 deve receber um telegrama serial vlido, caso contrrio ela ir
considerar que houve falha na comunicao serial.

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
Faixa de valores
0 = Funo desabilitada
0 ... 999 segundos

Valor padro
0

Acesso
Leitura/ escrita

Uma vez programado este tempo, caso ele fique um tempo maior do que o
programado sem receber telegramas seriais vlidos, ele indicar E28 e tomar a ao
programada no P313. Caso a comunicao seja restabelecida, a indicao de E28 ser
retirada.
NOTA!
Quando esta funo estiver habilitada, necessrio garantir que o mestre da rede
envie telegramas peridicos para o escravo, respeitando o tempo programado, para
que no ocorra erro de timeout na comunicao.
A ocorrncia de E28 tambm ir zerar o valor da varivel bsica 8 (ver item 4.2).

2.5. P220 Seleo fonte local/remoto


Permite programar a fonte de comando que controla os modos local/remoto do
equipamento.
Faixa de valores

Valor padro
3

0 = Sempre local
1 = Sempre remoto
2 = HMI (padro local)
3 = HMI (padro remoto)
4 = DI1...DI3
5 = Serial (padro local)
6 = Serial (padro remoto)
7 = Fieldbus (padro local)
8 = Fieldbus (padro remoto)

Acesso
Leitura/ escrita

Caso se deseja controlar o modo de operao via serial, deve-se programar este
parmetro com o valor 5 ou 6. A indicao de "padro local" ou "padro remoto" informa
qual o modo de operao que deve ser ativado aps a inicializao do equipamento.

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL

2.6. P229 Seleo de comandos situao local


Permite programar qual a fonte dos comandos da Soft-Starter SSW-07/SSW-08
quando esta estiver no modo local.
Faixa de valores
0 = Teclado da HMI
1 = DI
2 = Serial
3 = Fieldbus

Valor padro
0

Acesso
Leitura/ escrita

Caso deseje-se controlar os comandos via serial no modo local, deve-se programar
este parmetro em 2.

2.7. P230 Seleo de comandos situao remoto


Permite programar qual a fonte dos comandos da Soft-Starter SSW-07/SSW-08
quando esta estiver no modo remoto.
Faixa de valores
0 = Teclado da HMI
1 = DI
2 = Serial
3 = Fieldbus

Valor padro
1

Acesso
Leitura/ escrita

Caso deseje-se controlar os comandos via serial no modo remoto, deve-se


programar este parmetro em 2.

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL

3. Descrio das Interfaces


3.1. RS-232
Para usar a RS-232 na Soft-Starter SSW-07/SSW-08 nessrio o uso do Kit
Modbus RTU RS-232.
Maiores detalhes ver o Guia de instalao do Kit Modbus RTU RS-232.

Esta interface possibilita a ligao de um mestre a uma Soft-Starter


SSW-07/SSW-08 (ponto a ponto) em uma distncia de at 10m. Para comunicao com o
mestre, deve-se utilizar um fio para transmisso (TX), um para recepo (RX) e uma
referncia (terra).

3.2. RS-485
Para usar a RS-485 na Soft-Starter SSW-07/SSW-08 necessrio o uso do Kit
Modbus RTU RS-485.
Maiores detalhes ver o Guia de instalao do Kit Modbus RTU RS-485.

Utilizando a interface RS-485, o mestre pode controlar diversos drives conectados


em um mesmo barramento. O protocolo Modbus-RTU permite a conexo de at 247
escravos (1 por endereo), desde que utilizados tambm repetidores de sinal ao longo do
9

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
barramento. Esta interface possui uma boa imunidade a rudo, e o comprimento mximo
permitido do cabo de 1000 metros.
3.2.1. Utilizao do Kit RS-485 para SSW-07/SSW-08
O kit RS-485 para Soft-Starter SSW-07/SSW-08 composto basicamente por um
mdulo de interface e instrues para realizar a instalao no produto.
As seguintes recomendaes devem ser observadas durante a instalao da rede
utilizando esta interface:
Geralmente utiliza-se um par de fios tranados com blindagem para a transmisso dos
sinais A e B. Estes sinais devem ser conectados nos bornes A e B.
O borne COM utilizado para a conexo do sinal de referncia para o circuito RS-485.
Caso este sinal no seja utilizado, pode-se desconsiderar esta conexo.
muito importante aterrar corretamente todos os dispositivos conectados na rede RS485, preferencialmente no mesmo ponto de terra. A blindagem do cabo tambm deve
ser aterrada. Isto pode ser feito no conector XC42 na conexo terra. Caso a blindagem
seja aterrada em outro ponto a blindagem deve ser conectada no conector COM.
A passagem do cabo de rede deve ser feita separadamente, se possvel, distante dos
cabos para alimentao de potncia.
necessrio disponibilizar resistores de terminao no primeiro e no ltimo dispositivo
conectado no barramento principal. O mdulo de interface para RS-485 j possui
chaves para habilitao deste resistor. Basta colocar ambas as chaves para a posio
'on'.

10

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL

4. Dados acessveis via comunicao serial


Diversos dados podem ser acessados via interface serial na Soft-Starter
SSW-07/SSW-08, para possibilitar sua parametrizao, comando e monitorao.
Basicamente, estes dados podem ser divididos em dois grupos: parmetros e variveis
bsicas.

4.1. Parmetros da Soft-Starter SSW-07/SSW-08


Os parmetros so aqueles disponveis atravs da IHM da Soft-Starter
SSW-07/SSW-08. Praticamente todos os parmetros do drive podem ser acessados via
serial, e a atravs destes parmetros possvel configurar a forma como o equipamento
ir operar, bem como monitorar informaes relevantes para a aplicao, como corrente,
erros, etc..
Deve-se consultar o manual de programao da Soft-Starter SSW-07/SSW-08 para
a lista completa dos parmetros.

4.2. Variveis bsicas disponveis para a Soft-Starter SSW-07/SSW-08


As variveis bsicas so valores internos da Soft-Starter SSW-07/SSW-08
acessveis somente atravs da interface serial do produto. Utilizando estas variveis,
possvel monitorar os estados da Soft-Starter bem como enviar comandos de habilitao,
reset, etc..
Cada varivel bsica representa um registrador (16 bits). Para a Soft-Starter
SSW-07/SSW-08 foram disponibilizadas as seguintes variveis bsicas:

11

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
4.2.1. Varivel bsica 1

Varivel: VB01 estado da Soft-Starter SSW-07/SSW-08


Acesso: somente leitura
Descrio: indica o estado da Soft-Starter SSW-07/SSW-08. Cada bit desta palavra
fornece uma indicao diferente:

Bit
Bit 0
Bit 1
Bit 2
Bit 3
Bit 4
Bit 5
Bit 6
Bit 7
Bit 8
Bit 9
Bit 10
Bit 11
Bit 12
Bit 13
Bit 14
Bit 15
(1)

Descrio
0 = motor parado.
1 = motor girando.
0 = quando desabilitada geral por qualquer um dos meios.
1 = quando est habilitada geral por todos os meios.
0 = sem Jog. (1)
1 = com Jog.
0 = no est acelerando.
1 = durante toda a acelerao.
0 = no est em limitao de corrente.
1 = limitao de corrente.
0 = sem tenso plena sobre o motor.
1 = com tenso plena sobre o motor.
Reservado
0 = no est desacelerando.
1 = durante toda a desacelerao.
0 = local.
1 = remoto.
0 = no est em frenagem CC. (1)
1 = durante a frenagem CC.
0 = no est invertendo sentido de giro. (1)
1 = durante o processo de troca do sentido de giro.
0 = horrio. (1)
1 = anti-horrio.
0 = com bypass aberto.
1 = com bypass fechado.
Reservado
0 = sem alimentao da potncia.
1 = com alimentao da potncia.
0 = sem erro.
1 = com erro.

Funo disponvel a partir da Verso de Software 1.4x

12

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
4.2.2. Varivel bsica 3

Varivel: VB03 comando lgico.


Acesso: leitura e escrita
Descrio: permite comandar a Soft-Starter SSW-07/SSW-08 via serial.

Esta palavra possui 16 bits, onde somente os oito primeiro bits possuem funo. Cada bit
possui o valor efetivo para cada comando que se deseja executar.
Bit
Bit 0
Bit 1
Bit 2
Bit 3
Bit 4
Bit 5
Bit 6
Bit 7
(1)

Descrio
0 = parar por rampa.
1 = girar por rampa.
0 = desabilita geral
1 = habilita geral.
0 = sem Jog. (1)
1 = com Jog.
0 = sentido horrio. (1)
1 = sentido anti-horrio.
0 = local.
1 = remoto.
Reservado
Reservado
0 = sem comando.
0 1 = executa reset (caso esteja em erro).

Funo disponvel a partir da Verso de Software 1.4x

Sempre que um comando for enviado para a Soft-Starter SSW-07/SSW-08, esta


somente ir executar o comando caso esteja programada para receber comandos via
serial. Esta programao feita atravs dos seguintes parmetros:

P220 - Seleo da fonte local / remoto.


P229 - Seleo dos comandos no modo local.
P230 - Seleo dos comandos no modo remoto.

Deve-se programar estes comandos para a opo "Serial" sempre que se desejar
executar o referido comando via rede. O comando de reset pode ser executado via rede
mesmo sem esta parametrizao, mas somente se a Soft-Starter SSW-07/SSW-08 estiver
em estado de erro.
NOTA!
Erros do carto de comunicao (E28, E29 ou E30) no podem ser "resetados" desta
forma, pois dependem de ajustes fora dos valores enviados via rede para serem
solucionados, e tambm porque nesta situao a SSW-07/SSW-08 no est
conseguindo se comunicar com a rede.
Caso tente-se realizar algum comando via rede, mas que no possa ser executado
pela SSW-07/SSW-08 (por exemplo, um comando que no esteja programado para
operar via serial), este comando no ser executado.
13

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
4.2.3. Varivel bsica 8

Varivel: VB08 comandos para as sadas digitais


Acesso: leitura e escrita
Descrio: permite comandar as sadas a rel disponveis na Soft-Starter
SSW-07/SSW-08. Esta palavra possui 16 bits, onde somente os dois primeiro bits
possuem funo:

Bit
Bit 0

Descrio

0 = desativa sada a rel RL1.


1 = ativa sada a rel RL1.
Bit 1
0 = desativa sada a rel RL2.
1 = ativa sada a rel RL2.
Bit 2 ... 15 Reservado
Para que as sadas digitais possam ser comandadas via serial, necessrio
programar as suas funes para a opo "Serial", nos parmetros P277 e P278. Caso a
sada no esteja sendo controlada via serial, o valor recebido no bit correspondente
desconsiderado.
Caso ocorra um erro de comunicao com o mestre da rede (E28), os valores para
as sadas digitais so zerados.

4.3. Alterao de parmetros e variveis bsicas


Existem algumas particularidades quanto ao acesso de parmetros e variveis
bsicas da Soft-Starter SSW-07/SSW-08 via serial:

No existe senha para acesso via serial. possvel alterar parmetros independente
da senha estar ativa ou no.
O valor para o P000 no salvo na memria no voltil do equipamento (o mesmo
acontece via IHM).
Os parmetros P200 e P215 no esto acessveis via serial.
Se for enviado o comando de gira na varivel bsica 3 durante a atuao do tempo de
P630, o comando no ser aceito, e o drive no responder ao erro.

14

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL

5. Protocolo Modbus-RTU
O protocolo Modbus foi inicialmente desenvolvido em 1979. Atualmente, um
protocolo aberto amplamente difundido, utilizado por vrios fabricantes em diversos
equipamentos. A comunicao Modbus-RTU da Soft-Starter SSW-07/SSW-08 foi
desenvolvida com base nos seguintes documentos:

MODBUS Protocol Reference Guide Rev. J, MODICON, June 1996.


MODBUS Application Protocol Specification, MODBUS.ORG, May 8th 2002.
MODBUS over Serial Line, MODBUS.ORG, December 2nd 2002.

Nestes documentos est definido o formato das mensagens utilizadas pelos


elementos que fazem parte da rede Modbus, os servios (ou funes) que podem ser
disponibilizados via rede, e tambm como estes elementos trocam dados na rede.

5.1. Modos de transmisso


Na especificao do protocolo esto definidos dois modos de transmisso: ASCII e
RTU. Os modos definem a forma como so transmitidos os bytes da mensagem. No
possvel utilizar os dois modos de transmisso na mesma rede.
A Soft-Starter SSW-07/SSW-08 utiliza somente o modo RTU para a transmisso de
telegramas. Os bytes so transmitidos no formato hexadecimal, onde cada byte
transmitido possui 1 start bit, 8 bits de dados, 1 bit de paridade (opcional) e 1 stop bit (2
stop bits se no for utilizada paridade). A configurao do formato dos bytes feita
atravs do parmetro P312.
Start bit

Bit 0

Bit 1

Bit 2

Bit 3

Bit 4

Bit 5

Bit 6

Bit 7

Paridade ou
stop bit

Stop bit

8 bits de dados

5.2. Estrutura das mensagens no modo RTU


A rede Modbus-RTU utiliza o sistema mestre-escravo para a troca de mensagens.
Ela pode possuir at 247 escravos, mas somente um mestre. Toda comunicao inicia
com o mestre fazendo uma solicitao a um escravo, e este responde ao mestre o que foi
solicitado. Em ambos os telegramas (pergunta e resposta), a estrutura utilizada a
mesma: Endereo, Cdigo da Funo, Dados e CRC. Apenas o campo de dados poder
ter tamanho varivel, dependendo do que est sendo solicitado.

15

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
Mestre (telegrama de requisio):
Endereo
Funo
Dados da requisio
(1 byte)
(1 byte)
(n bytes)

CRC
(2 bytes)

Escravo (telegrama de resposta):


Endereo
Funo
Dados da resposta
(1 byte)
(1 byte)
(n bytes)

CRC
(2 bytes)

5.2.1. Endereo
O mestre inicia a comunicao enviando um byte com o endereo do escravo para
o qual se destina a mensagem. Ao enviar a resposta, o escravo tambm inicia o
telegrama com o seu prprio endereo. O mestre tambm pode enviar uma mensagem
destinada ao endereo 0 (zero), o que significa que a mensagem destinada a todos os
escravos da rede (broadcast). Neste caso, nenhum escravo ir responder ao mestre.
5.2.2. Cdigo da funo
Este campo tambm contm um nico byte, onde o mestre especifica o tipo de
servio ou funo solicitada ao escravo (leitura, escrita, etc.). De acordo com o protocolo,
cada funo utilizada para acessar um tipo especfico de dado.
Para a Soft-Starter SSW-07/SSW-08, os dados relativos aos parmetros e
variveis bsicas esto disponibilizados como registradores do tipo holding (referenciados
a partir do endereo 40000 ou '4x').
5.2.3. Campo de dados
Campo com tamanho varivel. O formato e contedo deste campo dependem da
funo utilizada e dos valores transmitidos. Este campo est descrito juntamente com a
descrio das funes (ver item 5.4).
5.2.4. CRC
A ltima parte do telegrama o campo para checagem de erros de transmisso. O
mtodo utilizado o CRC-16 (Cycling Redundancy Check). Este campo formado por
dois bytes, onde primeiro transmitido o byte menos significativo (CRC-), e depois o mais
significativo (CRC+). A forma de clculo do CRC descrita na especificao do protocolo,
porm informaes para sua implementao so fornecidas nos apndices B e C.
5.2.5. Tempo entre mensagens
No modo RTU no existe um caracter especfico que indique o incio ou o fim de
um telegrama. Desta forma, o que indica quando uma nova mensagem comea ou
quando ela termina a ausncia de transmisso de dados na rede, por um tempo mnimo
de 3,5 vezes o tempo de transmisso de um byte de dados (11 bits). Sendo assim, caso
um telegrama tenha iniciado aps a decorrncia deste tempo mnimo, os elementos da
16

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
rede iro assumir que o primeiro caracter recebido representa o incio de um novo
telegrama. E da mesma forma, os elementos da rede iro assumir que o telegrama
chegou ao fim quando, recebidos os bytes do telegrama, este tempo decorra novamente.
Se durante a transmisso de um telegrama, o tempo entre os bytes for maior que
este tempo mnimo, o telegrama ser considerado invlido, pois o drive ir descartar os
bytes j recebidos e montar um novo telegrama com os bytes que estiverem sendo
transmitidos.
A tabela a seguir nos mostra os tempos para diferentes taxas de comunicao:

Taxa de
Comunicao
9600 bits/seg
19200 bits/seg
38400 bits/seg

T 11 bits

T 3,5x

1,146 ms
573 s
573 s

4,010 ms
2,005 ms
2,005 ms

T 11 bits
= Tempo para transmitir uma palavra do telegrama.
T entre bytes = Tempo entre bytes (no pode ser maior que T 3,5x).
= Intervalo mnimo para indicar comeo e fim de telegrama (3,5 x T 11bits).
T 3,5x

Para taxas de comunicao acima de 19200 bits/s, so considerados os mesmos


tempos que o utilizado para 19200 bits/s.

5.3. Operao da Soft-Starter SSW-07/SSW-08 na rede Modbus-RTU


A Soft-Starter SSW-07/SSW-08 possui as seguintes caractersticas quando
operado em rede Modbus-RTU:

Conexo da rede via interface serial RS-232 ou RS-485 (ver item 3).
Endereamento, taxa de comunicao e formato dos bytes definidos atravs de
parmetros (ver item 2).
Permite a parametrizao e controle do equipamento atravs do acesso a parmetros
e variveis bsicas.

17

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
5.3.1. Funes disponveis e tempos de resposta
Na especificao do protocolo Modbus-RTU so definidas funes utilizadas para
acessar diferentes tipos de registradores. Na Soft-Starter SSW-07/SSW-08, tanto
parmetros quanto variveis bsicas foram definidos como sendo registradores do tipo
holding. Alm destes registradores, tambm possvel acessar diretamente bits internos
de comando e monitorao, denominados coils. Para acessar estes bits e registradores,
foram disponibilizados os seguintes servios (ou funes):

Read Coils
Descrio: Leitura de bloco de bits internos ou bobinas.
Cdigo da funo: 01.
Tempo de resposta: 5 a 20ms.

Read Holding Registers


Descrio: Leitura de bloco de registradores do tipo holding.
Cdigo da funo: 03.
Tempo de resposta: 5 a 20 ms.

Write Single Coil


Descrio: Escrita em um nico bit interno ou bobina.
Cdigo da funo: 05.
Tempo de resposta: 5 a 20 ms.

Write Single Register


Descrio: Escrita em um nico registrador do tipo holding.
Cdigo da funo: 06.
Tempo de resposta: 5 a 20 ms.

Write Multiple Coils


Descrio: Escrita em bloco de bits internos ou bobinas.
Cdigo da funo: 15.
Tempo de resposta: 5 a 20 ms.

Write Multiple Registers


Descrio: Escrita em bloco de registradores do tipo holding.
Cdigo da funo: 16.
Tempo de resposta: 20 ms para cada registrador escrito.

Read Device Identification


Descrio: Identificao do modelo do drive.
Cdigo da funo: 43.
Tempo de resposta: 5 a 20 ms.

5.3.2. Endereamento dos dados e offset


O endereamento dos dados na Soft-Starter SSW-07/SSW-08 feito com offset
igual a zero, o que significa que o nmero do endereo equivale ao nmero dado. Os
parmetros so disponibilizados a partir do endereo 0 (zero), enquanto que as variveis
18

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
bsicas so disponibilizadas a partir do endereo 5000. Da mesma forma, os bits de
estado so disponibilizados a partir do endereo 0 (zero) e os bits de comando so
disponibilizados a partir do endereo 100. A tabela a seguir ilustra o endereamento de
parmetros e variveis bsicas:
PARMETROS
Endereo Modbus
Nmero do Parmetro
Decimal
Hexadecimal
P000
0
0x0000
P001
1
0x0001
...

...

...

P101

101

0x0065
...

...

...

VARIVEIS BSICAS
Nmero da Varivel
Endereo Modbus
Bsica
Decimal
Hexadecimal
V01
5001
0x1389
...

...

...

V08

5008

0x1390

BITS DE ESTADO
Endereo Modbus
Nmero do bit
Decimal
Hexadecimal
Bit 0
00
00h
Bit 1
01
01h
...

...

...

Bit 15

15

0Fh

BITS DE COMANDO
Endereo Modbus
Nmero do bit
Decimal
Hexadecimal
Bit 100
100
64h
Bit 101
101
65h
...

...

...

Bit 107

107

6Bh

Os bits de estado (0 at 15) possuem a mesma funo de cada bit da varivel


bsica 1 (ver item 4.2.1), enquanto que os bits de comando (100 at 107) possuem a
mesma funo dos bits menos significativos da varivel bsica 3, sem a necessidade de
utilizar a mscara para comandar a SSW-07/SSW-08 (ver item 4.2.2).

19

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
NOTA!
Todos os registradores (parmetros e variveis bsicas) so tratados como registradores
do tipo holding. Dependendo do mestre utilizado, estes registradores so referenciados a
partir do endereo base 40000 ou 4x. Neste caso, o endereo para um parmetro ou
varivel bsica que deve ser programado no mestre o endereo mostrado na tabela
acima adicionado do endereo base. De forma similar, os bits so referenciados a partir
de 0000 ou 0x, denominados coils. Consulte a documentao do mestre para saber como
acessar registradores do tipo holding e coils.

5.4. Descrio detalhada das funes


Neste item feita uma descrio detalhada das funes disponveis no
SSW-07/SSW-08 para comunicao Modbus-RTU. Para a elaborao dos telegramas,
importante observar o seguinte:

Os valores so sempre transmitidos em hexadecimal.


O endereo de um dado, o nmero de dados e o valor de registradores so sempre
representados em 16 bits. Por isso, necessrio transmitir estes campos utilizando
dois bytes (high e low).
Os telegramas, tanto para pergunta quanto para resposta, no pode ultrapassar 256
bytes.
Os valores transmitidos so sempre nmeros inteiros, independente de possurem
representao com casa decimal. Desta forma, o valor 9,5 ser transmitido como
sendo 95 via serial. Consulte o manual do SSW-07/SSW-08 para obter a resoluo
utilizada para cada parmetro.

5.4.1. Funo 01 Read Coils


L o contedo de um grupo de bits internos que necessariamente devem estar em
seqncia numrica. Esta funo possui a seguinte estrutura para os telegramas de
leitura e resposta (os valores so sempre hexadecimal, e cada campo representa um
byte):
Pergunta (Mestre)
Endereo do escravo
Funo
Endereo do bit inicial (byte high)
Endereo do bit inicial (byte low)
Nmero de bits (byte high)
Nmero de bits (byte low)
CRCCRC+

Resposta (Escravo)
Endereo do escravo
Funo
Campo Byte Count (no. de bytes de dados)
Byte 1
Byte 2
Byte 3
etc...
CRCCRC+

Cada bit da resposta colocado em uma posio dos bytes de dados enviados
pelo escravo. O primeiro byte recebe os 8 primeiros bits a partir do endereo inicial
indicado pelo mestre. Os demais bytes continuam a seqncia, caso o nmero de bits de
20

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
leitura seja maior que 8. Caso o nmero de bits lidos no seja mltiplo de 8, os bits
restantes do ltimo byte devem ser preenchidos com 0 (zero).
Exemplo 1: leitura dos bits de estado da habilitao (bit 0) e habilitao geral (bit 1) da
SSW-07/SSW-08 no endereo 1 (supondo habilitao inativa e habilitao geral ativa).

Endereo: 1 = 01h (1 byte)


Nmero do bit inicial: 0 = 0000h (2 bytes)
Nmero de bits lidos: 2 = 0002h (2 bytes)

Pergunta (Mestre)
Campo
Endereo do escravo
Funo
Bit inicial (high)
Bit inicial (low)
No. de bits (high)
No. de bits (low)
CRCCRC+

Valor
01h
01h
00h
00h
00h
02h
BDh
CBh

Resposta (Escravo)
Campo
Endereo do escravo
Funo
Byte Count
Estado dos bits 1 e 2
CRCCRC+

Valor
01h
01h
01h
02h
D0h
49h

No exemplo, como o nmero de bits lidos menor que 8, o escravo precisou de


apenas 1 byte para a resposta. O valor do byte foi 02h, que em binrio tem a forma 0000
0010. Como o nmero de bits lidos igual a 2, somente nos interessa os dois bits menos
significativos, que possuem os valores 0 = habilitado e 1 = habilitado geral. Os demais
bits, como no foram solicitados, so preenchidos com 0 (zero).
5.4.2. Funo 03 Read Holding Register
L o contedo de um grupo de registradores, que necessariamente devem estar
em seqncia numrica. Esta funo possui a seguinte estrutura para os telegramas de
leitura e resposta (os valores so sempre representados em hexadecimal, e cada campo
representa um byte):
Pergunta (Mestre)
Endereo do escravo
Funo
Endereo do registrador inicial (byte high)
Endereo do registrador inicial (byte low)
Nmero de registradores (byte high)
Nmero de registradores (byte low)
CRCCRC+

Resposta (Escravo)
Endereo do escravo
Funo
Campo Byte Count
Dado 1 (high)
Dado 1 (low)
Dado 2 (high)
Dado 2 (low)
etc...
CRCCRC+

21

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
Exemplo 2: leitura da corrente do motor em porcentagem (P002) e corrente do motor em
ampres (P003) da Soft-Starter SSW-07/SSW-08 no endereo 1 (supondo P002 = 50.0%
e P003 = 40.0 A).

Endereo: 1 = 01h (1 byte)


Nmero do primeiro parmetro: 2 = 0002h (2 bytes)
Nmero de parmetros lidos: 2 = 0002h (2 bytes)
Valor lido do primeiro parmetro:500 = 01F4h (2 bytes)
Valor lido do segundo parmetro: 400 = 0190h (2 bytes)

Pergunta (Mestre)
Campo
Endereo do escravo
Funo
Registrador inicial (high)
Registrador inicial (low)
No. de registradores (high)
No. de registradores (low)
CRCCRC+

Valor
01h
03h
00h
02h
00h
02h
65h
CBh

Resposta (Escravo)
Campo
Endereo do escravo
Funo
Byte Count
P002 (high)
P002 (low)
P003 (high)
P003 (low)
CRCCRC+

Valor
01h
03h
04h
01h
F4h
01h
90h
BBh
C1h

5.4.3. Funo 05 Write Single Coil


Esta funo utilizada para escrever um valor para um nico bit (coil). O valor para
o bit representado utilizando dois bytes, onde o valor FF00h representa o bit igual a 1, e
o valor 0000h representa o bit igual a 0 (zero). Possui a seguinte estrutura (os valores so
sempre hexadecimal, e cada campo representa um byte):
Pergunta (Mestre)
Endereo do escravo
Funo
Endereo do bit (byte high)
Endereo do bit (byte low)
Valor para o bit (byte high)
Valor para o bit (byte low)
CRCCRC+

Resposta (Escravo)
Endereo do escravo
Funo
Endereo do bit (byte high)
Endereo do bit (byte low)
Valor para o bit (byte high)
Valor para o bit (byte low)
CRCCRC+

Exemplo 3: escrita do comando de reset (bit 107), em uma Soft-Starter no endereo 1.

Endereo: 1 = 01h (1 byte)


Nmero do bit: 107 = 006Bh (2 bytes)
Valor para o bit: reset = 1, logo o valor que deve ser escrito FF00h

22

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
Pergunta (Mestre)
Campo
Endereo do escravo
Funo
Nmero do bit (high)
Nmero do bit (low)
Valor para o bit (high)
Valor para o bit (low)
CRCCRC+

Valor
01h
05h
00h
6Bh
FFh
00h
FDh
E6h

Resposta (Escravo)
Campo
Endereo do escravo
Funo
Nmero do bit (high)
Nmero do bit (low)
Valor para o bit (high)
Valor para o bit (low)
CRCCRC+

Valor
01h
05h
00h
6Bh
FFh
00h
FDh
E6h

Note que para esta funo, a resposta do escravo uma cpia idntica da
requisio feita pelo mestre.
5.4.4. Funo 06 Write Single Register
Esta funo utilizada para escrever um valor para um nico registrador. Possui a
seguinte estrutura (os valores so sempre hexadecimal, e cada campo representa um
byte):
Pergunta (Mestre)
Endereo do escravo
Funo
Endereo do registrador (byte high)
Endereo do registrador (byte low)
Valor para o registrador (byte high)
Valor para o registrador (byte low)
CRCCRC+

Resposta (Escravo)
Endereo do escravo
Funo
Endereo do registrador (byte high)
Endereo do registrador (byte low)
Valor para o registrador (byte high)
Valor para o registrador (byte low)
CRCCRC+

Exemplo 4: escrita do comando lgico (varivel bsica 3), com os comando de habilita
rampa e habilita geral, para a Soft-Starter SSW-07/SSW-08 no endereo 3.

Endereo: 3 = 03h (1 byte)


Nmero da varivel: VB03, endereada no registrador 5003 = 138Bh (2 bytes)
Valor para a varivel: habilita rampa comando em 1 (bit 0)
habilita geral comando em 1 (bit 1)
logo, valor para o comando = 0003h (2 bytes)

23

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
Pergunta (Mestre)
Campo
Endereo do escravo
Funo
Registrador (high)
Registrador (low)
Valor (high)
Valor (low)
CRCCRC+

Valor
03h
06h
13h
8Bh
00h
03h
BCh
87h

Resposta (Escravo)
Campo
Endereo do escravo
Funo
Registrador (high)
Registrador (low)
Valor (high)
Valor (low)
CRCCRC+

Valor
03h
06h
13h
8Bh
00h
03h
BCh
87h

Note que para esta funo, a resposta do escravo uma cpia idntica da
requisio feita pelo mestre.
5.4.5. Funo 15 Write Multiple Coils
Esta funo permite escrever valores para um grupo de bits (coils), que devem
estar em seqncia numrica. Tambm pode ser usada para escrever um nico bit (os
valores so sempre hexadecimal, e cada campo representa um byte).
Pergunta (Mestre)
Endereo do escravo
Funo
Endereo do bit inicial (byte high)
Endereo do bit inicial (byte low)
Nmero de bits (byte high)
Nmero de bits (byte low)
Campo Byte Count (no. de bytes de dados)
Byte 1
Byte 2
Byte 3
etc...
CRCCRC+
Endereo do escravo

Resposta (Escravo)
Endereo do escravo
Funo
Endereo do bit inicial (byte high)
Endereo do bit inicial (byte low)
Nmero de bits (byte high)
Nmero de bits (byte low)
CRCCRC+

O valor de cada bit que est sendo escrito colocado em uma posio dos bytes
de dados enviados pelo mestre. O primeiro byte recebe os 8 primeiros bits a partir do
endereo inicial indicado pelo mestre. Os demais bytes (se o nmero de bits escritos for
maior que 8), continuam a seqncia. Caso o nmero de bits escritos no seja mltiplo de
8, os bits restantes do ltimo byte devem ser preenchidos com 0 (zero).

24

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
Exemplo 5: escrita dos bits 100 e 101 para habilitar a rampa e habilitar geral uma SoftStarter SSW-07/SSW-08 no endereo 20

Endereo: 20 = 14h (1 byte)


Nmero do primeiro bit: 100 = 0064h (2 bytes)
Nmero de bits: 2 = 0002h (2 bytes)
Valor para os bits: os dois bits devem ser colocados em 1, ento valor = 03h (1 byte)

Pergunta (Mestre)
Campo
Endereo do escravo
Funo
Bit inicial (byte high)
Bit inicial (byte low)
No. de bits (byte high)
No. de bits (byte low)
Byte Count
Valor para os bits
CRCCRC+

Valor
14h
0Fh
00h
64h
00h
02h
01h
03h
2Eh
6Dh

Resposta (Escravo)
Campo
Endereo do escravo
Funo
Bit inicial (byte high)
Bit inicial (byte low)
No. de bits (byte high)
No. de bits (byte low)
CRCCRC+

Valor
14h
0Fh
00h
64h
00h
02h
97h
10h

5.4.6. Funo 16 Write Multiple Registers


Esta funo permite escrever valores para um grupo de registradores, que devem
estar em seqncia numrica. Tambm pode ser usada para escrever um nico
registrador (os valores so sempre hexadecimais, e cada campo representa um byte).
Pergunta (Mestre)
Endereo do escravo
Funo
Endereo do registrador inicial (byte high)
Endereo do registrador inicial (byte low)
Nmero de registradores (byte high)
Nmero de registradores (byte low)
Campo Byte Count (n de bytes de dados)
Dado 1 (high)
Dado 1 (low)
Dado 2 (high)
Dado 2 (low)
etc...
CRCCRC+

25

Resposta (Escravo)
Endereo do escravo
Funo
Endereo do registrador inicial (byte high)
Endereo do registrador inicial (byte low)
Nmero de registradores (byte high)
Nmero de registradores (byte low)
CRCCRC+

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
Exemplo 6: escrita do valor 2 em P313 e valor 5 em P314, para uma Soft-Starter
SSW-07/SSW-08 no endereo 15.

Endereo: 15 = 0Fh (1 byte)


Nmero do primeiro parmetro: P313, endereado no registrador 313 = 139h (2 bytes)
Valor para o primeiro parmetro: 2 = 0002h (2 bytes)
Valor para o segundo parmetro: 5 = 0005h (2 bytes)

Pergunta (Mestre)
Campo
Endereo do escravo
Funo
Registrador inicial (high)
Registrador inicial (low)
No. de registradores (high)
No. de registradores (low)
Byte Count
P313 (high)
P313 (low)
P314 (high)
P314 (low)
CRCCRC+

Valor
0Fh
10h
01h
39h
00h
02h
04h
00h
02h
00h
05h
68h
6Ah

Resposta (Escravo)
Campo
Endereo do escravo
Funo
Registrador (high)
Registrador (low)
Valor (high)
Valor (low)
CRCCRC+

Valor
0Fh
10h
01h
39h
00h
02h
91h
17h

5.4.7. Funo 43 Read Device Identification


Funo auxiliar, que permite a leitura do fabricante, modelo e verso de firmware
do produto. Possui a seguinte estrutura:
Pergunta (Mestre)
Endereo do escravo
Funo
MEI Type
Cdigo de leitura
Nmero do Objeto
CRCCRC+

Resposta (Escravo)
Endereo do escravo
Funo
MEI Type
Conformity Level
More Follows
Prximo objeto
Nmero de objetos
Cdigo do primeiro objeto
Tamanho do primeiro objeto
Valor do primeiro objeto (n bytes)
Cdigo do segundo objeto
Tamanho do segundo objeto
Valor do segundo objeto (n bytes)
etc...
CRCCRC+
26

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
Esta funo permite a leitura de trs categorias de informaes: Bsica, Regular e
Estendida, e cada categoria formada por um grupo de objetos. Cada objeto formado
por uma seqncia de caracteres ASCII. Para a Soft-Starter apenas informaes bsicas
esto disponveis, formadas por trs objetos:

Objeto 0x00 - VendorName: sempre 'WEG'.


Objeto 0x01 - ProductCode: formado pelo cdigo do produto (SSW-07) mais a corrente
nominal do drive (ex. 'SSW-07 85A').
Objeto 0x02 - MajorMinorRevision: indica a verso de firmware do drive, no formato
'VX.XX'.

O cdigo de leitura indica quais as categorias de informaes esto sendo lidas, e


se os objetos esto sendo acessados em seqncia ou individualmente. No caso, a
SSW-07 suporta os cdigos 01 (informaes bsicas em seqncia), e 04 (acesso
individual aos objetos). Os demais campos para a SSW-07 possuem valores fixos.
Exemplo 7: leitura das informaes bsicas em seqncia, a partir do objeto 00h, de uma
Soft-Starter SSW-07 no endereo 1:
Pergunta (Mestre)
Campo
Endereo do escravo
Funo
MEI Type
Cdigo de leitura
Nmero do Objeto
CRCCRC+

Valor
01h
2Bh
0Eh
01h
00h
70h
77h

Resposta (Escravo)
Campo
Endereo do escravo
Funo
MEI Type
Cdigo de leitura
Conformity Level
More Follows
Prximo Objeto
Nmero de objetos
Cdigo do Objeto
Tamanho do Objeto
Valor do Objeto
Cdigo do Objeto
Tamanho do Objeto
Valor do Objeto
Cdigo do Objeto
Tamanho do Objeto
Valor do Objeto
CRCCRC+

Valor
01h
2Bh
0Eh
01h
51h
00h
00h
03h
00h
03h
'WEG'
01h
0Ch
'SSW-07 85A'
02h
05h
'V1.20'
CBh
5Eh

Neste exemplo, o valor dos objetos no foi representado em hexadecimal, mas sim
utilizando os caracteres ASCII correspondentes. Por exemplo, para o objeto 00h, o valor
'WEG' foi transmitido como sendo trs caracteres ASCII, que em hexadecimal possuem
os valores 57h ('W'), 45h ('E') e 47h ('G').

27

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
5.4.8. Erros de comunicao
Erros de comunicao podem ocorrer tanto na transmisso dos telegramas quanto
no contedo dos telegramas transmitidos. De acordo com o tipo de erro, a Soft-Starter
SSW-07/SSW-08 poder ou no enviar resposta para o mestre. Quando o mestre envia
uma mensagem para um escravo configurado em um determinado endereo da rede, o
escravo no ir responder ao mestre caso ocorra:

Erro no bit de paridade.


Erro no CRC.
Timeout entre os bytes transmitidos (3,5 vezes o tempo de transmisso de um byte).

Nestes casos, o mestre dever detectar a ocorrncia do erro pelo timeout na


espera da resposta do escravo. No caso de uma recepo com sucesso, durante o
tratamento do telegrama, o drive pode detectar problemas e enviar uma mensagem de
erro, indicando o tipo de problema encontrado:

Funo invlida (cdigo do erro = 1): a funo solicitada no est implementada para
o equipamento.
Endereo de dado invlido (cdigo do erro = 2): o endereo do dado (parmetro) no
existe.
Valor de dado invlido (cdigo do erro = 3): ocorre nas seguintes situaes:
- Valor est fora da faixa permitida.
- Escrita em dado que no pode ser alterado (registrador somente leitura).
- Comando no est habilitado para ser executado via serial

NOTA!
importante que seja possvel identificar no mestre qual o tipo de erro ocorrido, para que
seja possvel diagnosticar problemas durante a comunicao.
No caso da ocorrncia de algum destes erros, o escravo deve retornar uma
mensagem para o mestre que indica o tipo de erro ocorrido. As mensagens de erro
enviadas pelo escravo possuem a seguinte estrutura:
Pergunta (Mestre)
Endereo do escravo
Funo
Dados
CRCCRC+

Resposta (Escravo)
Endereo do escravo
Funo (com o bit mais significativo em 1)
Cdigo do erro
CRCCRC+

28

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL
Exemplo 8: mestre solicita para o escravo no endereo 1 a escrita no parmetro 89
(parmetro inexistente):
Pergunta (Mestre)
Campo
Endereo do escravo
Funo
Registrador (high)
Registrador (low)
Valor (high)
Valor (low)
CRCCRC+

Valor
0x01
0x06
0x00
0x59
0x00
0x00
0x59
0xD9

29

Resposta (Escravo)
Campo
Endereo do escravo
Funo
Cdigo de erro
CRCCRC+

Valor
0x01
0x86
0x02
0xC3
0xA1

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL

APNDICES
Apndice A -

Clculo do CRC utilizando tabelas

A seguir apresentada uma funo, utilizando linguagem de programao "C", que


implementa o clculo do CRC para o protocolo Modbus-RTU. O clculo utiliza duas
tabelas para fornecer valores pr-calculados dos deslocamentos necessrios para a
realizao do clculo. O algoritmo foi obtido e explicado nos documentos referenciados
no item 4.
/* Table of CRC values for highorder byte */
static unsigned char auchCRCHi[] = {
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,
0x00,
0x00,
0x01,
0x00,
0x01,
0x01,
0x00,
0x00,
0x01,
0x01,
0x00,
0x01,
0x00,
0x00,
0x01,

0xC0,
0xC1,
0xC1,
0xC0,
0xC1,
0xC0,
0xC0,
0xC1,
0xC1,
0xC0,
0xC0,
0xC1,
0xC0,
0xC1,
0xC1,
0xC0,

0x80,
0x81,
0x81,
0x80,
0x81,
0x80,
0x80,
0x81,
0x81,
0x80,
0x80,
0x81,
0x80,
0x81,
0x81,
0x80,

0x41,
0x40,
0x40,
0x41,
0x40,
0x41,
0x41,
0x40,
0x40,
0x41,
0x41,
0x40,
0x41,
0x40,
0x40,
0x41,

0x00,
0x01,
0x01,
0x00,
0x01,
0x00,
0x00,
0x01,
0x01,
0x00,
0x00,
0x01,
0x00,
0x01,
0x01,
0x00,

0xC1,
0xC0,
0xC0,
0xC1,
0xC0,
0xC1,
0xC1,
0xC0,
0xC0,
0xC1,
0xC1,
0xC0,
0xC1,
0xC0,
0xC0,
0xC1,

0x81,
0x80,
0x80,
0x81,
0x80,
0x81,
0x81,
0x80,
0x80,
0x81,
0x81,
0x80,
0x81,
0x80,
0x80,
0x81,

0x40,
0x41,
0x41,
0x40,
0x41,
0x40,
0x40,
0x41,
0x41,
0x40,
0x40,
0x41,
0x40,
0x41,
0x41,
0x40};

/* Table of
static char
0x00, 0xC0,
0xCC, 0x0C,
0xD8, 0x18,
0x14, 0xD4,
0xF0, 0x30,
0x3C, 0xFC,
0x28, 0xE8,
0xE4, 0x24,
0xA0, 0x60,
0x6C, 0xAC,
0x78, 0xB8,
0xB4, 0x74,
0x50, 0x90,
0x9C, 0x5C,
0x88, 0x48,
0x44, 0x84,

0xC6,
0x0A,
0x1E,
0xD2,
0x36,
0xFA,
0xEE,
0x22,
0x66,
0xAA,
0xBE,
0x72,
0x96,
0x5A,
0x4E,
0x82,

0x06,
0xCA,
0xDE,
0x12,
0xF6,
0x3A,
0x2E,
0xE2,
0xA6,
0x6A,
0x7E,
0xB2,
0x56,
0x9A,
0x8E,
0x42,

0x07,
0xCB,
0xDF,
0x13,
0xF7,
0x3B,
0x2F,
0xE3,
0xA7,
0x6B,
0x7F,
0xB3,
0x57,
0x9B,
0x8F,
0x43,

0xC7,
0x0B,
0x1F,
0xD3,
0x37,
0xFB,
0xEF,
0x23,
0x67,
0xAB,
0xBF,
0x73,
0x97,
0x5B,
0x4F,
0x83,

0x05,
0xC9,
0xDD,
0x11,
0xF5,
0x39,
0x2D,
0xE1,
0xA5,
0x69,
0x7D,
0xB1,
0x55,
0x99,
0x8D,
0x41,

0xC5,
0x09,
0x1D,
0xD1,
0x35,
0xF9,
0xED,
0x21,
0x65,
0xA9,
0xBD,
0x71,
0x95,
0x59,
0x4D,
0x81,

0xC4,
0x08,
0x1C,
0xD0,
0x34,
0xF8,
0xEC,
0x20,
0x64,
0xA8,
0xBC,
0x70,
0x94,
0x58,
0x4C,
0x80,

0x04,
0xC8,
0xDC,
0x10,
0xF4,
0x38,
0x2C,
0xE0,
0xA4,
0x68,
0x7C,
0xB0,
0x54,
0x98,
0x8C,
0x40};

CRC values for loworder byte


auchCRCLo[] = {
0xC1, 0x01, 0xC3, 0x03, 0x02,
0x0D, 0xCD, 0x0F, 0xCF, 0xCE,
0x19, 0xD9, 0x1B, 0xDB, 0xDA,
0xD5, 0x15, 0xD7, 0x17, 0x16,
0x31, 0xF1, 0x33, 0xF3, 0xF2,
0xFD, 0x3D, 0xFF, 0x3F, 0x3E,
0xE9, 0x29, 0xEB, 0x2B, 0x2A,
0x25, 0xE5, 0x27, 0xE7, 0xE6,
0x61, 0xA1, 0x63, 0xA3, 0xA2,
0xAD, 0x6D, 0xAF, 0x6F, 0x6E,
0xB9, 0x79, 0xBB, 0x7B, 0x7A,
0x75, 0xB5, 0x77, 0xB7, 0xB6,
0x91, 0x51, 0x93, 0x53, 0x52,
0x5D, 0x9D, 0x5F, 0x9F, 0x9E,
0x49, 0x89, 0x4B, 0x8B, 0x8A,
0x85, 0x45, 0x87, 0x47, 0x46,

*/
0xC2,
0x0E,
0x1A,
0xD6,
0x32,
0xFE,
0xEA,
0x26,
0x62,
0xAE,
0xBA,
0x76,
0x92,
0x5E,
0x4A,
0x86,

/* The function returns the CRC as a unsigned short type */


unsigned short CRC16(puchMsg, usDataLen)
unsigned char *puchMsg;
/* message to calculate CRC upon
unsigned short usDataLen;
/* quantity of bytes in message
{
unsigned char uchCRCHi = 0xFF;
/* high byte of CRC initialized
unsigned char uchCRCLo = 0xFF;
/* low byte of CRC initialized
unsigned uIndex;
/* will index into CRC lookup table
while (usDataLen--)
/* pass through message buffer
{
uIndex = uchCRCLo ^ *puchMsgg++; /* calculate the CRC
uchCRCLo = uchCRCHi ^ auchCRCHi[uIndex};
uchCRCHi = auchCRCLo[uIndex];
}
return (uchCRCHi << 8 | uchCRCLo);
}

30

*/
*/
*/
*/
*/
*/
*/

SSW-07/SSW-08
MANUAL DA COMUNICAO SERIAL

Apndice B - Clculo do CRC utilizando deslocamento de


registradores
Neste item descrito o algoritmo para o clculo do CRC utilizado na comunicao
Modbus-RTU, atravs do deslocamento de registradores. O algoritmo foi obtido e
explicado nos documentos referenciados no item 5.
O clculo do CRC iniciado primeiramente carregando-se uma varivel de 16 bits
(referenciado a partir de agora como varivel CRC) com o valor 0xFFFF. Depois se
executa os passos de acordo com a seguinte rotina:
1. Submete-se o primeiro byte da mensagem (somente os bits de dados - start bit ,
paridade e stop bit no so utilizados) a uma lgica XOR (OU exclusivo) com os 8 bits
menos significativos da varivel CRC, retornando o resultado na prpria varivel CRC.
2. Ento, a varivel CRC deslocada uma posio direita, em direo ao bit menos
significativo, e a posio do bit mais significativo preenchida com 0 (zero).
3. Aps este deslocamento, o bit de flag (bit que foi deslocado para fora da varivel CRC)
analisado, ocorrendo o seguinte:
; Se o valor do bit for 0 (zero), nada feito
; Se o valor do bit for 1, o contedo da varivel CRC submetido a uma lgica XOR
com um valor constante de 0xA001 e o resultado retornado varivel CRC.
4. Repetem-se os passos 2 e 3 at que oito deslocamentos tenham sido feitos.
5. Repetem-se os passos de 1 a 4, utilizando o prximo byte da mensagem, at que toda
a mensagem tenha sido processada.
O contedo final da varivel CRC o valor do campo CRC que transmitido no
final do telegrama. A parte menos significativa transmitida primeira (CRC-) e em seguida
a parte mais significativa (CRC+).

31