Modbus-Ein-/Ausgangsobjektmodelle

Neben den Modbus-Standardobjektmodellen ist auch eine Anzahl Modbus-Ein-/Ausgangsobjektmodelle genannter benutzerspezifischer Objektmodelle in er Modbus-Standardbibliothek. Sie finden unter GmsMainProject\profiles\ModbusDataTemplate eine CSV-Datei mit Instanzen der Ein-/Ausgangsobjektmodelle, die deren Verwendung verdeutlicht.

Der aktuelle Modbus-Treiber unterstützt für einen einzelnen Datenpunkt entweder den Eingang oder den Ausgang, nicht aber beide Richtungen. Wenn Sie den Wert eines Punktes in dem Feld mit der Richtung Ausgang also manuell ändern, wird der neue Wert nicht widergespiegelt.

Gehen wir davon aus, dass Sie z.B. einen Analogausgangpunkt haben, dessen Richtung Ausgang ist. Der Wert dieses Punkts ist ursprünglich 4, aber Sie wollen ihn auf 5 aktualisieren. Dazu geben Sie im Register Bedienung des Kontextbereichs im Feld des Analogausgangs die 5 ein. Der Modbus-Treiber schreibt diesen Wert physikalisch zum Datenpunkt.

Dann wollen Sie den Wert dieses Ausgangsdatenpunkts auf 10 aktualisieren. Der neue Wert wird nicht übernommen.

Analogausgang wird im Feld geändert aber nicht aktualisiert
Analogausgang wird im Feld geändert aber nicht aktualisiert

Um diese Einschränkung zu überwinden, haben wir zwei Eigenschaften im selben Datenpunkt. So beziehen sich der Eingang und der Ausgang auf denselben Datenpunkt im Feld. Das Ergebnis ist, dass Sie den gleichen Wert für den Eingangs- und den Ausgangspunkt sehen werden. Nur das Feld Wert geändert von wird im EinAus-Punkt aktualisiert.

Daher wird der aktuellste Feldwert des Datenpunkts (in diesem Fall 10) im Eingang aktualisiert, während im Ausgang der alte Wert beibehalten wird (in diesem Fall 4).

Der Workaround für diese Situation steht in der Bibliothek für systemdefinierte Datenpunkte in der Form von Ein-/Ausgangsobjektmodellen zur Verfügung. Für benutzerdefinierte Geräte und Punkte wird ein Schritt-für-Schritt-Ansatz zur Erstellung von Objektmodellen mit EinAus-Eigenschaften beschrieben.

Systemdefinierte Punkte

Das Workaround für systemdefinierte Punkte sind die Ein-/Ausgangsobjektmodelle, die sich in der Modbus-Standardbibliothek befinden. Es gibt folgende Objektmodellen:

  1. GMS_MODBUS_AnalogInOut_Float
  2. GMS_MODBUS_AnalogInOut_Int
  3. GMS_MODBUS_AnalogInOut_Int64
  4. GMS_MODBUS_AnalogInOut_Uint
  5. GMS_MODBUS_AnalogInOut_Uint64
  6. GMS_MODBUS_BinaryInOut
  7. GMS_MODBUS_MultiStateInOut
Modelle und Funktionen
Modelle und Funktionen

Jedes dieser Objektmodelle besitzt zwei Eigenschaften:

Ein separater Satz individueller Importregeln (Import Rules InOut Points)wurde beigefügt und definiert die beiden oben genannten Eigenschaften für jedes der fünf Objektmodelle.

Die folgenden drei Objektmodelle unterstützen sowohl den Transformationstyp 32Bit als auch den Transformationstyp 16Bit.

Im Abschnitt Adressprofile müssen Sie für den 16-Bit-Transformationstyp das 16Bit-Adressprofil und für 32Bit das Standardprofil auswählen.

Importregeln
Importregeln

Diese Objektmodelle und ihre Importregeln wurden vorkonfiguriert, so dass sie direkt und ohne Neukonfigurierung eingesetzt werden können. Die Funktionscodes der Eigenschaften Value und ValueOut wurden beispielsweise gesetzt, um das Lesen vom und Schreiben zum jeweiligen Datenpunkt zu unterstützen. Sie können jedoch die Attribute (Funktionscode, Offset, Subindex usw.) der Eigenschaften in den individuellen Importregeln Ihren Anforderungen gemäss ändern. Weitere Information finden Sie unter Objekte und Eigenschaften im Abschnitt Benutzerdefinierte Importregeln.

Objektmodelle, Adressprofile und vorkonfigurierte Funktionscodes ihrer Eigenschaften

Typ

Funktionscode für “ValueOut”

Funktionscode für “Value”

Adressprofile

GMS_MODBUS_AnalogInOut_Float

16

03

  • Standard
  • 16Bit

GMS_MODBUS_AnalogInOut_Int

16

03

  • Standard
  • 16Bit

GMS_MODBUS_AnalogInOut_Int64

16

03

  • Standard
  • 32Bit
  • 16Bit

GMS_MODBUS_AnalogInOut_Uint

16

03

  • Standard
  • 16Bit

GMS_MODBUS_AnalogInOut_Uint64

16

03

  • Standard
  • 32Bit
  • 16Bit

GMS_MODBUS_BinaryInOut

05

01

  • Standard

GMS_MODBUS_MultiStateInOut

16

03

  • Standard
  • 16Bit

CSV-Konfiguration

Wenn Sie die CSV-Datei für Datenpunkte des Ein-/Ausgangsobjektmodells konfigurieren, müssen Sie den Namen des Objektmodells oder dessen Alias in der Spalte ObjectModel der Datenpunkteingabe nennen. Sie müssen den Funktionscode, die Richtung und den Datentyp nicht angeben, da diese direkt aus den Importregeln entnommen werden. Die Konfiguration der restlichen CSV-Felder ist vergleichbar mit der eines Modbus-Standarddatenpunkts.

CSV_InOut-Instanzen
CSV_InOut-Instanzen
Multistate_gmsenum
Multistate_gmsenum

Nach dem Import sehen die Punkte in der Managementstation wie folgt aus:

Afterimport_multistate
Afterimport_multistate

Unterstützung benutzerdefinierter Objektmodelle mit EinAus-Eigenschaften

Um die Funktionalität eines EinAus-Punkts für benutzerdefinierte Objektmodelle zu unterstützen, müssen Sie eine entsprechende Ausgangseigenschaft für eine Eingangseigenschaft definieren. Sie sollten daher die CSV-Datei des Importers für das Objektmodell ändern und die Ausgangseigenschaft wie folgt angeben.

Beispiel

Das Objektmodell 'MyDevice' wird modifiziert, um 2 zusätzliche Ausgangseigenschaften für die entsprechenden beiden Eingangseigenschaften zu haben.
Hinweis:
Der erste Teil des Namens der Ausgangseigenschaft muss mit dem Namen der Eingangseigenschaft identisch sein. Andernfalls setzt der Importer die Textgruppe nicht auf die Ausgabeeigenschaft.

Objektmodell
Objektmodell

Wie Sie sehen, ist Speed_Output eine Ausgangseigenschaft, die auf Speed verweist. Speed übernimmt das Lesen der Eigenschaft vom Datenpunkt, während Speed_Output intern das Schreiben von Werten von der Managementplattform zur Eigenschaft des Datenpunkts übernimmt.

Setzen Sie nach dem Import des Objektmodells die Werte des Expanders Eigenschaften im Register Modelle & Funktionen von MyDevice wie folgt. Beachten Sie, dass DL2 und DL3 von Speed und Temperature, d.h. die primären Eigenschaften, aktiviert sind. Wählen Sie den Verwalteten Typ. Sie können auch weitere Attribute der Eigenschaft festlegen.

Wenn Sie die Ausgangseigenschaft einer Eigenschaft des Typs GmsEnum oder GmsBool konfigurieren, müssen Sie die Flag Gültig unter Wertattribute im Expander Details der Ausgangseigenschaft aktivieren.

OM_config
OM_config

Konfigurieren Sie nun in den Importregeln die Objekteigenschaften (Funktionscode und Richtung) für MyDevice. Für Speed müssen Sie die folgenden Schritte durchführen:

  1. Konfigurieren Sie die Eigenschaft EINGANG.
    • Legen Sie die Richtung der Eigenschaft Speed als Eingang fest.
    • Wählen Sie den relevanten Funktionscode für einen Lesevorgang.
    • Geben Sie einen Offset und einen Subindex ein. Wählen Sie diese Werte sorgfältig, da sie in der Eigenschaft AUSGANG repliziert werden.
  2. Konfigurieren Sie die Eigenschaft AUSGANG.
    • Setzen Sie die Richtung von Speed_Output auf Ausgang.
    • Wählen Sie den relevanten Funktionscode für einen Schreibvorgang.
    • Geben Sie dieselben Werte für Offset und Subindex ein, die Sie für die zugehörige Eigenschaft EINGANG gewählt haben.

Wiederholen Sie diese Schritte für die Eigenschaft Temperatur.

Sie müssen ferner die Befehlskonfiguration für die Objektmodelleigenschaften hinzufügen. Gehen Sie zum Objektmodell MyDevice. Führen Sie die folgenden Schritte aus, um Befehle für Speed hinzuzufügen:

  1. Wählen Sie auf dem Expander Eigenschaften des Registers Modelle & Funktionen Speed.
  2. Klicken Sie im Expander Befehlskonfiguration auf Neu, um einen neuen Befehl zu erstellen.
  3. Wählen Sie in der Befehlsspalte (erste Spalte) in der Dropdown-Liste den Eintrag GenericWriteInt, wenn Speed vom Typ PvssInt ist.
    Wählen Sie für andere Datentypen den jeweils zutreffenden Befehl. Beispiel: GenericWriteFloat für PvssFloat/GmsFloat usw.
  4. Wählen Sie in der Spalte Zieleigenschaft (letzte Spalte) den Namen des relevanten Digitalausgangs (in diesem Fall Speed_Output).
  5. Klicken Sie +/-, um die Subzeilen (Parameter) eines Befehlstyps zu öffnen oder zu schliessen.
  6. Wählen Sie den Parameter Wert.
  7. Stellen Sie den Standardwert auf ReferCmdDef und die Betroffene Eigenschaft auf den Namen der betroffenen Eingangseigenschaft, also Speed_Output.
  8. Wiederholen Sie die Schritte 4 bis 7 für die übrigen Eigenschaften.
  9. Speichern Sie die Änderungen.
Command_config
Command_config

Rolle der Standardeigenschaft

Zu den Eigenschaften des Objektmodells gehört auch eine Standardeigenschaft, die aus Modelle und Funktionen heraus angezeigt und modifiziert werden kann.

Da die Standardeigenschaft eines benutzerdefinierten Punkts vom Importer mit den Werten der in der CSV-Datei aufgeführten Attribute aktualisiert wird, muss die Standardeigenschaft sorgfältig ausgewählt werden. Ferner muss der GMS-Datentyp der Standardeigenschaft auf GMS*** gesetzt werden, damit der Importer die Details mit den Angaben aus der CSV-Datei aktualisieren kann.

Der GMS-Datentyp der Ausgabeeigenschaft, die der Default-Eigenschaft entspricht, muss gleich sein. Ist die Standardeigenschaft beispielsweise 'Speed' und deren Datentyp GmsEnum, dann muss der Datentyp der Ausgangseigenschaft von 'Speed', d.h. Speed_Output, ebenfalls GmsEnum sein.

Benutzerdefinierte Objektmodelle, die zur Darstellung von Geräten und nicht Punkten eingesetzt werden, unterstützen nicht die Konfiguration von Standardeigenschaften mit CSV-Dateien.

 

Konfiguration von Zustandstext mit CSV-Dateien

Wenn die Standardeigenschaft Ihres Objektmodells vom Typ GmsEnum oder GmsBool ist, können Sie die Zustandstexte für die Eigenschaft mit einer CSV-Datei konfigurieren. Die Konfigurationsregeln für Zustandstext sind dieselben wie für Modbus-Standardpunkten.

Sie haben das Modbus-Datenmodell für benutzerdefinierte Geräte mit Digitalausgängen konfiguriert. Jetzt können Sie eine CSV-Datei für diesen Objektmodelltyp für den Import von Datenpunkten erstellen.

info

Hinweis:
Wenn für InOut-Objektmodelle die Konfiguration Wertkonvertierung einer Eigenschaft Wert zugewiesen wird, entweder im Abschnitt Meldungskonvertierung im Expander Objekte und Eigenschaften in Benutzerdefinierte Importregeln oder von der N-1-Abbildung in der CSV-Datei, dann muss dieselbe Konfiguration der Wertkonvertierung auch der entsprechenden Eigenschaft ValueOut zugewiesen werden.