Interne Datenpunkte

Dieses Kapitel beschreibt die internen Datenpunkten "_SNMPManager", "_SNMPAgent", "_SNMPLiveAgent" und "_SNMPV3Entity".

Datenpunkttyp _SNMPManager

Datenpunkt Beschreibung
_SNMPManager

Der Kontrolldatenpunkttyp für den SNMP Manager (= SNMP Treiber).

Der Name des Datenpunkts setzt sich zusammen aus der Treibernummer und dem im Config-File angegebenen Namen. Im Standardfall ist dies ”_1_SNMPManager”

Die Elemente dieses Datenpunkts dienen zur Kommunikation mit der SNMP Treiberschicht und geben auch Rückmeldung über den Zustand des Treibers.

Elemente vom _SNMPManager

Element Type Meaning
Command string Über dieses Element können Kommandos an die Treiberschicht gesendet werden. Dieses Element dient zu Testzwecken.
Trap.EnterpriseOID string Auf den Elementen in der Trap-Gruppe werden Details zum zuletzt empfangenen SNMP Trap angezeigt. Der Enterprise-OID enthält Informationen über den Agent, welcher den Trap verschickt hat.
Trap.IPAddress string Das IP Address Feld enthält die IP-Adresse des Agents, der den Trap geschickt hat.
Trap.genericTrap string

Dieses Feld zeigt an, wenn ein sog. Generic trap verschickt wurde. Als Möglichkeiten stehen zur Auswahl

  • Coldstart
  • Warmstart
  • LinkUp
  • LinkDown
  • AuthenticationFailure
  • EgpNeighborLoss

Die jeweilige Bedeutung dieser Begriffe sind der RFC 3418 (SNMP v2) zu entnehmen.

Trap.PayloadType string Datentyp des Trap Payloads.
Trap.specificTrap string Falls kein Standard Trap verschickt wurde, steht in diesem Feld der Wert des letzten Elements des Trap OIDs.
Trap.timestamp uint Der Zeitstempel gibt an, wann der Trap verschickt wurde (Laufzeit des Agents entsprechend system.sysUpTime)
Trap.PayloadOID dyn_string Der SNMP Trap kann weitere SNMP Elemente mitführen, die Details zum Trap aufzeigen. Diese Elemente hängen vom jeweiligen Trap ab und werden immer als Paar OID <-> Wert geschickt. Das PayloadOID Feld enthält die Object Identifier.
Trap.PayloadValue dyn_string

Dieses Element enthält die Werte der Payload-Elemente.

Um Octet Strings zu behandeln, welche nicht druckbare Zeichen beinhalten, kann der Config Eintrag [snmpdrv] trapPayloadOctetStringHex aktiviert werden.

Trap.HomelessTrap string

Dieses Element liefert Informationen bezüglich "homeless" Traps.

Die Meldung wird im folgendem Format gespeichert:

<Agent Name>|<AgentId>|<SNMP Datentyp als String>(<SNMP Datentyp als Integer Wert>)|<OID>|<agent IP>

Beispiel

  • Sollte der Agent, der das Trap versendet, nicht konfiguriert worden sein, kommt es zu folgender Ausgabe:

    ?|?|INT32 (2)|1.3.6.1.4.1.8691.10.2242.11.6|192.168.152.25

    Ein Trap wurde erhalten von einem Gerät mit der IP 192.168.152.25. Da der Agent und die ID nicht bekannt sind wurden sie durch ein "?" ersetzt.

  • Sollte der Agent konfiguriert sein, jedoch die OID unbekannt, so erfolgt folgende Ausgabe:

    _1_SNMPAgent_6|6|INT32 (2)|1.3.6.1.4.1.12148.9.1.10.0|192.168.152.18

    Ein Trap wurde Agent _1_SNMPAgent_6 mit der IP 192.168.152.18 erhalten. DIe OID1.3.6.1.4.1.12148.9.1.10. ist jedoch für das WinCC OA System unbekannt.

Redirector uint Obsolete
TrapFilter.Address dyn_string Der Trap-Empfänger kann Traps nach Herkunftsadresse filtern. Diese Filterung wird über das TrapFilter.Address Element ermöglicht.
TrapFilter.OID dyn_string Der Trapfilter kann auch die EnterpriseOID der Traps auswerten und nur auf spezifische Traps reagieren. So kann die Flut der eintreffenden Traps z.B. auf mehrere SNMP Manager aufgeteilt werden.

Datenpunkttyp _SNMPAgent

Datenpunkttyp Beschreibung
_SNMPAgent

Der SNMP Agent Datenpunkttyp bildet die Parametrierung für einen anzusprechenden Agent ab. Die Datenpunktnamen setzen sich aus der Treibernummer, dem String aus dem Configfile und der Agentnummer zusammen. Im Normalfall heißt ein Datenpunkt dann z.B.: _1_SNMPAgent_5.

Anmerkung: Zusätzlich muss ein Datenpunkt mit der Bezeichnung _SNMPAgent existieren. Ist dies nicht der Fall, so muss der Config-Eintrag [snmpdrv] agentDPTemplate geändert werden.

Elemente vom _SNMPAgent

Element Typ Beschreibung
Access.IPAddress string Die IP-Adresse des Agents, z.B. 192.168.1.13, oder ein Rechnername, z.B. eiwrk068. Wenn keine IP-Adresse eingetragen wird bzw. diese wieder gelöscht wird (Leerstring), wird der Agent automatisch deaktiviert und der interne DPE Status.Timeout auf FALSE gesetzt, unabhängig in welchem Status sich dieser vorher befand.
Access.ReadCommunity string Der SNMP Read Community String.
Access.WriteCommunity string Der SNMP Write Community String.
Access.Timeout uint Das Timeout in 1/100s, bis ein SNMP Telegramm beantwortet warten muss. Der Defaultwert ist 100 (entspricht 1s), was bei längeren Strecken oder langsameren Netzen/Agents evtl. erhöht werden muss. Gültige Werte sind 100 - 1000 (entspricht 1 - 10s).
Access.Retries uint Wiederholungen, bevor ein SNMP Protokoll Fehler ausgegeben wird. Im Falle eines Timeouts (s.o.) wird das Telegramm wiederholt. Der Standardwert ist 1, maximal 10 Wiederholungen sind parametrierbar.
Access.Protocol uint Das SNMP-Protokoll. 0,1 stehen für v1 und 2 für v2c. Standard ist v1.
Access.Port uint Die Portnummer, unter welcher der Agent angesprochen werden soll. Das Standardport von SNMP liegt auf 161. Es kann aber hier auch jeder andere Port angegeben werden.
Access.Flags bit32

Mit diesem Element können zusätzliche Einstellung durch Setzen (=1) des entsprechenden Bit Wertes vorgenommen werden.

  • bit0: Redundanzumschaltung bei Timeout, d.h. wenn bei einem Read- oder Write-Request der TIMEOUT Status zurückgeliefert wird
  • bit1: Redundanzumschaltung bei keepAlive-Fehler (KeepAlive-Überprüfung schlägt fehl)
  • bit2: Treiber verwendet getBulk-Requests statt einzelner getNext-Requests.
  • bit3: Die Verbindung wird bei Auftreten eines USM-Fehlers (Fehlercode ≤ 100) beendet.
  • bit4: Die Verbindung wird bei Auftreten eines User-USM-Fehlers (Fehlercode > 100) beendet.
  • bit5: Es wird eine Alive-Abfrage bei Änderung der Konfiguration durchgeführt.
  • bit6: Legt fest ob ein Octet-String innerhalb des Browse Ergebnisses im hexadezimalen Format (=1) oder als sichbtarer String (=0; default) angezeigt werden soll.
Wichtig: Eine Redundanzumschaltung ist nur möglich wenn ein gültiges Target (.Redu.Access) konfiguriert ist.
Einschränkung: getBulk-Anfragen (siehe Bit 2) können nicht für SNMP-V1-Agenten verwendet werden.
Status.ErrorOID dyn_string

Wenn ein Protokollfehler auftritt, so wird an diesem Datenpunkt die entsprechende OID angezeigt. Da hier ein DynText vorliegt, werden immer alle aktuellen nicht verfügbaren OIDs angezeigt. Des Weiterem werden auch die entsprechenden Invalid-Bits bei den WinCC OA Elementen gesetzt.

Format:

errorcode#OID - ERROR: errortext

Die möglichen Fehlercodes sind:

OID Fehler
  • 2//!< No such VB name, see error index
  • 3 //!< Bad Vb
  • 6 //!< No access to MIBs data
  • 7 //!< Requested type was incorrect
  • 8 //!< Request Pdu has inccorect length
  • 9 //!< Request Pdu has wrong encoding
  • 10 //!< Request Pdu has wrong value
  • 11 //!< Unable to create object specified
  • 12 //!< Inconsistent value in request
  • 13 //!< Resources unavailable
  • 14 //!< Unable to comit
  • 15 //!< Unable to undo
  • 16 //!< Authorization error
  • 17 //!< Mib Object not writeable
  • 18 //!< Inconsistent naming used
Protokollfehler
  • -5 //!< outstanding request timed out
  • -8 //!< snmp::destroyed with oustanding reqs pending
Transportfehler
  • -20 //!< transport unsupported
  • -21 //!< transport in use
  • -22 //!< transport operation failed
  • -23 //!< transport missing rights
Anmerkung: Ist das Debug-Flag 29 gesetzt, werden die Fehlermeldungen auch im WinCC OA Log-Viewer ausgegeben.
Status.QueueLength uint Hier wird die aktuelle Länge der Request Queue des Agents angezeigt. Dieser Wert wird nur dann aktualisiert, wenn auch ein Protokollfehler aufgetreten ist. Er soll zu Diagnosezwecken ausgegeben werden und ist für den laufenden Betrieb unerheblich.
Status.Timeout bool Dieses Bit wird gesetzt, wenn eine gewisse Zeit lang kein Telegramm mit dem Agent ausgetauscht worden ist (die Zeit wird über den Config-Eintrag agentConnectTimeout parametriert). Wenn am DPE Access.IPAddress keine IP-Adresse (Leerstring) eingetragen wurde bzw. wieder gelöscht wird, wird dieses Bit auf FALSE gesetzt, unabhängig von dessen vorherigen Status.
Status.ConnState bool

Das Datenpunktelement zeigt den Verbindungsstatus des SNMP Agents an.

Folgendes gilt für jeden Agent, welcher für einen SNMP Manager konfiguriert wurde:

  • Beim Start des Managers wird der Wert des ConnState Flags auf FALSE gesetzt.

  • Das Konfigurieren der ersten Peripherieadresse für einen Agent löst einen Alive-Check aus und der Wert des DPE wird auf TRUE gesetzt, sollte der konfigurierte Agent verfügbar sein. Anschließend wird der Wert bei jedem weiteren Alive-Check aktualisiert.

  • Um diesen ersten Alive-Check auszulösen, muss die Peripherieadresse aktiv geschalten werden.

Anmerkung: Das Konfigurieren weiterer Peripherieadressen löst keinen weiteren Alive-Check aus.
Status.WriteResponse string

Das Datenpunktelement enthält die Antwort auf den Schreibversuch des SNMP Agents. Hierbei werden folgende Information hinterlegt:

<Fehlercode>#<interne Agent-ID>_<OID> [ -error: <Fehlerbeschreibung>].

Beispiel für das erfolgreiche Schreiben durch den Treiber:

0#1_1.3.6.1.4.1.8691.10.2242.10.1.1.4.11

Beispiel für ein fehlerhaftes Schreiben durch den Treiber:

-5#1_1.3.6.1.4.1.8691.10.2242.10.1.1.4.11 - error: SNMP++: SNMP request timed out

Die entsprechenden Fehlercodes entnehmen Sie der Beschreibung des DPE Elementes Status.ErrorOID.

Status.ActiveConn int

Zeigt das aktive Target an, mit dem der Treiber gerade kommuniziert.

  • 0: erster Agent
  • 1: zweiter Agent
Command uint

Über dieses Element können zwei Kommandos an die lokale Agent-Repräsentation abgeschickt werden:

  • Clearerror(1) löscht den ErrorOID Datenpunkt und auch alle internen Errors.
  • Checkerror(2)aktualisiert den ErrorOID Datenpunkt und das QueueLength Element
Browse.Start string

Definiert die Start-OID für die Abfrage aller Daten des Agents. Diese werden dann auf das DPE Browse.Result geschrieben.

Wenn dieses DPE leer gelassen wird, wird die Abfrage mit der Start-OID "1.3.6.1" gestartet.

Es ist auch möglich, per dpSet auf dieses Datenpunktelement mehrere Browsing-Requests anzustoßen. Die Requests kommen der Reihe nach in eine Abarbeitungsliste und werden anschließend in der selben Reihenfolge abgearbeitet.

Grundsätzlich gibt es kein Limit für Browsing-Requests. Ein Browsing-Request wird jedoch verworfen, wenn sich bereits ein identischer Request in der Abarbeitungsliste befindet.

Jeder Browsing-Request wird durch den String identifiziert (siehe DPE "Browse.RequestId"), der auf dieses Datenpunktelement geschrieben wurde. Folgende Requests sind unterschiedlich und würden somit gleichzeitig zur Liste hinzugefügt:

  • “1.3.6.1.2.1.1”
  • “1.3.6.1.2.1.1:7”
  • “1.3.6.1.2.1.1:3”
  • “1.3.6.1.2.1”
  • “1.3.6.1.2.1.2”
Browse.Result dyn_string

In diesem DPE wird das Ergebnis der Abfrage, welche mittels Browse.Start gestartet wurde, ausgegeben. Während des Browsens steht in diesem DPE "1 - started browsing".

Nachdem das Browsen erfolgreich durchgeführt wurde, enthält das Ergebnis die Daten des Agents. Ein Datensatz setzt sich immer aus 3 Zeilen zusammen:

  • 1. Zeile: OID
  • 2. Zeile: Wert in einer default Transformation
  • 3. Zeile: Datentyp als Zahl#Datentyp als Text

Beispiel mit zwei Datensätzen:

1.3.6.1.2.1.1.1.0
Hardware: x86 Family 6 Model 15 Stepping 8 AT/AT COMPATIBLE
4#OCTETS
1.3.6.1.2.1.1.3.0
0:00:26.60
67#TIMETICKS

Mögliche Werte für den Datentyp:

  • 2 - INT32
  • 3 - BITS
  • 4 - OCTETS
  • 6 - OID
  • 64 - IPADDR
  • 65 - CNTR32
  • 66 - UINT32
  • 67 - TIMETICKS
  • 68 - OPAQUE
  • 70 - CNTR64

Enthält das Ergebnis keine durch 3 teilbare Anzahl an Einträgen, so handelt es sich um eine Statusmeldung. In diesem Fall steht in der ersten Zeile ein Statuscode:

1 - Abfrage gestartet
-1 - Fehler

Fehlercode und Beschreibung sind in der zweiten Zeile enthalten.

Zum Beispiel:

-1
-5#SNMP++: SNMP request timed out
Browse.RequestId string Request-ID zur Identifikation von Browsing-Requests und dessen Ergebnissen. Die ID wird gemeinsam mit dem Ergebnis der Abfrage gesetzt und entspricht immer dem String der zum Starten der Abfrage auf das Browse.Start-Datenpunktelement geschrieben wurde.
Redu.Access.IPAdress string IP-Adresse (oder Computername) des redundanten Agents. Wird keine IP-Adresse gesetzt oder die Adresse gelöscht (Leerstring), wird die Entity automatisch deaktiviert, das interne Datenpunktelement Status.Timeout wird unabhängig vom aktuellen Status auf FALSE gesetzt und eine Redundanzumschaltung ist nicht möglich.
Redu.Access.Port uint Port der für die Kommunikation mit dem redundanten Agent verwendet werden soll. Der Defaultport von SNMP ist 161.
Redu.Access.ReadCommunity string Der SNMP-ReadCommunity-String des redundanten Agents.
Redu.Access.WriteCommunity string Der SNMP-WriteCommunity-String des redundanten Agents.
Redu.Status.ConnState bool

Zeigt den Verbindungsstatus des redundanten Agents. Beim Start des Managers wird dieses Datenpunktelement auf FALSE gesetzt. Erst nach der ersten erfolgreich empfangenen Nachricht wird der Status auf TRUE gesetzt

Anmerkung: Wird agentAliveTimeout auf 0 gesetzt, wird dieses Element auf FALSE gesetzt bis das redundante Target eine Nachricht erhält (nach Redundanzumschaltung).
Redu.Status.Timeout bool

Wird gesetzt wenn mit dem Agent während der mit agentConnectTimeout konfigurierten Zeitspanne keine Nachrichten ausgetauscht wurden.

Wird keine IP-Adresse definiert oder wurde die Adresse gelöscht (Leerstring), so wird dieses Element unabhängig vom aktuellen Status auf FALSE gesetzt und eine Redundanzumschaltung ist nicht möglich.

Datenpunkttyp _SNMPLiveAgent

Datenpunkt Beschreibung
_SNMPLiveAgent Hier stehen die WinCC OA DP-Elemente, die man über SNMP abfragen kann.

Elemente vom _SNMPLiveAgent

Element Typ Beschreibung
Command string Dieses Element kann über SNMP gesetzt werden. Wenn das MIB-Objekt 1.3.6.1.4.1.13828.2.1.12 mit einem Text beschrieben wird, so wird dieser Text auf dem DPE angezeigt. Ein CTRL-Skript kann sich also auf dieses DPE verbinden und wird aktiviert, wenn sich der Wert ändert.
Response string Dieses Element wird auf das MIB-Objekt 1.3.6.1.4.1.13828.2.1.13 abgebildet und ist dafür gedacht, dass das oben erwähnte Ctrl-Script ein Ergebnis anzeigen kann, das über SNMP zugängig ist.
SpecificTrap string Wenn auf dieses Element ein Wert geschrieben wird, so wird er als UserTrap vom Live Agent über den PmonProxyAgent an alle dort konfigurierten TrapTargets verschickt. Dies passiert nur, wenn im ConfigFile die UserTraps aktiviert sind.
DPTableElements dyn_string Hier stehen die DPElemente, die man über SNMP abfragen kann mit ihrem zugehörigen Index.

Datenpunkttyp _SNMPV3Entity

Anmerkung: Zusätzlich muss ein Datenpunkt mit der Bezeichnung _SNMPAgent existieren. Ist dies nicht der Fall, so muss der Config-Eintrag [snmpdrv] agentDPTemplate geändert werden.
Element Typ Beschreibung
Command uint

Über dieses Element können Kommandos an den Treiber-Layer geschickt werden. Dieses Element dient zu Testzwecken.

  • Alive query (1) wird an alle verbundenen Targets gesendet
Access.IPAddress string Die IP-Adresse der Entity, z.B. 192.168.1.13, oder ein Rechnername, z.B. eiwrk068. Wenn keine IP-Adresse eingetragen wird bzw. diese wieder gelöscht wird (Leerstring), wird die Entity automatisch deaktiviert und der interne DPE Status.Timeout auf FALSE gesetzt, unabhängig in welchem Status sich dieser vorher befand.
Access.Port uint Die Portnummer, unter der der Agent angesprochen werden soll. Das Standard-Port von SNMP liegt auf 161. Es kann aber hier auch jedes andere Port angegeben werden.
Access.Timeout uint Das Timeout in 1/100s, bis ein SNMP Telegramm beantwortet werden muss. Der Defaultwert ist 1s, was bei längeren Strecken oder langsameren Netzen/Agents evt. erhöht werden muss. Gültige Werte sind 1s - 10s.
Access.Retries uint Wiederholungen, bevor ein SNMP Protokoll Fehler ausgegeben wird. Im Falle eines Timeouts (s.o.) wird das Telegramm wiederholt. Der Standardwert ist 1, maximal 10 Wiederholungen sind parametrierbar.
Access.SecurityName string Der SecurityName bezeichnet den User/das Programm, das Zugriff auf Daten fordert.
Access.SecurityLevel uint

Das SecurityLevel beschreibt, welche Sicherungsmaßnahmen beim Datenaustausch zu ergreifen sind.

  • noAuthNoPriv (1) keine Authetifizierung und keine Verschlüsselung
  • authNoPriv (2) Authentifizierung, aber keine Verschlüsselung
  • authPriv (3) Authentifizierung und Datenverschlüsselung

Defaultwert ist (1).

Access.ContextName string

Der anzusprechende Kontextname auf dem Zielrechner. Der Context beinhaltet bestimmte MIB-Objekte.

Pro Agent kann nur ein Contextname angegeben werden. Sollen auf einem Agent mehrere Context-Bereiche abgefragt werden, so müssen mehrere Datenpunkte angelegt werden.

Access.ContextEngineID string Die EngineID des Zielrechners. Ist diese nicht angegeben, wird sie im Zuge der Datenabfrage bestimmt.
Access.AuthProtocol uint

Für die Authentifizierung der SNMP User stehen zwei Protokolle zur Verfügung.

  • none (1) kein Authentifizierungsprotokoll
  • HMAC_MD5 (2) MD5 Authentifizierung
  • HMAC_SHA (3) SHA Authentifizierung
  • HMAC_SHA2_224 (4) SHA2 Authentifizierung
  • HMAC_SHA2_256 (5) SHA2 Authentifizierung
  • HMAC_SHA2_384 (6) SHA2 Authentifizierung
  • HMAC_SHA2_512 (7) SHA2 Authentifizierung

Defaultwert ist (1).

Access.AuthPasswd string Das Passwort, das für die Authentifizierung zu verwenden ist.

Das Passwort wird verschlüsselt gespeichert.

Access.PrivProtocol (unsigned) uint

Die verschickten Daten können zur Erhöhung der Sicherheit auch verschlüsselt werden. Für diese Verschlüsselung muss ein Protokoll ausgewählt werden.

  • none (1) keine Verschlüsselung
  • DES (2) DES Verschlüsselung (Data Encryption Standard)
  • IDEA (9) IDEA-Verschlüsselung (International Data Encryption Algorithm)
  • AES128 (4) Advanced Encryption Standard Verschlüsselung mit 128 bit Schlüssel
  • AES192 (20) Advanced Encryption Standard Verschlüsselung mit 192 bit Schlüssel
  • AES256 (21) Advanced Encryption Standard Verschlüsselung mit 256 bit Schlüssel

Default ist (1).

Access.PrivPasswd string Das Passwort, das für die Verschlüsselung zu verwenden ist.

Das Passwort wird verschlüsselt gespeichert.

Access.Flags bit32

Mit diesem Element können zusätzliche Einstellung durch Setzen (=1) des entsprechenden Bit Wertes vorgenommen werden.

  • bit0: Redundanzumschaltung bei Timeout, d.h. wenn bei einem Read- oder Write-Request der TIMEOUT Status zurückgeliefert wird
  • bit1: Redundanzumschaltung bei keepAlive-Fehler (KeepAlive-Überprüfung schlägt fehl)
  • bit2: Treiber verwendet getBulk-Requests statt einzelner getNext-Requests.
  • bit3: Die Verbindung wird bei Auftreten eines USM-Fehlers (Fehlercode ≤ 100) beendet.
  • bit4: Die Verbindung wird bei Auftreten eines User-USM-Fehlers (Fehlercode > 100) beendet.
  • bit5: Es wird eine Alive-Abfrage bei Änderung der Konfiguration durchgeführt.
  • bit6: Legt fest ob ein Octet-String innerhalb des Browse Ergebnisses im hexadezimalen Format (=1) oder als sichbtarer String (=0; default) angezeigt werden soll.
  • Wenn dieses Flag gesetzt ist, wird die Zählerprüfung für den entsprechenden V3-Agenten, von dem der V3-Inform/Trap kommt, deaktiviert.

    Per Voreinstellung (= 0) ist die Zählerprüfung aktiv.

    Anmerkung: Dieses Flag kann auch während der Laufzeit des Treibers geändert werden und die Änderung wird sofort wirksam.
    Tipp: Dieses Flag muss aktiviert werden, um den Empfang von SNMP V3 Inform/Trap-Nachrichten von SCALANCE-Geräten zu ermöglichen.
Wichtig: Eine Redundanzumschaltung ist nur möglich wenn ein gültiges Target (.Redu.Access) konfiguriert ist.
Status.ErrorOID dyn_string Wenn ein Protokollfehler auftritt, so wird an diesem Datenpunkt die entsprechende OID angezeigt. Da hier ein DynText vorliegt, werden immer alle aktuellen nicht verfügbaren OIDs angezeigt. Weiters werden auch die entsprechenden Invalid-Bits bei den WinCC OA Elementen gesetzt. Wenn ein SNMPv3 USM-Fehler auftritt, wird er ebenso auf dieses DPE geschrieben.
Status.QueueLength uint Hier wird die aktuelle Länge der Request Queue des Agents angezeigt. Dieser Wert wird nur dann aktualisiert, wenn auch ein Protokollfehler aufgetreten ist. Er soll zu Diagnosezwecken ausgegeben werden und ist für den laufenden Betrieb unerheblich.
Status.Timeout bool Dieses Bit wird gesetzt, wenn eine gewisse Zeit lang kein Telegramm mit dem Agent ausgetauscht worden ist (die Zeit wird über den Config-Eintrag agentConnectTimeout parametriert). Wenn am DPE Access.IPAddress keine IP-Adresse (Leerstring) eingetragen wurde bzw. wieder gelöscht wird, wird dieses Bit auf FALSE gesetzt, unabhängig von dessen vorherigen Status.
Status.ActiveConn int

Zeigt das aktive Target an, mit dem der Treiber gerade kommuniziert.

  • 0: erster Agent
  • 1: zweiter Agent
Notify.ID uint

Letzte Nummer der OID (Object identifier = Objektbezeichner). Diese Nummer wird zu den OID-Notifikation, die im WinCC OA MIB definiert ist, hinzugefügt. Wenn dieser DPE modifiziert wird, wird ein SNMPv3-Trap vom SNMP-Manager an die entsprechende SNMP V3-Entity gesendet.

Mit -dbg 26 bekommen Sie Debugausgaben, wenn ein Trap verschickt wurde.

Notify.Text string Hier geben Sie den Trap-Text ein. Wenn das Element einen Text enthält, wird der Text beim Ändern von Notify.Id gesendet.
Browse.Start string

Definiert die Start-OID für die Abfrage aller Daten des Agents. Diese werden dann auf das DPE Browse.Result geschrieben.

Wenn dieses DPE leer gelassen wird, wird die Abfrage mit der Start-OID "1.3.6.1" gestartet.

Es ist auch möglich, per dpSet auf dieses Datenpunktelement mehrere Browsing-Requests anzustoßen. Die Requests kommen der Reihe nach in eine Abarbeitungsliste und werden anschließend in der selben Reihenfolge abgearbeitet.

Grundsätzlich gibt es kein Limit für Browsing-Requests. Ein Browsing-Request wird jedoch verworfen, wenn sich bereits ein identischer Request in der Abarbeitungsliste befindet.

Jeder Browsing-Request wird durch den String identifiziert (siehe DPE "Browse.RequestId"), der auf dieses Datenpunktelement geschrieben wurde. Folgende Requests sind unterschiedlich und würden somit zur Liste hinzugefügt:

  • “1.3.6.1.2.1.1”
  • “1.3.6.1.2.1.1:7”
  • “1.3.6.1.2.1.1:3”
  • “1.3.6.1.2.1”
  • “1.3.6.1.2.1.2”
Browse.Result dyn_string

In diesem DPE wird das Ergebnis der Abfrage, welche mittels Browse.Start gestartet wurde, ausgegeben. Während des Browsens steht in diesem DPE "1 - started browsing".

Nachdem das Browsen erfolgreich durchgeführt wurde, enthält das Ergebnis die Daten des Agents. Ein Datensatz setzt sich immer aus 3 Zeilen zusammen:

  • 1. Zeile: OID
  • 2. Zeile: Wert in einer default Transformation
  • 3. Zeile: Datentyp als Zahl#Datentyp als Text

Beispiel mit zwei Datensätzen:

1.3.6.1.2.1.1.1.0
Hardware: x86 Family 6 Model 15 Stepping 8 AT/AT COMPATIBLE
4#OCTETS
1.3.6.1.2.1.1.3.0
0:00:26.60
67#TIMETICKS

Mögliche Werte für den Datentyp:

  • 2 - INT32
  • 3 - BITS
  • 4 - OCTETS
  • 6 - OID
  • 64 - IPADDR
  • 65 - CNTR32
  • 66 - UINT32
  • 67 - TIMETICKS
  • 68 - OPAQUE
  • 70 - CNTR64

Enthält das Ergebnis keine durch 3 teilbare Anzahl an Einträgen, so handelt es sich um eine Statusmeldung. In diesem Fall steht in der ersten Zeile ein Statuscode:

1 - Abfrage gestartet

-1 - Fehler

Fehlercode und Beschreibung sind in der zweiten Zeile enthalten.

Zum Beispiel:

-1

-5#SNMP++: SNMP request timed out

Browse.RequestId string Request-ID zur Identifikation von Browsing-Requests und dessen Ergebnissen. Die ID wird gemeinsam mit dem Ergebnis der Abfrage gesetzt und entspricht immer dem String der zum Starten der Abfrage auf das Browse.Start-Datenpunktelement geschrieben wurde.
Redu.Access.IPAdress string IP-Adresse (oder Computername) des redundanten Agents. Wird keine IP-Adresse gesetzt oder die Adresse gelöscht (Leerstring), wird die Entity automatisch deaktiviert, das interne Datenpunktelement Status.Timeout wird unabhängig vom aktuellen Status auf FALSE gesetzt und eine Redundanzumschaltung ist nicht möglich.
Redu.Access.Port uint Port der für die Kommunikation mit dem redundanten Agent verwendet werden soll. Der Defaultport von SNMP ist 161.
Redu.Access.SecurityName string Der SecurityName bezeichnet den User/das Programm, das Zugriff auf Daten fordert.
Redu.Access.SecurityLevel uint

Definiert die Sicherheitsmaßnahmen beim Datenaustausch:

  • noAuthNoPriv (1) keine Authentifizierung und keine Verschlüsselung
  • authNoPriv (2) Authentifizierung, aber keine Verschlüsselung
  • authPriv (3) Authentifizierung und Datenverschlüsselung

Defaultwert ist (1).

Redu.Access.ContextName string ContextName des redundanten Agents
Redu.Access.ContextEngineID string ContextEngineID des redundanten Agents
Redu.Access.AuthProtocol uint

Für die Authentifizierung der SNMP User stehen zwei Protokolle zur Verfügung.

  • none (1) kein Authentifizierungsprotokoll
  • HMAC_MD5 (2) MD5 Authentifizierung
  • HMAC_SHA (3) SHA Authentifizierung
  • HMAC_SHA2_224 (4) SHA2 Authentifizierung
  • HMAC_SHA2_256 (5) SHA2 Authentifizierung
  • HMAC_SHA2_384 (6) SHA2 Authentifizierung
  • HMAC_SHA2_512 (7) SHA2 Authentifizierung

Defaultwert ist (1).

Redu.Access.AuthPassword string Das Passwort, das für die Authentifizierung zu verwenden ist.
Redu.Access.PrivProtocol uint

Die verschickten Daten können zur Erhöhung der Sicherheit auch verschlüsselt werden. Für diese Verschlüsselung muss ein Protokoll ausgewählt werden.

  • none (1) keine Verschlüsselung
  • DES (2) DES Verschlüsselung (Data Encryption Standard)
  • IDEA (9) IDEA Verschlüsselung (International Data Encryption Algorithm)
  • AES128 (4) Advanced Encryption Standard
  • AES192 (20)
  • AES256 (21)

Default ist (1).

Redu.Access.PrivPasswd string Das Passwort, das für die Verschlüsselung zu verwenden ist.
Redu.Status.ConnState bool

Zeigt den Verbindungsstatus des redundanten Agents. Beim Start des Managers wird dieses Datenpunktelement auf FALSE gesetzt. Erst nach der ersten erfolgreich empfangenen Nachricht wird der Status auf TRUE gesetzt

Anmerkung: Wird agentAliveTimeout auf 0 gesetzt, wird dieses Element auf FALSE gesetzt bis das redundante Target eine Nachricht erhält (nach Redundanzumschaltung).
Redu.Status.Timeout bool

Wird gesetzt wenn mit dem Agent während der mit agentConnectTimeout konfigurierten Zeitspanne keine Nachrichten ausgetauscht wurden.

Wird keine IP-Adresse definiert oder wurde die Adresse gelöscht (Leerstring), so wird dieses Element unabhängig vom aktuellen Status auf FALSE gesetzt und eine Redundanzumschaltung ist nicht möglich.