Verwendung von SnmpManager zur Verwaltung der Geräte/Clients in einem Netzwerk
Auf einem Gerät/Client ausgeführter SNMP-Agent Unterstützung für Protokollversion v1 oder v2c
oMIB-Struktur mit der zugehörigen OID (Objekt-IDentifikation)
oPort und IP-Adresse des Geräts/Clients, auf dem der SNMP-Agent ausgeführt wird.
oDie verschiedenen im SNMP-Agent für Lese- und Schreibvorgänge definierten Community-Namen.
Einstellen eines neuen Werts in einer OID (Beispiel)
Deklaration:
PROGRAM SetRequest
VAR
sNewSysName : STRING[60];
fbSnmpManager : SE_SNMP.FB_SnmpManager;
stRequestInfo : SE_SNMP.ST_RequestInformation;
etRequest : SE_SNMP.ET_SnmpRequest;
etProtocolVersion : SE_SNMP.ET_SnmpProtocolVersion;
xError : BOOL;
xDone : BOOL;
xBusy : BOOL;
xActive : BOOL;
xReady : BOOL;
etResult : SE_SNMP.ET_Result;
sResultMsg : STRING(255);
END_VAR
Implementierung:
sNewSysName := 'SchneiderSystem';
stRequestInfo.i_stRequest.pbyValueBuffer := ADR(sNewSysName);
stRequestInfo.i_stRequest.dwNumBytesValue := 60;
stRequestInfo.i_stRequest.sAgentIp := '10.128.154.41';
stRequestInfo.i_stRequest.sOid := '1.3.6.1.2.1.1.5.0'; //SysName
stRequestInfo.i_stRequest.uiAgentSnmpPort := 161;
stRequestInfo.i_stRequest.etValueType := SE_SNMP.ET_SnmpTag.OctetString;
etRequest := SE_SNMP.ET_SnmpRequest.SetRequest;
etProtocolVersion := SE_SNMP.ET_SnmpProtocolVersion.Version2c
fbSnmpManager( i_xEnable := TRUE,
i_xExecute := TRUE,
i_etRequest := etRequest,
i_etVersion := etProtocolVersion
iq_stRequestInfo := stRequestInfo,
q_xActive => xActive,
q_xReady => xReady,
q_xBusy => xBusy,
q_xDone => xDone,
q_xError => xError,
q_etResult => etResult,
q_sResultMsg => sResultMsg
)
Schritt |
Aktion |
---|---|
1 |
Stellen Sie in stRequestInfo.i_stRequest die IP-Adresse (sAgentIp) des Geräts ein, auf dem der SNMP-Agent ausgeführt wird. Beispiel: 10.128.154.47. |
2 |
Geben Sie in stRequestInfo.i_stRequest den Port (uiAgentSnmpPort) des SNMP-Agents an. Der Standardport von SNMP und der Standardport der Bibliothek sind 161. |
3 |
Geben Sie in stRequestInfo.i_stRequest die OID (sOid) des zu ändernden Werts ein. Beispiel: 1.3.6.1.2.1.1.5.0 (SysName). |
4 |
Legen Sie in stRequestInfo.i_stRequest den Zeiger (pbyValueBuffer) fest, der auf den in der OID einzustellenden Wert verweist (bei einem GetRequest: Stellen Sie den Zeiger auf den Puffer ein, in dem der empfangene Wert gespeichert wird). |
5 |
Legen Sie in stRequestInfo.i_stRequest den Wertetyp (etValueType) fest. Beispiel: OctetString (bei einem GetRequest: Dieser Parameter wird nicht verwendet). |
6 |
Geben Sie in stRequestInfo.i_stRequest die Größe des Werts (dwNumBytesValue) an. Beispiel: 60 (bei einem GetRequest: Geben die Größe des Wertepuffers an). HINWEIS: Für Zeichenfolgentypen ist ein zusätzliches Byte für das Endzeichen hinzuzufügen. |
7 |
Stellen Sie in ET_SnmpProtocolVersion den Typ der SNMP-Protokollversion ein. Die Standardversion der Bibliothek wird auf Version2c eingestellt. |
8 |
Legen Sie in ET_SnmpRequest den Typ des Requests fest. Beispiel: SetRequest. |
9 |
Rufen Sie FB_SnmpManager mit den oben aufgeführten Einstellungen/Parametern/Variablen auf. |