Set_Attribute_Single (FB)ΒΆ
FUNCTION_BLOCK Set_Attribute_Single EXTENDS BaseService
This function block is used for setting the attribute of a specific instance of a CIP object. This instance call sets the host name (of the device in the network) from the DEVICE_123_ETHERNET device as soon as xExecute yields TRUE:
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
setAttributeSingle : ENIP.Set_Attribute_Single ;
strHostnameToSet : STRING64 := (sString := 'NewName');
END_VAR
strHostnameToSet.uiLength := INT_TO_UINT(Standard.LEN(strHostnameToSet.sString));
setAttributeSingle(
xExecute:= ,
itfEtherNetIPDevice:= EtherNetIP_Adapter, (* instance of the device (instance is found in the I/O Image 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 *)
pData:= ADR(strHostnameToSet), (* data to be assigned to the attribute *)
udiDataSize:= SIZEOF(strHostnameToSet.uiLength) + strHostnameToSet.uiLength, (* size of the data. Here: size of the Length-Parameter PLUS the length of the string *)
wAttribute:= 6, (* attribute no. 6 of the tcp/ip interface object is the Hostname (CIP Spec. Vol.2 Chapter 5-3.3.2.6)*)
xDone=> ,
xBusy=> ,
xError=> ,
eError=> );
;
- 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