通过LabWindows/CVI发送我的GPIB仪器命令时是否会被截断



主要软件:
主要软件版本: 7.0
主要软件修正版本: N/A
次要软件: N/A
硬件: GPIB

问题: 我从ni.com下载了与我的仪器相关的GPIB驱动。当我使用NI Spy观察USB总线时,通过surement & Automation Explorer (MAX)发送的命令是正确的,但是从LabWindows/CVI发送的命令被截断了。

例如,在MAX中,我发送了一个中心频率命令给我的hp8566b,其频率为9.876543210E9 Hz。设备会将这一中心频率准确设置,当我尝试在LabWindows/CVI中使用同一命令时,设备就将其设置为9.876540000E9 Hz,同时命令被截断了。

我要如何编辑驱动来显示到更高的精度?

解答:  LabWindows/CVI 中GPIB的驱动是以标准C写成的。您所遇到的问题是由LabWindows/CVI中的Fmt函数导致。这一函数默认是六位精度。为了解决这一问题,对hp8566b_frequency_sweep 这一函数的修改就很有必要。

通过LabWindows/CVI或文本编辑器打开hp8566b.c 驱动并编辑第239行到241行,使其如下所示:

.
.
.
int PUBLIC hp8566b_frequency_sweep
.
.
.
238 if (!cont_md)
239 Fmt (cmd, "%s[a]<FA %f[p9e];FB %f[e];\n", cent_start, span_stop);
240 else
241 Fmt (cmd, "%s[a]<CF %f[p9e];SP %f[e];\n", cent_start, span_stop);
.
.
.

注意到Fmt命令现在有了p9这一指定标志。这将精度扩展到了9位。如果您需要更多的位数,只要改变这个值来满足您的需求即可。

相关链接: NI Instrument Driver Network

附件:





报告日期: 06/27/2002
最近更新: 10/10/2013
文档编号: 2MQBPJMQ