仪器编程VISA
来源:互联网 发布:淘宝便宜水果 编辑:程序博客网 时间:2024/05/17 06:36
extern "C"
{
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include "visa.h"
ViSession vi2;
//这两个函数由示波器和万用表公用
/******************************************************************************
打开资源管理器,在VISA仪器控制标准中,资源管理器是用来管理仪器的通道,每次控制仪器都需要打开资源管理器,
一个资源管理器可以控制多台不同的仪器设备,调用成功返回true,不成功返回false。
******************************************************************************/
bool open_RM()
{
ViStatus err_msg;
err_msg=viOpenDefaultRM(&defaultRM);
if(err_msg!=0)
{//AfxMessageBox("Unable to Open Resource Manager;!");
return false;
}
return true;
}
/******************************************************************************
关闭打开的资源管理器,与open_RM成对使用,无参数,调用成功返回true,不成功返回false。
******************************************************************************/
bool close_RM()
{
ViStatus err_msg;
err_msg=viClose(defaultRM);
if(err_msg!=0)
{//AfxMessageBox("Unable to Open Resource Manager;!");
return false;
}
return true;
}
/******************************************************************************
打开仪器,参数为字符串数组,指定设备地址。调用成功返回true,不成功返回false。
******************************************************************************/
bool open_INST_Multi(char addr[])
{
ViStatus err_msg;
err_msg=viOpen(defaultRM, addr, VI_NULL,VI_NULL, &vi2);
if(err_msg!=0)
{//AfxMessageBox("Unable to Open device;!");
return false;
}
return true;
}
/******************************************************************************
关闭打开的仪器,与open_INST成对使用,无参数,调用成功返回true,不成功返回false。
******************************************************************************/
bool close_INST_Multi()
{
ViStatus err_msg;
err_msg=viClose(vi2);
if(err_msg!=0)
{//AfxMessageBox("Unable to Open device;!");
return false;
}
return true;
}
/***********************************[ measure_dc_voltage]*************************
# * Description : 万用表测直流电压
# * Arguments : 输出电压值voltage。
# * Returns : 返回错误ID号err_msg。0表示成功,其他表示错误。
# * Notes :
# * Example :
#*****************************************************************************/
ViStatus measure_dc_voltage(double *voltage)
{
ViStatus err_msg;
err_msg=viPrintf(vi2, ":CONF:VOLT:DC 100,0.00002\n"); //MODIFY: 设置量程,避免万用表自动模式继电器不断切换,设置2PLC,提高测试精度
err_msg=viQueryf(vi2, ":READ?\n","%lf",voltage);
*voltage = fabs(*voltage);
//double dVoltage; //与上面等价
//err_msg=viQueryf(vi2, ":READ?\n","%lf",&dVoltage);
//*voltage = fabs(dVoltage);
return err_msg;
}
}
- 仪器编程VISA
- 试水VISA编程(1)——对仪器的基本的控制
- 使用VISA编程(转)
- linux下调visa库编程
- visa
- 基于RS232接口的仪器编程连接
- visa interview
- UK Visa
- VISA操作
- VISA操作
- VISA操作
- VISA错误代码
- VISA错误代码
- Visa学习
- 仪器TEST
- VXIpnp基于HP-VISA库的VXI总线测试应用编程
- 基于VISA的编程中,ViString与CString之间转换的关系
- 试水VISA编程(2)——一键读取示波器数据
- micropather实现A*算法
- ASP.NET 用户控件的使用
- ADF 11.1.1.5.0未认证Win 7 64位系统
- AD 转换的软件滤波方法
- 《深入 python3 》中文版
- 仪器编程VISA
- 74ls192/74ls193中文资料介绍-引脚图-真值表-工作原理
- Direct3D 11设备介绍
- 居思安:搜索引擎中文网站收录地址录口
- 什么是Web容器
- AMD+WIN7+VMware安装MAC OS X 10.6.3 和 Xcode 3.2.2
- Android SurfaceFlinger中的Layer,LayerDim,LayerBlur,LayerBuffer
- 初步接触remoting
- [Android]使用ProGuard遇到“conversion to Dalvik format failed with error 1”错误的解决办法