Modbus

Siemens SIMATIC S7 PLC como servidor Modbus TCP: um tutorial rápido

Agustín Pelaez
· 8 min de leitura
Enviar por e-mail

O Siemens SIMATIC S7-1200 é mais do que apenas um controlador lógico programável (PLC); é a pedra angular da automação industrial. O protocolo Modbus, conhecido pela sua simplicidade e facilidade de implementação, é altamente relevante aqui, pois facilita a comunicação industrial e a transmissão de dados dentro da automação fabril. Ao configurá-lo como Servidor Modbus, você pode compartilhar os dados com um gateway IoT configurado como Cliente Modbus para monitoramento remoto. Neste guia, orientaremos você em todo o processo, desde a programação do CLP até a simulação da comunicação com um cliente Modbus.

Você está pronto para desbloquear todo o potencial do seu Siemens S7-1200? Vamos mergulhar!

Introdução ao Modbus e CLPs

Modbus é um dos protocolos mais utilizados em ambientes industriais. A maioria dos PLCs industriais, incluindo o Siemens SIMATIC S7-1200, suporta vários protocolos de comunicação, como Profinet e Modbus. O próprio Modbus vem em duas variantes comuns: Modbus RTU (operando em uma arquitetura mestre-escravo através de comunicação serial) e Modbus TCP (utilizando um modelo servidor-cliente através de Ethernet).

Neste tutorial demonstraremos como configurar o Modbus TCP IP S7 1200 como servidor e se comunicar com dispositivos através de uma rede industrial. Também usaremos um simulador Modbus para testar a configuração.

Requisitos

Requisitos de hardware

1. Siemens S7 PLC (estamos usando o modelo S7-1212C DC/DC/DC, mas qualquer série S7 com funcionalidade Modbus funcionará)

2. Cabo Profinet/Ethernet

3. Fonte de alimentação para o PLC

Requisitos de software

  1. TIA Portal V16 (para programação e configuração de PLC Siemens)
  2. MODBUS ClientX (um cliente Modbus TCP para simular comunicação)

Configuração de hardware

Para começar, conecte a fonte de alimentação ao PLC Siemens SIMATIC S7-1200. Utilize um cabo Profinet ou Ethernet para conectar a porta Ethernet do PLC ao seu PC ou switch de rede. Esta conexão é essencial para permitir a comunicação TCP/IP entre o CLP e seu cliente Modbus.

Configurando o CLP S7-1200 no TIA Portal

  1. Inicie o TIA Portal e crie um novo projeto em “Project View”.
Inicie o TIA Portal e crie um novo projeto em “Project View”.
Inicie o TIA Portal e crie um novo projeto em “Project View”.
  1. Selecione “Configurar um dispositivo” e depois “Adicionar novo dispositivo”. Escolha o modelo Siemens S7-1200 e a versão correta do firmware antes de clicar em “Adicionar”.
Adicione um novo dispositivo no TIA Portal

Na árvore do projeto, você pode navegar e gerenciar os componentes do seu projeto, como acessar propriedades e definições de configuração.

Nota importante : Se o PLC já contém um programa existente, certifique-se de usar o mesmo firmware e versão do TIA Portal. Caso contrário, é melhor atualizar para a versão mais recente disponível.

Configurando o CLP S7-1200 como Servidor Modbus TCP

  1. Navegue até o bloco “Principal (OB1)” na “Visualização do Projeto” para começar a criar um diagrama lógico ladder.
  1. Na janela “Instrução” à direita, vá em Comunicação -> Outros -> Modbus TCP .
A instrução MB_SERVER a ser adicionada ao programa principal

Arraste a MB_SERVER para o seu diagrama lógico ladder:

O bloco MB_SERVER
  1. Crie um bloco de dados:
Criando um bloco de dados

Clique no novo bloco de dados e adicione estas duas variáveis:

  • Dados : Uma matriz do tipo “Word” para armazenar dados Modbus (por exemplo, valores iniciais como “21”, “4” e “35”).
  • Conectar: Tipo "TCON_IP_v4" como tipo de dados para definir as configurações do servidor Modbus TCP. Imediatamente, você verá uma lista de variáveis ​​de configuração logo abaixo. Defina-as da seguinte forma:
    • A porta local deve ser definida como “502”, que é a porta padrão para comunicações Modbus TCP.
  • O InterfaceID é o ID de hardware da porta Ethernet do seu PLC. Na comunicação TCP/IP usamos a porta Ethernet, então o ID seria “64”. Você pode encontrar o ID na página configuração do dispositivo -> constantes do sistema:
  • ID é o Slave ID, escrevemos “1”. Posteriormente, teremos que usar o mesmo ID no simulador de escravos.
  • O tipo de conexão deve ser “11” para TCP.
  • Defina RemoteAddress para o IP do seu PC (encontrado usando ipconfig no Windows ou ifconfig no Linux/Mac)

O bloco de dados deve ficar assim:

Bloco de dados com duas variáveis: um array de "palavras" e uma variável TCON_IP_v4
  1. Por último, aponte a variável “ Data ” para o MB_HOLD_REG do bloco Modbus, e a variável “ Connect ” para o CONNECT do bloco Modbus:
O bloco de dados MB_SERVER, com as variáveis ​​de configuração anexadas.

Agora, baixe a configuração para o CLP Siemens clicando com o botão direito no CLP e selecionando “Baixar hardware e software”. Se for bem-sucedido, o PLC atuará como um servidor Modbus TCP, pronto para comunicação.

Simulando comunicação Modbus usando a ferramenta ModbusClientX

Lendo dados Modbus usando ModbusClientX

Para verificar se seu CLP está funcionando corretamente como servidor Modbus TCP, utilize a ferramenta ModbusClientX para simulação.

  1. Abra ModbusClientX e selecione Modbus TCP.
  2. Digite o endereço IP do seu PLC e clique em “Conectar”.
Ferramenta ModbusClientX
  1. Clique em “Ler de 0 a 9” para recuperar os primeiros 10 valores de dados armazenados na Data dentro do PLC:
Ferramenta ModbusClientX

Se os valores que você definiu (por exemplo, “21,” “4,” “35”) aparecerem, isso confirma que a comunicação Modbus TCP está funcionando conforme esperado.

Gravando dados Modbus usando ModbusClientX

O ModbusClientX também permite gravar dados no PLC, simulando cenários do mundo real, como sensores industriais e atuadores enviando dados.

  1. Clique duas vezes em qualquer valor na coluna “Holding Register” para abrir uma tela onde você pode inserir novos valores de dados. Os registros de retenção são cruciais na comunicação Modbus, pois permitem a manipulação flexível de dados nos CLPs da Siemens, garantindo que as estruturas de dados e os parâmetros se alinhem para uma comunicação bem-sucedida.
  2. Insira seu valor e clique em “Gravar no dispositivo”.

Em seguida, retorne ao TIA Portal e abra o bloco de dados no “Modo Monitor” (clique no ícone dos óculos). O novo valor aparecerá na variável correspondente, confirmando o sucesso da escrita dos dados no PLC:

Usando um Gateway IoT como cliente Modbus para pesquisar dados do sensor

Depois de configurar o Siemens S7-1200 como um servidor Modbus, você estará um passo mais perto da coleta contínua de dados de seus sensores usando um gateway IoT configurado como cliente Modbus, como um Teltonika TRB-140 ou um Advantech ADAM 6717 . Ao fazer isso, o gateway IoT pode pesquisar continuamente o PLC em busca de dados do sensor e transmiti-los para uma IoT como Ubidots , para monitoramento e análise em tempo real.

Etapa 1: Identifique os registros Modbus

Primeiro, você precisa garantir que todos os dados relevantes do sensor sejam mapeados para registros Modbus específicos dentro do PLC. No MB_HOLD_REG do seu bloco de dados você terá definidas variáveis ​​que correspondem aos sensores conectados ao seu CLP. Os dados de cada sensor serão armazenados em registradores específicos, que podem ser lidos pelo gateway IoT .

  • Certifique-se de que os dados de cada sensor sejam atribuídos corretamente a um registro de retenção individual.
  • Mapeie esses registros para saber qual registro corresponde a cada sensor Modbus ou ponto de dados (por exemplo, temperatura, pressão, vazão).

Passo 2: Configurar o Gateway IoT

Agora, configure o gateway IoT como cliente Modbus. Na interface de configuração do gateway :

  • Defina o endereço IP do servidor Modbus (o PLC Siemens).
  • Certifique-se de que o Modbus TCP esteja selecionado.
  • Insira o número da porta (geralmente 502 para Modbus TCP) para conectar ao PLC.
  • Defina o intervalo de registros que o gateway IoT precisa pesquisar. Isso deve estar alinhado com os registros de retenção configurados no PLC para os dados do sensor.
  • Defina o intervalo de votação de acordo com suas necessidades (por exemplo, a cada 5 minutos)

Etapa 3: enviar dados para a nuvem ou outro sistema

Com os dados Modbus sendo pesquisados ​​com sucesso pelo gateway IoT , agora você pode configurar o gateway para encaminhar esses dados para uma plataforma de nuvem ou um destino interno (por exemplo, servidor local) para processamento, armazenamento ou análise adicional. A maioria gateway IoT oferece opções para envio de dados via MQTT , HTTP ou outros protocolos.

Ao integrar um gateway IoT como um cliente Modbus, você permite o monitoramento robusto, escalável e centralizado de toda a sua rede de sensores, aproveitando todo o potencial da comunicação Modbus TCP e IoT como a criação de SCADAs SCADA em nuvem .

Um SCADA baseado em nuvem com tecnologia Ubidots para manutenção preditiva em petróleo e gás

Melhores práticas para configuração Modbus TCP/IP

Agora que você sabe como configurar seu PLC S7 para atuar como um servidor Modbus, aqui estão algumas dicas para uma configuração Modbus TCP confiável e eficiente. Seguindo estas diretrizes, você pode evitar problemas comuns de comunicação e agilizar a configuração e a manutenção do seu PLC Siemens SIMATIC S7-1200.

  • Sempre use convenções de nomenclatura consistentes para seus blocos de dados, registros e variáveis.
  • Teste sua configuração Modbus TCP usando um simulador de servidor Modbus antes de implantá-lo em um ambiente de produção.
  • Certifique-se de que as versões do firmware do PLC Siemens e do software TIA Portal sejam compatíveis.
  • Use a alocação de endereço IP e encaminhamento de porta adequados se estiver integrando o PLC em uma rede maior.
  • Documente todas as configurações e definições para facilitar a solução de problemas e a manutenção.

Conclusão e próximos passos

Seguindo este tutorial, você transformou com sucesso seu Siemens SIMATIC S7-1200 em um servidor Modbus TCP, capaz de ler e gravar dados para clientes Modbus, como sensores Modbus , através de uma rede industrial. O próximo passo é expandir esta configuração integrando-a com um gateway IoT industrial , permitindo monitoramento remoto de dados e controle sobre sistemas SCADA . Continue explorando o potencial da comunicação Modbus para aprimorar sua infraestrutura de automação industrial.

Perguntas frequentes

O S7-1200 suporta Modbus TCP?

Sim, o Siemens S7-1200 suporta totalmente Modbus TCP, permitindo que atue como um servidor ou cliente Modbus dentro de uma estrutura de comunicação TCP/IP.

O S7-1500 suporta Modbus TCP?

Sim, o Siemens S7-1500 também suporta Modbus TCP, proporcionando capacidades avançadas de comunicação em ambientes industriais.

Qual é o endereço IP padrão do PLC S7-1200?

O endereço IP padrão do PLC Siemens S7-1200 é normalmente 192.168.0.1 , mas isso pode ser alterado durante a configuração do dispositivo.

Qual é o protocolo de comunicação utilizado no CLP S7-1200?

O PLC Siemens S7-1200 suporta vários protocolos de comunicação, incluindo Profinet, Modbus TCP e Modbus RTU.

O que é Modbus TCP?

Modbus TCP é um protocolo usado para comunicação em redes TCP/IP. Ele permite que dispositivos Modbus troquem dados usando infraestrutura baseada em Ethernet, comumente usada em sistemas de automação industrial.

Modbus RTU e RS-485 são iguais?

Não, Modbus RTU refere-se ao protocolo de comunicação, enquanto RS-485 é a camada física usada para transmissão serial de dados em configurações Modbus RTU.

Qual protocolo de comunicação o Siemens PLC usa?

Os CLPs da Siemens geralmente usam Profinet, Modbus TCP e OPC UA para comunicação em ambientes industriais.

Qual é a diferença entre Modbus RTU e Modbus RS-485?

Modbus RTU é um protocolo de comunicação, enquanto RS-485 é o padrão de comunicação serial normalmente usado para implementar Modbus RTU em dispositivos industriais.