EcoStruxure Machine Expert Version 1.1 unterstützt nicht die Controller M258, LMC058 und LMC078.

Verwendung von SnmpManager zur Verwaltung der Geräte/Clients in einem Netzwerk

 

Funktionsprinzip

Systemanforderungen

Auf einem Gerät/Client ausgeführter SNMP-Agent Unterstützung für Protokollversion v1 oder v2c

Informationsanforderungen

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.