Você está na página 1de 15

Configuração para

o Modbus/TCP
cliente

Departamento de Pesquisa e Desenvolvimento


Versão. 1.0
Data: 20/março/2009
2 _________________________________________________________
Configuração para o Modbus-TCP Cliente.doc

ÍNDICE
ÍNDICE .................................................................................................................................................... 2
ÍNDICE DE FIGURAS ............................................................................................................................ 3
ÍNDICE DE TABELAS ........................................................................................................................... 4
1. Introdução ....................................................................................................................................... 5
1.1. Características do Modbus/TCP cliente ..................................................................................... 5
2. Configuração Modbus/TCP ............................................................................................................ 5
2.1. Parâmetros para a configuração Modbus/TCP Cliente............................................................... 8
3. Diagnósticos.................................................................................................................................. 13
3
Configuração para o Modbus-TCP Cliente.doc _________________________________

ÍNDICE DE FIGURAS
Figura 2.1 – Configuração gráfica da MCPU-1 versão 1.20 ou superior ...................................... 6
Figura 2.2 – Configuração gráfica para o Cliente Modbus/TCP .................................................... 6
Figura 2.3 – Inserindo um servidor na configuração ....................................................................... 7
Figura 2.4 – Configuração gráfica para os servidores Modbus/TCP ........................................... 7
Figura 2.1.1 – Desabilitando comandos 05 e 06 do Modbus (parte 1) ....................................... 12
Figura 2.1.2 – Desabilitando comandos 05 e 06 do Modbus (parte 2) ...................................... 13
Figura 3.1 – Monitoração dos servidores (parte 1) ....................................................................... 14
Figura 3.2 – Monitoração dos servidores (parte 2) ....................................................................... 15
4 _________________________________________________________
Configuração para o Modbus-TCP Cliente.doc

ÍNDICE DE TABELAS
Tabela 1.1.1 – Principais características para a configuração Modbus/TCP cliente ................................. 5
Tabela 2.1.1 – Parâmetros de comunicação .............................................................................................. 8
Tabela 2.1.2 – Parâmetros de acesso a dados ......................................................................................... 10
Tabela 2.1.3 – Suporte para os comandos Modbus TCP ....................................................................... 11
Tabela 2.1.4 – Tamanho máximo para os comandos Modbus suportados............................................. 11
Tabela 2.1.5 – Definição do comando Modbus ..................................................................................... 12
Tabela 3.1 – Diagnóstico das conexões estabelecidas no Modbus/TCP cliente .................................... 13
5
Configuração para o Modbus-TCP Cliente.doc _________________________________

1. Introdução
O objetivo é descrever a configuração Modbus/TCP Cliente utilizando o CitrinoTools.

As seguintes informações descrevem a configuração Modbus/TCP Cliente feita no


módulo MCPU-1 utilizando o CitrinoTools.
As informações aqui contidas valem somente para a MCPU-1 com firmware igual ou
superior a versão 1.20. Versões anteriores de firmware não suportam Modbus/TCP como
cliente. Para o CitrinoTools também valerá a configuração somente a partir da versão 1.3
ou superior.

1.1. Características do Modbus/TCP cliente


Abaixo estão relacionadas às principais características relacionadas ao
Modbus/TCP clientes na MCPU-1:

Comandos Modbus/TCP atendidos Read Coil, Read Discrete Input, Read Holding
Register, Read Input Register, Write Single Coil,
Write Single Register, Write Multiples Coils, Write
Multiples Registers, Mask 4x Write Register
Capacidade máxima de Servidores Até 32 Servidores configurados individualmente
configurados
Capacidade máxima de Acessos Até 512 acessos (média de 16 acessos por servidor)

Tabela 1.1.1 – Principais características para a configuração Modbus/TCP cliente

2. Configuração Modbus/TCP
O Software CitrinoTools deverá montar graficamente a configuração do Cliente
Modbus/TCP muito parecida com o que foi feito para a configuração Modbus-RTU. Nas
figuras abaixo é mostrada a parte gráfica da configuração:

1) Abra o Software CitrinoTools;


2) Arraste a fonte MPS-1 e a MCPU-1 versão 1.20 ou superior em seus respectivos
locais na aba Arquitetura de Sistema (observe Figura 2.1);
3) Vá até a aba Modbus/TCP e habilite o Cliente na MCPU-1 (observe a Figura 2.2).
Este parâmetro pode habilitar ou desabilitar toda a operação do Modbus/TCP
cliente;
4) Clique com o botão da direita no ícone da MCPU-1 e insira um servidor na
configuração (observe a Figura 2.3);
5) Clicando-se no ícone do servidor, pode-se configurar o IP e o TAG do
equipamento (Figura 2.4). Aparecerão duas tabelas na parte inferior da tela.
Uma delas conterá parâmetros de comunicações gerais e a outra conterá onde
será executado cada um dos acessos (comandos de leitura ou escrita);
6 Configuração para o Modbus-TCP Cliente.doc
_________________________________________________________

Figura 2.1 – Configuração gráfica da MCPU-1 versão 1.20 ou superior

Figura 2.2 – Configuração gráfica para o Cliente Modbus/TCP


7
Configuração para o Modbus-TCP Cliente.doc _________________________________

Figura 2.3 – Inserindo um servidor na configuração

Figura 2.4 – Configuração gráfica para os servidores Modbus/TCP

Abaixo está relacionado às definições e limites para cada uma das variáveis
dentro das estruturas:
8 Configuração para o Modbus-TCP Cliente.doc
_________________________________________________________

2.1. Parâmetros para a configuração Modbus/TCP


Cliente
No item anterior foi visto vários parâmetros que compõem a configuração
Modbus/TCP Cliente. Estes parâmetros estão divididos em dois tipos: Parâmetros de
comunicação e parâmetros de acesso as dados. Abaixo estão relacionados os tipos e suas
definições.

 Parâmetros de comunicação:

Estes parâmetros são válidos para todo o servidor, ou seja, mesmo que se tenha
vários acessos no servidor 1, por exemplo, estes parâmetros valerão para todos os
acessos do servidor 1. Na abaixo está a definição de cada um dos parâmetros.

Parâmetros de
Limites Descrição
comunicação
Não pode ser Endereço IP do servidor a ser
Endereço IP
XXX.XXX.XXX.255 ou 0.0.0.0 lido ou escrito
Porto Default: 502 Número do porto Modbus/TCP
Tempo de scan 1 ≤ scan time ≤ 100 Tempo de scan em 0.1 segundos
Timeout das mensagens em
Timeout 1 ≤ timeout ≤ 60
segundos
Número de tentativas de
Tentativas 0 ≤ retries ≤ 10
mensagens
Habilita ou desabilita a
Comunicação Default: Habilita
comunicação com este servidor

Tabela 2.1.1 – Parâmetros de comunicação

 Parâmetros de acesso a dados:

Estes parâmetros são válidos para todo o servidor, ou seja, mesmo que se tenha
vários acessos no servidor 1, por exemplo, estes parâmetros valerão para todos os
acessos do servidor 1. Na abaixo está a definição de cada um dos parâmetros.
9
Configuração para o Modbus-TCP Cliente.doc _________________________________

Parâmetros Características da
Descrição
de Acesso configuração
Tem a função de “trigar” a comunicação
quando necessário. Pode ser usado quando
o usuário escolher que determinado
Variáveis do tipo bit – ST,
Trigger da acesso ocorra somente se algum evento
DI, DO, WM, DM e sempre
comunicação (bit) estiver setado. Ou seja, como
ativado
trigger é uma variável do tipo bit, o
usuário poderá digitar por exemplo,
DI33, DO52, WM27.3, ST128.7, DM25.1
Quando DI ou DO – Índice é É um número que depende da variável
inteiro; escolhida no Trigger. Se a variável
Quando ST ou WM escolhida for DI ou DO, o número
Índice do Índice = X.Y digitado deverá ser um inteiro. Se a
Trigger X é inteiro variável for ST, WM ou DM, a variável
0 ≤ Y ≤ 15 deverá ser representada por X.Y onde Y
Quando DM é o valor do bit. Por exemplo:
0 ≤ Y ≤ 31 ST1.1, WM53.14, DM 1000.31
É o endereço do protocolo Modbus (este
Será verificado se a variável
endereço é herdado do protocolo
digitada está entre os
Endereço Modbus-RTU). Ou seja, não basta
valores inteiros 0 e 247 e
equipamento especificar o IP do equipamento, tem que
também poderá ser
ser dado um endereço físico caso
representado pelo valor 255
estejamos comunicando com um gateway.
Indica o sentido da operação. Se o
usuário escolher Local → Remoto,
Local → Remoto indicará que ele fará uma operação de
Operação
Local ← Remoto escrita. E se o usuário escolher Local ←
Remoto, indicará que ele fará uma
operação de leitura.
São as variáveis que serão utilizadas para
Variável Variáveis ST, DI, DO, AI,
fazer a operação de escrita (Local →
Local AO, WM, WF, DM, DF e RM
Remoto) ou leitura (Local ← Remoto).
É semelhante ao Índice do trigger, porém
Vale o mesmo raciocínio do
deve ser acrescentado o valor referente
Índice do Trigger, porém
às outras variáveis (AI, AO, WF, DF e
aqui o Índice não será
Índice da RM). O Software bloqueará a utilização
somente do tipo bit. Quando
variável local de certas variáveis de acordo com a
a variável não for bit,
operação. Por exemplo, não pode ser feito
simplesmente coloque o valor
uma operação de leitura nas variáveis
inteiro
ST<128, DI ou AI.
0xNúmero do “Coil”,
Serão representados os comandos 0x, 1x,
1xNúmero da Entrada
Variável 3x e 4x assim como nos sistemas
Discreta, 3xEndereço da
Remota supervisórios. Uma explicação mais
Entrada de Registros ou
detalhada será dado na Tabela 2.1.3.
4xEndereço de “Holding”
10 Configuração para o Modbus-TCP Cliente.doc
_________________________________________________________

Parâmetros Características da
Descrição
de Acesso configuração
Nesta coluna é representado o número de
operações de leitura e/ou escrita. A
quantidade está relacionada a variável
remota (0x, 1x, 3x ou 4x). Por exemplo se o
usuário configurar para leitura uma
Depende da variável remota
quantidade de 6, a variável local como sendo
e seu tamanho também
RM100 e utilizando o comando 4x, então o
depende do tamanho da
Quantidade usuário lerá o valor e armazenará em 3 RMs
configuração das variáveis
(RM100, RM101 e RM102) ou 6 Holding
locais no Tab memória e
Registers. Quando os comandos forem 3x e
Tags no CitrinoTools
4x (comandos 03, 04, 06, 16 e 22 do
Modbus), a quantidade será referente a
words e se forem utilizados comandos 0x e
1x (comandos 01, 02, 05 e 15), a quantidade
será referente a bits.
Nesta coluna é representado o erro
referente ao acesso (poll Record)
selecionado. A função deste bit é a de
disponibilizar para o usuário uma
Variável bit somente em
Erro informação de que a operação desejada não
WM ou opção nenhum
foi efetuada. O usuário poderá jogar esta
informação somente na região de WM. Se o
usuário não quiser tratar os erros no
Ladder bastará escolher a opção Nenhum.
WM
Índice do Índice = X.Y É semelhante ao Índice do trigger, porém
Erro X é inteiro só deverá ser utilizada a região de WM.
0 ≤ Y ≤ 15

Tabela 2.1.2 – Parâmetros de acesso a dados


Na coluna Variável Remota, tem-se as seguintes opções de variáveis: 0x, 1x, 3x e
4x. Na Tabela 2.1.3 tem-se um breve descritivo sobre os comandos Modbus/TCP
suportados. Neste campo, o endereço deverá ser digitado da seguinte maneira:

<Tipo> <Endereço>
Por exemplo – 4x10, 4x500, 0x100, 3x15, 1x200.
O CitrinoTools fará a codifcação de acordo com o comando Modbus
especificado. Por exemplo, se o usuário digitar 4x500 e a operação for
Local ← Remoto, o software deverá interpretar da seguinte maneira:
Holding Register = 500;
Comando Read Holding Register = 03;
Vale lembrar que o software verificará todos os limites dos comandos
Modbus contidos na norma. Por exemplo para o comando Read Coil (01), a
quantidade máxima de leitura é de 2000. Se o usuário digitar um valor
11
Configuração para o Modbus-TCP Cliente.doc _________________________________

maior que este, o software deverá acusar um erro. Os limites serão


explicados melhor na Tabela 2.1.4.

Tipo de Tamanho Leitura Escrita Descritivo


Registro
Eventos de leitura e escrita utilizando as instruções 01,
05 e 15 do Modbus. Se a operação for de leitura (Local
← Remote), o comando 01 deve ser utilizado, se a
0x (Coil
1 Bit X X operação for de 1 bit de escrita (Local → Remote), o
Status)
comando 05 deverá ser utilizado, se a operação for
maior que 1 bit de escrita (Local → Remote), o
comando 15 deverá ser utilizado.
1x (Input Eventos de leitura de bits utilizando a instrução 02 do
1 Bit X -
Status) Modbus
3x (Input Eventos de leitura de words utilizando a instrução 04
1 Word X -
Register) do Modbus
Eventos de leitura e escrita utilizando as instruções 03,
06, 16 e 22 do Modbus. Para se utilizar o comando 22,
a seguinte seqüência deverá acontecer: Variável local
do tipo bit (WM74.12), Variável remota 4x (4x00005)
e a operação deverá ser de escrita (Local → Remote).
4x Neste exemplo, o bit 12 do endereço 5 deverá ser
(Holding 1 Word X X setado ou zerado de acordo com o valor da variável
Register) WM74.12 (se este bit estiver setado, o bit 12 do
endereço 5 deverá ser setado). Com relação ao
comando 06, ele deverá ser utilizado quando a
operação for de escrita de somente 1 word, caso a
operação de escrita seja maior que 1, o comando 16
deverá ser utilizado.

Tabela 2.1.3 – Suporte para os comandos Modbus TCP

Comandos Modbus Tamanho máximo


01 – Read Coil 2000 Coils
02 – Read Discrete Input 2000 Inputs
03 – Read Holding Register 125 Holdings
04 – Read Input Register 125 Holdings
05 – Write Single Coil 1 coil
06 – Write Single Register 1 Holding
15 – Write Multiples Coils 1968 Coils
16 – Write Multiples Register 120 Holdings
22 – Write 4X Mask Register 1 Holding

Tabela 2.1.4 – Tamanho máximo para os comandos Modbus suportados

Com relação aos comandos Modbus, o CitrinoTools levará em consideração as


colunas Quantidade, Variável local e seu Índice, Variável Remota e o tipo de operação
(leitura - Local ← Remoto ou escrita - Local → Remoto). Na Tabela 2.1.5 mostra como o
software fará para definir qual comando deverá ser descarregado na MCPU-1.
12 Configuração para o Modbus-TCP Cliente.doc
_________________________________________________________

Índice
Tipo Operação Variável Remota Quantidade Comando
Variável Local
Local ← Remote 0x..... 0-15 ou 0-31 Não importa 01 – Read Coil
Bit
Local ← Remote 1x..... 0-15 ou 0-31 Não importa 02 – Read Input Discrete
Local ← Remote 3x..... Não tem Não importa 04 – Read Input Register
Word
Local ← Remote 4x..... Não tem Não importa 03 – Read Holding Register
Local → Remote 0x..... 0-15 ou 0-31 1 05 – Write Single Coil
Bit Local → Remote 0x..... 0-15 ou 0-31 >1 15 – Write Multiples Coils
Local → Remote 4x..... 0-15 1 22 – Mask 4x Write Register
Local → Remote 4x..... Não tem 1 06 – Write Single Register
Word
Local → Remote 4x..... Não tem >1 16 – Write Multiple Register

Tabela 2.1.5 – Definição do comando Modbus


Um ponto importante a ser observado é que alguns equipamentos podem não conter
os comandos Write Single Coil (05) e Write Single Register (06). Desta maneira, existe a
possibilidade de desabilitar estes comandos no CitrinoTools. Quando esses comandos
forem desabilitados, para escrita de 1 bit é utilizado o comando Write Multiples Coils
(15) ao invés do comando 05. E para escrita de 1 word será utilizado o comando Write
Multiples Register (16) no lugar do comando 06. Nas Figura 2.1.1 e Figura 2.1.2 pode-se
observar como desabilitar estes comandos.

Figura 2.1.1 – Desabilitando comandos 05 e 06 do Modbus (parte 1)


13
Configuração para o Modbus-TCP Cliente.doc _________________________________

Figura 2.1.2 – Desabilitando comandos 05 e 06 do Modbus (parte 2)

3. Diagnósticos
Para que o software possa indicar na monitoração se há algum erro em um
determinado servidor, qualquer erro no Poll Record daquele servidor deverá ser
representado nos status ST32 e ST33 de acordo com a ordem em que o servidor é
colocado graficamente. Ou seja, a primeira conexão será representada pelo bit ST32.0.
A segunda conexão será representada pelo bit ST32.1 e assim por diante até a conexão
32 ser representada pelo bit ST33.15. Se houver erro em pelo menos 1 poll Record
daquela conexão, o seu status ST32.x deverá ser setado para simbolizar o erro. O set e o
reset dos bits ST32.0 - ST32.15 e dos bits ST33.0 – ST33.15 serão feitos pelo
firmware. Observe a Tabela 3.1 que representa os valores das conexões em seus
respectivos status.
Mesmo que o usuário tenha configurado Nenhum na tabela Erro, o bit ST32.x
referente àquela conexão ainda assim poderá ser setado pelo firmware. Isto ocorrerá se
a conexão cair ou qualquer outro erro no poll record.

Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0


B0* C8 C7 C6 C5 C4 C3 C2 C1†
ST32
B1 C16 C15 C14 C13 C12 C11 C10 C9
B2 C24 C23 C22 C21 C20 C19 C18 C17
ST33
B3 C32 C31 C30 C29 C28 C27 C26 C25

Tabela 3.1 – Diagnóstico das conexões estabelecidas no Modbus/TCP cliente

O software CitrinoTools faz graficamente a monitoração dos bits ST32 e ST33.


Na Figura 3.1 e na Figura 3.2, é dado um exemplo de monitoração. Imagine que exista uma
configuração como o da Figura 3.1, com o servidor 1 sendo a Caldeira, o servidor 2 a
Fábrica, o servidor 3 a Destilaria e o servidor 4 a Moenda. Imagine também que a MCPU-

*
B0 – Byte 0; B1 – Byte 1 e assim por diante

C1 – Conexão 1; C1 – Conexão 2 e assim por diante
14 Configuração para o Modbus-TCP Cliente.doc
_________________________________________________________

1 localizada na Destilaria esteja desabilitada (ou seja não será acessada pelo nosso
Modbus/TCP cliente) e que o cabo ethernet da MCPU-1 esteja com defeito. Desta
maneira, quando clicarmos em monitoração, teremos algo semelhante ao que acontece na
Figura 3.2.

Figura 3.1 – Monitoração dos servidores (parte 1)

Observe que a Destilaria encontra-se em cinza pelo fato dela estar desabilitada

no momento da monitoração. A Fábrica encontra-se off-line na cor vermelha e a Caldeira

e a Moenda encontra-se on-line na cor verde. O software observa os Status ST32 e

ST33 na memória da MCPU-1 Cliente para poder fazer a monitoração graficamente,

facilitando assim o entendimento para o usuário.


15
Configuração para o Modbus-TCP Cliente.doc _________________________________

Figura 3.2 – Monitoração dos servidores (parte 2)

Você também pode gostar