设为首页收藏本站积分获取及使用技巧附件上传须知[求助-西门子PLC300/400]一个SCL For 指令的程序

追梦工控论坛|工控论坛-专业的Intouch论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

总共8197条微博

动态微博

查看: 2400|回复: 2

[求助-西门子PLC300/400]一个SCL For 指令的程序

[复制链接]

升级  38%

该用户从未签到

发表于 2014-6-12 20:37:33 | 显示全部楼层 |阅读模式

上传分享工控资料得追梦点,下载积分获取办法点击进入 ☆追梦点充值入口
发帖回帖赚金币兑换下载积分。上传附件须知点击进入

×

马上注册,结交更多工控达人,分享经验,让你轻松玩转追梦工控论坛。

已有帐号?  点击登录   或者        

支付宝扫一扫领红包
写了一段简单的测试程序测试了 for 指令的逻辑,有问题请教下!
如截图的程序中,测试结果为什么只要"Test".No[3] 为 1 "Test".Out 就为1,"Test".No[3] 为 0 "Test".Out 就为 0
我原本想实现的逻辑是 "Test".No[1], "Test".No[2],"Test".No[3] 都为1 时 "Test".Out 为 1,其中一个为0时 "Test".Out 为 0 ,想要实现这种逻辑正确应该这么写呢?</p>
        问题补充:
感谢回答,我这里只是写一个测试下逻辑,实际上的[ ]数量可能会很多,比如有60,所以想用for 来实现一下

图片说明: 1,1 2,2
让我们联手拒绝网络伸手党,下载积分获取办法&附件上传须知 ☆追梦点充值入口





+1
2402°C
2
  • terkcov
  • 情人日记
过: 他们

升级  35%

该用户从未签到

发表于 2014-6-12 21:33:35 | 显示全部楼层
1、测试结果为什么只要&quot;Test&quot;.No[3] 为 1 &quot;Test&quot;.Out 就为1,&quot;Test&quot;.No[3] 为 0 &quot;Test&quot;.Out  就为 0
    很简单,你做的这个循环最后执行的是将Test&quot;.No[3]赋值给&quot;Test&quot;.Out  所以效果如你所描述的
2、可以这么写:
          &quot;Test&quot;.Out :=  1;
          FOR i:= 1 TO 3 BY 1 DO
          &quot;Test&quot;.Out:=&quot;Test&quot;.Out    AND   &quot;Test&quot;.No;   
          END_FOR;
          不需要用if语句
                                                                                                                                                                                                                                                              
                                                        

升级  35%

该用户从未签到

发表于 2014-6-12 21:36:17 | 显示全部楼层
&quot;Test&quot;.Out:=&quot;Test&quot;.No[1] and &quot;Test&quot;.No[2] and &quot;Test&quot;.No[3];
其实像你这样的控制使用梯形图更简单。
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            你的逻辑错误,按你的逻辑就是只要有一个为真则输出1,如果要判断三个条件为真才输出1,否则输出0就应该是用楼上的逻辑。
因为按照你的逻辑来看无论前面的for循环多少次,决定结果的只有最后一个循环才有用。
用错了枪不能说枪是坏的。
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

请珍惜自己的ID,严禁发布垃圾水贴,诸如adsf......顶......纯表情......多次重复回帖刷积分......轻则删帖警告,重则封禁!★请分享资料、经验或者赞助论坛,贡献一份力量★

关闭

最新活动上一条 /1 下一条

小黑屋|手机版|追梦工控论坛|工控论坛-专业的Intouch论坛 ( 皖ICP备10012005号 )|网站地图

GMT+8, 2025-5-12 09:17 , Processed in 0.110607 second(s), 21 queries , Gzip On, APCu On.

Powered by Dreamyiyi

© 2009-2025 工控论坛

快速回复 返回顶部 返回列表