This function will read a double floating point value from a managed device. See DOUBLE.
Input:
Handle : SYSHANDLE
The handle to the connection established from snmpConnect.
OID : STRING
The OID for the value to read.
Output:
V : DOUBLE
The value read.
Returns: INT
1
|
- Success.
|
0
|
- This function is not supported.
|
-1
|
- Invalid handle.
|
-8
|
- Communication error.
|
-9
|
- Invalid variable type received.
|
-10
|
- Invalid OID.
|
Declaration
FUNCTION snmpGetDouble : INT;
VAR_INPUT
Handle : MANDATORY SYSHANDLE;
OID : MANDATORY STRING;
V : ACCESS DOUBLE;
END_VAR;
Example:
INCLUDE rtcu.inc
VAR
iface : SINT := 2;
END_VAR;
PROGRAM example;
VAR
rc : INT;
snmplabs : SYSHANDLE;
val : DOUBLE;
END_VAR;
rc := netOpen(iface := iface);
DebugFmt(Message := "netOpen (rc=\1)", v1 := rc);
WHILE NOT netConnected(iface := iface) DO
Sleep(Delay := 2000);
END_WHILE;
rc := snmpConnect(
handle := snmplabs,
community := "public",
host := "demo.snmplabs.com"
);
IFrc = 1THEN
rc := snmpGetDouble(
handle := snmplabs,
oid := "1.3.6.1.2.1.880.1",
v := val
);
IF rc = 1 THEN
DebugMsg(message := "snmpGetDouble returned : " + doubleToStr(v := val));
ELSE
DebugFmt(message := "snmpGetDouble (rc=\1)", v1 := rc);
END_IF;
ELSE
DebugFmt(message := "snmpConnect failed (rc=\1)", v1 := rc);
END_IF;
BEGIN
END;
END_PROGRAM;
|