您好,我正在使用 LabView 2012、Delphi XE7 和 GPIB(我认为是 488.2)、Win7 SP1 和 Agilent 53131A。
我使用了给定的 NI 示例。
NI Labview 示例 - 可在 LabVIEW 帮助 - GPIB.vi 中找到。
我尝试读写以从 2 个通道查询频率,并且它们是成功的。它们被连续发送和读取。
- *国际化域名?
- :FUNC '频率 1'
- :阅读:频率?
如果它们成功,则意味着用于 Agilent 和 NI MAX 的 GPIB 和驱动程序已成功安装和配置。
我还可以使用 KeySight Connection Expert 进行读写,同样成功。
但是,当我在 Delphi 中使用给定的 NI 示例时。最初它被保存为 Delphi 3 或 4。
我将 Scope Simple 示例用于通用计数器。我主要用它以简单的方式写作和阅读。它只需要初始化、读/写和清理
我在 SimpleForm.pas 中更改了以下代码,如下所示
检测到的设备GPIB0::3::INSTR
在第 32 行,
PRIMARY_ADDR_OF_COUNTER = 3;
要写入和读取的字符串,在第 132 行,
CommandBox.Text := '*IDN?';
然后它被编译没有错误并运行。
要写入的字符串已成功
但是一读,就没有成功。字符串输出应该是' HEWLETT-PACKARD,53131A,0,4806'
.
程序结束时的错误如下:-
Unable to read from device
ibsta = SC000 <ERR TMO>
iberr = 6 <EABO>
ibcntl = 0
从这些读数中,我发现:-
EABO 意味着中止
我不熟悉GPIB的工作。好心提醒。