发布于 2011-01-03 02:36:07
1楼
SCL无所不能,给你整段SCL,OB1调用FB1,随便插入个背景块,下装到PLC或模拟器调试即可:
DATA_BLOCK DB1
STRUCT
a:ARRAY[0..9]OF DINT;
END_STRUCT
BEGIN
a[0]:=l#1;
a[1]:=l#2;
a[2]:=l#3;
a[3]:=l#4;
a[4]:=l#5;
a[5]:=l#6;
a[6]:=l#7;
a[7]:=l#8;
a[8]:=l#9;
a[9]:=l#10;
END_DATA_BLOCK
DATA_BLOCK DB2
STRUCT
a:ARRAY[0..9]OF DINT;
END_STRUCT
BEGIN
END_DATA_BLOCK
FUNCTION_BLOCK FB1
VAR_TEMP
i:INT;
END_VAR
VAR
P:ARRAY[0..15]OF BOOL;
END_VAR
FOR i:= 0 TO 9 BY 1 DO
IF DWORD_TO_DINT(MD10)=db1.a[i] AND NOT P[i] THEN
db2.a[i]:=db2.a[i]+1;
END_IF;
P[i]:= ( DWORD_TO_DINT(MD10)=db1.a[i]);
;
END_FOR;
;
END_FUNCTION_BLOCK
让学习成为一种习惯