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:
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). |