请问,打开设备都用MAX中的那个设备名啊?
时间:12-13
整理:3721RD
点击:
这个设备是 Tektronix 的 AFG 3021B 信号发生器,装了一堆乱起八糟的驱动啥的,应该驱动是装上了,用LabvIEW里的例子,能控制它产生信号
用 VISA wizard 已经安装好了驱动,在Windows的设备管理器中已经看到驱动装好了
在MAX中,有几个地方都能看到设备,如图所示
1。设备和接口中:
2. IVI Drivers
Driver Session
我现在是用Measurement Studio来操作他, 用VS2005 中建立 MFC Application 工程, 其中一 步让你勾选 需要包括的头文件啥的,里边正好就有AFG3K的选项。
然后生成一个按钮生成函数, 函数体中我用AFG3K 的中一个Labwindows CVI例子:
main()
{
ViSession tkafg3k;
ViStatus error = VI_SUCCESS;
ViString popUpMsg = "The function generator is outputting the waveform "
"that you configured.\n\nPress <Enter> to continue";
/*
If you want to run this sample program and the instrument is not
present, set the Simulate flag to 1. (Example: "Simulate = 1")
*/
/*
checkErr( tkafg3k_InitWithOptions ("GPIB::11::INSTR", VI_TRUE, VI_TRUE,
"Simulate=0,RangeCheck=1,QueryInstrStatus=1,Cache=1",
&tkafg3k));
*/
checkErr( tkafg3k_init("USB0::0x0699::0x0346::C030993::INSTR", VI_FALSE, VI_TRUE, &tkafg3k));
// checkErr( tkafg3k_init("AFG_3021B", VI_FALSE, VI_TRUE, &tkafg3k));
// checkErr( tkafg3k_init("mxwUSB0::0x0699::0x0346::C030993::INSTR", VI_FALSE, VI_TRUE, &tkafg3k));
/*
checkErr( tkafg3k_ConfigureOperationMode (tkafg3k, "1", TKAFG3K_VAL_OPERATE_CONTINUOUS));
checkErr( tkafg3k_ConfigureOutputMode (tkafg3k, TKAFG3K_VAL_OUTPUT_FUNC));
checkErr( tkafg3k_ConfigureStandardWaveform (tkafg3k, "1",
TKAFG3K_VAL_WFM_SINE, 1.0, 0.0,
1000000.0, 0.0));
checkErr( tkafg3k_ConfigureOutputEnabled (tkafg3k, "1", VI_TRUE));
MessagePopup ("Message", popUpMsg);
*/
Error:
if (error != VI_SUCCESS)
{
ViChar errStr[2048];
// tkafg3k_GetError (tkafg3k, &error, 2048, errStr);
// MessagePopup ("Error!", errStr);
}
if (tkafg3k)
tkafg3k_close (tkafg3k);
}
把其中驱动名称的改成了现在MAX中看到的,但是不行,最后报错是
Hex 0xBFFF0011 位置信息不足或系统中不存在改设备或资源
Hex 0xBFFF003E 由于I/O错误,讲无法执行该操作
从 帮助文件中看到错误代码的含义是:
Numeric Range (in Hex) Status Code Types
-------------------------------------------------
3FFA2000 to 3FFA3FFF IviFgen Warnings
3FFA0000 to 3FFA1FFF IVI Warnings
3FFF0000 to 3FFFFFFF VISA Warnings
3FFC0000 to 3FFCFFFF VXIPnP Driver Warnings
BFFA2000 to BFFA3FFF IviFgen Errors
BFFA0000 to BFFA1FFF IVI Errors
BFFF0000 to BFFFFFFF VISA Errors
BFFC0000 to BFFCFFFF VXIPnP Driver Errors
用 VISA wizard 已经安装好了驱动,在Windows的设备管理器中已经看到驱动装好了
在MAX中,有几个地方都能看到设备,如图所示
1。设备和接口中:
2. IVI Drivers
Driver Session
我现在是用Measurement Studio来操作他, 用VS2005 中建立 MFC Application 工程, 其中一 步让你勾选 需要包括的头文件啥的,里边正好就有AFG3K的选项。
然后生成一个按钮生成函数, 函数体中我用AFG3K 的中一个Labwindows CVI例子:
main()
{
ViSession tkafg3k;
ViStatus error = VI_SUCCESS;
ViString popUpMsg = "The function generator is outputting the waveform "
"that you configured.\n\nPress <Enter> to continue";
/*
If you want to run this sample program and the instrument is not
present, set the Simulate flag to 1. (Example: "Simulate = 1")
*/
/*
checkErr( tkafg3k_InitWithOptions ("GPIB::11::INSTR", VI_TRUE, VI_TRUE,
"Simulate=0,RangeCheck=1,QueryInstrStatus=1,Cache=1",
&tkafg3k));
*/
checkErr( tkafg3k_init("USB0::0x0699::0x0346::C030993::INSTR", VI_FALSE, VI_TRUE, &tkafg3k));
// checkErr( tkafg3k_init("AFG_3021B", VI_FALSE, VI_TRUE, &tkafg3k));
// checkErr( tkafg3k_init("mxwUSB0::0x0699::0x0346::C030993::INSTR", VI_FALSE, VI_TRUE, &tkafg3k));
/*
checkErr( tkafg3k_ConfigureOperationMode (tkafg3k, "1", TKAFG3K_VAL_OPERATE_CONTINUOUS));
checkErr( tkafg3k_ConfigureOutputMode (tkafg3k, TKAFG3K_VAL_OUTPUT_FUNC));
checkErr( tkafg3k_ConfigureStandardWaveform (tkafg3k, "1",
TKAFG3K_VAL_WFM_SINE, 1.0, 0.0,
1000000.0, 0.0));
checkErr( tkafg3k_ConfigureOutputEnabled (tkafg3k, "1", VI_TRUE));
MessagePopup ("Message", popUpMsg);
*/
Error:
if (error != VI_SUCCESS)
{
ViChar errStr[2048];
// tkafg3k_GetError (tkafg3k, &error, 2048, errStr);
// MessagePopup ("Error!", errStr);
}
if (tkafg3k)
tkafg3k_close (tkafg3k);
}
把其中驱动名称的改成了现在MAX中看到的,但是不行,最后报错是
Hex 0xBFFF0011 位置信息不足或系统中不存在改设备或资源
Hex 0xBFFF003E 由于I/O错误,讲无法执行该操作
从 帮助文件中看到错误代码的含义是:
Numeric Range (in Hex) Status Code Types
-------------------------------------------------
3FFA2000 to 3FFA3FFF IviFgen Warnings
3FFA0000 to 3FFA1FFF IVI Warnings
3FFF0000 to 3FFFFFFF VISA Warnings
3FFC0000 to 3FFCFFFF VXIPnP Driver Warnings
BFFA2000 to BFFA3FFF IviFgen Errors
BFFA0000 to BFFA1FFF IVI Errors
BFFF0000 to BFFFFFFF VISA Errors
BFFC0000 to BFFCFFFF VXIPnP Driver Errors