我在使用Labview从SPS(= PLC)读取时遇到的数据类型存在问题。
我从S7Read_VI中得到一个32位整数值的一维数组,我必须将其解释为浮点值,因为这些值在SPS中属于REAL类型。
Labview向我显示如下数字:1131655987
应该是243.7(当被解释为float时)。
s7Read_VI还提供REAL类型的读取,但不知怎的,这不起作用(一些同事也发现了这个问题)。
我现在正试图将这些数字(1131655987
)解释为labview中的浮点数,到目前为止还没有提出有效的解决方案。
andybody是否知道如何将十进制数字解释为浮点数?像图中所示的SGL这样的转换,我认为没有意义,因为numner已经浮动并且只显示为十进制。
祝你好运, jonnyx
答案 0 :(得分:3)
To Single Precision节点是数组中每个元素的强制转换运算符。它不会将数组重新解释为单精度值数组。如果要将数组重新解释为单精度值,请使用Type Cast函数并将单个常量数组连接到类型(中心)终端,将数组连接到x(左侧)终端:<登记/>
答案 1 :(得分:0)
我为解决我的问题所做的是将SPS中的数据类型从REAL更改为DWORD。
md D:\Outputs\%USERNAME%\
cd D:\Outputs\%USERNAME%\
tree C: /f
*output* >> tree.txt
然后我用LabView读取我的值并将它们除以1000。
希望任何人都可以从中获利。 最好的祝福, jonnyx