求助对浮点运算的使用 点击:1369 | 回复:10



后台运行

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 213回
  • 年度积分:0
  • 历史总积分:299
  • 注册:2006年10月25日
发表于:2006-12-16 13:52:00
楼主
  我编了几步浮点运算的程序,却怎么也不懂PLC是怎么运算的,如下图

D10为K8,D20也为K8,浮点运算出来的D30也应该是整数啊,请问PLC是怎么处理浮点运算的?



后台运行

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 213回
  • 年度积分:0
  • 历史总积分:299
  • 注册:2006年10月25日
发表于:2006-12-16 14:02:00
1楼
有谁能列出它计算的公式吗?不胜感激

xiao a

  • 精华:1帖
  • 求助:0帖
  • 帖子:102帖 | 555回
  • 年度积分:0
  • 历史总积分:958
  • 注册:2005年12月10日
发表于:2006-12-16 16:23:00
2楼
你可以参看台达PLC技术手册中第五章5-11页的二进浮点数表示法的说明,因为以32位表示浮点数,如将一数存放在D10(占D10,D11),其中第23位-31位为指数存放在D10中,第0-22位为尾数存放在D11中,要是尾数为0当然你从监控中看到的D11中就为0了。因为监控状态显示的数值为整数,所以只能看到D10中为8,但是你在“装置监控窗口”中可以看到浮点数的显示。

后台运行

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 213回
  • 年度积分:0
  • 历史总积分:299
  • 注册:2006年10月25日
发表于:2006-12-16 16:35:00
3楼
TO: yi yi 我在上面看了,如下图
但是我还是无法理解他的32bits是怎么计算来的,能详细说一下吗?谢谢!

后台运行

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 213回
  • 年度积分:0
  • 历史总积分:299
  • 注册:2006年10月25日
发表于:2006-12-16 16:36:00
4楼
我先去看看说明书

张家港市

  • 精华:0帖
  • 求助:2帖
  • 帖子:57帖 | 148回
  • 年度积分:0
  • 历史总积分:489
  • 注册:2007年3月21日
发表于:2007-09-06 10:09:00
5楼
我也想了解一下,有谁能详细说明一下吗,谢谢。

piziy

  • 精华:2帖
  • 求助:0帖
  • 帖子:46帖 | 188回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2007-09-06 12:01:00
6楼
先要用FLT转换为浮点数,再运算,然后再用INT转化为整数

T22

  • 精华:1帖
  • 求助:0帖
  • 帖子:21帖 | 145回
  • 年度积分:0
  • 历史总积分:347
  • 注册:2006年5月23日
发表于:2007-09-14 15:52:00
7楼
楼上同志说的对,浮点算法与各家PLC也有关系,如西门子的与台达(台达与三菱的一致),计算一个浮点,程式描述也不一样,西门子的用着方便,可以直写小数,三菱的先要转换,铸后再运算。

张家港市

  • 精华:0帖
  • 求助:2帖
  • 帖子:57帖 | 148回
  • 年度积分:0
  • 历史总积分:489
  • 注册:2007年3月21日
发表于:2007-09-15 08:10:00
8楼
还是没有明白,那个数据是怎么出来的。

caichu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 39回
  • 年度积分:0
  • 历史总积分:88
  • 注册:2007年3月09日
发表于:2007-09-15 10:48:00
9楼
d10 和D20要先转换成浮点数才能用DEDIV做运算

山东地瓜

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 676回
  • 年度积分:0
  • 历史总积分:1641
  • 注册:2003年5月10日
发表于:2007-09-15 10:58:00
10楼
d10 和D20要先转换成浮点数才能用DEDIV做运算
结果也要换算

热门招聘
相关主题

官方公众号

智造工程师