一個(gè)SCL For 指令的程序
劉玉蓉
發(fā)布于2014-11-13 17:22
1
0
標(biāo)簽:
寫了一段簡(jiǎn)單的測(cè)試程序測(cè)試了 for 指令的邏輯,有問題請(qǐng)教下!
如截圖的程序中,測(cè)試結(jié)果為什么只要"Test".No[3] 為 1 "Test".Out 就為1,"Test".No[3] 為 0 "Test".Out 就為 0
我原本想實(shí)現(xiàn)的邏輯是 "Test".No[1], "Test".No[2],"Test".No[3] 都為1 時(shí) "Test".Out 為 1,其中一個(gè)為0時(shí) "Test".Out 為 0 ,想要實(shí)現(xiàn)這種邏輯正確應(yīng)該這么寫呢?
問題補(bǔ)充:
這里只是寫一個(gè)測(cè)試下邏輯,實(shí)際上的[ ]數(shù)量可能會(huì)很多,比如有60,所以想用for 來實(shí)現(xiàn)一下
圖片說明: 1,1 2,2
佳答案
1、測(cè)試結(jié)果為什么只要"Test".No[3] 為 1 "Test".Out 就為1,"Test".No[3] 為 0 "Test".Out 就為 0
很簡(jiǎn)單,你做的這個(gè)循環(huán)后執(zhí)行的是將Test".No[3]賦值給"Test".Out 所以效果如你所描述的
2、可以這么寫:
"Test".Out := 1;
FOR i:= 1 TO 3 BY 1 DO
"Test".Out:="Test".Out AND "Test".No[i];
END_FOR;
不需要用if語句