STEP7中如何将浮点数REAL转成INT整数?

用什么指令可以实现REAL到INT的转换?

最佳答案

L  MD120    //REAL
RND           //取整
DTB            // 转化为BCD码
BTI              //BCD码转16位整数
T  MW124
要注意浮点数的大小范围不能超过16位整数范围;
RND 执行的是四舍五入;

或是

一般我们都是这样写的,溢出也考虑进去了,这段程序很经典的,real中拿出任意一位都可以,更不要说是低字节了
    L     #REAL_VALUE
      RND                               
      JO    ERR                         
      PUSH                              
      ITD                               
      ==D                               
      JC    OK                          

ERR:  S     #ERROR                      
      JU    Wert

OK:   R     #ERROR

Wert: T     #INT_VALUE  
双字到字就很简单了,直接放到临时变量存储区然后读取低字节就可以了(甚至是位)!

参考资料:
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=96601&cid=1029

这是个封精的同样问题的解答,你搜索下,就能找到你需要答案。建议提问前,自己先搜索下,就可以了!

提问者对于答案的评价:
谢谢你了!真的很好!

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc239671.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午6:48
下一篇 2018年12月1日 下午6:48

相关推荐