Académique Documents
Professionnel Documents
Culture Documents
Como fazer comunicação MODBUS RTU entre CPU S7 1200 e S INAMICS 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
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
A escolha da Macro de Conexão “Cn011” define o ajuste dos parâmetros mostrados na Figura 2.
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
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.
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
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.
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
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
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.
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
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:
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
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
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:
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
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:
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
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:
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:
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
"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.
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
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:
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.
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:
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.
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
Link: https://support.industry.siemens.com/cs/br/pt/view/89336297/en
Link: https://support.industry.siemens.com/cs/br/pt/view/109736384
3. Suporte técnico
20/04/2016 Página 20 / 20
s Industry Sector - Technical Support & Hotline www.siemens.com.br/Hotline