Operation
EL6910 81Version: 1.4.1
Program sample
(* Setting AmsNetID of EL69x0 *)
IF NOT bNetIdInitialized THEN
sNetId := '';
FOR i := 0 TO 5 DO
sNetId := CONCAT(sNetId,BYTE_TO_STRING(au8EL69x0NetId[i]));
sNetId := CONCAT(sNetId, '.');
END_FOR
bNetIdInitialized := TRUE;
END_IF
(* ADS Write Indication - Reading parameter data *)
FbWriteInd();
IF FbWriteInd.VALID THEN
IF FbWriteInd.LENGTH = 10 THEN
FW_MemCpy(ADR(au8FParameter), FbWriteInd.DATAADDR, 10);
bWriteFPar := TRUE;
END_IF
FbWriteRes(NETID:= FbWriteInd.NETID,
PORT:= FbWriteInd.PORT,
INVOKEID:= FbWriteInd.INVOKEID,
RESULT:= 0,
RESPOND:= TRUE);
FbWriteRes(RESPOND:= FALSE);
FbWriteInd(CLEAR:= TRUE);
FbWriteInd(CLEAR:= FALSE);
END_IF
(* ADS Write - Write parameter to EL69x0 *)
FbWrite(NETID:= sNetId,
PORT:= u16EL69x0Port,
IDXGRP:= 16#F302,
IDXOFFS:= 16#80050000,
LEN:= 10,
SRCADDR:= ADR(au8FParameter),
WRITE:= bWriteFPar);
IF bWriteFPar AND NOT FbWrite.BUSY THEN
IF NOT FbWrite.ERR THEN
bWriteFPar := FALSE;
END_IF
FbWrite(WRITE := FALSE);
END_IF
(* Write parameter each startup of the EL69x0 *)
IF (u16OldState AND 16#0F) <> (u16EL69x0State AND 16#0F) THEN
IF (u16OldState AND 16#0F) <> 2 AND
(u16OldState AND 16#0F) <> 4 AND
(u16OldState AND 16#0F) <> 8 THEN
IF(u16EL69x0State AND 16#0F) = 2 OR
(u16EL69x0State AND 16#0F) = 4 OR
(u16EL69x0State AND 16#0F) = 8 THEN
bWriteFPar := TRUE;
END_IF
END_IF
u16OldState := u16EL69x0State;
END_IF