请问一个双字 转换成一个字怎么弄啊 DBD转换成DBW 点击:2777 | 回复:8



黑色的夜

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 42回
  • 年度积分:0
  • 历史总积分:93
  • 注册:2009年4月27日
发表于:2009-10-22 20:17:53
楼主
请问一个双字 转换成一个字怎么弄啊 DBD转换成DBW

DBD精确度高 目前做数据传输需要改成DBW

帮帮忙 在线等



yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2009-10-22 21:06:16
1楼
如果是浮点数,请使用截尾取整指令将其转换为长整形。

然后:比较长整形的数据是否大于整数的最大限制-32768~+32767,如果是,那么赋予32767或者-32768,否则,以实际值输出。

Regards

鞠刚

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 89回
  • 年度积分:0
  • 历史总积分:998
  • 注册:2007年6月08日
发表于:2009-10-23 13:34:14
2楼
用ROUND指令转换后直接取出来就行了

淡淡烟草香

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 310回
  • 年度积分:0
  • 历史总积分:470
  • 注册:2008年5月16日
发表于:2009-10-23 13:44:25
3楼
引用鞠刚 的回复内容:用ROUND指令转换后直接取出来就行了

正解

苦学

  • 精华:0帖
  • 求助:0帖
  • 帖子:28帖 | 1034回
  • 年度积分:2
  • 历史总积分:2430
  • 注册:2005年3月13日
发表于:2009-10-23 13:58:37
4楼
学习了                     

170437284

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 20回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2007年10月22日
发表于:2009-11-25 14:13:05
5楼

不是直接用MOVE指令就可以搞定吗?

happydengyong

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 35回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2009年3月13日
发表于:2009-11-25 20:35:38
6楼

引用yuanle 的回复内容:如果是浮点数,请使用截尾取整指令将其转换为长整形。

然后:比较长整形的数据是否大于整数的最大限制-32768~+32767,如果是,那么赋予32767或者-32768,否则,以实际值输出。

Regards


用s7应该是这样处理,如果超出那个数据,那就直接不对了!

有没有其他的方法可以解决!

tfdsensor

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 213回
  • 年度积分:0
  • 历史总积分:238
  • 注册:2009年7月25日
发表于:2009-11-26 11:24:14
7楼
引用yuanle 的回复内容:如果是浮点数,请使用截尾取整指令将其转换为长整形。

然后:比较长整形的数据是否大于整数的最大限制-32768~+32767,如果是,那么赋予32767或者-32768,否则,以实际值输出。

Regards

如果是整数,就不用转换,直接用dbd中的一部分作为dbw即可

幻想86

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 43回
  • 年度积分:0
  • 历史总积分:55
  • 注册:2009年2月14日
发表于:2009-12-02 21:17:18
8楼

用ROUND指令,正解,呵呵

 


热门招聘
相关主题

官方公众号

智造工程师