您现在所在的是:

西门子SIEMENS

回帖:1个,阅读:859 [上一页] [1] [下一页]
50
cww2008
文章数:11
年度积分:50
历史总积分:50
注册时间:2020/11/5
发站内信
发表于:2020/12/9 16:05:49
#0楼
这个是大连海峰的热表,第一张图,我读他的累积热量和累积流量转换之后变成了NAN,我从状态表里查,数据类型选择浮点数显示NAN,无符号和有符号显示正常值,但是我以前都是这么来编程的,这次为什么会显示NAN了?希望前辈解释一下。
附件 c9cf29e68a1a3630224c3ad9b45cdf2.jpg

附件 cbd0af2fa3447ea48e9eb8e8c298b84.jpg



37234
cvlsam 版主
文章数:12401
年度积分:1586
历史总积分:37234
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2020/12/9 17:12:12
#1楼
以下是引用cww20082020/12/9 16:05:49的发言:
这个是大连海峰的热表,第一张图,我读他的累积热量和累积流量转换之后变成了NAN,我从状态表里查,数据类型选择浮点数显示NAN,无符号和有符号显示正常值,但是我以前都是这么来编程的,这次为什么会显示NAN了?希望前辈解释一下。
附件 c9cf29e68a1a3630224c3ad9b45cdf2.jpg

附件 cbd0af2fa3447ea48e9eb8e8c298b84.jpg




以你图中浮点数2.440068E-007为例:
其16进制表示为34 83 00 0A
转换为二进制为:0011 0100 1000 0011 0000 0000 0000 1010,
通过程序中高低字进行转换,其翻转后的结果为 0000 0000 0000 1010 0011 0100 1000 0011,转换为16进制为00 0A 34 83
通过将其转换为浮点数,其结果如下:
附件 workpicture1.jpg

而西门子S7-200支持的浮点数范围如下:




附件 workpicture2.jpg


显然,转换后的数值已经超过了你的PLC能支持的浮点数的值域,因此现时NAN,即表示数据出错。

最后,你目前的错误是基于你长久以来对于数据范围的不限定,也就是说,你的转换程序存在较大的BUG。

Good Luck~

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

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

46.8003