snmpGetDouble (Function)

Top  Previous  Next

Architecture:

NX32L

Device support:

All NX devices

Firmware version:

1.50.00


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;
  // Open net interface.
  rc := netOpen(iface := iface);
  DebugFmt(Message := "netOpen (rc=\1)", v1 := rc);
  WHILE NOT netConnected(iface := iface) DO
    Sleep(Delay := 2000);
  END_WHILE;
 
  // Establish connection with client host.
  rc := snmpConnect(
                    handle   := snmplabs,
                    community := "public",
                    host     := "demo.snmplabs.com"
                   );
  IF rc = 1 THEN
    // Read double variable.
    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;