Wat is Modbus TCP?

Modbus TCP is een industriële communicatiestandaard die gebaseerd is op het klassieke Modbus-protocol, maar werkt via Ethernet en TCP/IP in plaats van seriële communicatie (zoals RS-485).

Het protocol wordt veel gebruikt voor eenvoudige en betrouwbare communicatie tussen PLC’s, HMI’s, SCADA-systemen, Sensor, Actuator en I/O-modules.


🧠 Wat doet Modbus TCP?

Modbus TCP:

  • Stuurt meet- en besturingsdata over standaard Ethernet
  • Gebruikt het Modbus-protocol als applicatielaag
  • Verstuurt berichten via poort 502 over TCP/IP
  • Ondersteunt master-slave communicatie (één client stuurt meerdere servers aan)

🔧 Belangrijke kenmerken

Kenmerk Beschrijving
Protocoltype Open standaard, vrij te gebruiken
Transportlaag TCP/IP (poort 502) over Ethernet
Structuur Client/server (master/slave)
Berichtformaat Bevat Modbus PDU binnen een TCP-frame
Schaalbaarheid Meerdere clients en servers mogelijk
Lees-/schrijfbewerkingen Registers, coils, discrete inputs

📦 Voorbeelden van toepassingen

  • SCADAPLC communicatie
  • PLC ↔ Remote I/O of frequentieregelaars
  • Monitoring van energie- of watermeters
  • Verbinding tussen HMI’s en Sensor/Actuator
  • Integratie van bestaande installaties met nieuwe systemen

🔌 Modbus TCP vs. Modbus RTU

Aspect Modbus TCP Modbus RTU
Fysieke laag Ethernet (RJ45, TCP/IP) Serieel (RS-232 / RS-485)
Snelheid Hoog (10/100/1000 Mbit/s) Lager (9.6–115.2 kbit/s typisch)
Topologie Ster of geswitcht netwerk Busstructuur
Compatibiliteit Modernere netwerken en IT-integratie Eenvoudige legacy-systemen
Adressering IP-adressen Slave ID-nummers

🏭 Voorbeelden van Modbus TCP-apparaten

  • Siemens, Schneider, ABB, WAGO PLC’s
  • HMI-panelen met Ethernet
  • I/O-modules van Advantech, Beckhoff, Phoenix Contact
  • Slimme energiemeters en flowmeters

✅ Voordelen

  • Simpel en robuust protocol
  • Breed ondersteund door fabrikanten
  • Open standaard zonder licentiekosten
  • Makkelijk te implementeren in SCADA of softwareplatforms

🔒 Let op: Beveiliging

Modbus TCP zelf biedt geen ingebouwde beveiliging. Daarom is het belangrijk om:

  • Firewall te gebruiken
  • Netwerken te segmenteren (bijv. via VLAN of DMZ)
  • Modbus-communicatie alleen intern toe te staan
  • Gebruik te maken van beveiligde varianten (zoals Modbus over TLS)

🔍 Deep dive: Hoe werkt Modbus TCP?

📤 1. Client stuurt een request

De Modbus client (master) bouwt een TCP-bericht op met daarin:

  • Een Modbus Application Protocol (MBAP) header (7 bytes)
  • Een PDU (Protocol Data Unit) met:
  • Function code (zoals ‘read register’ = 0x03)
  • Startadres (bijv. 40001)
  • Aantal registers om te lezen of schrijven

Voorbeeld:

Lees 4 registers vanaf adres 40001 (function code 0x03).

Dit wordt verzonden via poort 502 over TCP/IP naar het IP-adres van het Modbus TCP-apparaat.


📥 2. Server ontvangt en verwerkt het bericht

De Modbus server (slave) ontvangt het bericht en voert het volgende uit:

  • Valideert de instructie (adres, type, toegang)
  • Leest of schrijft de gevraagde registers of coils
  • Bouwt een response op met de gevraagde data (of foutcode)

🔁 3. Response terug naar client

De server stuurt een Modbus TCP response terug via dezelfde TCP-verbinding. Deze bevat:

  • De originele MBAP-header (met transactie-ID)
  • Function code (mogelijk met foutbit)
  • Gelezen waarden of bevestiging van succesvolle actie

Bij fouten (bijv. ongeldig adres) wordt een foutcode teruggestuurd met het hoogste bit van de function code op 1 (bijv. 0x83 = fout bij 0x03).


🧪 Voorbeeldverloop

  1. Client stuurt: “Lees 2 registers vanaf 40001”
  2. Server antwoordt: “Register 40001 = 123, Register 40002 = 456”
  3. Client verwerkt deze data voor monitoring of sturing

🧠 Veelgebruikte function codes

Function code Beschrijving
0x01 Lees discrete outputs (coils)
0x02 Lees discrete inputs
0x03 Lees holding registers
0x04 Lees input registers
0x05 Schrijf één coil
0x06 Schrijf één register
0x10 Schrijf meerdere registers

📌 Samengevat

Modbus TCP is een eenvoudig en veelgebruikt Ethernet-protocol voor communicatie tussen industriële apparaten. Het combineert de eenvoud van het Modbus-protocol met de snelheid en flexibiliteit van moderne Ethernet-netwerken.