登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:FOR循环怎么利用?

点击:1722 回复:5


如果以上的程序有140组能不能用FOR循环完成?
附件 QQ截图20191026152124.jpg
最后修改:2019/10/26 15:29:49
19-10-26 15:29
应该能吧...
19-10-26 17:43
可以的
19-10-26 18:23
自己搞定了代码如下:
#i := 1;
FOR #i := 1 TO 139
DO
   IF
       "WarinT_1".AlarmT[#i].Q = TRUE
   THEN
       "WarinT_1".AlarmB[#i] := TRUE
   // Statement section IF
   ;
END_IF;
IF
   "WarinT_1".AlarmT[#i].Q =FALSE AND
   "WarinT_1".AlarmB[#i] =TRUE AND
   #"First Scan" =TRUE
THEN
   "WarinT_1".AlarmB[#i] := FALSE
   // Statement section IF
   ;
END_IF;
IF
   "WarinT_1".AlarmT[#i].Q = FALSE AND
   "WarinT_1".AlarmB[#i] = TRUE AND
   #Reset = TRUE
THEN
   "WarinT_1".AlarmB[#i] := FALSE
   // Statement section IF
   ;
END_IF;
   // Statement section FOR
   ;
END_FOR;
最后修改:2019/10/26 21:53:46
19-10-26 21:32
"WarinT_1".AlarmB[#i] := "WarinT_1".AlarmT[#i].Q OR ("WarinT_1".AlarmB[#i] AND (not #"First Scan")  and (NOT #Reset));
可以不?
19-10-27 17:37
另外,你的逻辑对不对?
B=T or (B~F~R)
最后修改:2019/10/27 18:02:35
19-10-27 17:59

工控新闻

更多新闻资讯