风之铃音
人法地,地法天,天法道,道法自然~
级别: 探索解密
精华主题: 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好像不支持浮点数,那该如何解决呢?麻烦诸位高手在百忙之中能够抽空赐教,万分感谢!:)
静水流深~
ymmfa
不想大江大河,不想浪起潮落,只愿一湾小湖,静待岁月安好。
级别: 管理员

精华主题: 8 篇
发帖数量: 9570 个
工控威望: 8454 点
下载积分: 16406 分
在线时间: 5298(小时)
注册时间: 2006-08-10
最后登录: 2024-07-01
查看ymmfa的 主题 / 回贴
1楼  发表于: 2008-08-01 22:06
“说原来转速控制精度不够,要求至少能达到小数点后一位”

1,如果用一圈1000个脉冲的编码器,那么一个脉冲是0.001 圈

2,然后用SPD指令得到单位时间的脉冲量

3,把得到的数值放到到D10(用MUL指令),触摸屏上小数点选择2位

4,这样,PLC里的D10是1230个脉冲,在屏上就是1.230 圈

5,有的时候,可能要把PLC里的D10放大10倍
本帖最近评分记录:
  • 下载积分:+3(zhangshichao) 热心助人!
  • 特别提醒大家:
    偶尔修改下自己的密码,以防被盗
    不要在多个网站都用一样账号密码
    偶尔还是要发发贴,回回贴,不要总潜水
    ymmfa
    不想大江大河,不想浪起潮落,只愿一湾小湖,静待岁月安好。
    级别: 管理员

    精华主题: 8 篇
    发帖数量: 9570 个
    工控威望: 8454 点
    下载积分: 16406 分
    在线时间: 5298(小时)
    注册时间: 2006-08-10
    最后登录: 2024-07-01
    查看ymmfa的 主题 / 回贴
    2楼  发表于: 2008-08-01 22:09
    如果编码器是360度这样的,不好计算,要用DIV

    收到的脉冲=D1

    DIV D1 K360 D2

    D2 是圈数

    如果计算超过了32767 需要用32位的指令,比如DDIV

    有的时候,适当把脉冲数*10,或者100 这样比较好

    FX1S,FX1N不能计算小数点,比如12.38  但乘100后就是1238,这样就可以了,屏上设置2位小数点,就是12.38显示出来。

    `````````````````````````````````````````````````````````````````````````````````````````````

    FX2N根据每人的编程习惯,用EDDIV,就可以算出有小数点的数值,可以实验“EDDIV  K7 K8 D0”看效果
    特别提醒大家:
    偶尔修改下自己的密码,以防被盗
    不要在多个网站都用一样账号密码
    偶尔还是要发发贴,回回贴,不要总潜水