Einleitung

Modbus Profile enthalten die Definitionen der Kommunikationsparametern von Modbus Geräten sowie deren Datenaustauschpunkte (“Register”). Diese Profile sind in der lokalen Datenbank des Timberwolf Servers gespeichert und werden vom Modbus System für den Datenaustausch mit den angeschlossenen Modbus Geräten genutzt.

Profile enthalten …


Profile werden benötigt für jeden angeschlossenen (unterschiedlichen) Gerätetyp. Mehrere Modbus Geräte desselben Typs teilen sich das selbe Profil.

Profile können einfach exportiert und importiert und damit auf mehreren Timberwolf Servern genutzt werden.

Importierbare Profile: Für viele Modbus Geräte stehen Modbus Profile bereit, die mit wenigen Klicks importiert werden können. Die verfügbaren Modbus Profile finden Sie hier: https://forum.timberwolf.io/viewforum.php?f=80


INHALT


Modbus Profil anlegen oder bearbeiten

Die vom Timberwolf Modbus System benötigten Informationen zu den Eigenschaften eines Modbus Gerätes (“Produktinformation”) sowie über die von diesem Gerät unterstützten Datenaustauschpunkte (“Register und Applikationen”) werden in Modbus Profilen gespeichert.

Der Modbus Profil Editor bietet hierfür zwei Eingabebereiche an. Zunächst sind die Produktinformationen einzugeben, anschließend können die Datenaustauschpunkte (Register) des Modbus Gerätes angelegt werden. Zusätzlich steht noch ein Diagnose Bereich zur Verfügung.

Wichtige Angaben aus dem Datenblatt des Herstellers

Um die notwendigen Definitionen eintragen zu können, empfehlen wir, das jeweilige Datenblatt des Herstellers heranzuziehen.

Diese Anleitung basiert auf dem 32 A Wirkenergiezähler 1-phasig der Saia-Burgess Controls AG, Schweiz, mit Modbus RTU Anschluss.

Datenblatt für dieses Beispiel: Für ein besseres Nachvollziehen der folgend erklärten Eintragungen, können Sie hier das Original Datenblatt des Herstellers zu diesem Energiezähler laden:

Produktinformationen über das Modbus Gerät definieren

Um ein Modbus Profil neu anzulegen, wechseln Sie in das Funktionsmodul Modbus → Profil Verwaltung:

Betätigen Sie die Schaltfläche + Hinzufügen wodurch sich das Formular nach unten erweitert.

Füllen Sie das Formular nun aus:

Aus dem Datenblatt wurden (für dieses Beispiel Gerät) hierzu diese Angaben entnommen:

Wenn das Formular ausgefüllt ist, betätigen Sie die Schaltfläche Speichern und mit Live Diagnose fortfahren.


Live Diagnose für ersten Test ausführen

Live Diagnose / Live-Check:
Der Profileditor kann in einem interaktiven Modus betrieben werden. Damit muss ein Profil nicht „blind“ erfasst werden, sondern jede Definition eines Datenaustauschpunktes (dies wird als Applikation bezeichnet) kann während der Erstellung interaktiv getestet werden.

Zudem können Diagnoseinformationen des Modbus Gerätes, soweit verfügbar, angezeigt werden.

Voraussetzungen:

Subsystem Auswählen & Geräteadresse angeben:

Wählen Sie nun für die Aktivierung der Live Diagnose und von Live-Check bitte das Subsystem aus, mit dem das jeweilige Modbus Gerät verbunden ist und und geben Sie die Geräteadresse für dieses des Modbus Gerätes an.

Diese beiden Angaben werden nicht im Modbus Profil gespeichert und sind bei jedem Aufrufen dieses Modbus Profils erneut anzugeben. Der Grund hierfür ist, dass sich in einer Installation eine beliebige Anzahl selber Geräte befinden kann bzw. das jeweilige Gerät nur vorübergehend erreichbar ist und daher eine Speicherung solcher Parameter, die nur der Inbetriebnahme und dem Test dienen, im Profil nicht sinnvoll ist, zumal das Profil auch exportierbar ist und Subsystem und Geräteadresse bei einem anderen Timberwolf Server sicherlich verschieden sein werden.

Je nach Protokollvariante (Modbus RTU oder Modbus TCP) stehen unterschiedlich viel Gerätestatistiken bzw. Hersteller Informationen zur Verfügung. Bei weitem nicht alle Modbus Geräte unterstützen diese Funktionen zum Abruf von Gerätestatistiken bzw. Herstellerinformationen. Vielfach werden diese Funktionen nur von hochwertigen Modbus Geräten namhafter Hersteller unterstützt.

Mit Angabe von Subsystem und Geräteadresse schaltet der Timberwolf Server die Live-Check Funktion aktiv. Die Live-Check Variante Übertragen (“Schreiben”) ist per Schalter manuell zu aktiveren.


Register und Applikationen definieren

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

Diese Angaben werden im Profil Editor in jeweils einer Zeile unter Register und Applikationen eingetragen und definieren damit “eine Applikation”.

Es können mehrere Applikationen angelegt werden, die jeweils den Zugriff auf das selbe Register definieren. Zum Beispiel einmal lesend, einmal schreibend und / oder mit verschiedenen Wertbehandlungen (z.B. könnte ein von einem Register zur Verfügung gestellter Temperaturwert in drei Applikationen mit verschiedenen Umrechnungen jeweils in Grad Celsius, Grad Fahrenheit und Kelvin definiert werden, die der Anwender eines Modbus Profils damit leicht nutzen kann).

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:

Bedeutung:

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:

Functioncode auswählen: Bitte wählen Sie im Assistenten den zu nutzenden Functioncode für den Registerzugriff durch Betätigen der entsprechenden grünen Schaltfläche aus. In diesem Beispiel wählen wir den FC 03 um (multiple) 16 Bit Werte zu lesen.

In Modbus erfolgt die Adressierung der Datenaustauschpunkte der Modbus Geräte über die Kombination aus Registeradresse zusammen mit dem Funktionscode (lesen Sie hierzu auch unter: https://elabnet.atlassian.net/wiki/spaces/TSKB/pages/1524465669/Modbus+Basiswissen#Datenaustausch%3A-Register%2C-Registersets-und-Functioncode)

Bitte nutzen Sie für nähere Erklärung die Infotexte, die beim Überfahren der (info) mit der Maus (bzw. darauf touchen) eingeblendet werden.

REGISTERADRESSE UND REGISTERANZAHL

In diesem Beispiel soll das Auslesen des gesamten Zählerstandes aus dem Energiezähler konfiguriert werden.

Notwendige Angabe aus dem Datenblatt:

Bedeutung:


Eingabe der Registeradresse und Anzahl der Register:

In diesem Beispiel ist der Editor auf “Dezimal” und zur “Basis 0” eingestellt. Deshalb ist die Registeradresse - gegenüber dem Datenblatt - um eins reduziert anzugeben.

Anstelle von “28 / 29” (Datenblatt) ist mithin “27” einzugeben und die Breite des Zugriffs auf 32 Bits (entsprechend zwei Register zu je einem Wort mit 16 Bit).
Die invers dargestellte Zahl “4” steht für das durch den Functioncode automatisch ausgewählte Registerset. In manchen Datenblättern ist dieses angegeben.

Bitte achten Sie darauf, die Registeradresse richtig zu erfassen. Berücksichtigen Sie die Angaben im Datenblatt (ob Dezimal / Hex bzw. zur Basis 0 / 1) und die Einstellung des Editors bei der Eingabe.
Bei Zugriffen über mehrere nachfolgende Register, um Daten über mehr als 16 Bit auslesen zu können, geben Sie unter Breite an, wie viele 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, denn 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.

Der Name für die Applikation muss innerhalb eines Modbus Profils eindeutig sein. Falls Sie für ein Register mehrere Applikationen anlegen, dann müssen Sie trotzdem unterschiedliche Applikationsbezeichnungen eingeben.

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.

Es ist möglich, den Functioncode hier zu ändern, wobei Änderungen nur im gleichen Registerset möglich sind.

In diesem Beispiel - Registerset 4 - sind die Varianten 03 (“R” = Abrufen) sowie 06 und 16 (sowie die Kombination aus beiden) möglich, die für Übertragungen zum Modbus Gerät (“W” = Schreiben) genutzt werden können.

Wenn mehrere Zugriffsvarianten, zum Beispiel sowohl Abfragen (“Lesen”) als auch Übertragen (“Schreiben”) gleichzeitig nutzen möchten, dann legen Sie bitte eine zweite Applikation an. Sie können für dasselbe Register beliebig viele Applikationen mit unterschiedlichen Einstellungen anlegen.

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:

Format Assistent - Datenreihenfolge

Format Assistent - Bitmaske

In manchen Geräten werden von Herstellern mehrere Werte in einem Register definiert, die dann jeweils herausgelöst werden müssen, damit diese einzeln im Objektsystem des Timberwolf Servers zur Verfügung stehen.

Beispiele hierfür sind 7-Bit ASCII in den vorderen Bits der beiden Bytes (wie im Bild) oder nur ein Buchstabe in sieben der sechzehn Bit oder zwei 8 Bit Werte in einem Register. Für solche Spezialitäten nutzen Sie die Bitmaske.

Format Assistent - Format

Nach Datenreihenfolge und Bitmaske ist der somit manipulierte Datenstrom binär zu interpretieren. Hierzu dient die Einstellung Format im Format Assistenten.

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.

Für die Applikation aus diesem Beispiel sind dies folgende Angaben:

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:

Wertprüfungsassistent - Prüfung

Der - bei Abfragerichtung - zuvor dekodierte Wert


Wertprüfungsassistent - Anpassung

Werte können vor der weiteren Verarbeitung praktisch beliebig umgerechnet werden. Damit ist eine Umrechnung der - bei Modbus oft kreativen Einheiten wie Zenti-Kilowattstunden (=Dekawattstunden) oder Deziampere - auf übliche Einheiten leicht möglich.

Es stehen drei Möglichkeiten zur Verfügung:

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

Für die Applikation aus diesem Beispiel sind dies folgende Angaben:

GESAMTE DEFINITION UNTER REGISTER UND APPLIKATIONEN

Die oben beschriebenen Eingaben für dieses Beispiel sehen in der Gesamtansicht nun so aus:

Nach Eingabe aller Applikationen für dieses Modbus Gerät ergibt sich die folgende Ansicht:


Weiterführende Informationen