Hello,
I'd like to write the local output of an IndraDrive. Reading local input P-0-0302 works fine, but when wirting output P-0-0304 there's always an ACCESS_ERROR.
---
VAR
fbAIL_ECATSoeWrite: IL_ECATSoeWrite;
iValueLocOutput: UDINT;
bLocBit7: BOOL;
END_VAR
Code:
IF NOT fbAIL_ECATSoeWrite.Done AND NOT fbAIL_ECATSoeWrite.Error THEN
fbAIL_ECATSoeWrite(Execute:= TRUE,MasterName:= ADR('ethercatmaster'),AddressType:= 1004,Idn:=IL_ECATSOEIdnCoding(SOE_P_PARAM,0,304),Element:= SOE_ELEMENT_OPDATA,SizeOfValue:= SIZEOF(iValueLocOutput),ValueAdr:=ADR(iValueLocOutput) ,);
ELSIF fbAIL_ECATSoeWrite.Done OR fbAIL_ECATSoeWrite.Error THEN
fbAIL_ECATSoeWrite(Execute:= FALSE,MasterName:= ADR('ethercatmaster'),AddressType:= 1004,Idn:=IL_ECATSOEIdnCoding(SOE_P_PARAM,0,304),SizeOfValue:= SIZEOF(iValueLocOutput),ValueAdr:= ADR(iValueLocOutput) ,);
END_IF
iValueLocOutput.0 := bLocBit7;
---
bLocBit7 is a BOOL which can be set with visu
Local output is bit 0 of P-0-0304. Writing this with ctrlX-Drive is working directly is working. So the issue is with Ethercat, I think.