Utilisation de SnmpManager pour gérer les appareils/clients dans un réseau
Agent SNMP en cours d'exécution sur un appareil/client prenant en charge la version v1 ou v2c du protocole
oStructure de la MIB avec son OID (Object IDentifier).
oPort et adresse IP de l'appareil/du client sur lequel l'agent SNMP s'exécute.
oNoms de communauté différents configurés dans l'agent SNMP pour la lecture et l'écriture.
Définition d'une nouvelle valeur dans un OID (exemple)
Déclaration :
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
Mise en œuvre :
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
)
Etape |
Action |
---|---|
1 |
Dans stRequestInfo.i_stRequest, définissez l'adresse IP (sAgentIp) de votre appareil sur lequel l'agent SNMP s'exécute, par exemple, 10.128.154.47. |
2 |
Dans stRequestInfo.i_stRequest, définissez le port (uiAgentSnmpPort) de l'agent SNMP. Le port standard de SNMP et le port par défaut de la bibliothèque sont 161. |
3 |
Dans stRequestInfo.i_stRequest, définissez l'OID (sOid) de la valeur à modifier, par exemple, 1.3.6.1.2.1.1.5.0 (SysName). |
4 |
Dans stRequestInfo.i_stRequest, définissez le pointeur (pbyValueBuffer) de la valeur à définir dans l'OID (en cas de GetRequest, définissez le pointeur du tampon stockant la valeur reçue). |
5 |
Dans stRequestInfo.i_stRequest, définissez le type de valeur (etValueType), par exemple, OctetString (en cas de GetRequest, ce paramètre n'est pas utilisé). |
6 |
Dans stRequestInfo.i_stRequest, définissez la taille de votre valeur (dwNumBytesValue), par exemple, 60 (en cas de GetRequest, réglez la taille de votre tampon de valeurs). NOTE : Dans le cas des chaînes, ajoutez un octet supplémentaire pour le caractère de fin de la chaîne. |
7 |
Dans le ET_SnmpProtocolVersion, configurez le type de la version du protocole SNMP. La version par défaut de la bibliothèque est Version2c. |
8 |
Dans ET_SnmpRequest, définissez le type de requête, par exemple, SetRequest. |
9 |
Appelez le bloc fonction FB_SnmpManager avec les réglages/paramètres/variables ci-dessus. |