您现在所在的是:

三菱Mitsubishi

回帖:5个,阅读:2961 [上一页] [1] [下一页]
5665
truezhang
文章数:938
年度积分:287
历史总积分:5665
注册时间:2004/7/5
发站内信
发表于:2018/4/7 9:55:29
#0楼
我看PLC里面的浮点数类型,写的基本都是二进制浮点数,这样的地址传给威纶通屏程序,在屏上的数据类型应该选什么?是选32位浮点数吗?同样屏上定义的浮点数传给PLC的寄存器,也能按二进制浮点数的类型进行计算吗?
   还有就是,比如屏上定义了的32位浮点数(范围在-1000.0~1000.0),在屏上直接当16位整型数进行各种处理,除了小数点后的数会没有,还有没其他问题?
[此贴子已经被作者于2018/4/7 10:18:11编辑过]
37243
cvlsam 版主
文章数:12401
年度积分:1595
历史总积分:37243
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2018/4/7 10:41:42
#1楼
1、工控领域基本上都是IEEE754浮点数标准,只是各家的叫法不同,有些厂家按照其排列方式叫,例如三菱叫二进制浮点数,有些厂家按存储长度来叫,32位数据长度。所以你说的是没有问题的。
2、如果你定义的是浮点数的话,因为浮点数长度一般是32位,其占用2个字的长度,因此你使用1个字来处理时,将会存在数据严重偏差的情况,不会有你说的造成小数点后丢失的情况。
  我认为你完全没有搞清楚屏中的小数处理。
  在几乎所有的触摸屏中,一般有2种方式来显示小数:
   方法一,定义浮点数,那么屏幕上显示的是真正的小数。
   方法二,定义整数,并指定小数位数,这种情况下你输入的数据仍然被作为整数处理,只是处理的时候放大,显示的时候缩小而已,例如数据位数3位,小数位1位,那么你输入10.0,那么在寄存器内的数据是100,这不是真正的小数。

通过对地址的监控你可以很容易发现浮点数10.0和显示整数10.0对于寄存器中存储数据的差异。


附件 snap2.jpg



Good Luck~
[此贴子已经被作者于2018/4/7 10:51:55编辑过]
20183
高雅的雅
文章数:15777
年度积分:-205
历史总积分:20183
注册时间:2015/5/12
发站内信
2018论坛解答高手
发表于:2018/4/7 13:40:10
#2楼
这个,就看你应用了!
例如设置时间继电器,你还是直接用整数但是触摸屏显示一位小数,这样PLC运算最简单!!
只有那些需要用到浮点数运算的,你才在触摸屏选择浮点数,做到PLC与触摸屏一致
5665
truezhang
文章数:938
年度积分:287
历史总积分:5665
注册时间:2004/7/5
发站内信
发表于:2018/4/7 15:28:10
#3楼
谢谢解答,基本明白了
5665
truezhang
文章数:938
年度积分:287
历史总积分:5665
注册时间:2004/7/5
发站内信
发表于:2018/4/8 22:37:23
#4楼
还有问题,刚看指令手册,三菱里面有二进制浮点数和十进制浮点数互相转换的指令,如果二进制浮点数就是IEEE754浮点数,那里面的十进制浮点数又是什么?而且十进制浮点数没看到有什么相关运算指令
4918
MIC小赖
文章数:1582
年度积分:56
历史总积分:4918
注册时间:2015/9/16
发站内信
发表于:2018/4/9 14:55:03
#5楼
其实吧,最好还是屏幕上设定小数点,做放大处理。不然你用数据的时候PLC还得转换也麻烦,应该没这么多浮点数的应用场合尤其是HMI上。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003