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

KenmerkBeschrijving
ProtocoltypeOpen standaard, vrij te gebruiken
TransportlaagTCP/IP (poort 502) over Ethernet
StructuurClient/server (master/slave)
BerichtformaatBevat Modbus PDU binnen een TCP-frame
SchaalbaarheidMeerdere clients en servers mogelijk
Lees-/schrijfbewerkingenRegisters, 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

AspectModbus TCPModbus RTU
Fysieke laagEthernet (RJ45, TCP/IP)Serieel (RS-232 / RS-485)
SnelheidHoog (10/100/1000 Mbit/s)Lager (9.6–115.2 kbit/s typisch)
TopologieSter of geswitcht netwerkBusstructuur
CompatibiliteitModernere netwerken en IT-integratieEenvoudige legacy-systemen
AdresseringIP-adressenSlave 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 codeBeschrijving
0x01Lees discrete outputs (coils)
0x02Lees discrete inputs
0x03Lees holding registers
0x04Lees input registers
0x05Schrijf één coil
0x06Schrijf één register
0x10Schrijf 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.