Working fine on my side. Please check name of your EtherCat master and data size of the parameter.
PROGRAM Write_param
VAR
fbECATSoeWrite: IL_ECATSoeWrite;
strMasterName: STRING := 'ethercatmaster';
/// Example A : write '4 Byte Parameter' (S-0-0052)
udiWriteValue: UDINT := 16#1234;
bExecute: BOOL;
END_VAR // Example A : write '4 Byte Parameter' (S-0-0052)
fbECATSoeWrite.Execute := bExecute;
fbECATSoeWrite.MasterName := ADR(strMasterName);
fbECATSoeWrite.SlaveAddress := 1001;
fbECATSoeWrite.Idn := IL_ECATSoeIdnCoding(SOE_S_PARAM,0,52); // := S-0-0052
fbECATSoeWrite.ValueAdr := ADR(udiWriteValue);
fbECATSoeWrite.SizeOfValue := SIZEOF(udiWriteValue);
fbECATSoeWrite();
IF TRUE = fbECATSoeWrite.Done THEN
; // FB finished .
END_IF
IF TRUE = fbECATSoeWrite.Error THEN
; // Error handling
END_IF
PLC write SoE S-0-0052
... View more