您好我使用的是LabView 2012,Delphi XE7和GPIB(我认为488.2),Win7 SP1和Agilent 53131A。
我使用了给定的NI示例。
NI Labview示例 - 在LabVIEW帮助中找到 - GPIB.vi。
我尝试编写和阅读以查询来自2个频道的频率并且它们是成功的。 他们是连续发送和阅读的。
如果它们成功,那意味着成功安装和配置了用于Agilent和NI MAX和驱动程序的GPIB。
我也可以使用KeySight Connection Expert来编写和阅读,同样也是成功的。
但是,当我使用given NI example in Delphi时。原则上它被保存为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的工作。请建议。
答案 0 :(得分:1)
你是正确的EABO
是中止的标识符。此外,我们可以从ibsta = SC000 <ERR TMO>
看到中止的原因是GPIB超时错误。我不熟悉Keysight Connection Expert或您的仪器,但由于错误来自GPIB超时,最可能的原因是:
有关通用GPIB命令的更多信息,请参阅National Instruments的人员reference。