Modbus Master seriell


 

Der Modbus Master Treiber ermöglicht es Datenpunke/Register aus Geräten die als Modbus Slave arbeiten auszulesen sowie zu schreiben. Jeder Modbus Slave kann bis zu vier verschiedene Registertypen zur Verfügung stellen.

1.Holding Register16Bit Register mit Lese-/Schreibzugriff
2.Input Register16Bit Register mit Lesezugriff
3.Coil Register1Bit Register mit Lese-/Schreibzugriff
4.Status Register1Bit Register mit Lesezugriff

Für die Register werden jeweils unterschiedliche Lese- sowie Schreibfunktionen genutzt.

Register lesenRegister schreibenMehrere zusammenhängende Register schreiben (MultiWrite, default)
Holding3616
Input4
Coil1515
Status2

Der Name des Modbus-Treibers lautet: mod
Die Routing-Adresse des ersten Modbus-Treibers ist die 80
Die Datenpunktdatei für den ersten Modbus-Treiber heißt: modmster1.txt
Die Konfigurationsdatei für globale Einstellungen des ersten Modbus-Treibers heißt: modmster1.cfg

Bei dem Modbus-Treiber sowie allen weiteren Gateway-Treibern gilt für die Definiton von Datenpunkten in der Datenpunktdatei:

Typ:Bedeutung
MGanzzahliger Wert (Binäre Datenpunkte,Zählwerte) der vom Gateway nur gelesen werden kann/soll.
SGanzzahliger Wert der vom Gateway gelesen sowie geschrieben werden kann/soll.
XAnalogwert (mit Nachkommastellen) der vom Gateway nur gelesen werden kann/soll.
YAnalogwert (mit Nachkommastellen) der vom Gateway gelesen sowie geschrieben werden kann/soll.
AString, findet z.B. Verwendung bei BACnet Trends und ESPA4.4.4 Datenpunkten

Die Adressen sind wie folgt aufgebaut.

„<slave> <register> <no>[.<bit>]“

Hinweis: Bei Verwendung der Einzelbitadressierung über bit ist die Nummerierung der Bits von 1..16. Bit 0 = 1, Bit 15 = 16

Kommunikationsstatus mit MODBUS-Slave:

„<slave> failure“

Dabei gilt folgende Definition:

ParameterWertebereichBeschreibung
<slave>0 - 247Adresse des anzusprechenden Slave-Gerätes
<register>holding,
input,
coil,
status
Registertyp
<no>0 - 65535Registeradresse
<bit>1-16Einzelbit innerhalb des Registers

Die Adresse des Coil-Registers 120 vom Slave „2“ wird demnach wie folgt in der Datei modmsterX.txt angegeben:

[M 2 coil 120]

Um dem Treiber mitzuteilen wie er die unter einem Register abgelegten Informationen auswerten kann muss für jeden Datenpunkt das Format übergeben werden. Dies erfolgt anhand der Formatdefinition:

format = <format>

Dabei kann format die folgende Werte annehmen:

<format>Beschreibung

Weitere spezielle Formate auf Anfrage.

Für Coil- sowie Status-Register wird keine Formatangabe benötigt.

32bit-Formate benötigen mehr als ein Register, die fehlenden Register werden aus den nachfolgenden Registern gebildet. Diese Register sind dann für andere Datenpunkte nicht mehr verwendbar!

Typische Datenpunktdefinitionen können demnach sein:

[M 2 failure]
name = Ausfall der Kommunikation zu MODBUS-Slave-2 (0=OK 1=Ausfall)
query = pe

[M 2 status 5]
name = digitale Betriebsmeldung
query = pe

[S 2 coil 10]
name = digitaler Sollwert
query = pe
writecache = yes

[M 2 input 10.3]
name = digitale Betriebsmeldung
query = pe
format = sbit06

[S 2 holding 11.5]
name = digitaler Sollwert
query = pe
format = sbit06
writecache = yes

[M 2 holding 15]
name = multistate Meldung z.B. 0,1,2 für Aus,An,Auto
query = pe
format = u

[S 2 holding 16]
name = multistate Sollwert z.B. Stufenschalter 0,1,2 für Aus,An,Auto
query = pe
format = u
writecache = yes

[X 2 input 17]
name = Temperatur Messwert (Register 17+18)
query = pe
format = f

[Y 2 holding 17]
name = Temperatur Sollwert, eine Nachkommastelle
query = pe
format = st
writecache = yes

 

romutec® Module Scan
Ab Firmware Version V6_00_01 unterstützt der Treiber auch den Scan nach Modbus-RTU I/O Modulen von romutec® zur automatischen Erstellung der UGW Konfiguration.
Mehr Infos >