[英]Converting the type casted array received from Labview program into float array using php
LabVIEW帮助Type Cast将您指向扁平化数据的文档,其中提到该表示形式为big-endian(最高有效字节在前)。 LabVIEW如何在内存中存储数据的条目显示了单精度浮点数( SGL
)的实际表示形式:
既然您知道了LabVIEW将发送的内容,那么您的问题就变成了如何在PHP中对其进行解码-如果您自己无法解决此问题,建议您提出一个新问题。
如果您可以更改LabVIEW代码,则可以更改数据发送的格式,以使其更易于在另一端解码。 可能的选项可能包括:
DBL
,然后在LabVIEW端将字符串的字节重新排序为little-endian。 从Ton Plomp的评论来看,这对于您当前的PHP代码可能是正确的。 U32
或I32
); 同样,在另一端可能更容易解码。 请注意,尽管您记录了从类型转换和/或展开到字符串的数据格式,并且历史上一直保持稳定,但我不保证绝对不会在LabVIEW版本之间进行更改。
数据的不可读部分也可以是UDP函数添加的标头信息。 您也许可以解析该数据并丢弃。
要尝试的另一件事是在Labview中读取UDP Rx数据,并与Tx数据进行比较以尝试确定正在发生的情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.