基于LabVlEW直接读取C语言数据文件的研究
基于 LabVlEW直接读取 C语言数据文件 的研究
基于LabVlEW直接读取C语言数据文件的研究
nvestigationon Reading Data FileofC Language by Directly Using LabVlEW
侯永强 马孝江 李宏坤 (大连理工大学振动工程研究所,辽宁 大连 116023)
摘 要
通过 比较 C语言与 LabVIEW数据存储格式的差异,提 出一种采用 LabVlEW 读写C语言二进制浮点数文件的有效方
法。该方法无需调用动态链接库 ,并且方便快捷 ,完全适合实时高速数据操作。
关键词 :C语 言,浮点数 ,LabVIEW,读写文件
Abstract
Inthispaper,a new effectivemethod to read binaryfloating—pointfile formed by C language isputforward according
to the comparison betweenstoring formatofC languageand LabVlEW.Compared withtraditionalmethod ofcalling dynamic
link library.thismethod isvery simpleand efficiencyItisvery suitable to high speed and real—timedata operation.
Keywords:C language,floating-pointnumber,LabVlEW ,read and writefile
在应用 LabVIEW编程时,一些使用过 C/C++的工程师们 制小数点左边为 1,所 以在 IEEE格式 中这一位不包含在浮点数
要面对这样一个问题 ,那就是在用 LabVIEW 的读取 以前 C语 的存储空间中。有效数 的小数部分是仅被存储部分。
言编写的数据文件 ,不能正确读取文件数据 。如何在 LabVlEW 以双精度数为例 :
中正确读出以前用 C语言生成 的数据文件 ,作者就上述 问题咨 [+0.5】,。=1·2 ‘,因此符号位Ms=[0】2;
询过 NI的工程师,得到的答复是用 C语言编写动态链接库文
阶码E=[-1+1023],。=[1022],。,表示成二进制即
件 (dynamic linklibrary,DLL),在 LabVIEW 中调用该 DLL文
[011111111lO],;
件 。但对于大多数工程师来说,编写动态链接库程序也并不是一
尾数M只表示小数部分,为[0】,。;表示成二进制~p[oo…oo12
件轻松的工作 。因此 ,本文通过对 C语言文件以及 LabVlEW文
件存储格式的分析 ,提 出了一种直接采用 LabVIEW 读取 C语 共 52位 ;
言文件的方法 ,而不需要编写动态链接库 ,方便地解决了Lab— 其 表 现形 式 即为 11100000
VIEW对 以前 C语言数据 的读取。 00000000000000000000000000000000oooooooo]。,因为
1 IEEE浮点数表示格式