SNMP_GET_REQUEST (FB) ¶ FUNCTION_BLOCK SNMP_GET_REQUEST Function block to send a SNMP GET or GET_NEXT request. InOut: Scope Name Type Initial Comment Input xExecute BOOL Starts the request sHost STRING(100) Hostname or IP address of the SNMP agent sOwnIP STRING(100) Hostname or IP address of the SNMP master (the IP of the control) asOIDs REFERENCE TO ARRAY [0..(gc_uiMaxOIDs - 1)] OF STRING((gc_iMaxValueLength - 1)) Array of OIDs to request iNumberOfOIDs INT Number of OIDs in asOIDs uiPeerPort UINT 161 Port of the sender (the control) uiSendPort UINT 161 Port of the agent (printer, router etc.) eRequestType RequestType Type of the request sCommunity STRING ‘public’ The community, default: ‘public’ xClosePeer BOOL Rising edge closes the UDP peer. uiTimeout UINT 1000 Timeout in milliseconds, default: 1000 ms bySNMPVersion SNMPVersion SNMPVersion.V1 SNMP Version, default: V1 sUserName STRING SNMP V3 only: Name of the registered user. Use the function CreateUser to register an user. sContextName STRING ‘’ SNMP V3 only: Context name of the request. xRequestReport BOOL TRUE SNMP V3 only: TRUE: Requests a report to discover the engineId of the agent, Default: TRUE Output xBusy BOOL True while busy xDone BOOL True if the call has finished xError BOOL True if an error occured aSNMPValues ARRAY [0..gc_uiMaxSNMPValues] OF SNMPValue The result of the get request iSize INT Size of aSNMPValues eError ERROR Error state of the function block diErrorStatus DINT SNMP error status of the last request diErrorIndex DINT SNMP error index of the last request (index of the object that caused the error) diRequestId DINT SNMP request id of the last request abResponse ARRAY [0..(gc_uiMaxTelegramLength - 1)] OF BYTE msgAuthoritativeEngineID SNMPValue SNMP V3 only: The authoritative engine Id. If xRequestReport = TRUE then this is the discovered engine id of the agent. If xRequestReport = FALSE then GVL.g_pEngineId is used. Methods: Reset Structure: Reset (Method)
IReaderDiagnostics.GetInstancePointer (METH) ¶ METHOD GetInstancePointer : POINTER TO ReaderDiagnostics Converts the Interface Reference to the Instance Pointer The InstancePointer can be used to access the value of each output variable. Example pReaderDiagnostics : POINTER TO ReaderDiagnostics ; pDiagnosticsCounter : POINTER TO DiagnosticsCounter ; udiValue : UDINT ; pReaderDiagnostics := itfDiagnostics.GetInstancePointer (); pDiagnosticsCounter := pReaderDiagnostics ^. itfTotalError.GetInstancePointer (); udiValue := pDiagnosticsCounter ^. udiValue InOut: Scope Name Type Return GetInstancePointer POINTER TO ReaderDiagnostics Output eErrorID ERROR
IReaderGroupDiagnostics.GetInstancePointer (METH) ¶ METHOD GetInstancePointer : POINTER TO ReaderGroupDiagnostics Converts the Interface Reference to the Instance Pointer The InstancePointer can be used to access the value of each output variable. Example pReaderGroupDiagnostics : POINTER TO ReaderGroupDiagnostics ; pDiagnosticsCounter : POINTER TO DiagnosticsCounter ; udiValue : UDINT ; pReaderGroupDiagnostics := itfDiagnostics.GetInstancePointer (); pDiagnosticsCounter := pReaderGroupDiagnostics ^. itfTotalError.GetInstancePointer (); udiValue := pDiagnosticsCounter ^. udiValue InOut: Scope Name Type Return GetInstancePointer POINTER TO ReaderGroupDiagnostics Output eErrorID ERROR
IRootDiagnostics.GetInstancePointer (METH) ¶ METHOD GetInstancePointer : POINTER TO RootDiagnostics Converts the Interface Reference to the Instance Pointer The InstancePointer can be used to access the value of each output variable. Example pRootDiagnostics : POINTER TO RootDiagnostics ; pDiagnosticsCounter : POINTER TO DiagnosticsCounter ; udiValue : UDINT ; pRootDiagnostics := itfDiagnostics.GetInstancePointer (); pDiagnosticsCounter := pRootDiagnostics ^. itfTotalError.GetInstancePointer (); udiValue := pDiagnosticsCounter ^. udiValue InOut: Scope Name Type Return GetInstancePointer POINTER TO RootDiagnostics Output eErrorID ERROR
IWriterDiagnostics.GetInstancePointer (METH) ¶ METHOD GetInstancePointer : POINTER TO WriterDiagnostics Converts the Interface Reference to the Instance Pointer The InstancePointer can be used to access the value of each output variable. Example pWriterDiagnostics : POINTER TO WriterDiagnostics ; pDiagnosticsCounter : POINTER TO DiagnosticsCounter ; udiValue : UDINT ; pWriterDiagnostics := itfDiagnostics.GetInstancePointer (); pDiagnosticsCounter := pWriterDiagnostics ^. itfTotalError.GetInstancePointer (); udiValue := pDiagnosticsCounter ^. udiValue InOut: Scope Name Type Return GetInstancePointer POINTER TO WriterDiagnostics Output eErrorID ERROR
IWriterGroupDiagnostics.GetInstancePointer (METH) ¶ METHOD GetInstancePointer : POINTER TO WriterGroupDiagnostics Converts the Interface Reference to the Instance Pointer The InstancePointer can be used to access the value of each output variable. Example pWriterGroupDiagnostics : POINTER TO WriterGroupDiagnostics ; pDiagnosticsCounter : POINTER TO DiagnosticsCounter ; udiValue : UDINT ; pWriterGroupDiagnostics := itfDiagnostics.GetInstancePointer (); pDiagnosticsCounter := pWriterGroupDiagnostics ^. itfTotalError.GetInstancePointer (); udiValue := pDiagnosticsCounter ^. udiValue InOut: Scope Name Type Return GetInstancePointer POINTER TO WriterGroupDiagnostics Output eErrorID ERROR
Structs ¶ ArrayType (Struct) Index (Struct) UIndex (Struct) UMeta (Struct) VersionTime (Struct)
ArrayType (STRUCT) ¶ TYPE ArrayType : STRUCT InOut: Name Type udiRank UDINT pDimension POINTER TO ARRAY [0..0] OF UDINT pValues POINTER TO ARRAY [0..0] OF Index
Index (STRUCT) ¶ TYPE Index : STRUCT Take a look to the example PubSubDataSet.project to see how to use this struct in the context of a DataSet InOut: Name Type Comment eType IEC_TYPE item type pValue POINTER TO BYTE target/source location udiSize UDINT (max) size of this item in the data set message With the exception of the types STRING and WSTRING this value is calculated by the library. If eType is set to IEC_TYPE.TYPE_BIT then this value is interpreted as Bit 30+31: BIT_SIZE Bit 0-7: Bit Offset (0..63) in pValue udiOffset UDINT offset inside data set message this value is calculated by the library
UIndex (STRUCT) ¶ TYPE UIndex : STRUCT A Variant is a part of a union and references other Index structures Take a look to the example PubSubDataSet.project to see how to use this struct in the context of a DataSet InOut: Name Type Comment pVariant POINTER TO Index First Element of the Variant Array udiMaxField UDINT Max index of Variants Array