cd_looper
好想放飞自我
级别: 工控侠客
精华主题: 0
发帖数量: 367 个
工控威望: 2014 点
下载积分: 3373 分
在线时间: 225(小时)
注册时间: 2013-11-16
最后登录: 2024-08-28
查看cd_looper的 主题 / 回贴
楼主  发表于: 2018-08-18 16:28
最近有点闲,闲来无事逛论坛看到关于编码器测速度的问题,因为之前都是用的SPD指令,但是看到说用定时中断会更精确。本来最近无事就动手研究研究,接了个编码器测试。
使用I28定时中断,时间设为1000ms,I28里面就是一个很简单的把QD62通道1的值DMOV到D20。然后监控观察到I28是按1S的周期再执行,但是D20一直是零。因为不知道原因所以
特意在下面加了个INC D100,然后这个指令也没有执行,D100一直为0。SD716.C为1表示I28中断允许执行,C28为I28执行计数。请大佬指教一下哪里有问题。

Easy doesn't enter into grown-up life!!!
V:ZQL276438265
cd_looper
好想放飞自我
级别: 工控侠客
精华主题: 0
发帖数量: 367 个
工控威望: 2014 点
下载积分: 3373 分
在线时间: 225(小时)
注册时间: 2013-11-16
最后登录: 2024-08-28
查看cd_looper的 主题 / 回贴
1楼  发表于: 2018-08-19 10:18
引用
引用第1楼焦刘吉于2018-08-18 18:53发表的  :
中断开了吗?

开了,C28里的计数就是记录I28执行次数的,一直是按照我设定的1000ms的周期再执行啊
Easy doesn't enter into grown-up life!!!
V:ZQL276438265
cd_looper
好想放飞自我
级别: 工控侠客
精华主题: 0
发帖数量: 367 个
工控威望: 2014 点
下载积分: 3373 分
在线时间: 225(小时)
注册时间: 2013-11-16
最后登录: 2024-08-28
查看cd_looper的 主题 / 回贴
2楼  发表于: 2018-08-19 22:46
引用
引用第3楼焦刘吉于2018-08-19 15:16发表的  :
我疑惑你的D100没有计数

我也是相当疑惑,不知道问题出在哪里?按照编程手册说的SD716的每一位就代表I16-I32中断的开启状态,对应I28的SD716.C已经为1了。然后PLC参数里设置中断计数器也是从C0开始的,对应I28的应该也是C28没错,而且计数的脉冲目测确实是按照为设置的1S钟执行一次。然后I28里面的程序就是不执行啊
Easy doesn't enter into grown-up life!!!
V:ZQL276438265
cd_looper
好想放飞自我
级别: 工控侠客
精华主题: 0
发帖数量: 367 个
工控威望: 2014 点
下载积分: 3373 分
在线时间: 225(小时)
注册时间: 2013-11-16
最后登录: 2024-08-28
查看cd_looper的 主题 / 回贴
3楼  发表于: 2018-08-22 11:41
引用
引用第5楼leechengyu于2018-08-20 09:27发表的  :
是不是要加EI指令?

EI指令在前面,有的。中断允许指令已经允许中断执行了,不然中断执行计数也不会不计数。
Easy doesn't enter into grown-up life!!!
V:ZQL276438265