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

O Siemens SIMATIC S7-1200 é mais do que apenas um controlador lógico programável (PLC); é uma 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 da fábrica. Ao configurá-lo como um Servidor Modbus, pode partilhar os dados com um IoT gateway configurado como Cliente Modbus para monitorização remota. Neste guia, acompanhá-lo-emos ao longo de todo o processo, desde a programação do PLC até à simulação da comunicação com um cliente Modbus.

Está pronto para desbloquear todo o potencial do seu Siemens S7-1200? Vamos mergulhar de cabeça!

Introdução ao Modbus e aos PLCs

O 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 o Profinet e o Modbus. O próprio Modbus apresenta-se em duas variantes comuns: Modbus RTU (operando numa arquitetura mestre-escravo sobre comunicação em série) e Modbus TCP (utilizando um modelo servidor-cliente sobre Ethernet).

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

Requisitos

Requisitos de hardware

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

2. Cabo Profinet/Ethernet

3. Alimentação eléctrica 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 a comunicação)

Configuração de hardware

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

Configurar o PLC S7-1200 no Portal TIA

  1. Abrir o Portal TIA e criar um novo projeto em "Project View".
Abrir o Portal TIA e criar um novo projeto em "Project View".
  1. Selecione "Configure a Device" e depois "Add New Device". Escolha o modelo do seu Siemens S7-1200 e a versão correta do firmware antes de clicar em "Add".
Adicionar um novo dispositivo no Portal TIA

Na árvore do projeto, pode navegar e gerir os componentes do seu projeto, como aceder a propriedades e definições de configuração.

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

Configurar o PLC S7-1200 como servidor Modbus TCP

  1. Navegue para o bloco "Main (OB1)" na "Project View" para começar a criar um diagrama lógico em escada.
  1. Na janela "Instrução", à direita, ir para Comunicação -> Outros -> Modbus TCP.
A instrução MB_SERVER a acrescentar ao programa principal

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

O bloco MB_SERVER
  1. Criar um bloco de dados:
Criação de um bloco de dados

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

  • Dados: Uma matriz do tipo "Word" para armazenar dados Modbus (por exemplo, valores iniciais como "21", "4" e "35").
  • Ligar: Tipo "TCON_IP_v4" como tipo de dados para configurar as definições do servidor Modbus TCP. Imediatamente, aparece 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 predefinida para comunicações Modbus TCP.
  • O InterfaceID é o ID de hardware da porta ethernet do seu PLC. Na comunicação TCP/IP utilizamos a porta ethernet, pelo que o ID seria "64". Pode encontrar o ID na página de configuração do dispositivo -> constantes do sistema:
  • ID é o ID do escravo, escrevemos "1". Mais tarde, teremos de utilizar o mesmo ID no simulador de escravos.
  • O tipo de ligação deve ser "11" para TCP.
  • Defina RemoteAddress como o IP do seu PC (encontrado usando ipconfig no Windows ou ifconfig no Linux/Mac)

O bloco de dados deve ter o seguinte aspeto:

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

Agora, descarregue a configuração para o PLC da Siemens clicando com o botão direito do rato no PLC e selecionando "Download both hardware and software". Se for bem sucedido, o PLC actuará como um servidor Modbus TCP, pronto para comunicação.

Simular a comunicação Modbus usando a ferramenta ModbusClientX

Leitura de dados Modbus usando ModbusClientX

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

  1. Abra o ModbusClientX e selecione Modbus TCP.
  2. Introduza o endereço IP do seu PLC e clique em "Ligar".
Ferramenta ModbusClientX
  1. Clique em "Ler de 0 a 9" para obter os primeiros 10 valores de dados armazenados na matriz de dados do PLC:
Ferramenta ModbusClientX

Se os valores definidos (por exemplo, "21", "4", "35") aparecerem, isso confirma que a comunicação Modbus TCP está a funcionar como esperado.

Escrever dados Modbus usando ModbusClientX

O ModbusClientX também permite escrever dados de volta para o PLC, simulando cenários do mundo real, tais como sensores industriais e actuadores que enviam dados.

  1. Clique duas vezes em qualquer valor na coluna "Holding Register" para abrir um ecrã onde pode introduzir novos valores de dados. Os registos de retenção são cruciais na comunicação Modbus, uma vez que permitem a manipulação flexível de dados nos PLCs da Siemens, assegurando que as estruturas de dados e os parâmetros se alinham para uma comunicação bem sucedida.
  2. Introduza o seu valor e clique em "Escrever no dispositivo".

De seguida, voltar ao Portal TIA e abrir o bloco de dados no "Modo Monitor" (clicar no ícone dos óculos). O novo valor aparecerá na variável correspondente, confirmando o sucesso da escrita de dados no PLC:

Utilização de um IoT Gateway como cliente Modbus para sondar dados de sensores

Depois de ter configurado o Siemens S7-1200 como um servidor Modbus, está um passo mais perto de uma recolha de dados perfeita dos seus sensores utilizando um IoT gateway configurado como cliente Modbus, como um Teltonika TRB-140 ou um Advantech ADAM 6717. Ao fazê-lo, o IoT gateway pode sondar continuamente o PLC para obter dados do sensor e transmiti-los para uma plataforma de nuvem IoT, como o Ubidots, para monitorização e análise em tempo real.

Passo 1: Identificar os registos Modbus

Em primeiro lugar, é necessário garantir que todos os dados relevantes do sensor são mapeados para registos Modbus específicos no PLC. No campo MB_HOLD_REG do seu bloco de dados, terá definido variáveis que correspondem aos sensores ligados ao seu PLC. Os dados de cada sensor serão armazenados em registos de retenção específicos, que podem ser lidos pelo IoT gateway.

  • Assegurar que os dados de cada sensor são corretamente atribuídos a um registo de retenção individual.
  • Mapeie estes registos para saber qual o registo que corresponde a cada sensor Modbus ou ponto de dados (por exemplo, temperatura, pressão, caudal).

Passo 2: Configurar a IoT Gateway

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

  • Definir o endereço IP do servidor Modbus (o PLC Siemens).
  • Certifique-se de que o protocolo Modbus TCP está selecionado.
  • Introduzir o número da porta (normalmente 502 para Modbus TCP) para ligar ao PLC.
  • Defina o intervalo de registos que o IoT gateway precisa de sondar. Isto deve estar alinhado com os registos de retenção que configurou no PLC para os dados do sensor.
  • Defina o intervalo de sondagem de acordo com as suas necessidades (por exemplo, de 5 em 5 minutos)

Passo 3: Enviar dados para a nuvem ou outro sistema

Com os dados Modbus a serem sondados com êxito pelo IoT gateway, pode agora configurar o gateway para encaminhar estes dados para uma plataforma na nuvem ou para um destino interno (por exemplo, servidor local) para processamento, armazenamento ou análise adicionais. A maioria dos IoT gateways fornece opções para enviar dados via MQTT, HTTP ou outros protocolos.

Ao integrar uma IoT gateway como cliente Modbus, permite uma monitorização robusta, escalável e centralizada de toda a sua rede de sensores, tirando partido de todo o potencial da comunicação Modbus TCP e das capacidades da IoT industrial, como a criação de SCADAs baseados na nuvem.

Um SCADA baseado na nuvem e alimentado por Ubidots para Manutenção Preditiva em Petróleo e Gás

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

Agora que já sabe como configurar o seu PLC S7 para atuar como um servidor Modbus, aqui ficam algumas dicas para uma configuração Modbus TCP fiável e eficiente. Ao seguir estas diretrizes, pode evitar problemas de comunicação comuns e simplificar a configuração e a manutenção do seu PLC Siemens SIMATIC S7-1200.

  • Utilize sempre convenções de nomenclatura consistentes para os seus blocos de dados, registos e variáveis.
  • Teste a sua configuração Modbus TCP utilizando um simulador de servidor Modbus antes de a implementar num ambiente de produção.
  • Certifique-se de que as versões do firmware do seu PLC Siemens e do software do Portal TIA são compatíveis.
  • Utilize a atribuição adequada de endereços IP e o reencaminhamento de portas se integrar o PLC numa rede maior.
  • Documentar todas as configurações e definições para facilitar a resolução de problemas e a manutenção.

Conclusão e próximas etapas

Ao seguir este tutorial, transformou com sucesso o seu Siemens SIMATIC S7-1200 num servidor Modbus TCP, capaz de ler e escrever dados para clientes Modbus, tais como sensores Modbus, através de uma rede industrial. O próximo passo é expandir esta configuração, integrando-a com uma IoT industrial gateway, permitindo a monitorização remota de dados e o controlo sobre sistemas SCADA. Continue a explorar o potencial da comunicação Modbus para melhorar a sua infraestrutura de automação industrial.

FAQs

O S7-1200 suporta Modbus TCP?

Sim, o Siemens S7-1200 suporta totalmente o Modbus TCP, permitindo-lhe atuar 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, fornecendo recursos avançados de comunicação em ambientes industriais.

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

O endereço IP predefinido do PLC Siemens S7-1200 é normalmente 192.168.0.1, mas este 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 vários protocolos de comunicação, incluindo Profinet, Modbus TCP e Modbus RTU.

O que é o Modbus TCP?

O Modbus TCP é um protocolo utilizado para comunicar através de redes TCP/IP. Permite que os dispositivos Modbus troquem dados utilizando infra-estruturas baseadas em Ethernet, normalmente utilizadas em sistemas de automatização industrial.

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

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

Qual é o protocolo de comunicação utilizado pelo PLC da Siemens?

Os PLCs da Siemens utilizam normalmente Profinet, Modbus TCP e OPC UA para comunicação em ambientes industriais.

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

O Modbus RTU é um protocolo de comunicação, enquanto o RS-485 é a norma de comunicação em série normalmente utilizada para implementar o Modbus RTU em dispositivos industriais.