恭喜,你发布的帖子
发布于 2015-10-30 17:31:49
4楼
FUNCTION_BLOCK FB1
CONST
db_max:=100 ; //假设你定位的最大报警个数=100
END_CONST
VAR_INPUT
data1_group:ARRAY[1..db_max] OF BOOL; //你定义的报警数组块
END_VAR
VAR_OUTPUT
compare_output:ARRAY[1..db_max] OF BOOL:=false;//存储有报警点的DB块
END_VAR
VAR_TEMP
i:INT;
data2_group:ARRAY[1..db_max] OF BOOL; //比较存储区
END_VAR
FOR i:= 1 TO db_max BY 1 DO
data2_group[i]:=true;
compare_output[i]:= data1_group[i] AND data2_group[i];
END_FOR;
END_FUNCTION_BLOCK
DATA_BLOCK DB1 FB1 //为FB1 创建的DB块
//
// Block Comment...
//
BEGIN
END_DATA_BLOCK
在OB1里面
CALL "BLKMOV"
SRCBLK :=P#DB1.DBX 0.0 BOOL 100
RET_VAL:=MW2
DSTBLK :=P#DB33.DBX 0.0 BOOL 100
NOP 0
CALL FB 1 , DB33
data1_group :=
compare_output:=
NOP 0
DB33.DBX14.0 ------DB33.DBX26.3 为比较输出结果
请填写推广理由:
分享
只看
楼主