恭喜,你发布的帖子
发布于 2015-12-24 16:09:27
5楼
DB1的数组1中的A1不为0时,DB2数据1中的B1则为True,同理数据2也是如此。
FC1为一数据转移,将DB1数组1的值转移至数组2中。
按照你的DB块 DB1 中 A1-A8 为输入数据,均与0进行比较,当<>0 DB2 B1-B8 为true ,且讲A1-A8数据发送到DB2里的DB10-DB18里,如果是这个意思,可以参考以下
FUNCTION_BLOCK FB6
VAR_INPUT
groupA:ARRAY[1..8] OF INT; //A1-A8 这里定义数据类型为INT
END_VAR
VAR_OUTPUT
groupB1:ARRAY[1..8] OF BOOL; //B1-B8 为BOOL型
groupB2:ARRAY[1..8] OF INT; //B10-B18 为INT型
END_VAR
VAR_TEMP
i:INT;
END_VAR
FOR i:= 1 TO 8 BY 1 DO
IF groupA[i]<>0 THEN //如果A1-A8中里有任何一个数据不为0
groupB1[i]:=true; //相应的B1-B8 为真
groupB2[i]:= groupA[i]; //且将A1-A8里的数据传送到B10-B18
ELSE
groupB1[i]:=false; //当A1-A8都为0,则B1-B8相应的复位
END_IF;
END_FOR;
END_FUNCTION_BLOCK
请填写推广理由:
分享
只看
楼主