您现在所在的是:

西门子SIEMENS

回帖:5个,阅读:1640 [上一页] [1] [下一页]
* 帖子主题:

FOR循环怎么利用?

2250
hinet64
文章数:48
年度积分:125
历史总积分:2250
注册时间:2006/1/7
发站内信
发表于:2019/10/26 15:29:23
#0楼

如果以上的程序有140组能不能用FOR循环完成?
附件 QQ截图20191026152124.jpg
[此贴子已经被作者于2019/10/26 15:29:49编辑过]
18831
pqsh 版主
文章数:7382
年度积分:661
历史总积分:18831
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2019/10/26 17:43:04
#1楼
应该能吧...
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
4326
965528555
文章数:507
年度积分:50
历史总积分:4326
注册时间:2009/9/7
发站内信
三菱电机活动(三)
发表于:2019/10/26 18:23:40
#2楼
可以的
西门子S7-1200.S7-1500.S7-300.V90.G120.S120.
2250
hinet64
文章数:48
年度积分:125
历史总积分:2250
注册时间:2006/1/7
发站内信
发表于:2019/10/26 21:32:47
#3楼
自己搞定了代码如下:



#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编辑过]
18831
pqsh 版主
文章数:7382
年度积分:661
历史总积分:18831
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2019/10/27 17:37:12
#4楼
"WarinT_1".AlarmB[#i] := "WarinT_1".AlarmT[#i].Q OR ("WarinT_1".AlarmB[#i] AND (not #"First Scan")  and (NOT #Reset));
可以不?
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
18831
pqsh 版主
文章数:7382
年度积分:661
历史总积分:18831
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2019/10/27 17:59:45
#5楼
另外,你的逻辑对不对?
B=T or (B~F~R)
[此贴子已经被作者于2019/10/27 18:02:35编辑过]
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004