我要写一个功能块,用16个BOOL来组成一个字.
如下:
#数2.%X0 := #IN0;
#数2.%X1 := #IN1;
#数2.%X2 := #IN2;
#数2.%X3 := #IN3;
#数2.%X4 := #IN4;
#数2.%X5 := #IN5;
#数2.%X6 := #IN6;
#数2.%X7 := #IN7;
#数2.%X8 := #IN8;
#数2.%X9 := #IN9;
#数2.%X10 := #IN10;
#数2.%X11 := #IN11;
#数2.%X12 := #IN12;
#数2.%X13 := #IN13;
#数2.%X14 := #IN14;
#数2.%X15 := #IN15;
其中IN0---IN15为bool值,数2为一个字,这样就对应了一个字的16位.
现在的问题是如果我要用FOR循环来写,我要怎么对应数2的每一位呢?
如下:
FOR #i := 0 TO 15 DO
#数2.%#i:=IN0;
END_FOR;
这是错误的,要怎么纠正呢?
回复内容:
对: 牛虻 我要写一个功能块,用16个BOOL来组成一个字 内容的回复!
#数2.%X0 := #IN0;
#数2.%X1 := #IN1;
#数2.%X2 := #IN2;
#数2.%X3 := #IN3;
#数2.%X4 := #IN4;
#数2.%X5 := #IN5;
#数2.%X6 := #IN6;
#数2.%X7 := #IN7;
#数2.%X8 := #IN8;
#数2.%X9 := #IN9;
#数2.%X10 := #IN10;
#数2.%X11 := #IN11;
#数2.%X12 := #IN12;
#数2.%X13 := #IN13;
#数2.%X14 := #IN14;
#数2.%X15 := #IN15;
这段就是了
//将16个输入位移动到一个输出整数
#TempInputBit[8] := #Input_0;
#TempInputBit[9] := #Input_1;
#TempInputBit[10] := #Input_2;
#TempInputBit[11] := #Input_3;
#TempInputBit[12] := #Input_4;
#TempInputBit[13] := #Input_5;
#TempInputBit[14] := #Input_6;
#TempInputBit[15] := #Input_7;
#TempInputBit[0] := #Input_8;
#TempInputBit[1] := #Input_9;
#TempInputBit[2] := #Input_10;
#TempInputBit[3] := #Input_11;
#TempInputBit[4] := #Input_12;
#TempInputBit[5] := #Input_13;
#TempInputBit[6] := #Input_14;
#TempInputBit[7] := #Input_15;
#O_WordOut := #TempWord;
回复本条