zjun3001
级别: 探索解密
精华主题: 0
发帖数量: 19 个
工控威望: 166 点
下载积分: 737 分
在线时间: 29(小时)
注册时间: 2012-11-08
最后登录: 2017-07-25
查看zjun3001的 主题 / 回贴
楼主  发表于: 2014-01-07 18:23
计数时超出高速计数器范围时,我是在高速计数器达到规定值时用脉冲指令触发普通计数器计数,再两数相乘。现担心计算结果有误差,请问有什么好方法,请帮忙
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5200 个
工控威望: 7423 点
下载积分: 158829 分
在线时间: 3162(小时)
注册时间: 2007-11-21
最后登录: 2024-11-28
查看sjm213的 主题 / 回贴
1楼  发表于: 2014-01-07 23:04
1,何种控制,会超出计数范围?
2,为何担心会有误差呢?
john42tw
级别: 网络英雄
精华主题: 0
发帖数量: 1276 个
工控威望: 6107 点
下载积分: 52058 分
在线时间: 1120(小时)
注册时间: 2012-04-24
最后登录: 2024-09-30
查看john42tw的 主题 / 回贴
2楼  发表于: 2014-01-08 08:18
轉換成實數  再相乘
zjun3001
级别: 探索解密
精华主题: 0
发帖数量: 19 个
工控威望: 166 点
下载积分: 737 分
在线时间: 29(小时)
注册时间: 2012-11-08
最后登录: 2017-07-25
查看zjun3001的 主题 / 回贴
3楼  发表于: 2014-01-08 21:15
计数在20000000次左右,频率10000,担心在c251复位时的计数误差,其中一部分这样的,请大家帮忙
ld x0  ;
set m1;
ld m1;
out c251 k9999;
ld m1;
dmov c251 d100;
ld c251
out c100 k9999;
rst c251;
ld m1;
dmov c100 d200;
dmul d200 k10000 d202;
dadd d100 d202 d204
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5200 个
工控威望: 7423 点
下载积分: 158829 分
在线时间: 3162(小时)
注册时间: 2007-11-21
最后登录: 2024-11-28
查看sjm213的 主题 / 回贴
4楼  发表于: 2014-01-08 22:04
1,“计数在20000000次左右”,这个范围C251没有问题,-2,147,483,648~+2,147,483,647都OK;
2,“担心在c251复位时的计数误差”,它的复位也是在程序中进行的,不知道为何会有此担心?
3,这段程序,X0已经被C251占用了,不应该再次使用;而且M1被置位后不用复位,直接用M8000替代掉就好了;
4,C251计数到9999时,就会将C100计数增1,而不是10000;
5,C251是高速计数的,不受PLC扫描周期影响,而RST指令是每扫描周期执行一次,所以C251被复位前,它实际的计数值不可控,有可能已经远远超出K10000了,但超出的数值都因复位程序而被丢掉,肯定会造成计数不准确;
6,如果非要用这种方法控制,那么也要用高速计数器中断,在中断中累计C100的数值并复位C251。
zjun3001
级别: 探索解密
精华主题: 0
发帖数量: 19 个
工控威望: 166 点
下载积分: 737 分
在线时间: 29(小时)
注册时间: 2012-11-08
最后登录: 2017-07-25
查看zjun3001的 主题 / 回贴
5楼  发表于: 2014-01-09 11:11
请版主赐教,如这个数很大,既要计数尽可能正确又不加成本,该怎么编这个程序,请指点。
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5200 个
工控威望: 7423 点
下载积分: 158829 分
在线时间: 3162(小时)
注册时间: 2007-11-21
最后登录: 2024-11-28
查看sjm213的 主题 / 回贴
6楼  发表于: 2014-01-09 20:55
1,直接使用C251,设置值可以随便设,反正它实际值会一直增大的;
2,超出-2,147,483,648~+2,147,483,647范围的话,用高速计数器中断,
ld m1;
dmov c251 d100;
ld c251
out c100 k9999;
rst c251;
这段程序写在中断程序中。
zjun3001
级别: 探索解密
精华主题: 0
发帖数量: 19 个
工控威望: 166 点
下载积分: 737 分
在线时间: 29(小时)
注册时间: 2012-11-08
最后登录: 2017-07-25
查看zjun3001的 主题 / 回贴
7楼  发表于: 2014-01-10 17:26
刚入门没理解,还不会用中断
[ 此帖被zjun3001在2014-01-10 18:24重新编辑 ]