Vous êtes sur la page 1sur 20

s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

Comunicação MODBUS RTU entre S7 1200 e SINAMICS V20

Como fazer comunicação MODBUS RTU entre CPU S7 1200 e S INAMICS V20

Mateus Pinheiro Camargo 20/04/2016

Edson Camillo Giaccheto


Objetivo: Exemplificar como se configura uma comunicação MODBUS RTU. É mostrado um exemplo de
como configurar os blocos de comunicação por protocolo MODBUS RTU para comunicação de CPU S7
1200 com inversor SINAMICS V20.

Aviso: Este documento apresenta dicas e exemplos sobre o produto e supõe que o leitor possua
conhecimento básico prévio sobre o mesmo. Para informações completas e atualizadas, deve-se
consultar o manual do produto. O intuito deste texto é meramente didático, podendo ser alterado pela
Siemens sem aviso prévio. Os exemplos devem ser adaptados ao uso final e exaustivamente testados
antes de utilizados em projetos reais.

Índice

1. Procedimento........................................................................................................................................ 2
Softwares e Hardwares utilizados:............................................................................................................ 2
Parametrização do SINAMICS V20 ............................................................................................................ 3
Escolha da Macro de Conexão .............................................................................................................. 3
Exibição dos dados do processo recebidos via MODBUS RTU em RS485............................................. 4
Exibição dos dados do processo transmitidos via MODBUS RTU em RS485. ....................................... 5
Esquema de Ligação da Rede Modbus RTU .......................................................................................... 6
Configuração da comunicação no PLC ...................................................................................................... 8
Parametrização do bloco MB_COMM_LOAD ..................................................................................... 12
Parametrização do bloco MB_MASTER para leitura de variáveis do drive ........................................ 14
Parametrização do bloco MB_MASTER para escrita de valores no Sinamics V20.............................. 17
2. Referências.......................................................................................................................................... 20
3. Suporte técnico ................................................................................................................................... 20

20/04/2016 Página 1 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

1. Procedimento

Softwares e Hardwares utilizados:


 Step 7 Basic V13 SP1 (TIA Portal);
 S7 1200 – CPU 1214C DC/DC/DC;
 CM 1241 (RS485);
 SINAMICS V20 - 3ɸ AC400V 0.37KW UNFILTERED
 Motor 3ɸ de indução gaiola – 0.18KW 60Hz cosɸ 0.77

Figura 1 – Comunicação MODBUS RTU entre Sinamics V20 e S7-1200.

20/04/2016 Página 2 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

Parametrização do SINAMICS V20

Escolha da Macro de Conexão


O inversor de frequência SINAMICS V20 oferece, através de Macros, diferentes configurações
previamente definidas. Durante o processo de Comissionamento Básico deve-se escolher a Macro de
Conexão mais adequada à aplicação. Sendo assim, para se estabelecer comunicação MODBUS RTU, é
necessário selecionar a Macro de Conexão “Cn011”.

A escolha da Macro de Conexão “Cn011” define o ajuste dos parâmetros mostrados na Figura 2.

Figura 2 – Macro de Conexão “Cn011”.

20/04/2016 Página 3 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

Exibição dos dados do processo recebidos via MODBUS RTU em RS485.


O inversor SINAMICS V20 possui o parâmetro de leitura “r2018”, através desse parâmetro é
possível visualizar os dados que o inversor está recebendo da rede MODBUS RTU em RS485. O
parâmetro “r2018” possui oito índices, onde cada índice representa uma palavra de controle recebida
pelo inversor de frequência.

Por padrão de fábrica, a palavra recebida no índice “Zero” do parâmetro “r2018” é a Palavra de
Controle Ativo 1 (r0054), que representa entre outras coisas o comando de ON/OFF1 do inversor. Já o
índice “Um” do parâmetro “r2018”, recebe por padrão de fábrica o valor de setpoint de frequência.
Quanto aos outros índices, esses ficam disponíveis para receber quaisquer outras palavras que se deseje
transmitir através da rede de comunicação.

A Figura 3 representa o diagrama do parâmetro de leitura “r2018”.

Figura 3 – Parâmetro de Leitura “r2018”.

20/04/2016 Página 4 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

Exibição dos dados do processo transmitidos via MODBUS RTU em RS485.


O inversor SINAMICS V20 possui o parâmetro de escrita “P2019”, nesse parâmetro são definidos
os dados que serão transmitidos do inversor de frequência para rede MODBUS RTU em RS485. O
parâmetro “P2019” possui oito índices, onde cada índice representa uma palavra transmitida pelo
inversor de frequência.

Por padrão de fábrica, a palavra transmitida no índice “Zero” do parâmetro “P2019” é a Palavra
de Status Ativo 1 (r0052), que representa a primeira palavra de status ativo do inversor, usado para
diagnosticar status do inversor como falha ativa, por exemplo. Porém, todos os índices desse parâmetro
ficam disponíveis para serem configurados com palavras que se deseje transmitir através do inversor.

A Figura 4 representa o diagrama do parâmetro de escrita “P2019”.

Figura 4 - Parâmetro de Escrita “P2019”.

20/04/2016 Página 5 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

Esquema de Ligação da Rede Modbus RTU


A conexão entre o SINAMICS V20 e o CLP S7-1200 pode ser feita através do cabo PROFIBUS. Isso
é possível, pois o SINAMICS V20 faz comunicação Modbus RTU através da RS485, logo, o meio físico do
cabo PROFIBUS também é RS485. A Figura 5 ilustra a conexão realizada entre PG/S7-1200/V20.

Figura 5 – Esquema de Ligação da Rede MODBUS.

A partir da Figura 5 também é possível visualizar as formas de conexão no CLP S7-1200, para se
estabelecer conexão através da RS485 é necessário utilizar uma CM 1241 ou uma CB 1241. Já no
inversor SINAMICS V20 a conexão é feita através dos terminais 6 e 7 (P+ e N-, respectivamente). É
importante ressaltar a necessidade de utilização do Resistor de Terminação no primeiro e no último
equipamento da rede.

20/04/2016 Página 6 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

A Figura 6 ilustra o módulo e a placa de conexão RS485 para o CLP S7-1200.

Figura 6 - Módulo de Conexão RS485.

Por fim, quando se utiliza cabos com meio físico RS485 juntamente com conectores Pinos DB9
(CM 1241) é importante conferir a pinagem como mostra a Figura 7.

Figura 7 – Pinagem RS485 com Conector DB9.

20/04/2016 Página 7 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

Configuração da comunicação no PLC


Para realizar a comunicação MODBUS RTU entre a CPU S7 1200 e o drive Sinamics V20 será
necessário que o programador configure os blocos de comunicação MODBUS do software Step 7 (TIA
Portal) que são MB_COMM_LOAD e MB_MASTER. A configuração será feita em três passos: 1)
Parametrização do bloco MB_COMM_LOAD, 2) Parametrização do bloco MB_MASTER para leitura de
variáveis do drive e 3) Parametrização do bloco MB_MASTER para escrita de valores no Sinamics V20.
Antes da parametrização dos blocos é preciso adicionar os blocos no programa do PLC, criar as DB's que
serão utizadas pelos blocos e habilitar os bits da memória de relógio e sistema. Primeiramente, vamos
habilitar os bits da memória do S7 1200.

Depois de adicionado ou detectado o hardware que será utilizado na comunicação no software


Step 7 (TIA Portal), o programador deve seguir o seguinte caminho na árvore do projeto do PLC: Device
Configuration >> Properties >> System and clock memory e ,então, selecionar "enable the use of system
memory byte" e "enable the use of clock memory byte", escolhendo o byte da memória do CLP que será
utilizado para armazenar essas tags. Segue figura ilustrativa:

Figura 8 – Habilitando os bits da memória do S7-1200.

20/04/2016 Página 8 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

Agora serão adicionados os blocos de comunicação MODBUS para o S7 1200. Nesse exemplo, a
configuração da comunicação será feita dentro do main block (OB1). Assim, na aba instructions, o
programador deve arrastar e soltar os blocos de comunicação MB_COMM_LOAD e MB_MASTER para as
linhas do programa. Esses blocos de comunicação se encontram em communication >> communication
processo >> MODBUS. Seguem imagens ilustrativas:

Figura 9 – Biblioteca dos blocos utilizados.

20/04/2016 Página 9 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

Figura 10 – Blocos de comunicação nas respectivas Networks.

Observação 01: Quando os blocos de comunicação MB_COMM_LOAD e MB_MASTER são adicionados,


automaticamente são criados os instances DB's desses blocos, ou seja, quando o bloco for arrastado
para as linhas do programa aparecerá um Pop Up sobre a criação dos DB's. Nesse exemplo, os blocos de
comunicação foram associados aos DB'S 2 e 3.

Observação 02: Os blocos de comunicação MB_COMM_LOAD e MB_MASTER só podem ser utilizados


uma vez por programa, ou seja, se o programador deseja reutilizar os blocos para comunicar com mais
de um drive Sinamics V20, ele deve criar um FB com esses blocos e chamar essa FB mudando os
parâmetros de acordo com a necessidade.

Na sequência deve se criar os DB's globais que serão utilizados para armazenar os valores das
variáveis do inversor Sinamics V20, esses DB's estarão associados ao bloco MB_MASTER. Criou-se dois
DB's globais, 1 e 4, sendo o DB1 para leitura de variáveis e o DB 4 para escrita no drive.

20/04/2016 Página 10 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

Figura 11 - Criação das DB’s Globais.

Observação 03: Por padrão do software step 7 (TIA Portal), quando um data block é criado, ele é criado
como um bloco "optimized". Para os blocos de comunicação essa função não pode ser habilitada, pois
existe uma incompatibilidade. Desse modo, o programador deve desabilitar essa função nas
propriedades do DB. Segue imagem ilustrativa:

Figura 12 – Desabilitando a função Optimized das propriedades do DB.

20/04/2016 Página 11 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

Parametrização do bloco MB_COMM_LOAD


A instrução "MB_COMM_LOAD" é utilizada para configurar a porta que fará a comunicação
utilizando o protocolo MODBUS RTU. A configuração do bloco é feita por cinco parâmetros, além dos
bits de indicação e a word de status do bloco.

A função do primeiro parâmetro do bloco "REQ" é habilitar a execução da instrução sempre que
existir uma borda de subida (valor do bit vai de 0 para 1), nesse caso como a comunicação é feita
sempre entre a mesma CM 1241 com os mesmos valores de comunicação, é necessário que a porta seja
configurada apenas uma vez. Desse modo, foi utilizado o bit "first scan" (habilitado no system memory),
o qual proporciona uma borda de subida quando a CPU é inicializada (primeiro ciclo).

O parâmetro "PORT" é onde se entra o ID da porta que está sendo utilizada para comunicação,
no caso desse exemplo é a CM 1241 (RS485). O ID da CM pode ser adicionado de duas maneiras:
procurando pela CM ou entrando o número de ID do hardware. Segue imagem ilustrativa:

Figura 13 - Adicionando o ID da CM 1241.

Os parâmetros "BAUD" e "PARITY" são respectivamente o valor da baud rate da comunicação e


da paridade. Na programação do Sinamics V20, se utilizado a macro de conexão CN011, os valores
padrão de baud rate e paridade dessa macro são 9600bps e “even”(par), respectivamente.

Figura 14 – Parâmetros referentes ao Baud Rate e a Paridade.

O Parâmetro MB_DB é uma referência ao instance DB do bloco MB_MASTER. Depois que o


bloco MB_MASTER é inserido no programa, um instance DB é criado e esse instance DB deve ser
inserido como parâmetro para a configuração da sua porta de comunicação.

20/04/2016 Página 12 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

Figura 15 – Configuração do parâmetro MB_DB.

Para que possamos fazer a verificação dos possíveis erros de comunicação com o bloco, é
importante que o programador adicione uma linha de código para armazenar o status do bloco (código
de erro) quando o bit de erro do bloco estiver ativo. Para isso, é adicionado um memória booleana no
parâmetro "ERROR" do bloco e uma memória word no parâmetro "STATUS", depois faz se um linha
onde é transferido o valor do status de erro para um memória word auxiliar toda vez que o bit de erro
estiver ativo. Segue imagem ilustrativa:

Figura 16 - Configuração dos parâmetros ERROR e STATUS.

20/04/2016 Página 13 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

Por fim, o bloco “MB_COMM_LOAD” no final deve estar como a figura a seguir:

Figura 17 – ERROR e STATUS configurados.

Parametrização do bloco MB_MASTER para leitura de variáveis do drive


A instrução MB_MASTER permite que o programa criado comunique como um mestre MODBUS
usando como porta de comunicação um módulo ponto a ponto (CM) ou uma placa de comunicação
(CB). O programador pode acessar os dados de um ou mais escravos MODBUS. Antes de a instrução
MB_MASTER poder comunicar com a porta escolhida, a instrução MB_COMM_LOAD deve ser
executada. Um instance DB é criado quando se insere no programa o bloco MB_MASTER. Como falado
anteriormente, o programador deve especificar qual o DB da instrução MB_MASTER no parâmetro
MD_DB da instrução MB_COMM_LOAD.
O parâmetro "REQ" da instrução MB_MASTER é configurada para requisitar dados (valor 1) ou
não requisitar dados (valor 0) do MODBUS slave. Nesse exemplo, foi utilizado o bit do system memory
"alwaysTrue" que é um bit que sempre está ativo (valor 1).

Figura 18 – Parâmetro REQ.

20/04/2016 Página 14 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

O parâmetro "MB_ADDR" é o endereço MODBUS RTU do escravo na rede. Na parametrização


do Sinamics V20 foi escolhido a Macro Cn0011 para controle do drive, nessa macro o valor do
parâmetro P2021 (endereço MODBUS do drive) é configurado, por padrão como 1 (esse valor pode ser
alterado para o valor desejado). Desse modo, o valor que deve ser inserido no parâmetro “MB_ADDR” é
o mesmo valor encontrado no P2021 do drive.

No parâmetro "MODE" é onde escolhemos se a CPU S7 1200 estará lendo, escrevendo ou


realizando diagnóstico do escravo da rede MODBUS. Nesse passo a instrução MB_MASTER foi
parametrizada para fazer a leitura dos valores do Sinamics V20, assim o valor que deve ser colocado no
parâmetro do bloco é zero.

"DATA_ADDR" é o parâmetro que especifica o endereço inicial dos dados a serem acessados no
escravo MODBUS. Os endereços válidos e suas descrições são encontrados na tabela de função
MODBUS que está presente nas páginas 142 até 143 do manual de operação do Sinamics V20. Nesse
exemplo, foi feita a leitura dos endereços 40344 e 40345 que são respectivamente a tensão no link DC
do drive e a corrente de saída do drive.

Figura 19 – Endereços da Tabela de Funções MODBUS.

O parâmetro "DATA_LEN" especifica o número de bits ou words que serão acessados pelo
mestre MODBUS. Os tamanhos válidos de cada endereço estão na tabela de função MODBUS do
Sinamics V20. No exemplo, foi feito a leitura de dois registradores 40344 e 40345, sendo cada
registrador uma word. Desse modo, o valor a ser inserido no parâmetro do bloco é dois. O campo
"DATA_PTR" está associado ao local onde esses valores estarão armazenados. No começo desse
documento foram criadas duas DB's não "optimized" onde serão armazenados os valores de leitura e
escrita, agora deve-se apontar para esses endereços no parâmetro "DATA_PTR". Como são dois
registradores, uma das maneiras de se escrever o ponteiro para os endereços é "P#DB1.DBX0.0 byte 4",
ou seja, na DB1 (DB1 criada para as variáveis de leitura) a partir do primeiro bit DBX 0.0 contar 4 bytes (2
bytes para cada um dos registradores). O bloco “MB_MASTER” todo parametrizado com a mesma lógica
de "trap" para armazenar o status do bloco MB_MASTER quando houver algum erro e a DB com as
variáveis de leitura. Seguem imagens ilustrativas:

20/04/2016 Página 15 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

Figura 20 – Configuração do Bloco MB_MASTER para leitura de variáveis.

Figura 21 – Tensão no Link DC e Corrente de saída do inversor.

20/04/2016 Página 16 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

Para testar a comunicação foram monitorados os valores do DB no PLC com o drive ligado e o
motor parado e com o drive ligado e o motor rodando a 60 Hz, desse modo, obtivemos:
Sinamics V20 ligado - Motor parado:

Figura 22 – Primeira leitura das variáveis do inversor.

Sinamics V20 ligado - Motor em 60 Hz:

Figura 23 – Segunda leitura das variáveis do inversor.

Observação 04: Os valores mostrados são respectivamente 523 V e 0.72 A.

Parametrização do bloco MB_MASTER para escrita de valores no Sinamics V20


Para a configuração da instrução MB_MASTER para escrita no PLC é necessário fazer algumas
alterações nos parâmetros do bloco. Nesse exemplo, vamos enviar o comando de ON/OFF1 e setpoint
pela rede para o Sinamics V20. O primeiro parâmetro do bloco da instrução que deve ser alterado é o
"MODE", como agora será realizado a escrita, o valor do parâmetro MODE do bloco MB_MASTER deve
estar em “1”.

Para fazer o procedimento de “Liga” do Sinamics V20 e envio de setpoint é necessário que se
escreva valores na primeira control word (PZD1) e segunda control word (PZD2) de comunicação do
drive. Na tabela de funções MODBUS a primeira control word se encontra no endereço 40100 e a
segunda control word no endereço 40101.

Figura 24 – Endereços da Tabela MODBUS para Primeira e Segunda Control Word.

20/04/2016 Página 17 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

Desse modo, no parâmetro “DATA_ADDR” deve ser configurado o primeiro endereço que será
usado nessa aplicação 40100 e como foi apenas dado o comando de Liga e enviado o setpoint, então, o
parâmetro “DATA _LEN” deve permanecer o mesmo do passo anterior, ou seja, igual a dois.

Por fim, no parâmetro “DATA_PTR”, deve se apontar os bytes que serão utilizados para
armazenar os valores do endereço 40100 e 40101. No exemplo, foi utilizada a DB4 configurada para não
ser um data block optimized. Nesse DB, a primera Word é para a primeira Control Word e a segunda
Word é para a segunda Control Word. Por fim, o bloco parametrizado para leitura e a DB global de
armazenamento dos valores fica como mostram as figuras a seguir:

Figura 25 – Configuração do Bloco MB_MASTER para escrita de valores no inversor.

Figura 26 – Comando de ON/OFF1 (PZD 1) e Setpoint (PZD 2).

20/04/2016 Página 18 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

Para testar a configuração do bloco e a comunicação com o Sinamics V20, foi criado uma Watch
Table no projeto para que os valores das words do DB4 fossem modificados. Assim, enviamos na
primeira Control Word o valor 16#47F para partir o drive e depois enviamos 16#4000 (equivalente a 60
Hz, valor nominal do motor desde que a frequência de referência seja 60Hz, vide Parâmetro P2000) na
control Word 2 do setpoint.

Figura 27 – Watch Table para teste de controle via rede.

20/04/2016 Página 19 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline
s Step 7 Basic V13 SP1 – Comunicação MODBUS RTU

2. Referências

 Manual do step 7 basic V13 SP1

Link: https://support.industry.siemens.com/cs/br/pt/view/89336297/en

 Manual do SINAMICS V20

Link: https://support.industry.siemens.com/cs/br/pt/view/109736384

Observação: A Tabela de Mapeamento Modbus encontra-se a partir da página 158 do manual do


SINAMICS V20.

3. Suporte técnico

Siemens Industry Sector


Customer Service Division / Service Delivery

- Technical Support & Hotline –

Requisição de suporte: https://support.industry.siemens.com/my/br/pt/requests/#createRequest

Tel.: 0800 773 73 73

Portal de Suporte: https://support.industry.siemens.com/

Homepage Brasil: www.siemens.com.br

20/04/2016 Página 20 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline

Vous aimerez peut-être aussi