Modbus Profil anlegen (und bearbeiten)
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 …
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
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
- 1 Einleitung
- 2 INHALT
- 3 Modbus Profil anlegen oder bearbeiten
- 3.1 Wichtige Angaben aus dem Datenblatt des Herstellers
- 3.2 Produktinformationen über das Modbus Gerät definieren
- 3.3 Live Diagnose für ersten Test ausführen
- 3.4 Register und Applikationen definieren
- 3.4.1 ÜBERSICHT
- 3.4.2 NOTWENDIGE ANGABEN AUS DEM DATENBLATT DES GERÄTE HERSTELLERS
- 3.4.3 NEUE APPLIKATION ANLEGEN
- 3.4.4 FUNCTIONCODE
- 3.4.5 REGISTERADRESSE UND REGISTERANZAHL
- 3.4.6 APPLIKATION UND BESCHREIBUNG
- 3.4.7 ANPASSUNG ZUGRIFF & FUNCTIONCODE
- 3.4.8 DEKODIERUNG / KODIERUNG DES BINÄREN DATENFORMATES
- 3.4.8.1 Übersicht
- 3.4.8.2 Einstellung im Format Assistent
- 3.4.9 WERTPRÜFUNG, WERTANPASSUNG UND EINHEIT
- 3.4.10 GESAMTE DEFINITION UNTER REGISTER UND APPLIKATIONEN
- 4 Weiterführende Informationen
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:
Stammdaten:
Hersteller: wählen Sie den Hersteller aus der vorgegebenen Liste aus oder legen einen neuen Hersteller (zunächst “Eigene” aus der Liste wählen und dann den Herstellernamen eingeben). Bitte geben Sie die Bezeichnung des Herstellers sehr genau ein, weil das ein wichtiges Suchkriterium ist. Hierfür können 127 Zeichen eingegeben werden.
Produktname: Bitte geben Sie den Produktnamen an. Bitte achten Sie auf genaue und eindeutige Angaben, damit bei exportieren Profilen andere Nutzer dieses gut wiederfinden können. Bitte achten Sie insbesondere darauf, falls es sehr ähnliche Modelle mit unterschiedlicher Ausstattung gibt, welche sich auf die verfügbaren Datenaustauschpunkte auswirken, entsprechend eindeutig zu kennzeichnen. Hierfür können 127 Zeichen eingegeben werden.
Produktbeschreibung: Bitte hinterlegen Sie eine möglichst gut verständliche Produktbeschreibung. Hier können Sie auch gerne Informationen zu den Eigenschaften des Gerätes angeben, damit andere Nutzer nach Import der eine Vorstellung von dem Gerät erhalten. Diese Angaben werden vom Timberwolf Server zur Anzeige bei der Auswahl von Modbus Geräteprofilen genutzt.
Hierfür können 512 Zeichen eingegeben werden.
Profil Informationen: Dies sind begleitende Informationen zum Profil. Diese Angaben werden vom Timberwolf Server zur Anzeige und bei der Suche genutzt und stellen wichtige Auswahlkriterien für Nutzer dar, welche Profile importieren möchte.
Sprache: Bitte wählen Sie die Sprache aus, für die das Profil gelten soll. Womöglich sollen vom gleichen Modbus Gerät mehrere Profile in anderen Sprachen angelegt werden, die sich ansonsten nicht unterscheiden, außer in den vergebenen Texten.
Version: Bitte vergeben Sie eine Versionsnummer. Es liegt in der freien Entscheidung des Autors, wie dieser die Version seiner Profile bezeichnet. Für ein allgemeines Verständnis empfehlen wir, dass Versionsnummern kleiner 1 (z.B. „0.7“) verwendet werden sollen für Profile, die sich noch in der Definition befinden. Die erste genutzte Version sollte entsprechend mit Zahlen ab 1 bezeichnet werden.
Autor: Hier können Sie Ihren Namen als Autor angeben. Es dürfen für die Angabe des Autornamens selbstverständlich Pseudonyme oder Kürzel angegeben werden. Hierfür können 127 Zeichen eingegeben werden.
Kommentar: Geben Sie hier Informationen zum Profil an, die für andere Nutzer hilfreich sind.
Hierfür können 255 Zeichen eingegeben werden. Das Feld kann größer gezogen werden, für Zeilenumbruch Enter eingeben.
Technische Parameter: Diese Parameter beschreiben wichtige Geräteeigenschaften, betreffen dessen Leistungsgrenzen und müssen sehr sorgfältig angegeben werden. Insbesondere die Timing-Angaben müssen genau angegeben werden, da Modbus Geräte mit Fehlern reagieren, wenn zu viele Daten in zu kurzer Zeit abgerufen werden.
Modbus Technologie: Geben Sie an, ob dieses Modbus Gerät mit dem Protokoll Modbus RTU (über einen RS-485 Zweidraht-Bus) oder mit Modbus TCP (über IP-Netzwerke) angesprochen werden soll. Falls dieses Modbus Gerät beide Protokolle gleichzeitig unterstützt, dann wählen Sie “Modbus RTU” oder legen zwei Profile an.
Kleinstes Abfrageintervall: Das kleinste Abfrageintervall ist der kleinste zeitliche Abstand zwischen zwei Abfragen. Sollten sich im Datenblatt eines Gerätes zwei zeitliche Werte befinden, in welcher ein minimales Intervall für die Abfrage des gleichen Registers oder zwischen verschiedenen Registern angegeben ist, dann geben Sie hier den größeren (also zeitlich längeren) Wert an. Der Timberwolf Server wird bei Abfragen diesen Wert berücksichtigen.
Maximale Abfragedauer: Die maximale Abfragedauer ist die Wartezeit, die der Timberwolf Server wartet, bevor ein Zeitüberlauffehler gemeldet und mit der nächsten Abfrage fortgefahren wird. Sollte sich keine Angabe im Datenblatt finden, empfehlen wir einen Wert von 2000 ms anzusetzen.
Maximale Anzahl Register pro Abfrage: Die maximale Anzahl der Register pro Abfrage bestimmt, wie viele Register hintereinander maximal mit einer Abfrage angesprochen werden dürfen. Der Modbus Standard lässt, je nach Funktionscode, eine Abfrage bzw. ein Schreiben von bis zu 2000 Registern (bei 1 Bit) bzw. bis zu 125 Register (bei 16 Bit) zu. Bei vielen Modbus Geräten ist dies in der Firmware limitiert. Diese Angabe ist in der Regel im Datenblatt verfügbar.
RS-485 Lasteinheit: Die Angabe der RS-485 Lasteinheit für dieses Gerät ist eine Angabe der Lasteinheiten, mit welcher dieses Gerät den seriellen Bus belastet und steht nur in Verbindung mit der Auswahl des Profils für Modbus RTU zur Verfügung. Die Angaben können zur Berechnung der maximalen Last im Subsystem dienen, je nachdem wie viel und welche Geräte hinzugefügt wurden. Sofern im Datenblatt hierzu keine Angaben verfügbar sind, empfehlen wir eine Angabe von ¼ Lasteinheiten.
Hinweis Der RS-485 Bussystem ist dafür ausgelegt, dass ein Sender am Bus eine elektrische Leistung bis zu 32 Lasteinheiten aufbringen kann. In den 80er Jahren belastete ein Empfänger den Bus mit einer (1/1) Lasteinheit, womit damals bis 32 Empfänger angesteuert werden konnten. Daraus resultiert die - häufig in Dokumentationen angegebene - Zahl von 32 Geräten an einem RS-485 Bus. Tatsächlich belasten Empfänger in aktueller Technologie einen RS-485 Bus mit zumeist 1/8 (teils auch nur mit 1/10) Lasteinheiten, womit bis zu 320 Geräte an einem RS-485 Bus möglich sind. Modbus RTU kann maximal 248 verschiedene Geräteadressen an einem Bus ansteuern. Unter der Annahme, dass moderne Geräte aus diesem Jahrtausend nicht mehr als 1/4 Last beanspruchen, sind damit 128 Geräte gleichzeitig an einem RS-485 Bus möglich (dies gilt auch für DMX). Durch Repeater kann die Last auf zwei oder mehr Segmente aufgeteilt werden.
Aus dem Datenblatt wurden (für dieses Beispiel Gerät) hierzu diese Angaben entnommen:
Timing: Aus der angegebenen Reaktionszeit kann die minimale Abfragezeit und die maximale Abfragedauer abgeleitet werden. Hier sind die 60 ms als
Kleinstes Abfrageintervall
eingetragen und mit einem Sicherheitszuschlag 200 ms für dieMaximale Abfragedauer
(Timeout).Abfrageumfang: Die
Maximale Anzahl Register pro Abfrage
kann direkt aus dem Datenblatt übernommen werdenBuslast: Die Buslast kann indirekt aus der Angabe entnommen werden, dass 247 Geräte angeschlossen werden können.
Berechnung: Bei 1/1 Buslast wären 32 Geräte möglich, bei 1/8 Buslast sind es entsprechend 8x mehr, mithin 256 Geräte. Da in Modbus RTU jedoch nur maximal 248 Geräte adressiert werden können, kann aus der Angabe im Datenblatt geschlossen werden, dass die Buslast 1/8 beträgt.
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:
Verbindung zum Modbus Gerät: Für die Live-Diagnose (und für die Live-Checks) ist eine physikalische Verbindung zu den jeweiligen Modbus Geräten vom Timberwolf Server aus notwendig.
Geräteadresse vergeben: Das neue Modbus Gerät muss über eine individuelle Geräteadresse verfügen
Interface & Subsystem aktiv: Ein Modbus Subsystem muss angelegt und mit einem Interface verbunden sein.
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.
hinweis 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.
Kompatibilität 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.
live-check 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
Registeradresse von 1 bis 65536 zu Basis 1 (bzw 0 bis 65535 zur Basis 0)
Anzahl der Register für eine Transaktion (mehrfache 16 Bit Register für größere Datenmenge)
Zugriffstyp (Lesen bzw. Schreiben von 1 Bit oder 16 Bit Registern)
Format (Kodierung bzw. Dekodierung des Datenformates)
Wertprüfung / Wertanpassung / Konvertierung / Einheit für erweiterte Wertbehandlung
Bezeichnung und Beschreibung der Applikation
Diese Angaben werden im Profil Editor in jeweils einer Zeile unter Register und Applikationen
eingetragen und definieren damit “eine Applikation”.
Hinweis 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:
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 Modbus Basiswissen | Registeradressierung: Base 0 oder Base 1 / 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:
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.
Hinweis 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: Modbus Basiswissen | Datenaustausch: Register, Registersets und Functioncode)
Infotext Bitte nutzen Sie für nähere Erklärung die Infotexte, die beim Überfahren der 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:
Register & Anzahl: Der - für dieses Beispiel - gewünschte Gesamt-Zählerstand (“WT1 total”) wird als 32 Bit Wert zur Verfügung gestellt, kodiert in den beiden Registern Nr. 28 und Nr. 29 (Angabe zur Basis 1).
Hinweis Im Protokoll Modbus ist ein Register enthält ein Register entweder 1 Bit oder 16 Bit. Dies ergibt sich aus dem Functioncode (gemäß Tabelle im Assistent oben bzw. Erklärung hier: Modbus Basiswissen | Functioncode)Byte-Reihenfolge: Gemäß Angabe im Datenblatt wird bei Abfragen zweier Register (“double registers”) der Dateninhalt des Registers mit der höheren Nummer (“high register”) zuerst gesendet (“Big Endian”).
Dies bedeutet, dass bei Abfrage zweier Register hintereinander (mithin 32 Bit) die beiden 16 Bit Dateninhalte so hintereinander gesendet werden, das sich in den ersten übertragenen 16 Bit der Inhalt des Registers mit der höheren Nummer befindet.Binäres Datenformat: Im Datenblatt - in diesem Beispiel - ist das Datenformat nicht klar angegeben.
Aus der Angabe zur Einheit (“10-2 kWh”) kann logisch auf Ganzzahl (“Integer”) geschlossen werden, da solche Festkomma Einheiten üblicherweise nicht in Verbindung mit Fließkommaformaten verwendet werden. Weiterhin ist davon auszugehen, dass es sich um einen Wert handeln, der nicht Negativ werden dürfte, ist hinsichtlich des binären Datenformates von einer nicht vorzeichenbehafteten Ganzzahl (“unsigned Integer”) auszugehen.
Hinweis Unklare Angaben in Modbus Datenblätter sind nicht unüblich. Deshalb sind die diesbezüglichen Eingaben am Timberwolf Server interaktiv mit Live-Check möglich, so dass die richtige Konfiguration schnell und einfach ausgetestet werden kann.
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.
Hinweis 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.
wichtiger hinweis 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.
Lesen und schreiben 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
In Datenblättern wird die Datenreihenfolge oft als „Big-Endian“ oder „Little-Endian“ angegeben. Leider sind letztere Bezeichnungen nicht eindeutig da diese gemischt sowohl für Wörter (16 Bit), Doppelwörter (32 Bit) und auch für Quadrupelwörter (32 Bit) verwendet werden.
Der Format Assistent erlaubt daher, alle drei Varianten (bei 64 / 128 / 256 Bit) - in jeder der acht Kombinationen - zu konfigurieren.
Die Konfiguration auf dem Bild (keine Vertauschung) entspricht „Big-Endian“. Dies bedeutet, dass die höherwertigen Bits / Bytes / Wörter / Doppelwörter zuerst gesendet werden. Oftmals sind Beispiele in den Datenblättern angegeben, die Sie in dem interaktiven Format Assistenten direkt ausprobieren können.
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.
Es ist jede beliebige Kombination erlaubt, die Bitmaske muss nicht zusammenhängend sein.
Die Bitmaske kann nur für (lesende) Abfragen von 16 / 32 / 48 / 64 Bit genutzt werden.
Gegebenenfalls konfigurierte Vertauschungen der Datenreihenfolge werden zuerst durchgeführt.
Für Übertragungen (schreiben) zum Modbus steht die Bitmaske nicht zur Verfügung
Format Assistent - Format
Nach Datenreihenfolge und Bitmaske ist der somit manipulierte Datenstrom binär zu interpretieren. Hierzu dient die Einstellung Format
im Format Assistenten
.
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.
Für die Applikation aus diesem Beispiel sind dies folgende Angaben:
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”
Hinweis Farbcode 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 dargestellt
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.
wichtiger hinweis 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.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:
Wertprüfungsassistent - Prüfung
Der - bei Abfragerichtung - zuvor dekodierte Wert
Die möglichen Prüfungen werden nach Aktivierung der Option in der erscheinenden Auswahlbox (Bild) zur Auswahl gestellt.
Je nach getroffener Auswahl erscheinen weitere Felder für die Angabe der Parameter.
Wenn bei späterer Nutzung der Applikation in einer oder mehreren Transaktionen im Modbus Geräte Manager die Wertprüfung ein abschlägiges Ergebnis ermittelt, dann wird die weitere Bearbeitung damit abgebrochen. In der Historie der Applikation im Geräte Manager wird dies entsprechend gekennzeichnet.
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:
Fester Faktor: Viele Modbus Geräte vermeiden die Nutzung von binären Fließkomma Zahlenformaten. Damit trotzdem eine Auflösung auch mehrere Stellen nach dem Komma möglich ist, werden die Registerwerte in als Ganzzahl und Dezi- (1/10) bzw. Zenti- (1/100) Einheiten zur Verfügung gestellt.
Diese Formate kann man auch als Festkommaformate bezeichnen, da mit der Berechnung in z.B. 1/10 üblicher Einheiten ein festes Komma vereinbart ist.
Für die Nutzung im Timberwolf Server, der mit Fließkomma-Objekten problemlos umgehen kann. ist daher eine Umrechnung inkl. Typkonvertierung (im nächsten Unterabschnitt erklärt) sinnvoll.
Beispiel: Bei einem Register, das einen Stromwert in 1/10 Ampere (Deziampere) ausgibt, ist ein Teilen des Registerwertes durch 10 erforderlich, um den Wert für die die Einheit Ampere umzurechnen (bitte dann auch das Objektformat auf “Float” umstellen, damit das Komma nicht verloren geht).
Freie Formel: Es kann eine fast beliebige freie Formel eingegeben werden. 'X' ist hierbei der
Formatierte Wert
.
Beispiel: Nehmen wir eine Zisterne mit einem Durchmesser von 3m. X wäre hier die Ausgabe eines Füllstandmessers in Dezimeter Füllhöhe. Mit der nebenstehenden Formel könnte nun der Inhalt in m³ berechnet werden. Auf diese Weise ist es nicht notwendig, eine Logik anzulegen, da sich mit dieser Funktion solche Berechnungen im Modbus Subsystem erledigen lassen und das Objekt bereits den gewünschten umgerechneten Wert erhält.
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
Für die Applikation aus diesem Beispiel sind dies folgende Angaben:
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 Herzens 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:
Nach Eingabe aller Applikationen für dieses Modbus Gerät ergibt sich die folgende Ansicht:
Flags: Die Flags haben derzeit noch keine Bedeutung und stehen erst in einer späteren Version zur Verfügung.
Live-Check Felder: Die Felder
Wert
undObjektwert
dienen der laufenden Abfrage bzw. dem Übertragen von Werten für eine interaktive Kontrolle. Mit Klick auf das schwarze Feld unterhalbObjektwert
kann dies für die ersten zwanzig Felder mit einem Klick angewählt werden. Darüber hinaus können Sie für den Live-Check weitere Applikationen mit Klick auf die Live-Check Felder hinzufügen. Wegen der Last für das Bussystem und den Timberwolf Server sowie den Browser empfehlen wir nicht mehr als 20 Felder gleichzeitig einer dauerhaften interaktiven Prüfung zu unterziehen.
Weiterführende Informationen