EasyManua.ls Logo

Beckhoff EL6910 - Page 81

Beckhoff EL6910
105 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
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

Table of Contents

Related product manuals