Einleitung
Modbus Profile sind enthalten die Definitionen mit der Kommunikationsparametern der von Modbus Geräte und Geräten sowie deren Datenaustauschpunkte (“Register”), die . Diese Profile sind in der lokalen Datenbank des Timberwolf Servers gespeichert sind und werden vom Modbus System für den Datenaustausch mit den angeschlossenen Modbus Geräten genutzt werden.
Profile enthalten …
Allgemeine Informationen zum Profil und zum Gerät
Timing-Daten für das Protokoll
Maximale Anzahl der mit einem Befehl ansprechbaren Modbus Register
Eine Liste der verfügbaren Datenaustauschpunkte, die jeweils nutzbaren Funktionscodes, Bitbreiten, Kodierung & Dekodierung der binären Daten sowie Wertprüfungen und Wertanpassungen
...
Im Abschnitt Register und Applikationen
des Modbus Profil Editors werden die Applikationen definiert, die für den Datenaustausch mit dem Modbus Gerät genutzt werden können. Die Definitionen sind in einer Tabellenstruktur einzugeben, bei der mehrere grafisch gestaltete Eingabeassistenten unterstützen.
ÜBERSICHT
Eine Applikation definiert eine Datenaustauschoption mit einem Gerät. Bei Modbus besteht eine solche Applikation aus den Angaben zu
...
Status | ||||
---|---|---|---|---|
|
NOTWENDIGE ANGABEN AUS DEM DATENBLATT DES GERÄTE HERSTELLERS
Für die Definition der Applikationen benötigen Sie das jeweilige Datenblatt des Herstellers Ihres Modbus Gerätes. Für die untenstehend beschriebenen Einstellungen haben wir aus dem allgemeinen Teil des Datenblattes (für das Beispiel-Gerät) folgende Einstellungen entnommen:
...
Functioncodes: Dieses Gerät unterstützt nur die den Functioncode 03 (Lesen, 16 Bit, mehrfache Register) sowie den Functioncode 16 (Schreiben, 16 Bit, mehrfache Register)
Die Registeradressen im Datenblatt sind zur Basis 1 angegeben: Die Register werden in DIESEM Datenblatt zur Basis 1 angegeben. Dies ergibt sich indirekt aus der im Datenblatt stehenden Angabe “R-1”. Für Details hierzu lesen Sie bitte unter https://elabnet.atlassian.net/wiki/spaces/TSKB/pages/1524465669/Modbus+Basiswissen#Registeradressierung%3A-Base-0-oder-Base-1-%2F-Dezimal-oder-Hex.
NEUE APPLIKATION ANLEGEN
Um eine neue Applikation (Zeile in der Tabelle) anzulegen, betätigen Sie die Schaltfläche + Hinzufügen
im Abschnitt Register und Applikationen
im Modbus Profil Editor.
...
FUNCTIONCODE
Es erscheint nun der Assistent zum Hinzufügen einer neuen Applikation:
...
Status | ||||
---|---|---|---|---|
|
REGISTERADRESSE UND REGISTERANZAHL
In diesem Beispiel soll das Auslesen des gesamten Zählerstandes aus dem Energiezähler konfiguriert werden.
...
Status | ||||
---|---|---|---|---|
|
Bei Zugriffen über mehrere nachfolgende Register, um Daten über mehr als 16 Bit auslesen zu können, geben Sie unter
Breite
an, wieviele Register in einer Abfrage bzw. bei einer Übertragung für EINEN Wert angesprochen werden sollen.APPLIKATION UND BESCHREIBUNG
Vergeben Sie einen aussagekräftigen Namen für die Applikation, weil DIES ist diejenige Angabe, die Sie im Modbus Geräte Manager (in einem späteren Schritt) für die Anlage einer Transaktion auswählen müssen. Eine zusätzliche aussagekräftige Beschreibung erleichtert das Verständnis für den späteren Nutzer des Modbus Profils.
Status | ||||
---|---|---|---|---|
|
...
ANPASSUNG ZUGRIFF & FUNCTIONCODE
Der Zugriff bedeutet die Art und Weise, wie auf das Register zugriffen wird. Hier wird der Modbus Functioncode angezeigt, der beim Anlegen der Applikation über den Assistenten bereits eingegeben wurde.
...
Status | ||||
---|---|---|---|---|
|
DEKODIERUNG / KODIERUNG DES BINÄREN DATENFORMATES
Daten im Modbus Protokoll werden binär kodiert, allerdings ist die von den Herstellern der Modbus Geräte implementierte Vielfalt ziemlich umfassend.
Übersicht
Konkret sind für das erfolgreiche Dekodieren (bei Abfragerichtung) bzw. Kodieren (in Übertragungsrichtung) folgende Einstellungen möglich:
...
Geben Sie hier an, wie die Daten dekodiert werden sollen. Es stehen – je nach Auswahl der Bitmaske – die Formate
Bool
,Integer
(Ganzzahl),Signed Integer
(vorzeichenbehaftete Ganzzahl) undFloat
(Fließkomma) zur Verfügung.Bei übertragenden (schreibenden) Applikationen erfolgt die Bearbeitung umgekehrt, zunächst erfolgt hier die Formatierung und anschließend die Anwendung der Vertauschung der Datenreihenfolge (soweit konfiguriert). Bitte achten Sie auf die Pfeile und die Farbkodierung (grün für Abfrage und blau für Übertragen). Beachten Sie hierzu auch die Dokumentation zum Datenfluss unter https://elabnet.atlassian.net/l/c/X1mbcD1r.
Bei den Formaten
Signed Integer
undText
können Unteroptionen ausgewählt werden.
Einstellung im Format Assistent
Bei Klick auf das Feld Format erscheint der Format Assistent. Hier müssen Sie die Datenreihenfolge angeben, eine evt. Bitmaske und das Format, in dem der Wert im Modbus Gerät kodiert wurde bzw. wie das Gerät diesen beim Schreiben zu empfangen wünscht.
...
Spalte Register: Hier wird angezeigt, welche Einstellungen zuvor getroffen wurden, mithin
Register 27 (zur im Editor gewählten Basis 0) aus dem Registerset 4 (invers)
zwei Register zusammenhängend (2 x 16 Bit)
Functioncode 03 für Abfrage aus “holding registers”
Abfragen werden grün dargestellt, Übertragungen blau. Daher ist der gesamte Assistent in grün gehalten und in der Überschrift ist ein Pfeil für die Datenrichtung (vom Modbus Register zum Timberwolf Objekt) dargestellt. Bei übertragenden Applikationen (schreiben) ist der Assistent in blau gehalten und die Datenrichtungen ist mit Pfeilen von rechts nach links zeigend dargestelltStatus colour Green title Hinweis Farbcode
Spalte Reihenfolge: Im Datenblatt für dieses Beispiel ist “Big Endian” angegeben. Dies bedeutet, dass die Reihenfolge nicht getauscht werden muss. Entsprechend ist der Haken zu Änderung der Reihenfolge im Assistenten hierfür nicht gesetzt.
Spalte Bitmaske: Es handelt sich hier um eine Ganzzahl unter Ausnutzung aller verfügbaren 32 Bits. Eine Bitmaske ist nur für spezielle Anwendungen nötig. Daher wird auch hier der Haken zur Auswahl einer Bitmaske nicht gesetzt.
Spalte Format: das Format ist - für dieses Beispiel - zwar im Datenblatt nicht exakt bezeichnet, ergibt sich jedoch logisch aus der verwendeten Fixkomma Einheit (häufig bei Modbus zu finden) und der Annahme, dass dieser Wert nicht negativ werden kann. Mithin ist hier Integer (nicht vorzeichenbehaftete Ganzzahl) anzugeben.
Bitte achten Sie bei Integer (Ganzzahl) ganz genau darauf, ob diese signed oder unsigned (also vorzeichenbehaftet oder nicht vorzeichenbehaftet) vom Modbus Gerät kodiert werden. Falls die Anleitung unklar ist, fragen Sie beim Kundendienst des Herstellers nach.Status colour Yellow title wichtiger hinweis Zeile Vorschau: In diesem Beispiel ist das Modbus Gerät mit dem Timberwolf Server verbunden, das Modbus Subsystem ist aktiv und wurde unter Live Diagnostik zusammen mit der Geräteadresse angegeben. Damit aktiviert der Modbus Profil Editor den Live-Check, was hier durch das Symbol des grünen pulsierenden Herzen gekennzeichnet wird. Durch Klick auf dieses Symbol wird der aktuelle Registerwert geladen und die aktiven Einstellungen werden Live - und bei jeder Änderung im Assistenten erneut - berechnet. Auf diese Weise können Sie Ihre Parameter und den errechneten
Formatierten Wert
auf Plausibilität prüfen.
WERTPRÜFUNG, WERTANPASSUNG UND EINHEIT
Klick in das Feld „Wertprüfung / Wertanpassung / Objekt-Typ / Einheit“ erscheint der Assistent hierfür.
Hier können die Definitionen für Prüfung, Anpassung und Einheit vorgenommen werden. Diese Einstellungen werden später beim Einrichten der Datenaustausch-Transaktion automatisch angewendet.
Übersicht
Folgende Einstellungen können in diesem Assistenten vorgenommen werden:
...
Fixwert: Es ist auch möglich, immer einen gleichen fixen Wert ausgeben lassen.
Dies ist zumeist nur sinnvoll in Verbindung mit booleschen Werten bzw. einer Wertprüfung.
Ein bestimmter Wert, z.B. ein boolesches False würde hier in die Zahl “35” übersetzt werden (die auch als String ausgegeben werden kann).
Einstellung im Assistenten für Wertprüfung, Wertanpassung und Einheit
Bei Klick auf das Feld Wertprüfung / Wertanpassung / Objekt-Typ / Einheit
erscheint der entsprechende Assistent. Hier sind nun die notwendigen Angaben für die Wertprüfung, Wertanpassung usw. für diese Applikation einzutragen
...
Spalte Wert: Hier wird die Registernummer angezeigt (entsprechend Anzeigeeinstellung, hier Basis 0), die Bezeichnung der Applikation und die Dekodierung mit
Unsigned Integer
(nicht vorzeichenbehaftete Ganzzahl).Spalte Prüfung: Eine Wertprüfung ist für den Verbrauchswert hier nicht sinnhaft, daher nicht aktiviert.
Spalte Anpassung: Laut Datenblatt wird der Wert als “1/100stel kWh” übermittelt (Dekawatt). Damit auf die eigentliche gewünschte Einheit kWh umgerechnet werden kann, ist dieser Wert durch einhundert zu teilen. Dies wird über die Einstellung fester Faktor und “/100” bewirkt. Alternativ wäre auch eine freie Formel möglich gewesen.
Spalte Objektwert: Hier ist das Format des Timberwolf Objektes anzugeben, das angelegt wird, wenn die hier definierte Applikation in einem späteren Schritt im Modbus Geräte Manager genutzt wird. Damit die - durch die vorherige Division durch 100 - entstehenden Nachkommastellen nicht verloren gehen, ist
Float
(Fließkomma) anzugeben.Spalte Einheit: Hier kann aus der Auswahl eine physikalische Einheit angegeben werden. Diese Angabe hat keine Wirkung, wird jedoch überall bei den entstehenden Objekten angezeigt und verbessert die Übersicht bei der Handhabung vieler Objekte.
Zeile Vorschau: In diesem Beispiel ist das Modbus Gerät mit dem Timberwolf Server verbunden, das Modbus Subsystem ist aktiv und wurde unter Live Diagnostik zusammen mit der Geräteadresse angegeben. Damit aktiviert der Modbus Profil Editor den Live-Check, was hier durch das Symbol des grünen pulsierenden Herzen gekennzeichnet wird. Durch Klick auf dieses Symbol wird der aktuelle Registerwert geladen, entsprechend der zuvor eingegebenen Formatierung dekodiert und die getroffenen Einstellungen werden Live - und bei jeder Änderung im Assistenten erneut - berechnet. Auf diese Weise können Sie Ihre Parameter und den errechneten
Objektwert
auf Plausibilität prüfen.
GESAMTE DEFINITION UNTER REGISTER UND APPLIKATIONEN
Die oben beschriebenen Eingaben für dieses Beispiel sehen in der Gesamtansicht nun so aus:
...