三菱plc的for next循环问题 点击:0 | 回复:4



明明522

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 29回
  • 年度积分:0
  • 历史总积分:91
  • 注册:2010年5月26日
发表于:2010-08-02 17:05:17
楼主

有问题请教各位高手,关于for next的循环触发条件问题:

三菱指令说明书上只是说了for next 之内的程序循环次数问题,没有介绍介绍这个循环的触发条件问题。

我想做一个程序, 当满足  D6=k3的时候,进入循环程序,需要循环的次数由 寄存器D2010指定。

问题在这里,当D6=k3的时候,怎么写这个指令开始for循环? 我想在for前加入条件,但是不行,看图:

如下图:不能插入这个   ld= D6 k3 命令。

我又想通过调用子程序的方式,将整个for循环作为一个子程序来执行。好像在书写指令上没有问题,如图:
我怎么知道for next 之间就是执行了 10 次呢? 我把x14 状态切换了13次, 结果d10 计数到13, 超过指定 的  10 次循环了啊。
再看看下图: 是 信捷的plc的 for next 指令:

通过图很清楚的可以看到 M0的 上升沿是for next的 触发条件,但是三菱的 没有这样的 方法,必须要用子程序或者步进指令才能行吗?
正如三菱的plc 的fornext ,如果没有添加触发条件是不是plc一开机就开始扫描到for next 了,如果for next 里面的条件触发,是不是这个循环就直接开始了。



明明522

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 29回
  • 年度积分:0
  • 历史总积分:91
  • 注册:2010年5月26日
发表于:2010-08-03 10:10:10
1楼
没有人回答吗?  高手哪里去了?!?!

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 9794回
  • 年度积分:1889
  • 历史总积分:38846
  • 注册:2005年4月22日
发表于:2010-08-03 10:24:47
2楼
你可以通過在For循環前使用跳轉指令進行For的條件判斷,判斷不符合條件,跳過For循環。 For的循環次數是一個掃描週期內的循環次數,你不斷的呼叫子程序卻不在For中對於D0進行清零,自然會不斷的累加,因此我仍然認為,你繼續操作X14,仍然會不斷的累加。 Good Luck

ye_w

  • 精华:25帖
  • 求助:1帖
  • 帖子:106帖 | 5215回
  • 年度积分:12
  • 历史总积分:46721
  • 注册:2002年4月17日
发表于:2010-08-03 10:55:00
3楼
不要使用M8000,单独调用子程序试试

再接再厉

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 365回
  • 年度积分:1
  • 历史总积分:828
  • 注册:2006年9月01日
发表于:2010-08-03 14:39:34
4楼
也可以在第一次循环里就把d6=k3的条件消除,给D6复归;其实不这么做,你的那么程序时么个周期都在循环6次,你的X14动作多少次,就计数多少次

相关主题

官方公众号

智造工程师