Sunteți pe pagina 1din 37

Servoconversor SCA-05

Manual da Comunicao
Serial
05/2005

Srie: SCA-05
Reviso: P/3

SCA-05
MANUAL DA COMUNICAO SERIAL

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

INTRODUO.................................................................................................................................................. 5

2.

PARAMETRIZAO DO SERVOCONVERSOR .......................................................................................... 6


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

3.

DESCRIO DAS INTERFACES ................................................................................................................. 10


3.1.
3.2.

4.

ENDEREAMENTO NOS PROTOCOLOS WEGBUS E WEGTP .......................................................................... 12


ENDEREAMENTO NO PROTOCOLO MODBUS-RTU........................................................................................ 12

PROTOCOLO WEGBUS................................................................................................................................ 13
5.1.
5.2.
5.3.
5.4.
5.5.

6.

RS-232....................................................................................................................................................... 10
RS-485....................................................................................................................................................... 11

ENDEREOS .................................................................................................................................................. 12
4.1.
4.2.

5.

P086 NMERO DE TELEGRAMAS RECEBIDOS................................................................................................ 6


P087 NMERO DE TELEGRAMAS TRANSMITIDOS .......................................................................................... 6
P308 ENDEREO DO SERVOCONVERSOR NA REDE ........................................................................................ 6
P310 TAXA DE COMUNICAO DO SERVOCONVERSOR ................................................................................. 7
P311 CONFIGURAO DA PALAVRA DE DADOS ............................................................................................ 7
P312 SELEO DO PROTOCOLO DE COMUNICAO SERIAL ........................................................................... 8
P313 AO PARA ERRO DE COMUNICAO ................................................................................................. 8
P314 TEMPO PARA TIMEOUT NA RECEPO DE TELEGRAMAS ........................................................................ 8
P315 SALVA PARMETROS EM MEMRIA NO VOLTIL ............................................................................... 9

TELEGRAMA DE LEITURA ............................................................................................................................. 13


TELEGRAMA DE ESCRITA ............................................................................................................................. 14
EXECUO E TESTE DE TELEGRAMA ............................................................................................................. 15
CDIGO DE VARIVEIS ................................................................................................................................ 16
EXEMPLO DE TELEGRAMAS .......................................................................................................................... 16

PROTOCOLO WEGTP .................................................................................................................................. 18


6.1.
INFORMAES IMPORTANTES ...................................................................................................................... 18
6.2.
CAMPOS DO PROTOCOLO ............................................................................................................................. 18
6.3.
FORMATO DOS TELEGRAMAS ....................................................................................................................... 20
6.3.1.
Telegrama de leitura........................................................................................................................... 20
6.3.2.
Telegrama de escrita........................................................................................................................... 20
6.4.
VARIVEIS BSICAS .................................................................................................................................... 21
6.5.
EXEMPLO DE TELEGRAMAS UTILIZANDO O PROTOCOLO WEGTP................................................................... 21

7.

PROTOCOLO MODBUS-RTU ...................................................................................................................... 24


7.1.
MODOS DE TRANSMISSO ............................................................................................................................ 24
7.2.
ESTRUTURA DAS MENSAGENS NO MODO RTU .............................................................................................. 24
7.2.1.
Endereo ............................................................................................................................................ 25
7.2.2.
Cdigo da funo................................................................................................................................ 25
7.2.3.
Campo de dados ................................................................................................................................. 25
7.2.4.
CRC ................................................................................................................................................... 25
7.2.5.
Tempo entre mensagens ...................................................................................................................... 25
7.3.
OPERAO DO SCA-05 NA REDE MODBUS-RTU.......................................................................................... 26

SCA-05
MANUAL DA COMUNICAO SERIAL
7.3.1.
Funes disponveis e tempos de resposta ........................................................................................... 26
7.3.2.
Endereamento dos dados e offset ....................................................................................................... 27
7.4.
DESCRIO DETALHADA DAS FUNES ........................................................................................................ 28
7.4.1.
Funo 03 - Read Holding Register..................................................................................................... 28
7.4.2.
Funo 06 - Write Single Register....................................................................................................... 29
7.4.3.
Funo 16 - Write Multiple Registers .................................................................................................. 30
7.4.4.
Funo 43 - Read Device Identification............................................................................................... 31
7.4.5.
Erros de comunicao ........................................................................................................................ 32
8.

ERROS RELACIONADOS COM A COMUNICAO SERIAL ................................................................. 34


8.1.

CDIGOS DE ERROS: .................................................................................................................................... 34

SCA-05
MANUAL DA COMUNICAO SERIAL

Cuidado

Ler o Manual do Servoconversor 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 servoconversores, 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.
- Utilizar ferro de solda com ponteira aterrada.

Definies
Termos utilizados

Parmetros: so aqueles existentes nos servoconversores cuja visualizao ou


alterao possvel atravs da interface homem mquina (IHM).
Variveis bsicas: valores internos do servoconversor que somente podem ser
acessados atravs da serial.
Registradores: so endereos de memria interna do servoconversor. Podem ser
usados para representar tanto variveis bsicas quanto parmetros.
EEPROM: a memria no voltil que permite com que o servoconversor mantenha
os valores dos parmetros mesmo aps desligar-se.

Representao numrica

O prefixo 0x na frente de um nmero significa que ele est representado no formato


numrico hexadecimal.
Nmero decimais so representados sem prefixo.

SCA-05
MANUAL DA COMUNICAO SERIAL

1. Introduo
O objetivo bsico da comunicao serial a ligao fsica dos servoconversores
numa rede de equipamentos configurada da seguinte forma :
MESTRE
PC, CLP, etc

ESCRAVO 1
(Servoconversor 1)

ESCRAVO 2
(Servoconversor 2)

...

ESCRAVO N
(Servoconversor N)

Os servoconversores possuem um software de controle da transmisso/recepo


de dados pela interface serial, de modo a possibilitar o recebimento de dados enviados
pelo mestre e o envio de dados solicitados pelo mesmo. O mestre ter condies de
realizar as seguintes operaes relacionadas a cada servoconversor:

IDENTIFICAO:
- Tipo de equipamento (Conversor, Servoconversor, Soft-Starter)
- Endereo do servoconversor na rede
- Leitura de erros

LEITURA DE PARMETROS:
- Exemplos:
- Velocidade
- Verso de software

ALTERAO DE PARMETROS:
- Exemplos:
- Habilitao
- Funo Stop
Exemplos tpicos de utilizao da rede:

PC (mestre) para parametrizao de um ou vrios servoconversores simultaneamente.


SDCD monitorando variveis de servoconversores.
CLP controlando a operao de um servoconversor num processo industrial.

SCA-05
MANUAL DA COMUNICAO SERIAL

2. Parametrizao do Servoconversor
A seguir sero descritos os parmetros relacionados com a comunicao serial do
servoconversor SCA-05.

2.1. P086 Nmero de telegramas recebidos


Contador que incrementado sempre que um telegrama recebido com sucesso,
em qualquer dos protocolos seriais disponveis para o SCA-05. Este contador somente
incrementado caso o telegrama recebido no possua error de paridade, checksum ou
CRC.
Faixa de valores
0 ... 32767

Valor padro
Acesso
Somente leitura

Caso o nmero de telegramas recebidos ultrapasse o limite mximo, este contador


zerado e a contagem reiniciada. O mesmo acontece caso seja feito o reset do drive.

2.2. P087 Nmero de telegramas transmitidos


Contador que incrementado sempre que um telegrama tratado com sucesso e a
resposta enviada para o mestre, em qualquer dos protocolos seriais disponveis para o
SCA-05. Respostas de erro para o mestre no so consideradas neste parmetro.
Faixa de valores
0 ... 32767

Valor padro
Acesso
Somente leitura

Caso o nmero de telegramas transmitidos ultrapasse o limite mximo, este


contador zerado e a contagem reiniciada. O mesmo acontece caso seja feio o reset do
drive.

2.3. P308 Endereo do servoconversor 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. A faixa de
endereos disponveis para o SCA-05 depende do protocolo utilizado:
Faixa de valores
Protocolos WEGBUS e WEGTP = 1 a 30
Protocolo Modbus-RTU = 1 a 247

Valor padro
1

Acesso
Leitura/ escrita

SCA-05
MANUAL DA COMUNICAO SERIAL
2.4. P310 Taxa de comunicao do servoconversor
Todos os escravos da rede devem possuir a mesma taxa de comunicao
programada.
Faixa de valores

Valor padro
1

0 = 4800 bits/s
1 = 9600 bits/s
2 = 14400 bits/s
3 = 19200 bits/s

Acesso
Leitura/ escrita

2.5. P311 Configurao da palavra de dados


Permite programar o formato dos bytes recebidos e transmitidos via serial.
Faixa de valores
0 = 8 bits de dados, sem paridade e com 1 stop bit
1 = 8 bits de dados, paridade par e com 1 stop bit
2 = 8 bits de dados, paridade impar e com 1 stop bit
3 = 8 bits de dados, sem paridade e com 2 stop bits
4 = 8 bits de dados, paridade par e com 2 stop bits
5 = 8 bits de dados, paridade impar e com 2 stop bits
6 = 7 bits de dados, sem paridade e com 1 stop bit
7 = 7 bits de dados, paridade par e com 1 stop bit
8 = 7 bits de dados, paridade impar e com 1 stop bit
9 = 7 bits de dados, sem paridade e com 2 stop bits
10 = 7 bits de dados, paridade par e com 2 stop bits
11 = 7 bits de dados, paridade impar e com 2 stop bits

Valor padro
3

Acesso
Leitura/ escrita

A transmisso de um byte feita de acordo com o seguinte modelo, sendo que


aps o start bit, segue o bit menos significativo:
Start bit

Bit 0

Bit 1

Bit 2

Bit 3

Bit 4

Bit 5

Bit 6

Bit 7

Paridade ou
stop bit

Stop bit

7 ou 8 bits de dados

NOTA!
No servoconversor SCA-04 o protocolo WEGBUS utilizava as opes 0 (zero) ou 7 e o
protocolo WEGTP utilizava a opo 0 (zero) ou 1. O protocolo Modbus-RTU no
estava disponvel.
No SCA-05 os protocolos WEGBUS, WEGTP e Modbus-RTU funcionam com uma das
opes acima, sendo que as opes que utilizam 7 bits de dados (6 ... 11) somente
podem ser utilizadas com o protocolo WEGBUS.

SCA-05
MANUAL DA COMUNICAO SERIAL
2.6. P312 Seleo do protocolo de comunicao serial
O SCA-05 possui uma das seguintes opes para a comunicao atravs da
interface serial do produto:
Faixa de valores
0 = Protocolo WEGBUS
1 = Protocolo WEGTP
2 = Protocolo Modbus-RTU

Valor padro
2

Acesso
Leitura/ escrita

A descrio do funcionamento de cada protocolo feita nas sees seguintes.


Diferentes protocolos no podem operar em conjunto em uma mesma rede.
NOTA!
A alterao dos parmetros P308, P310, P311 e P312 somente ter validade depois de
feito o reset do drive.

2.7. 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 = Causa falha
2 = Executa funo STOP
3 = Desabilita servo

Valor padro
0

Acesso
Leitura/ escrita

Nos protocolos seriais, para ocorrncia desta ao considerado apenas o erro de


timeout na recepo de telegramas (E28), que programado atravs do parmetro P314.
NOTA!
Caso alguma entrada digital do drive esteja programada para executar as funes STOP
ou habilitao, as opes 2 ou 3 para este parmetro no executaro a ao desejada.

2.8. 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 esteja sendo 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 o drive deve receber um telegrama via serial, caso contrrio ele ir
considerar que houve falha na comunicao serial.
8

SCA-05
MANUAL DA COMUNICAO SERIAL

Faixa de valores
0 = Funo desabilitada
0,1 ... 999,9 segundos

Valor padro
0

Acesso
Leitura/ escrita

Uma vez programado este tempo, o drive ir iniciar a contagem do tempo a partir
do primeiro telegrama serial recebido. 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 (apenas caso P313 seja diferente de 1, caso contrrio ser necessrio fazer o
reset de erros).
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.

2.9. P315 Salva parmetros em memria no voltil


Permite selecionar se a escrita de parmetros via serial deve ou no salvar o
contedo dos parmetros em memria no voltil (EEPROM).
Faixa de valores
0 = No salva parmetros
1 = Salva parmetros

Valor padro
1

Acesso
Leitura/ escrita

Ao salvar o contedo do parmetro em memria no voltil, este parmetro fica


armazenado e recuperado aps o reset ou desligamento do drive. Esta memria,
porm, possui um nmero limite de escritas (100.000 vezes). Dependendo da aplicao,
este limite pode ser ultrapassado, caso alguns parmetros sejam escritos ciclicamente via
serial (referncia de velocidade, torque, comandos, etc.). Nestes casos, pode ser
desejado que, durante a operao do drive, a escrita via serial no salve o contedo dos
parmetros em memria no voltil, para no ultrapassar o limite de escritas no drive.
NOTA!
Este parmetro vlido apenas para os protocolos WEGBUS e Modbus-RTU. Para o
protocolo WEGTP, o tipo de telegrama que determina se o parmetro deve ou no ser
salvo em memria no voltil.

SCA-05
MANUAL DA COMUNICAO SERIAL

3. Descrio das Interfaces


3.1. RS-232
O SCA-05 possui uma porta serial RS-232C (conector X4) na sua configurao
bsica:

( 5V ) 1
( RSND ) 2
( 0V ) 3
( RX ) 4
( 0V ) 5
( TX ) 6

Figura 1 - Vista frontal do conector X4 (conector modelo RJ11)


Neste caso temos a ligao de um mestre a um servoconversor (ponto-a-ponto at
10m). Podem ser trocados dados na forma bidirecional, porm no simultnea (HALF
DUPLEX). Os nveis lgicos seguem a EIA STANDARD RS-232C, a qual determina o uso
de sinais no balanceados.
Para comunicao com o mestre, deve-se utilizar um fio para transmisso (TX), um
para recepo (RX) e uma referncia (0V), sinais estes presentes nos pinos 4, 5 e 6. Os
sinais presentes nos pinos 1, 2 e 3 so sadas deste conector para alimentao e controle
do conversor externo MIW-02, utilizado como uma das opes para comunicao RS-485.

10

SCA-05
MANUAL DA COMUNICAO SERIAL

3.2. RS-485
O SCA-05 possui duas possibilidades para utilizar a interface RS-485:

Mdulo opcional REM-05


Item WEG: 417110083 (kit KCR).
Conectado no lugar da IHM do produto.
Necessita de alimentao externa para a
interface RS-485.
Consulte o manual do SCA-05 para
maiores informaes.
Mdulo opcional MIW-02
Item WEG: 417100543.
Conversor RS-232 para RS-485.
Mdulo externo ao produto, conectado
na interface RS-232 do SCA-05.
Consulte o manual do MIW-02 para
maiores informaes.
Utilizando a interface RS-485 pode-se conectar at 30 drives em um mesmo
barramento, para os protocolos WEGBUS e WEGTP. O protocolo Modbus-RTU permite a
conexo de um nmero maior de drives, desde que utilizados tambm repetidores de
sinal ao longo do barramento. Por possuir uma boa imunidade a rudo, o comprimento
mximo do cabo utilizado no barramento de 1000 metros.

11

SCA-05
MANUAL DA COMUNICAO SERIAL

4. Endereos
4.1. Endereamento nos protocolos WEGBUS e WEGTP
Para os protocolos WEGBUS e WEGTP, durante a transmisso de telegramas, o
endereo selecionado no parmetro P308 representado por um caracter ASCII, de
acordo com a tabela a seguir:
Endereo
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

ASCII
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O

hexadecimal
0x40
0x41
0x42
0x43
0x44
0x45
0x46
0x47
0x48
0x49
0x4A
0x4B
0x4C
0x4D
0x4E
0x4F

Endereo
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

ASCII
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_

hexadecimal
0x50
0x51
0x52
0x53
0x54
0x55
0x56
0x57
0x58
0x59
0x5A
0x5B
0x5C
0x5D
0x5E
0x5F

Tabela 1 - Endereos para os protocolos WEGBUS e WEGTP


Endereos para executar tarefas especiais:

Endereo 0: qualquer servoconversor da rede consultado, independentemente de


seu endereo. Deve-se ter apenas um servoconversor ligado a rede (ponto-a-ponto)
para que no ocorram curto-circuitos nas linhas de interface.
Endereo 31: um comando pode ser transmitido simultaneamente para todos os
servoconversores da rede, sem reconhecimento de aceitao.

4.2. Endereamento no protocolo Modbus-RTU


Para o protocolo Modbus-RTU, o endereo programado no P308 j o valor que
ser utilizado diretamente para a troca dos telegramas. O endereo 0 (zero) utilizado
para mensagens do tipo broadcast (para todos os escravos simultaneamente), sem que
haja resposta por parte dos escravos.

12

SCA-05
MANUAL DA COMUNICAO SERIAL

5. Protocolo WEGBus
O protocolo de transmisso segue a norma ISO 1745 para transmisso de dados
em cdigo. So usadas somente seqncias de caracteres de texto sem cabealho.
So usados dois tipos de mensagens pelo mestre:

Telegrama de leitura: para consulta do contedo das variveis dos servoconversores;


Telegrama de escrita: para alterar contedo das variveis dos servoconversores.

No possvel uma transmisso entre dois servoconversores. O mestre tem o


controle do acesso ao barramento.

5.1. Telegrama de leitura


Este telegrama permite que o mestre receba do servoconversor o contedo
correspondente ao cdigo da solicitao. No telegrama de resposta o servoconversor
transmite os dados solicitados pelo mestre.
MESTRE:
EOT ADR

ENQ
CDIGO

SERVOCONVERSOR:
ADR STX

=
CDIGO

ETX BCC
VAL

TEXTO

Formato do telegrama de leitura

EOT: caracter de controle - End Of Transmission (valor 0x04);


ADR: endereo do servoconversor - 1 caracter ASCII (ver Tabela 1);
CDIGO: endereo da varivel - 5 caracteres ASCII (ver item 5.4);
ENQ: caracter de controle ENQuiry (solicitao) (valor 0x05);

Formato do telegrama de resposta do servoconversor

ADR: endereo do servoconversor - 1 caracter ASCII (ver Tabela 1);


STX: caracter de controle - Start of TeXt (valor 0x02);
TEXTO: consiste em:
- CDIGO: endereo da varivel - 5 caracteres ASCII (ver item 5.4);
- "=": caracter da separao (caracter em ASCII - valor 0x3E);
13

SCA-05
MANUAL DA COMUNICAO SERIAL
-

VAL: valor em 4 dgitos HEXADECIMAIS (cada um dos 4 dgitos corresponde a um


nmero de 0x00 a 0x0F, que concatenados formam o valor em hexadecimal que
transmitido via serial);
ETX: caracter de controle - End of TeXt (valor 0x03);

BCC: Byte de checksum - EXCLUSIVE OR de todos os bytes entre STX (excludo) e


ETX (includo), ou seja, de todos os bytes pertencentes ao TEXTO.

NOTA!
Em caso de erro no tratamento do telegrama, poder haver uma resposta do
servoconversor com:
ADR NAK

NOTA: Se o mestre enviar o endereo @ (ver item 4.1) no telegrama ADR, o


servoconversor responder o valor do endereo que o servoconversor se
encontra na rede no telegrama ADR.

5.2.

Telegrama de escrita

Este telegrama envia dados para os parmetros dos servoconversores. O


servoconversor ir responder indicando se os dados foram aceitos ou no.
MESTRE:
EOT ADR STX

=
CDIGO

ETX BCC
VAL

TEXTO
SERVOCONVERSOR:
ADR ACK

OU

ADR NAK

Formato do telegrama de escrita

EOT: caracter de controle - End Of Transmission (valor 0x04);


ADR: endereo do servoconversor - 1 caracter ASCII (ver Tabela 1);
STX: caracter de controle - Start of TeXt (valor 0x02);
TEXTO: consiste em:
- CDIGO: endereo da varivel - 5 caracteres ASCII (ver item 5.4);
- "=": caracter da separao (caracter em ASCII - valor 0x3E);
- VAL: valor em 4 dgitos HEXADECIMAIS (cada um dos 4 dgitos corresponde a um
nmero de 0x00 a 0x0F, que concatenados formam o valor em hexadecimal que
transmitido via serial);
- ETX: caracter de controle - End of TeXt (valor 0x03);
14

SCA-05
MANUAL DA COMUNICAO SERIAL

BCC: Byte de checksum - EXCLUSIVE OR de todos os bytes entre STX (excludo) e


ETX (includo), ou seja, de todos os bytes pertencentes ao TEXTO.

Formato do telegrama de resposta do servoconversor

Telegrama aceito pelo servoconversor:


- ADR: endereo do servoconversor - 1 caracter ASCII (ver Tabela 1);
- ACK: caracter de controle - ACKnowledge (valor 0x06);

Telegrama no aceito pelo servoconversor:


- ADR: endereo do servoconversor - 1 caracter ASCII (ver Tabela 1);
- NAK: caracter de controle - Not AcKnowledge (valor 0x15). Isso significa que os
dados no foram aceitos e a varivel endereada permanece com o seu valor
antigo.

NOTA: Se o mestre enviar o endereo @ (ver item 4.1) no telegrama ADR, o


servoconversor responder o valor do endereo que o servoconversor se
encontra na rede no telegrama ADR.

5.3.

Execuo e teste de telegrama

Antes de executar a ao solicitada pelo mestre, os servoconversores testam a


sintaxe do telegrama recebido. A seguir so definidas as respostas para as respectivas
condies encontradas durante a execuo dos testes:

Telegrama de leitura:
- Sem resposta : com estrutura do telegrama errada, caracteres de controle
recebidos errados ou endereo do servoconversor errado;
- NAK: cdigo correspondente varivel inexistente;
- TEXTO: com telegramas vlidos;

Telegrama de escrita:
- Sem resposta: com estrutura do telegrama errada, caracteres de controle
recebidos errados ou endereo do servoconversor errado;
- NAK: cdigo correspondente varivel inexistente, BCC (byte de checksum)
errado, varivel s de leitura, valor de escrita para a varivel em questo fora da
faixa permitida.
- ACK: com telegramas vlidos; o mestre deve manter entre duas escritas de
variveis para o mesmo servoconversor um tempo de espera compatvel com a
taxa de comunicao utilizada e o tempo de escrita na EEPROM (10ms).

A sintaxe da resposta tambm deve ser testada pelo mestre, para validar a
resposta recebida do escravo.

15

SCA-05
MANUAL DA COMUNICAO SERIAL
5.4.

Cdigo de variveis

O campo denominado de CDIGO contm o endereo de parmetros e variveis bsicas


composto de 5 dgitos (todos em ASCII) de acordo com o seguinte:
Cdigo:

X
Nmero da varivel bsica ou parmetro
Nmero do equipamento:
'A' : SCA-05 ou
'9': qualquer equipamento
Especificador:
0 = variveis bsicas caracter '0'
1 = P000 a P099 caracter '1'
2 = P100 a P199 caracter '2'
3 = P200 a P299 caracter '3'
...
Igual a zero (0) caracter '0'

5.5.

Exemplo de telegramas

Exemplo 1: alterao de P121, supondo que quero P121 = 1512 rpm (1512 = 0x05E8) e
que o endereo do servoconversor na rede 7 (P308 = 7).
MESTRE:
FORMATO ASCII
EOT

STX

HEXADECIMAL
2

CDIGO

0x00 0x05 0x0E 0x08 ETX 0x7D


VAL

TEXTO

SERVOCONVERSOR:
G

ACK

Ou o mesmo telegrama , mas representado todo no formato hexadecimal:

16

SCA-05
MANUAL DA COMUNICAO SERIAL

MESTRE:
0x04 0x47 0x02 0x30 0x32 0x41 0x32 0x31 0x3D 0x00 0x05 0x0E 0x08 0x03 0x7D
CDIGO

VAL
TEXTO

SERVOCONVERSOR:
0x47 0x06

Exemplo 2: leitura de P002, supondo P002 = 2130 rpm (2130 = 0x0852) no momento da
consulta, e que o endereo do servoconversor na rede seja o 10 (P308 = 10).
MESTRE:
FORMATO ASCII
EOT

ENQ

CDIGO
SERVOCONVERSOR:
FORMATO ASCII
J

STX

HEXADECIMAL
0

CDIGO

0x00 0x08 0x05 0x02 ETX 0x73


VAL

TEXTO

Ou o mesmo telegrama , mas representado todo no formato hexadecimal:


MESTRE:
0x04 0x4A 0x30 0x31 0x41 0x30 0x32 0x05
CDIGO
SERVOCONVERSOR:
0x4A 0x02 0x30 0x31 0x41 0x30 0x32 0x3D 0x00 0x08 0x05 0x02 0x03 0x73
CDIGO

VAL
TEXTO

17

SCA-05
MANUAL DA COMUNICAO SERIAL

6. Protocolo WEGTP
6.1.

Informaes importantes

S possvel ler ou escrever em at 6 parmetros e/ou variveis bsicas por vez.


O tempo de escrita na EEPROM de 10ms por parmetro portanto necessrio cuidarse para no sobrecarregar o servoconversor com muitos telegramas seguidos pois isto
pode fazer com que o servo conversor ignore os ltimos telegramas de modo a ter tempo
de escrever todos parmetros na EEPROM (quando isto ocorre o servoconversor indica
erro 23).
O nmero de escritas na memria EEPROM limita a vida til desta, portanto
recomendvel no se salvar na EEPROM parmetros que so escritos muitas vezes por
dia, o usurio deve salvar na EEPROM apenas aqueles parmetros em que isto
realmente necessrio.
Quando feita a leitura ou escrita de parmetros da placa opcional POS2 atravs
do SCA-05 usando o protocolo WEGTP, esta feita a qualquer instante do ciclo de scan.
Portanto aconselhvel que se faa uma imagem destes parmetros, ou seja, no inicio
do programa do usurio se copie estes parmetros para marcadores, durante o programa
do usurio se utilize apenas estes marcadores e no final do programa do usurio se copie
estes marcadores para seus respectivos parmetros.

6.2.

Campos do protocolo

STX: Byte de Start of Transmition: Valor: 0x02 (hexadecimal); 2 (decimal).


ETX: Byte de End of Transmition: Valor: 0x03 (hexadecimal); 3 (decimal).
ADR: Byte do endereo do servoconversor na rede
Faixa de Valores: 0x41 (hexadecimal); 65 (decimal); A (ASCII) ... 0x5E (hexadecimal);
94 (decimal); ^ (ASCII) Representam os valores de 1 ... 30 programados no
parmetro do endereo do servo na rede (P308) do servoconversor respectivamente.
Especial 1: 0x40 (hexadecimal); 64 (decimal); @ (ASCII) Permite escrita ou leitura
de todos os equipamentos conectados a rede.
Especial 2: 0x5F (hexadecimal); 95 (decimal); _ (ASCII) Permite SOMENTE escrita
em todos os equipamentos conectados a rede sem resposta de aceitao ou rejeio.

COD: Byte do Cdigo do Telegrama


Leitura: 0x3C (hexadecimal); 60 (decimal); < (ASCII)
Escrita: 0x3D (hexadecimal); 61 (decimal); = (ASCII) sem salvar o parmetro na
EEPROM
Escrita: 0x3E (hexadecimal); 62 (decimal); > (ASCII) salvando o parmetro na
EEPROM

BCC: Byte de Checksum longitudinal do telegrama, ou seja, OU EXCLUSIVO entre


todos os bytes do telegrama. Tamanho de 1 byte (0x00 ... 0xFF hexadecimal)

18

SCA-05
MANUAL DA COMUNICAO SERIAL

DMW: Data Master Write. So 4 bytes de escrita que o mestre envia ao escravo,
sendo que os 2 primeiros representam o parmetro e/ou a varivel bsica e os 2
ltimos o valor a ser escrito neste parmetro.
PHi: Byte representando a parte alta do parmetro
PLo: Byte representando a parte baixa do parmetro
VHi: Byte representando a parte alta do valor a ser escrito
VLo: Byte representando a parte baixa do valor a ser escrito
Exemplo: Escrever 2000 rpm na referncia de velocidade (P121) PHi = 0x00
(hexadecimal), PLo = 0x79 (hexadecimal), VHi = 0x07 (hexadecimal), VLo = 0xD0
(hexadecimal).

DMR: Data Master Read. So 2 bytes de leitura que o mestre envia ao escravo que
representam o parmetro a ser lido.
PHi: Byte representando a parte alta do parmetro
PLo: Byte representando a parte baixa do parmetro
Exemplo: Ler o valor contido no parmetro do sentido de giro (P027) PHi = 0x00
(hexadecimal), PLo = 0x1B (hexadecimal).

NUM: Byte que representa o nmero de DMW ou DMR a serem transmitidos,


conforme o COD do telegrama.
Faixa de valores: 1 ... 6 (decimal)

DSV: Data Slave Value. So 2 bytes que o escravo envia ao mestre aps uma
solicitao de um telegrama de leitura do mestre, representando o valor contido no
parmetro solicitado.
VHi: Byte representando a parte alta do valor a ser escrito
VLo: Byte representando a parte baixa do valor a ser escrito
Exemplo: Resposta a solicitao de leitura do parmetro de habilitao (P099) VHi
= 0x00 (hexadecimal), VLo = 0x01 (hexadecimal), informando que o servoconversor
est habilitado.

ACK: Byte de aceitao do escravo


Valor: 0x06 (hexadecimal); 6 (decimal);

NAK: Byte de rejeio do escravo aps uma leitura ou escrita do mestre. Pode ocorrer
quando o mestre solicita uma escrita ou leitura de um parmetro inexistente ou o valor
a ser escrito no parmetro est fora da faixa de valores permitida,
Valor: 0x15 (hexadecimal); 21 (decimal);

aps

uma

escrita

do

mestre

19

SCA-05
MANUAL DA COMUNICAO SERIAL
6.3. Formato dos telegramas
6.3.1. Telegrama de leitura
Mestre:
STX

ADR

COD

NUM

DMR

...

DMR

ETX

BCC

COD: cdigo para leitura 0x3C (hexadecimal); 60 (decimal); < (ASCII)


NUM: nmero de parmetros lidos. Faixa de 1 ... 6.
DMR: nmero do parmetro solicitado. O nmero de DMRs deve ser igual ao valor
configurado no byte NUM.

Escravo:
ADR

DSV

DSV

...

BCC

ou

ADR

NAK

DSV: valor do parmetro solicitado. O nmero de DSVs igual ao valor configurado no


byte NUM

Lembrando que:
DMR
PHi PLo

6.3.2.

DSV
VHi VLo

Telegrama de escrita

Mestre:
STX

ADR

COD

NUM

DMW

...

DMW

ETX

BCC

COD: cdigo para escrita


- 0x3E (hexadecimal); 62 (decimal); > (ASCII) salvando na EEPROM
- 0x3D (hexadecimal); 61 (decimal); = (ASCII) sem salvar na EEPROM
NUM: nmero de parmetros escritos. Faixa de 1 ... 6.
DMW: nmero e contedo para o parmetro. O nmero de DMWs deve ser igual ao
valor configurado no byte NUM.

Escravo:
ADR

ACK

ou

ADR

NAK

Lembrando que:
PHi

DMW
PLo VHi

VLo

20

SCA-05
MANUAL DA COMUNICAO SERIAL
6.4.

Variveis bsicas

As variveis bsicas so lidas da mesma maneira que os parmetros. A diferena


que necessrio somar 10.000 (hexadecimal) ao seu valor, ou seja, se for:

VB00 = Parmetro 10.000


- PHi: 0x27 (hexadecimal)
- PLo: 0x10 (hexadecimal)

VB02 = Parmetro 10.002


- PHi: 0x27 (hexadecimal)
- PLo: 0x12 (hexadecimal)

VB11 = Parmetro 10.011


- PHi: 0x27 (hexadecimal)
- PLo: 0x1B (hexadecimal)

6.5.

Exemplo de telegramas utilizando o protocolo WEGTP

Todos exemplos a seguir consideram que o servoconversor est programado com


o endereo 1 (P308=1) logo o campo ADR setado em 41 (ver Tabela 1)
Exemplo 1: leitura de dois parmetros do servoconversor:
Velocidade do servomotor - P002 (supondo P002 em 1200rpm = 0x04B0).
Estado do servoconversor - P006 (supondo P006 em 1 = 0x0001).
Mestre:
0x02
STX

0x41
ADR

0x3C
COD

0x02
NUM

0x00 0x02
DMR:P002
Parmetro

0x00 0x06
DMR:P006
Parmetro

0x03
ETX

0x7A
BCC

Escravo:
0x41 0x04 0xB0
ADR DSV:1200
Valor

0x00 0x01
DSV:1
Valor

0xF4
BCC

Exemplo 2: Mudar o servoconversor para modo posicionamento:


Para isto necessrio colocar o parmetro P202 em 3.
Telegrama de escrita salvando na EEPROM.
P202 = 3 (202 em decimal = 0x00CA, 3 em decimal = 0x0003)

21

SCA-05
MANUAL DA COMUNICAO SERIAL
Mestre:
0x02
STX

0x41
ADR

0x3E
COD

0x01
NUM

0x00

0xCA 0x00 0x03 0x03


DMW: P202 = 3
ETX
Parmetro
Valor

0xB6
BCC

Escravo:
0x41 0x06
ADR ACK

Exemplo 3: Configurar a funo MOVE para acionamento via serial :


Telegrama de escrita salvando na EEPROM.
P100=50 (100 em decimal = 0x0064, 50 em decimal = 0x0032)
P101=150 (101 em decimal = 0x0065, 150 em decimal = 0x0096)
P124=500 (124 em decimal = 0x007C, 500 em decimal = 0x01F4)
P436=1 (436 em decimal = 0x01B4, 1 em decimal = 0x0001)
P441=1 (441 em decimal = 0x01B9, 1 em decimal = 0x0001)
P481=3 (481 em decimal = 0x01E1, 3 em decimal = 0x0003)
Mestre (requisio):
0x02
STX

0x41
ADR

0x3E
COD

0x06
NUM

0x00

0x00

0x7C 0x01 0xF4


DMW:P124=500
Parmetro
Valor

0x01

0x01

0x03
ETX

0xE1 0x00 0x03


DMW:P481=3
Parmetro
Valor

0x64 0x00 0x32 0x00 0x65 0x00 0x96


DMW:P100=50
DMW:P101=150
Parmetro
Valor
Parmetro
Valor
0xB4 0x00 0x01
DMW:P436=1
Parmetro
Valor

0x01

0xB9 0x00 0x01


DMW:P441=1
Parmetro
Valor

0xBA
BCC

Escravo (resposta):
0x41 0x06
ADR ACK

Exemplo 4: Acionar a funo move via serial:


Telegrama de escrita sem salvar na EEPROM.
P435=1 (435 em decimal = 0x01B3, 1 em decimal = 0x0001)
P435=0 (435 em decimal = 0x01B3, 0 em decimal = 0x0000)

22

SCA-05
MANUAL DA COMUNICAO SERIAL
Mestre (requisio):
0x02
STX

0x41
ADR

0x3D
COD

0x02
NUM

0x01

0xB3 0x00 0x01 0x01 0xB3 0x00 0x00


DMW:P435=1
DMW:P435=0
Parmetro
Valor
Parmetro
Valor

0x03
ETX

0x7E
BCC

Escravo (resposta):
0x41 0x06
ADR ACK

23

SCA-05
MANUAL DA COMUNICAO SERIAL

7. 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 do SCA-05 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 esto definidos os formatos das mensagens utilizados 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.

7.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.
O servoconversor 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. A especificao do
protocolo recomenda que sejam utilizados 2 stop bits caso no se utilize bit de paridade.
A configurao do formato dos bytes feita atravs do P311.

7.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.
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)

24

SCA-05
MANUAL DA COMUNICAO SERIAL
7.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.
7.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.
No SCA-05, os dados relativos aos parmetros e variveis bsicas esto
disponibilizados como registradores do tipo holding (referenciados a partir do endereo
40000 ou '4x').
7.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 7.4).
7.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.
7.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 bits1). Sendo assim, caso
um telegrama tenha iniciado aps a decorrncia deste tempo mnimo, os elementos da
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
1

Sempre considerado o tempo de 11 bits como o tempo para transmisso de um byte, mesmo que no
parmetro P311 seja programado um formato de telegrama onde cada byte possua apenas 10 bits.

25

SCA-05
MANUAL DA COMUNICAO SERIAL
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
4800 bits/seg
9600 bits/seg
14400 bits/seg
19200 bits/seg

T 11 bits

T 3,5x

2,292 ms
1,146 ms
764 s
573 s

8,021 ms
4,010 ms
2,674 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).
T 3,5x
= Intervalo mnimo para indicar comeo e fim de telegrama (3,5 x T 11bits).

7.3. Operao do SCA-05 na rede Modbus-RTU


O SCA-05 possui as seguintes caractersticas quando operado em rede ModbusRTU:

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

7.3.1. Funes disponveis e tempos de resposta


Na especificao do protocolo Modbus-RTU so definidas funes utilizadas para
acessar diferentes tipos de registradores. No SCA-05, tanto parmetros quanto variveis
bsicas foram definidos como sendo registradores do tipo holding. Para acessar estes
registradores, foram disponibilizados os seguintes servios (ou funes):

26

SCA-05
MANUAL DA COMUNICAO SERIAL

Read Holding Registers


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

Write Single Register


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

Write Multiple Registers


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

Read Device Identification


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

7.3.2. Endereamento dos dados e offset


O endereamento dos dados no SCA-05 feito com offset igual a zero, o que
significa que o nmero do endereo eqivale ao nmero dado. Os parmetros so
disponibilizados a partir do endereo 0 (zero), enquanto que as variveis bsicas so
disponibilizadas a partir do endereo 5000. 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
...

...

...

P100

100

0x0064
...

...

...

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

...

...

V08

5008

0x1390

...

...

...

27

SCA-05
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
partido 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. Consulte a documentao do mestre para saber
como acessar registradores do tipo holding.

7.4. Descrio detalhada das funes


Neste item feita uma descrio detalhada das funes disponveis no SCA-05
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 seria transmitido como
sendo 95 (0x5F) via serial. Consulte o manual do SCA-05 para obter a resoluo
utilizada para cada parmetro.

7.4.1. 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 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+

Exemplo 1: leitura da velocidade do servomotor (P002) e corrente do servomotor (P003)


do SCA-05 no endereo 1 (supondo P002 = 1000 rpm e P003 = 3,5 A).
28

SCA-05
MANUAL DA COMUNICAO SERIAL

Endereo: 1 = 0x01 hexadecimal (1 byte)


Nmero do primeiro parmetro: 2 = 0x0002 hexadecimal (2 bytes)
Valor para o primeiro parmetro:1000 = 0x03E8 hexadecimal (2 bytes)
Valor para o segundo parmetro: 35 = 0x0023 hexadecimal (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
0x01
0x03
0x00
0x02
0x00
0x02
0x65
0xCB

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

Valor
0x01
0x03
0x04
0x03
0xE8
0x00
0x23
0x3B
0x9A

7.4.2. 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 2: escrita da referncia de velocidade (P121) em 1200 rpm, para o SCA-05 no


endereo 3.
Endereo: 3 = 0x03 hexadecimal (1 byte)
Nmero do parmetro: 121 = 0x0079 hexadecimal (2 bytes)
Valor para o parmetro: 1200 = 0x04B0 hexadecimal (2 bytes)

29

SCA-05
MANUAL DA COMUNICAO SERIAL
Pergunta (Mestre)
Campo
Endereo do escravo
Funo
Registrador (high)
Registrador (low)
Valor (high)
Valor (low)
CRCCRC+

Valor
0x03
0x06
0x00
0x79
0x04
0xB0
0x5A
0x85

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

Valor
0x03
0x06
0x00
0x79
0x04
0xB0
0x5A
0x85

Note que para esta funo, a resposta do escravo uma cpia idntica da
requisio feita pelo mestre.
7.4.3. 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 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)
Campo Byte Count (n de bytes de dados)
Dado 1 (high)
Dado 1 (low)
Dado 2 (high)
Dado 2 (low)
etc...
CRCCRC+

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+

Exemplo 3: escrita do tempo de acelerao (P100) = 10 ms/krpm e tempo de


desacelerao (P101) = 20 ms/krpm, de um SCA-05 no endereo 15.
Valores convertidos para hexadecimal:
- Endereo: 15 = 0x0F (1 byte)
- Nmero do primeiro parmetro: 100 = 0x0064 (2 bytes)
- Valor para o primeiro parmetro: 10 = 0x000A (2 bytes)
- Valor para o segundo parmetro: 20 = 0x0014 (2 bytes)

30

SCA-05
MANUAL DA COMUNICAO SERIAL
Pergunta (Mestre)
Campo
Endereo do escravo
Funo
Registrador inicial (high)
Registrador inicial (low)
No. de registradores (high)
No. de registradores (low)
Byte Count
P100 (high)
P100 (low)
P101 (high)
P101 (low)
CRCCRC+

Valor
0x0F
0x10
0x00
0x64
0x00
0x02
0x04
0x00
0x0A
0x00
0x14
0xE0
0x91

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

Valor
0x0F
0x10
0x00
0x64
0x00
0x02
0x01
0x39

7.4.4. 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+

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 um seqncia de caracteres ASCII. Para o SCA-05, apenas informaes bsicas
esto disponveis, formadas por trs objetos:

Objeto 0x00 - VendorName: Sempre 'WEG'.


Objeto 0x01 - ProductCode: Formado pelo cdigo do produto (SCA-05) mais a tenso
e corrente nominal do drive (ex. 'SCA-05 220-230V 4-8A').
31

SCA-05
MANUAL DA COMUNICAO SERIAL

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, o SCA05 suporta os cdigos 01 (informaes bsicas em seqncia), e 04 (acesso individual
aos objetos). Os demais campos para o SCA-05 possuem valores fixos.
Exemplo 4: leitura das informaes bsicas em seqncia, a partir do objeto 0x00, de um
SCA-05 no endereo 1:
Pergunta (Mestre)
Campo
Endereo do escravo
Funo
MEI Type
Cdigo de leitura
Nmero do Objeto
CRCCRC+

Valor
0x01
0x2B
0x0E
0x01
0x00
0x70
0x77

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
0x01
0x2B
0x0E
0x01
0x81
0x00
0x00
0x03
0x00
0x03
'WEG'
0x01
0x15
'SCA-05 220-230V 8-16A'
0x02
0x05
'V2.11'
0x06
0x43

Neste exemplo, o valor dos objetos no foi representado em hexadecimal, mas sim
utilizando os caracteres ASCII correspondentes. Por exemplo, para o objeto 0x00, o valor
'WEG' foi transmitido como sendo trs caracteres ASCII, que em hexadecimal possuem
os valores 0x57 ('W'), 0x45 ('E') e 0x47 ('G').
7.4.5. 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, o SCA-05 poder
ou no enviar resposta para o mestre. Quando o mestre envia uma mensagem para um
drive configurado em um determinado endereo da rede, o drive no ir responder ao
mestre caso ocorra:

Erro no bit de paridade.


Erro no CRC.
32

SCA-05
MANUAL DA COMUNICAO SERIAL

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).

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+

Exemplo 5: 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

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

Valor
0x01
0x86
0x02
0xC3
0xA1

33

SCA-05
MANUAL DA COMUNICAO SERIAL

8. Erros relacionados com a comunicao serial


Operam da seguinte forma:
No provocam bloqueio do servoconversor;
Informam no display e na palavra de estado lgico.

8.1. Cdigos de erros:

E22: erro de paridade longitudinal (BCC);


E23: tentativa de escrita, enquanto dados ainda esto sendo salvos na e2prom.
necessrio esperar 10ms por parmetro escrito antes da prxima escrita, ou seja,
numa tentativa de escrita de 6 parmetros necessrio esperar 60ms.
E25: varivel inexistente:
E26: valor desejado fora dos limites permitidos;
E27: tentativa de escrita em varivel s de leitura.
E28: erro de timeout na recepo de telegramas (pode bloquear o drive, se P313 = 1).
E29: se o valor de NUM maior que 6.

NOTA!
Erros vlidos somente para os protocolos WEGBUS e WEGTP, com exceo do E28, que
tambm vlido para o protocolo Modbus-RTU.

34

SCA-05
MANUAL DA COMUNICAO SERIAL

Apndices
Apndice A -

Tabela ASCII

Tabela 2 - Caracteres ASCII

35

SCA-05
MANUAL DA COMUNICAO SERIAL

Apndice B -

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 7.
/* Table of CRC values for highorder byte */
static unsigned char auchCRCHi[] = {
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1,
0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80,
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00,
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1,
0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x40 };
/* Table of
static char
0x00, 0xC0,
0x04, 0xCC,
0x08, 0xC8,
0x1D, 0x1C,
0x11, 0xD1,
0x37, 0xF5,
0x3B, 0xFB,
0x2E, 0x2F,
0x22, 0xE2,
0x62, 0x66,
0x6E, 0xAE,
0x7B, 0x7A,
0x77, 0xB7,
0x51, 0x93,
0x5D, 0x9D,
0x48, 0x49,
0x44, 0x84,
0x40 };

CRC values for loworder byte


auchCRCLo[] = {
0xC1, 0x01, 0xC3, 0x03, 0x02,
0x0C, 0x0D, 0xCD, 0x0F, 0xCF,
0xD8, 0x18, 0x19, 0xD9, 0x1B,
0xDC, 0x14, 0xD4, 0xD5, 0x15,
0xD0, 0x10, 0xF0, 0x30, 0x31,
0x35, 0x34, 0xF4, 0x3C, 0xFC,
0x39, 0xF9, 0xF8, 0x38, 0x28,
0xEF, 0x2D, 0xED, 0xEC, 0x2C,
0xE3, 0x23, 0xE1, 0x21, 0x20,
0xA6, 0xA7, 0x67, 0xA5, 0x65,
0xAA, 0x6A, 0x6B, 0xAB, 0x69,
0xBA, 0xBE, 0x7E, 0x7F, 0xBF,
0xB6, 0x76, 0x72, 0xB2, 0xB3,
0x53, 0x52, 0x92, 0x96, 0x56,
0x5F, 0x9F, 0x9E, 0x5E, 0x5A,
0x89, 0x4B, 0x8B, 0x8A, 0x4A,
0x85, 0x45, 0x87, 0x47, 0x46,

0x01,
0x40,
0x81,
0xC0,
0x00,
0x40,
0x81,
0xC0,
0x01,
0x41,
0x81,
0xC1,
0x01,
0x41,
0x81,
0xC1,
0x01,

0xC0,
0x00,
0x40,
0x80,
0xC1,
0x01,
0x40,
0x80,
0xC0,
0x00,
0x40,
0x81,
0xC0,
0x00,
0x40,
0x81,
0xC0,

0x80,
0xC1,
0x00,
0x41,
0x81,
0xC0,
0x01,
0x41,
0x80,
0xC1,
0x00,
0x40,
0x80,
0xC1,
0x01,
0x40,
0x80,

0x41,
0x81,
0xC1,
0x01,
0x40,
0x80,
0xC0,
0x00,
0x41,
0x81,
0xC1,
0x01,
0x41,
0x81,
0xC0,
0x01,
0x41,

0x00,
0x40,
0x81,
0xC0,
0x00,
0x41,
0x80,
0xC1,
0x00,
0x40,
0x81,
0xC0,
0x00,
0x40,
0x80,
0xC0,
0x00,

0xC1,
0x01,
0x40,
0x80,
0xC1,
0x01,
0x41,
0x81,
0xC1,
0x01,
0x40,
0x80,
0xC1,
0x01,
0x41,
0x80,
0xC1,

0x81,
0xC0,
0x01,
0x41,
0x81,
0xC0,
0x01,
0x40,
0x81,
0xC0,
0x01,
0x41,
0x81,
0xC0,
0x01,
0x41,
0x81,

0xC6,
0x0E,
0xDA,
0x17,
0x33,
0x3D,
0xE9,
0x24,
0xA0,
0xA4,
0xA8,
0xBD,
0xB1,
0x97,
0x9B,
0x8E,
0x82,

0x06,
0x0A,
0x1A,
0x16,
0xF3,
0xFF,
0x29,
0x25,
0x60,
0x6C,
0x68,
0xBC,
0x71,
0x55,
0x5B,
0x8F,
0x42,

0x07,
0xCA,
0x1E,
0xD6,
0xF2,
0x3F,
0xEB,
0xE5,
0x61,
0xAC,
0x78,
0x7C,
0x70,
0x95,
0x99,
0x4F,
0x43,

0xC7,
0xCB,
0xDE,
0xD2,
0x32,
0x3E,
0x2B,
0x27,
0xA1,
0xAD,
0xB8,
0xB4,
0xB0,
0x94,
0x59,
0x8D,
0x83,

0x05,
0x0B,
0xDF,
0x12,
0x36,
0xFE,
0x2A,
0xE7,
0x63,
0x6D,
0xB9,
0x74,
0x50,
0x54,
0x58,
0x4D,
0x41,

0xC5,
0xC9,
0x1F,
0x13,
0xF6,
0xFA,
0xEA,
0xE6,
0xA3,
0xAF,
0x79,
0x75,
0x90,
0x9C,
0x98,
0x4C,
0x81,

0xC4,
0x09,
0xDD,
0xD3,
0xF7,
0x3A,
0xEE,
0x26,
0xA2,
0x6F,
0xBB,
0xB5,
0x91,
0x5C,
0x88,
0x8C,
0x80,

*/
0xC2,
0xCE,
0xDB,
0xD7,
0xF1,
0xFD,
0xE8,
0xE4,
0xE0,
0x64,
0xA9,
0x7D,
0x73,
0x57,
0x9A,
0x4E,
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);


}

36

SCA-05
MANUAL DA COMUNICAO SERIAL

Apndice C - 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 7.
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 primeiro (CRC-) e em seguida
a parte mais significativa (CRC+).

37

S-ar putea să vă placă și