您现在所在的是:

三菱Mitsubishi

回帖:10个,阅读:868 [上一页] [1] [2] [下一页]
936
zhushanqiao
文章数:7
年度积分:50
历史总积分:936
注册时间:2006/3/23
发站内信
发表于:2017/9/15 19:56:05
#0楼
我在信号计数时遇到一个问题,向大家请教一下。
要求是要对外部的若干个信号进行计数,比如X0有信号时,就计一次数。
本来打算使用FOR-NEXT指令来做,结果发现一旦使用了循环指令后,就没有办法控制计数了。
在外部信号有效期间,一直在计数。等外部信号结束后,停止计数。

想请教一下各位,在循环里面应该怎么写计数程序。
附件 截图.jpg



37243
cvlsam 版主
文章数:12401
年度积分:1595
历史总积分:37243
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2017/9/15 21:22:17
#1楼
因为FOR循环是一个周期内执行完毕,因此这种计数程序毫无意义。

由于程序循环扫描,因此只需要一个计数器配合跳转指令,不需要FOR指令。
936
zhushanqiao
文章数:7
年度积分:50
历史总积分:936
注册时间:2006/3/23
发站内信
发表于:2017/9/16 9:25:54
#2楼
回复 #1楼 cvlsam
不好意思,可以提示一下吗?比如对外部的100个信号计数,结果需要放在100个寄存器里面。
一时之间想象不出来怎么用跳转指令来配合。
37243
cvlsam 版主
文章数:12401
年度积分:1595
历史总积分:37243
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2017/9/16 11:46:08
#3楼
以下是引用zhushanqiao2017/9/16 9:25:54的发言:
不好意思,可以提示一下吗?比如对外部的100个信号计数,结果需要放在100个寄存器里面。
一时之间想象不出来怎么用跳转指令来配合。

例如对5个信号计数:

附件 snap1.jpg

Good Luck~
936
zhushanqiao
文章数:7
年度积分:50
历史总积分:936
注册时间:2006/3/23
发站内信
发表于:2017/9/16 13:28:46
#4楼
非常感谢您的回复。
最上面还有一行程序,是否是把Z0的数值送到D0中?或者是把Z0清零?
我按照这个程序试了一下,好像实现不了计数的功能。
我稍微修改了一下。
附件 image.jpg

感觉上,除了循环时间不一样之外,其它的和使用FOR-NEXT指令都差不多。
都是每次扫描的时候都会计一次数,在信号有效期间,不管是否使用了INCP指令,都会一直计数。
[此贴子已经被作者于2017/9/16 13:44:34编辑过]
12465
蛇会大学
文章数:4619
年度积分:791
历史总积分:12465
注册时间:2015/12/14
发站内信
2018论坛分享达人
发表于:2017/9/16 18:46:11
#5楼
计数为什么不用计数器?
936
zhushanqiao
文章数:7
年度积分:50
历史总积分:936
注册时间:2006/3/23
发站内信
发表于:2017/9/17 15:28:10
#6楼
回复 #5楼 蛇会大学
因为这段程序是在功能块里面用的。功能块里面要怎么用计数器还没有搞清楚,所以就想着先用+1的方式来写。
定义了计数器的数组后,挨个计数的情况和现在使用+1方式是一样的,都会不停的加。
12465
蛇会大学
文章数:4619
年度积分:791
历史总积分:12465
注册时间:2015/12/14
发站内信
2018论坛分享达人
发表于:2017/9/17 18:43:44
#7楼
以下是引用zhushanqiao2017/9/17 15:28:10的发言:
因为这段程序是在功能块里面用的。功能块里面要怎么用计数器还没有搞清楚,所以就想着先用+1的方式来写。
定义了计数器的数组后,挨个计数的情况和现在使用+1方式是一样的,都会不停的加。

怎么有数组?这个是什么PLC?
37243
cvlsam 版主
文章数:12401
年度积分:1595
历史总积分:37243
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2017/9/17 20:34:04
#8楼
以下是引用蛇会大学2017/9/17 18:43:44的发言:
以下是引用zhushanqiao2017/9/17 15:28:10的发言:
因为这段程序是在功能块里面用的。功能块里面要怎么用计数器还没有搞清楚,所以就想着先用+1的方式来写。
定义了计数器的数组后,挨个计数的情况和现在使用+1方式是一样的,都会不停的加。

怎么有数组?这个是什么PLC?

IEC6113编程方式,俗称结构化编程。
12465
蛇会大学
文章数:4619
年度积分:791
历史总积分:12465
注册时间:2015/12/14
发站内信
2018论坛分享达人
发表于:2017/9/17 22:15:43
#9楼
以下是引用cvlsam2017/9/17 20:34:04的发言:
以下是引用蛇会大学2017/9/17 18:43:44的发言:
以下是引用zhushanqiao2017/9/17 15:28:10的发言:
因为这段程序是在功能块里面用的。功能块里面要怎么用计数器还没有搞清楚,所以就想着先用+1的方式来写。
定义了计数器的数组后,挨个计数的情况和现在使用+1方式是一样的,都会不停的加。

怎么有数组?这个是什么PLC?

IEC6113编程方式,俗称结构化编程。

这种编程方式是不是更好?

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

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

62.4004