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

O Siemens SIMATIC S7-1200 é mais do que apenas um controlador lógico programável (CLP); é um pilar da automação industrial. O protocolo Modbus, conhecido por sua simplicidade e facilidade de implementação, é extremamente relevante neste contexto, pois facilita a comunicação industrial e a transmissão de dados em sistemas de automação de fábrica. Ao configurá-lo como um servidor Modbus, você pode compartilhar os dados com um gateway IoT configurado como cliente Modbus, permitindo o acesso remoto aos dados, inclusive enviando-os para a nuvem . Neste guia, vamos orientá-lo em todo o processo, desde a programação do CLP até a simulação da comunicação com um cliente Modbus.

Está pronto para desbloquear todo o potencial do seu Siemens S7-1200? Vamos começar!

Introdução ao Modbus e aos PLCs

Modbus é um dos protocolos mais utilizados em ambientes industriais . A maioria dos PLCs industriais, incluindo o Siemens SIMATIC S7-1200, suporta múltiplos protocolos de comunicação, como Profinet e Modbus. O Modbus em si possui duas variantes comuns: Modbus RTU (operando em uma arquitetura mestre-escravo sobre comunicação serial) e Modbus TCP (utilizando um modelo cliente-servidor sobre Ethernet).

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

Requisitos

Requisitos de hardware

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

2. Cabo Profinet/Ethernet

3. Fonte de alimentação para o CLP

Requisitos de software

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

Configuração de hardware

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

Configurando o PLC S7-1200 no TIA Portal

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

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

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

Configurando o PLC S7-1200 como servidor Modbus TCP

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

Arraste a MB_SERVER para o seu diagrama de lógica ladder:

O bloco MB_SERVER
  1. Criar 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_v4Selecione " como tipo de dados para configurar as definiçõ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, portanto o ID seria "64". Você pode encontrar o ID na página de configuração do dispositivo -> constantes do sistema:
  • ID é o ID do escravo, que digitamos como “1”. Mais tarde, precisaremos usar o mesmo ID no simulador de escravo.
  • O tipo de conexão deve ser “11” para TCP.
  • Defina o RemoteAddress para o endereço IP do seu computador (encontrado usando o comando ipconfig no Windows ou ifconfig no Linux/Mac).

O bloco de dados deve ter a seguinte aparência:

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

Agora, faça o download da configuração para o PLC Siemens clicando com o botão direito do mouse no PLC e selecionando “Download both hardware and software” (Baixar hardware e software). Se a operação for bem-sucedida, o PLC funcionará como um servidor Modbus TCP, pronto para comunicação.

Simulação da comunicação Modbus usando a ferramenta ModbusClientX

Leitura de dados Modbus usando ModbusClientX

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

  1. Abra o ModbusClientX e selecione Modbus TCP.
  2. Insira o endereço IP do seu PLC e clique em “Conectar”
Ferramenta ModbusClientX
  1. Clique em “Ler de 0 a 9” para recuperar os 10 primeiros valores de dados armazenados na de dados do CLP:
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 o esperado.

Escrevendo dados Modbus usando ModbusClientX

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

  1. Clique duas vezes em qualquer valor na coluna “Registro de Retenção” 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 PLCs da Siemens, garantindo que as estruturas de dados e os parâmetros estejam alinhados para uma comunicação bem-sucedida.
  2. Insira o 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 de óculos). O novo valor aparecerá na variável correspondente, confirmando a gravação bem-sucedida dos dados no CLP

Utilizando um Gateway IoT como cliente Modbus para coletar dados de sensores

Após 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. Dessa forma, o gateway IoT pode consultar continuamente o CLP em busca de dados dos sensores e transmiti-los para uma IoT como Ubidots , para monitoramento e análise em tempo real.

Passo 1: Identificar os Registradores Modbus

Primeiramente, você precisa garantir que todos os dados relevantes dos sensores estejam mapeados para registros Modbus específicos dentro do CLP. No MB_HOLD_REG do seu bloco de dados, você terá definido variáveis ​​que correspondem aos sensores conectados ao seu CLP. Os dados de cada sensor serão armazenados em registros de retenção 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 armazenamento individual.
  • Mapeie esses registros para saber qual registro corresponde a cada sensor Modbus ou ponto de dados (por exemplo, temperatura, pressão, vazão).

Etapa 2: Configure o Gateway IoT

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

  • Configure o endereço IP do servidor Modbus (o PLC da Siemens).
  • Certifique-se de que o Modbus TCP esteja selecionado.
  • Digite o número da porta (normalmente 502 para Modbus TCP) para conectar-se ao CLP.
  • Defina o intervalo de registros que o gateway IoT precisa consultar. Isso deve estar alinhado com os registros de retenção que você configurou no CLP para os dados do seu sensor.
  • Defina o intervalo de verificaçã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 coletados com sucesso pelo gateway IoT , você agora pode configurar o gateway para encaminhar esses dados para uma plataforma IoT industrial ou um destino interno (por exemplo, um servidor local) para processamento, armazenamento ou análise adicionais. A maioria gateway IoT oferece opções para envio de dados via MQTT , HTTP ou outros protocolos.

Ao integrar um gateway IoT como cliente Modbus, você possibilita um 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 sistemas SCADA baseados em nuvem .

Um SCADA baseado em nuvem e com tecnologia Ubidotspara manutenção preditiva no setor de petróleo e gás

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

Agora que você já sabe como configurar seu PLC S7 para funcionar como um servidor Modbus, aqui vão algumas dicas para uma configuração Modbus TCP confiável e eficiente. Seguindo estas orientações, você pode evitar problemas comuns de comunicação e simplificar tanto a configuração quanto a manutenção do seu PLC Siemens SIMATIC S7-1200.

  • Utilize sempre convenções de nomenclatura consistentes para seus blocos de dados, registradores e variáveis.
  • Teste sua configuração Modbus TCP usando um simulador de servidor Modbus antes de implantá-la em um ambiente de produção.
  • Certifique-se de que as versões do firmware do seu PLC Siemens e do software TIA Portal sejam compatíveis.
  • Utilize a alocação adequada de endereços IP e o encaminhamento de portas ao integrar o CLP em uma rede maior.
  • Documente todas as configurações e definições para facilitar a resoluçã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 , em uma rede industrial. O próximo passo é expandir essa configuração integrando-a a um gateway IoT industrial , permitindo o monitoramento e controle remoto de dados em 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 oferece suporte completo ao Modbus TCP, permitindo que ele atue como servidor ou cliente Modbus em um ambiente de comunicação TCP/IP.

O S7-1500 suporta Modbus TCP?

Sim, o Siemens S7-1500 também suporta Modbus TCP, oferecendo recursos avançados 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 PLC S7-1200?

O PLC Siemens S7-1200 suporta diversos 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 utilizada em sistemas de automação industrial.

Modbus RTU e RS-485 são a mesma coisa?

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

Qual protocolo de comunicação a Siemens PLC utiliza?

Os PLCs da Siemens geralmente utilizam 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.