Neues Modbus-Geräteprofil erstellen
Wenn Ihr Modbus-Geräteprofil nicht in der Liste der vorinstallierten Profile im Controller enthalten ist, können Sie Ihr eigenes Profil definieren.
Gehen Sie wie folgt vor:
-
Dateiformat: Modbus-Geräteprofile werden in *.json-Dateien verteilt. Sie können diese Dateien mit einem gängigen Texteditor (z. B. Notepad oder Notepad++) erstellen und bearbeiten. Denken Sie daran, die Datei mit der Erweiterung *.json zu speichern.
-
Beispiel für eine Profilstruktur
{ "manufacturer": "Schneider Electric", "description": "Example device", "mapping": [ { "name": "Output 1", "bus_datatype": "bool", "type": "coil", "address": 0, "writable": 1 }, { "name": "Input 1", "bus_datatype": "float16", "type": "inputregister", "address": 0, "value_multiplier": 0.001, "units": "V" } ] }
-
Die Tabelle
„Zuordnung“
in der Datei *.json enthält Informationen zu jedem Modbus-Register sowie zu Spule, Eingang oder Ausgang. -
Passen Sie die Zuordnungseinstellungen an Ihr spezifisches Gerät an:
Parameter
Beschreibung
Typ
Erforderlich
Name
Objektname, z. B. Ausgang 2
String
Ja
bus_datatype
KNX-Objektdaten-Typ, Schlüssel aus dt-Tabelle, z. B. float32
String/Zahl
Ja
Typ
Modbus-Registertyp, mögliche Werte: coil, discreteinput, register, inputregister.
String
Ja
Adresse
Registeradresse (0-basiert)
Zahl
Ja
beschreibbar
Auf TRUE gesetzt, um das Schreiben in Register zu aktivieren, wenn der Typ entweder „Spule“ oder „Register“ ist.
Boolean
Kein
write_only
Auf true setzen, um das Lesen der Spule oder des Registerwerts zu deaktivieren, wenn „writable“ aktiviert ist.
Boolean
Kein
Datentyp
Datentyp des Modbus-Werts. Wenn diese Einstellung aktiviert ist, wird die Konvertierung automatisch durchgeführt. Mögliche Werte: bool, uint16, int16, float16, uint32, int32, float32, uint64, int64, quad10k, s10k
String
Kein
value_delta
Ein neuer Wert wird gesendet, wenn die Differenz zwischen dem zuvor gesendeten Wert und dem aktuellen Wert größer als delta ist. Voreinstellung ist 0 (Senden nach jedem Lesevorgang).
Zahl
Kein
value_base
Die angegebene Zahl zum Ergebniswert hinzufügen.
Zahl
Kein
value_multiplier
Den Ergebniswert mit der angegebenen Zahl multiplizieren, value = value_base + value * value_multiplier.
Zahl
Kein
value_bitmask
Bitmaske, die angewendet werden soll; die Verschiebung erfolgt automatisch auf der Grundlage der niedrigstwertigen 1 in der Maske.
Zahl
Kein
value_nan
Array aus 16-Bit-Ganzzahlen. Wenn die angegebene Leseoperation dasselbe Array zurückgibt, wird keine weitere Wertverarbeitung durchgeführt.
Array
Kein
value_conv
Eine der integrierten Konvertierungsfunktionen anwenden
String (Int)
Kein
value_custom
Name einer integrierten Enumeration oder einer Liste von Schlüssel ->-Wertzuordnungen. Der resultierende Wert ist 0, wenn der Schlüssel nicht gefunden wird.
String/Objekt
Kein
intern
Für den Benutzer nicht sichtbar, wenn auf „Wahr“ gesetzt, sollte für Skalierungsregister verwendet werden.
Boolean
Kein
Einheiten
KNX-Objekteinheiten/Suffix
String
Kein
address_scale
Adresse des Registers mit Wertskala, Wert = Wert * 10 ^ Skala
Zahl
Kein
read_count
Anzahl der auf einmal zu lesenden Register (für Geräte, die nur das Lesen eines bestimmten Registerblocks unterstützen)
Zahl
Kein
read_swap
Register-Umschaltreihenfolge während der Konvertierung (Endianness)
Boolean
Kein
read_offset
Position des ersten Datenregisters des Registerblocks (0-basiert).
Zahl
Kein
Timeout
Geben Sie den Geräte-Timeout in Sekunden an.
Wenn das Erweiterungsgerät nicht innerhalb der angegebenen Zeit antwortet, wird dies als Timeout-Fehler gewertet.
Standardwerte: 0,5 s für Modbus RTU, 3 s für Modbus TCP
Zahl
Kein
write_multiple
Mit diesem Parameter wird die Mehrfachschreibfunktion eingestellt (Funktion 15 oder 16 wird anstelle von Funktion 5 oder 6 verwendet).
Wenn typeauf register und write_multiple auf true eingestellt ist, wird die Modbus-Funktion 16 zum Schreiben in das Register verwendet.
Wenn typeauf coil und write_multiple auf true eingestellt ist, wird die Modbus-Funktion 15 zum Schreiben in die Spule verwendet.
Der Standardwert ist false, was bedeutet, dass die Modbus-Funktion 5 oder 6 (je nach Registertyp) zum Schreiben verwendet wird.
String
Kein
-
-
Upload in den Controller:
-
Sobald Sie Ihre *.json-Datei mit allen erforderlichen Profilinformationen erstellt haben, laden Sie sie über auf den Controller hoch. Konfigurator → Modbus → Profile → Profil hinzufügen.
-
-
Best Practice:
-
Bei der Erstellung eines neuen Geräteprofils sollten Sie die Verwendung eines vorhandenen Profils als Beispiel oder Vorlage in Betracht ziehen. Sie können vorhandene Profile aus dem Controller herunterladen, um Struktur und Syntax zu verstehen.
-
Detaillierte Anweisungen zur Erstellung benutzerdefinierter Geräteprofile finden Sie im Anwendungshinweis auf der Website von Schneider Electric.