Vad är Modbus?

Hur kan en temperaturgivare, en elmätare och ett styrsystem utbyta information trots att de kommer från olika tillverkare? Inom industri och fastighetsautomation är svaret ofta Modbus.

Modbus - ett kommunikationsprotokoll

Modbus är ett kommunikationsprotokoll som används för att läsa mätvärden, överföra statusinformation och skicka styrkommandon mellan enheter. Det utvecklades av Modicon 1979 och har blivit ett välkänt inslag i allt från produktionsanläggningar till ventilationssystem.

Så fungerar Modbus

Modbus bygger på ett enkelt upplägg: en klient skickar en fråga och en server svarar. Klienten kan exempelvis vara ett överordnat styrsystem, medan servern är en elmätare eller en temperaturregulator. I äldre dokumentation används ofta begreppen master och slave för samma roller.

En typisk kommunikation kan se ut så här:

  1. Styrsystemet frågar en elmätare efter aktuell effekt.
  2. Elmätaren hämtar värdet från sina register.
  3. Elmätaren skickar tillbaka svaret.
  4. Styrsystemet tolkar värdet och visar det för operatören.

Klienten kan även skriva värden, till exempel för att ändra ett börvärde eller aktivera en utgång, om enheten stöder det.

Register – nyckeln till informationen

I Modbus organiseras information i fyra grundläggande datatyper:

Datatyp Innehåll Normal åtkomst
Coils Binära värden, exempelvis av/på Läsa och skriva
Discrete inputs Binära statusvärden Endast läsa
Input registers 16-bitars register, exempelvis mätvärden Endast läsa
Holding registers 16-bitars register, exempelvis inställningar Läsa och skriva

‍

Vad varje adress betyder bestäms av enhetens tillverkare. Ett register kan innehålla temperaturen, medan ett annat visar ett larm eller ett driftläge.

Därför är enhetens registerkarta avgörande. Där framgår vilka adresser som används, hur värden ska tolkas och vilka funktioner enheten stöder.

Ett temperaturvärde kan exempelvis lagras som heltalet 235. Om registerkartan anger en skalfaktor på 0,1 betyder det att temperaturen är 23,5 °C. Större tal och flyttal kan fördelas över flera register, vilket också kräver att ordningsföljden tolkas rätt.

Läs mer