Get_Attribute_Single (FB)ΒΆ
FUNCTION_BLOCK Get_Attribute_Single EXTENDS BaseService
Use this function block for querying the attribute of a specific instance of a CIP object.
Note
Data received and send needs to be swapped. See parent folder.
(* CIP Data type for string with a length of max. 64 chars *)
TYPE STRING64 :
STRUCT
   uiLength   : UINT;
   sString    : STRING(63);
END_STRUCT
END_TYPE
PROGRAM PLC_PRG
VAR
    strHostnameToGet   : STRING64;
    getAttributeSingle : ENIP.Get_Attribute_Single ;
    udiReceivedData    : UDINT;
END_VAR
getAttributeSingle(
    xExecute:= ,
    itfEtherNetIPDevice:= EtherNetIP_Adapter,    (* instance of the device (instance is found in the I/O Mapping of the device) *)
    eClass:= ENIP.CIPClass.TCPIPInterfaceObject, (* cip class which contains the desired attribute *)
    dwInstance:= 1,                              (* value of 0 is class level, range from 1..x is instance level *)
    wAttribute:= 6,                              (* attribute no. 6 of the tcp/ip interface object is the Hostname (CIP Spec. Vol.2 Chapter 5-3.3.2.6)*)
    pData:= ADR(strHostnameToGet),               (* data buffer *)
    udiDataSize:= SIZEOF(strHostnameToGet),      (* size of the data buffer *)
    xDone=> ,
    xBusy=> ,
    xError=> ,
    eError=> ,
    udiReceivedDataSize=> udiReceivedData );     (* if the request was successful, udiReceivedData contains the number of bytes which have been received *)
    ;
- InOut:
- Scope - Name - Type - Inherited from - Input - xExecute- BOOL- ETrig - Output - xDone- BOOL- ETrig - xBusy- BOOL- ETrig - xError- BOOL- ETrig - Input - itfEtherNetIPDevice- IEtherNetIPService- BaseService - eClass- BaseService - dwInstance- DWORD- BaseService - tTimeOut- TIME- BaseService - Output - eError- BaseService - Input - wAttribute- WORD- pData- POINTER TO BYTE - udiDataSize- UDINT- Output - udiReceivedDataSize- UDINT