Este artigo demonstra como estabelecer a comunicação Modbus RTU entre um CLP Siemens S7-1200 e um servo drive da série A6-RS da STEPPERONLINE.
Cenário de aplicação: O CLP S7-1200 atua como mestre Modbus RTU e o servo drive A6-RS atua como escravo. O CLP lê a tensão do barramento CC do servo drive.
Pré-requisitos
Prepare os seguintes itens antes de começar:
- CLP S7-1200: CPU 1215C DC/DC/DC
- Qualquer servomotor da série A6-RS
- Um cabo de comunicação RS-485
Procedimento
1. Definir os parâmetros do servo drive
Configure os seguintes parâmetros no servo drive A6-RS:
| Parâmetro | Valor | Descrição |
|---|---|---|
| C0A.00 | 1 | Endereço do escravo Modbus |
| C0A.01 | 7 | Taxa de transmissão Modbus |
| C0A.02 | 0 | Formato de comunicação Modbus |
2. Configurar o módulo de comunicação Modbus RTU

3. Habilitar a memória do sistema
Na árvore do projeto, selecione PLC_1, clique com o botão direito em Propriedades, navegue até Memória do sistema e do relógio e marque Habilitar o uso do byte de memória do sistema.

4. Chamar a instrução MB_COMM_LOAD
Abra o bloco Main (OB1). No painel Instruções, navegue até Comunicação → Processador de comunicação → Modbus e arraste a instrução MB_COMM_LOAD para um segmento do programa, conforme mostrado abaixo:

5. Criar buffers de envio e recebimento de dados
Na árvore do projeto, selecione Adicionar novo bloco → Bloco de dados (DB) → OK, conforme mostrado abaixo.
Após adicionar o novo bloco de dados, desative a opção Acesso otimizado ao bloco e defina as áreas de buffer de envio e recebimento de dados.

6. Chamar a instrução MB_MASTER
Abra o bloco de organização Main (OB1). No painel Instruções, navegue até Comunicação → Processador de comunicação → Modbus e arraste a instrução MB_MASTER para um segmento do programa, conforme mostrado abaixo:

Configure os parâmetros da instrução da seguinte forma:
- MB_ADDR: Defina como 1 (o endereço do escravo configurado na Etapa 1).
- MODE: Defina como 0 (modo de leitura).
- DATA_ADDR: Defina como 16#4006 para ler o registrador U40.06 (tensão do barramento CC). Use o endereço direto do registrador; não adicione o deslocamento 40001 normalmente usado no endereçamento Modbus.
7. Executar o programa
Monitore o valor de U40.06 no programa do CLP. Os dados recebidos estão em formato hexadecimal; converta-os para decimal e compare com o valor de U40.06 exibido no servo drive A6-RS para verificar a correção.