FUNCTION FC123:INT //search DB for first zero doubleint. Returns -1 if none found
VAR_INPUT
SearchDB:word;
end_var
VAR_TEMP
index: INT;
wdbLength:WORD;
bWriteProtect:BOOL;
iSFC24Return:INT;
END_VAR
BEGIN
iSFC24Return:=SFC24(DB_NUMBER := SearchDB
,DB_LENGTH := wdbLength
,WRITE_PROT := bWriteProtect
);
FC123:=-1; //default none found
FOR index:=0 TO (WORD_TO_INT(wdbLength)/4)-1 DO
IF WORD_TO_BLOCK_DB(SearchDB).DD[index*4] = 0 THEN
FC123:=index*4; //returns byte address of doubleint = 0
EXIT;
END_IF;
END_FOR;
END_FUNCTION;