登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:数据类型的问题,NAN 。热表采集

点击:860 回复:1

这个是大连海峰的热表,第一张图,我读他的累积热量和累积流量转换之后变成了NAN,我从状态表里查,数据类型选择浮点数显示NAN,无符号和有符号显示正常值,但是我以前都是这么来编程的,这次为什么会显示NAN了?希望前辈解释一下。
附件 c9cf29e68a1a3630224c3ad9b45cdf2.jpg
附件 cbd0af2fa3447ea48e9eb8e8c298b84.jpg
20-12-09 16:05

引用 cww2008 在 2020/12/9 16:05:49 发言【内容省略】

以你图中浮点数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~
20-12-09 17:12

工控新闻

更多新闻资讯