风之铃音
人法地,地法天,天法道,道法自然~
级别: 探索解密
精华主题: 0
发帖数量: 14 个
工控威望: 169 点
下载积分: 612 分
在线时间: 2(小时)
注册时间: 2008-05-03
最后登录: 2022-04-14
查看风之铃音的 主题 / 回贴
楼主  发表于: 2008-08-01 17:22
前几天领导布置下来任务,说原来转速控制精度不够,要求至少能达到小数点后一位,于是我就开始琢磨这个问题,并参考了《高手请指教触摸屏问题》一帖中诸位高手的建议,并在YMMFA的帮助下解决了部分问题,现在将已解决和未解决的问题一并放在这里,希望能有路过的高手帮忙解决,万分感谢!也希望遇到类似问题的朋友可以有所借鉴,大家一起交流提高。先说已解决的问题,在GT Designer2中把数据长度设置成32位,小数位置自动调整选中,这时GOT1000上可以输入带小数点的浮点数,但传到PLC里的还是整数,例如输入11.2,触摸屏上显示11.2,传到PLC中的数据寄存器里却还是112,于是我设置了个中间寄存器来进行运算处理,DIV D650 K10 D600,这时候D600里存的是整数11,D601里存的是余数2(这里其实也就是小数部分),本来我还想分开处理,后来YMMFA告诉我应该转成二进制然后用EDIV来进行二进制浮点运算,处理完后再转回十进制,也就是说三菱的FX2N的PLC必须转成二进制才可以进行浮点数运算,在此十分感谢YMMFA的帮助!现在仍存在的问题是,我用SPD X000 K3000 D106取电机的转速显示到触摸屏上,齿轮有20个齿,领导给的要求是要精确到小数点后一位,但SPD好像不支持浮点数,那该如何解决呢?麻烦诸位高手在百忙之中能够抽空赐教,万分感谢!:)
静水流深~
风之铃音
人法地,地法天,天法道,道法自然~
级别: 探索解密
精华主题: 0
发帖数量: 14 个
工控威望: 169 点
下载积分: 612 分
在线时间: 2(小时)
注册时间: 2008-05-03
最后登录: 2022-04-14
查看风之铃音的 主题 / 回贴
1楼  发表于: 2008-08-06 17:43
如果用一圈1000个脉冲的编码器,那么一个脉冲是0.001 圈
================
我用的接近开关,那么一圈20个脉冲信号的话一个是0.05圈咯~
静水流深~
风之铃音
人法地,地法天,天法道,道法自然~
级别: 探索解密
精华主题: 0
发帖数量: 14 个
工控威望: 169 点
下载积分: 612 分
在线时间: 2(小时)
注册时间: 2008-05-03
最后登录: 2022-04-14
查看风之铃音的 主题 / 回贴
2楼  发表于: 2008-08-06 18:15
然后用SPD指令得到单位时间的脉冲量
================
如果我用 SPD X000 K3000 D110
的话,D110里存的是不是 “每秒钟的脉冲个数”?
那三菱编程手册里的那个公式(226页)和说明是说什么如果我取时间宽度是3000的话,转速就是D110里的数么?
谢谢:)
静水流深~
风之铃音
人法地,地法天,天法道,道法自然~
级别: 探索解密
精华主题: 0
发帖数量: 14 个
工控威望: 169 点
下载积分: 612 分
在线时间: 2(小时)
注册时间: 2008-05-03
最后登录: 2022-04-14
查看风之铃音的 主题 / 回贴
3楼  发表于: 2008-08-06 19:49
今天又想了想,照我这个算法,是绝对出不了小数点的,SPD X000 K3000 D110 这个指令里,X000输入的脉冲,在3000ms里进行计数,计数结果存在D110里,也就是说,3000ms里收到了(D110)个脉冲,即1/20分钟里收到(D110)个脉冲,转速为20*(D110)个脉冲/分钟,而我的接近开关对的那个齿轮正好是20个齿,一个齿一个脉冲,于是转速就是(D110)转/分钟了。
静水流深~
风之铃音
人法地,地法天,天法道,道法自然~
级别: 探索解密
精华主题: 0
发帖数量: 14 个
工控威望: 169 点
下载积分: 612 分
在线时间: 2(小时)
注册时间: 2008-05-03
最后登录: 2022-04-14
查看风之铃音的 主题 / 回贴
4楼  发表于: 2008-08-08 10:38
浮点数本就可以直接显示,没有什么问题的,
方法:(数值输入)
1.  在"基本"中数据长度  改为32位,
2. 在"选项"中数据类型 改为实数,
3.  在"基本"中数据类型 改为实数,
完成!!!
=======================================
恩,谢谢,这个方法在FX2N和F930连的时候是没问题的,但FX2N和GOT1000连的时候不行的,我是按站长的方法用DEBIN指令换成32位二进制来处理的,呵呵,还有,这样做对SPD指令是没用的,SPD只可以使用16位。
另外,转速显示要求小数点的问题已解决,我是用的SPD X000 K30000 D106,把时间宽度从3S变成了30S,然后按这位仁兄的方法在基本选项中的数据类型选实数,把小数位数自动调整选中,这样倒是符合要求了,但还不太完美,因为时间宽度的变长使得触摸屏上显示出来转速要花费很长时间,完全显示出来需要至少1分钟,虽然事实上转速已经到达指定要求,但操作工程师可能会有错觉,领导也觉得这么慢很不爽,哪位高手能帮忙看看有什么好解决方法么?谢谢!
非常感谢各位的回帖,对我帮助非常非常大,谢谢~!:)
静水流深~