登录
首页 PLC论坛 三菱Mitsubishi
回帖 发帖
正文

主题:FOR-NEXT指令内信号计数

点击:935 回复:10

我在信号计数时遇到一个问题,向大家请教一下。
要求是要对外部的若干个信号进行计数,比如X0有信号时,就计一次数。
本来打算使用FOR-NEXT指令来做,结果发现一旦使用了循环指令后,就没有办法控制计数了。
在外部信号有效期间,一直在计数。等外部信号结束后,停止计数。
想请教一下各位,在循环里面应该怎么写计数程序。
附件 截图.jpg
17-09-15 19:56
因为FOR循环是一个周期内执行完毕,因此这种计数程序毫无意义。
由于程序循环扫描,因此只需要一个计数器配合跳转指令,不需要FOR指令。
17-09-15 21:22
不好意思,可以提示一下吗?比如对外部的100个信号计数,结果需要放在100个寄存器里面。
一时之间想象不出来怎么用跳转指令来配合。
17-09-16 09:25

引用 zhushanqiao 在 2017/9/16 9:25:54 发言【内容省略】

例如对5个信号计数:
附件 snap1.jpg
Good Luck~
17-09-16 11:46
非常感谢您的回复。
最上面还有一行程序,是否是把Z0的数值送到D0中?或者是把Z0清零?
我按照这个程序试了一下,好像实现不了计数的功能。
我稍微修改了一下。
附件 image.jpg
感觉上,除了循环时间不一样之外,其它的和使用FOR-NEXT指令都差不多。
都是每次扫描的时候都会计一次数,在信号有效期间,不管是否使用了INCP指令,都会一直计数。
最后修改:2017/9/16 13:44:34
17-09-16 13:28
计数为什么不用计数器?
17-09-16 18:46
因为这段程序是在功能块里面用的。功能块里面要怎么用计数器还没有搞清楚,所以就想着先用+1的方式来写。
定义了计数器的数组后,挨个计数的情况和现在使用+1方式是一样的,都会不停的加。
17-09-17 15:28

引用 zhushanqiao 在 2017/9/17 15:28:10 发言【内容省略】

怎么有数组?这个是什么PLC?
17-09-17 18:43

引用 蛇会大学 在 2017/9/17 18:43:44 发言【内容省略】

IEC6113编程方式,俗称结构化编程。
17-09-17 20:34

引用 cvlsam 在 2017/9/17 20:34:04 发言【内容省略】

这种编程方式是不是更好?
17-09-17 22:15

上一页下一页

工控新闻

更多新闻资讯