Interne Datenpunkte des DNP3 Treibers

Für den DNP3 Treiber wird ein Datenpunkt für jede Peripherieverbindung benötigt. Der interne Datenpunkttyp einer DNP3 Außenstation trägt den Namen _Dnp3Station.

Die Datenpunkte dieses Typs werden über das DNP3 Gerätepanel gesteuert. Dieses Panel kann dazu benutzt werden, um Datenpunkte anzuzeigen oder zu löschen oder den Inhalt neu zu setzen oder anzuzeigen.

Der Datenpunkttyp _Dnp3Station hat die folgende Struktur.

_Dnp3Station

Datenpunktelement Typ

Eingang/Ausgang

(vom DNP3 Treiber aus gesehen)

Beschreibung
Configuration string Eingang

Konfigurationsstring für die Außenstation. Der Originalwert ist entweder

IP:<IP-Adresse>:<Portnummer>: <Linkadresse>

für TCP Verbindungen oder

SI:<COM-Port>:<Linkadresse>

für serielle Verbindungen.

Beispiele:

"IP:192.168.1.1:3333 :10" oder

"SI:COM1:10"

Command.Active bool Eingang Aktiviert/Deaktiviert das DNP3 Gerät. Wenn der Wert FALSE ist, wird keine Verbindung zum Gerät aufgebaut und alle Anfragen werden ignoriert.
Command.AssignClass dyn_string Eingang

Ermöglicht das Zuweisen einer Adresse zu einer Klasse.

<group>.<index>-<class mask>

Folgende Optionen stehen für die class mask zur Verfügung:

  • 1 => Klasse 1

  • 2 => Klasse 2

  • 4 => Klasse 3

Beispiel

"1.10-4" bedeutet: Füge die Binary Input Index 10 Adresse der Klasse 3 hinzu.

Command.GQ uint Eingang

Bitmaske für die Durchführung einer Generalabfrage des entsprechenden Gerätes.

Bit 0 -> Klasse 0

Bit 1 -> Klasse 1

Bit 2 -> Klasse 2

Bit 3 -> Klasse 3

Der Wert "5" bedeutet, dass für die Daten der Klasse 2 und 0 eine Generalabfrage durchgeführt wird.

Command.GroupGQ dyn_string Eingang

Mit diesem Datenpunktelement kann eine Abfrage auf eine bestimmte Gruppe durchgeführt werden. Mit der Variation kann man angeben, in welchem Format die Daten empfangen werden sollen.

Syntax:

group:variation

Beispiel:

Um alle Zähler im 32Bit Modus mit Flags (Variation 1) abzufragen, muss man den Eintrag 20:1 auf das Datenpunktelement schreiben.

Für Gruppen- und Variationsnummern siehe Kompatibilität des DNP3 Treibers.

Command.DelayMeasurement bool Eingang Führt eine Messung der Verzögerung des entsprechenden Gerätes durch. Der gemessene Wert wird im DPE State.TimeDelay zurückgegeben.
Command.ColdRestart bool Eingang Führt einen erzwungenen Neustart der entsprechenden Außenstation aus.
Command.SyncTime bool Eingang Führt eine Zeitsynchronisierung des DNP3 Gerätes durch.
Command.ClearIIN unsigned Eingang

Setzt die Flags der internen Indikation des Gerätes auf Null. Die Bitmaske, mit welcher ein Bit auf Null gesetzt, wird folgendermaßen gedeutet:

Bit 0 -> setzt das "Restart"-Bit auf Null

Bit 1 -> setzt das "Need Time"-Bit auf Null

Command.UnsolicitedResponse unsigned Eingang

Bitmaske zum Aktivieren/Deaktivieren der Option "Unsolicited Response" ("Unaufgefordert Antworten").

Bit 0 -> Klasse 1

Bit 1 -> Klasse 2

Bit 2 -> Klasse 3

Der Wert "5" bedeutet, dass die Klassen 3 und 1 aktiviert sind und die Klasse 2 deaktiviert ist.

Command.ReadIIN bool Ausgang

Liest die Bits der internen Indikation aus und schreibt sie auf das Datenpunktelement State.IIN, wenn TRUE.

Die Bits werden nur in WinCC OA aktualisiert, wenn sich der Wert geändert hat (alt/neu Vergleich).

Config.Flags bit32

Enthält verschiedene boolesche Einstellungen. Es wird verwendet, um einige Einstellungen im Zusammenhang mit der sicheren Authentifizierung zu konfigurieren. In Zukunft kann es auch für andere boolesche Einstellungen verwendet werden.

Bit0 -> sichere Authentifizierung aktiviert(1)/deaktiviert(0)

Bit1 -> aggressiver Modus aktiviert(1)/deaktiviert(0)

Bit2 -> SHA1 erlaubt (1)/nicht erlaubt (0)

Config.Security.Users dyn_string

Dieses Datenpunktelement enthält die Liste der Benutzerkonfigurationen für das Gerät. In jeder Zeichenfolge werden Benutzernummer, Benutzername, Rolle und der vorinstallierte Schlüssel durch Semikolon getrennt gespeichert. Die Schlüssellänge kann entweder 16 oder 32 Byte betragen. Im Hex-Modus sind dies 32 oder 64 Zeichen.

Z.B. "1;alug;operator;11223344556677889900112233445566

Config.Security.ActUser int Enthält die Benutzernummer des aktiven Benutzers, die vom Treiber für das Gerät verwendet werden soll.
State.ConnState bool Ausgang Anzeige des Verbindungsstatus des DNP3 Gerätes (Nicht verbunden (0), Verbunden(1)).
State.IIN bit32 Ausgang Zeigt die vom DNP3 Gerät empfangene Gruppe von Flags (Bits) der internen Indikation an.
State.TimeDelay unsigned Ausgang Gibt die gemessene Zeit in Millisekunden aus.
State.StationTime time Ausgang Zeigt die ausgelesene Zeit von der Außenstation an (siehe auch Config-Eintrag readStationTime).