• «
  • 1
  • 2
  • 3
  • »
  • Pages: 1/3     Go
风之铃音
人法地,地法天,天法道,道法自然~
级别: 探索解密
精华主题: 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 篇
发帖数量: 9670 个
工控威望: 8567 点
下载积分: 16704 分
在线时间: 5327(小时)
注册时间: 2006-08-10
最后登录: 2024-11-29
查看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 篇
    发帖数量: 9670 个
    工控威望: 8567 点
    下载积分: 16704 分
    在线时间: 5327(小时)
    注册时间: 2006-08-10
    最后登录: 2024-11-29
    查看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”看效果
    特别提醒大家:
    偶尔修改下自己的密码,以防被盗
    不要在多个网站都用一样账号密码
    偶尔还是要发发贴,回回贴,不要总潜水
    buyiwuxi
    级别: 略有小成
    精华主题: 0
    发帖数量: 494 个
    工控威望: 274 点
    下载积分: 2836 分
    在线时间: 81(小时)
    注册时间: 2008-05-31
    最后登录: 2024-11-16
    查看buyiwuxi的 主题 / 回贴
    3楼  发表于: 2008-08-02 09:06
    学习了,顶
    天空流星
    SZ-CL
    级别: 网络英雄
    精华主题: 0
    发帖数量: 571 个
    工控威望: 6193 点
    下载积分: 19973 分
    在线时间: 559(小时)
    注册时间: 2008-03-17
    最后登录: 2024-11-29
    查看天空流星的 主题 / 回贴
    4楼  发表于: 2008-08-02 15:55
    在 DDIV   前怎么加不了E啊
    zxc6688
    工业自动化是我们的目标
    级别: 略有小成
    精华主题: 1 篇
    发帖数量: 385 个
    工控威望: 338 点
    下载积分: 3994 分
    在线时间: 174(小时)
    注册时间: 2007-09-11
    最后登录: 2024-01-05
    查看zxc6688的 主题 / 回贴
    5楼  发表于: 2008-08-02 16:03
    引用
    引用第4楼king125于2008-08-02 15:55发表的  :
    在 DDIV  ; 前怎么加不了E啊


    应该是 DEDIV,站长在贴中写错了。
    http://zxc6688.ys168.com/
    风之铃音
    人法地,地法天,天法道,道法自然~
    级别: 探索解密
    精华主题: 0
    发帖数量: 14 个
    工控威望: 169 点
    下载积分: 612 分
    在线时间: 2(小时)
    注册时间: 2008-05-03
    最后登录: 2022-04-14
    查看风之铃音的 主题 / 回贴
    6楼  发表于: 2008-08-06 17:43
    如果用一圈1000个脉冲的编码器,那么一个脉冲是0.001 圈
    ================
    我用的接近开关,那么一圈20个脉冲信号的话一个是0.05圈咯~
    静水流深~
    风之铃音
    人法地,地法天,天法道,道法自然~
    级别: 探索解密
    精华主题: 0
    发帖数量: 14 个
    工控威望: 169 点
    下载积分: 612 分
    在线时间: 2(小时)
    注册时间: 2008-05-03
    最后登录: 2022-04-14
    查看风之铃音的 主题 / 回贴
    7楼  发表于: 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
    查看风之铃音的 主题 / 回贴
    8楼  发表于: 2008-08-06 19:49
    今天又想了想,照我这个算法,是绝对出不了小数点的,SPD X000 K3000 D110 这个指令里,X000输入的脉冲,在3000ms里进行计数,计数结果存在D110里,也就是说,3000ms里收到了(D110)个脉冲,即1/20分钟里收到(D110)个脉冲,转速为20*(D110)个脉冲/分钟,而我的接近开关对的那个齿轮正好是20个齿,一个齿一个脉冲,于是转速就是(D110)转/分钟了。
    静水流深~
    wayu
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 408 个
    工控威望: 1445 点
    下载积分: 85011 分
    在线时间: 473(小时)
    注册时间: 2008-08-01
    最后登录: 2024-11-29
    查看wayu的 主题 / 回贴
    9楼  发表于: 2008-08-06 20:18
    浮点数本就可以直接显示,没有什么问题的,
    方法:(数值输入)
    1.  在"基本"中数据长度  改为32位,
    2. 在"选项"中数据类型 改为实数,
    3.  在"基本"中数据类型 改为实数,
    完成!!!


    "在GT Designer2中把数据长度设置成32位,小数位置自动调整选中,这时GOT1000上可以输入带小数点的浮点数,但传到PLC里的还是整数"
    这样做本来就是作为整数处理的,并不是做为浮点数处理的,上面的方法存到D中就是二进制浮点数.
    baoshizhi
    级别: VIP会员
    精华主题: 1 篇
    发帖数量: 522 个
    工控威望: 529 点
    下载积分: 2230 分
    在线时间: 201(小时)
    注册时间: 2006-08-21
    最后登录: 2014-07-20
    查看baoshizhi的 主题 / 回贴
    10楼  发表于: 2008-08-06 20:41
    楼上方法输入浮点数是没问题的,
    SPD不支持浮点数也没有用.
    要精确不一定要用浮点数
    boyun2183
    级别: 略有小成
    精华主题: 0
    发帖数量: 169 个
    工控威望: 230 点
    下载积分: 513 分
    在线时间: 7(小时)
    注册时间: 2008-08-06
    最后登录: 2023-06-28
    查看boyun2183的 主题 / 回贴
    11楼  发表于: 2008-08-07 11:39
    学习了真是高手呀
    知识改变命运
    • «
    • 1
    • 2
    • 3
    • »
    • Pages: 1/3     Go