用sclFOR循环怎么查询IB0八位的状态,是true的要输出,图片的程序不知道错在哪里,请指教?怎么运行都有错
问题补充:
FUNCTioN_BLOCKfb25
VAR_INPUT
s1:BYTE;
s2ATs1:ARRAY[0..7]OFBOOL;
END_VAR
VAR_OUTPUT
x1:BOOL;
x2:BOOL;
END_VAR
VAR
ID1:int;
END_VAR
BEGIN
x1:=s2[0];
FORID1:=1TO7BY1DO
X2:S2[ID1];
END_FOR;
END_FUNCTION_BLOCK
图片说明:
a6b675CEc2c6608d0c01dc4ed42faaa4
最佳答案
For"数据块_1"."BOOL":=0To7Do
If%IX("数据块_1"."BYTE","数据块_1"."BOOL")Then
WORD_TO_BLOCK_DB("数据块_1".blockDB).DX("数据块_1"."BYTE","数据块_1"."BOOL"):=%IX("数据块_1"."BYTE","数据块_1"."BOOL");
Else
WORD_TO_BLOCK_DB("数据块_1".blockDB).DX("数据块_1"."BYTE","数据块_1"."BOOL"):=0;
End_If;
;
End_For;
提问者对于答案的评价:
是的呀