打印

使用cvi gpib.h的控制软件,是不是只能用NI的GPI...

[复制链接]
2499|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bit6019|  楼主 | 2010-5-31 21:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
示例代码:
          N4010A_BT = ibdev (0, N4010A_addr, NO_SAD, T10s, 1, 0);
  strcpy(write_buffer_NA,"*IDN?");      
  n4010A_status = ibwrt (N4010A_BT, write_buffer_NA,strlen(write_buffer_NA));
  
  memset(read_buffer_NA, 0 , sizeof(read_buffer_NA));
  n4010A_status = ibrd (N4010A_BT,read_buffer_NA , 100);
使用cvi gpib.h里面的函数(ibdev/ibwrt/ibrd)来访问GPIB卡,是不是只能使用NI的gpib卡?
我使用agilent的GPIB卡,就是不行!同时装了NI488.2也不行。ibdev返回值是-1。
MTK ATE控制N4010和heithley 2303都是用的这些gpib.h的函数做的控制程序,使用agilent GPIB都不行。
麻烦给个提示,谢过

相关帖子

沙发
huzixian| | 2010-5-31 21:18 | 只看该作者
下面是Agilent的SICL的一个例子,差别很大,对吧?

/* gpibdev.c
This example program sends a scan list to a
switch and, while looping, closes channels and
takes measurements. */
#include
#include
main()
{
INST dvm;
Using SICL with GPIB 4
Agilent SICL User’s Guide 91
INST sw;
double res;
int i;
/* Log message and terminate on error */
ionerror (I_ERROR_EXIT);
/* Open the multimeter and switch sessions*/
dvm = iopen (“gpib0,9,3”);
sw = iopen (“gpib0,9,14”);
itimeout (dvm, 10000);
itimeout (sw, 10000);
/*Set up trigger*/
iprintf (sw, “TRIG:SOUR BUS\\n”);
/*Set up scan list*/
iprintf (sw,”SCAN (@100:103)\\n”);
iprintf (sw,”INIT\\n”);
for (i=1;i<=4;i++)
{
/* Take a measurement */
iprintf (dvm,”MEAS:VOLT:DC?\\n”);
/* Read the results */
iscanf (dvm,”%lf”,&res);
/* Print the results */
printf (“Result is %lf\\n”,res);
/* Trigger to close channel */
iprintf (sw, “TRIG\\n”);
}
/* Close the multimeter and switch sessions */
iclose (dvm);
iclose (sw);
return 0;
}

使用特权

评论回复
板凳
bit6019|  楼主 | 2010-5-31 21:24 | 只看该作者
上述代码中的函数,应该就是Agilent的GPIB函数了。倒是第一次见,谢谢支持!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

221

主题

1344

帖子

1

粉丝