编程控制仪器进行自动化测试(Visa驱动、GPIB驱动)

本文将会介绍如何通过编程的方法来控制仪器,并进行自动测试


  • 编程控制仪器,下面简称[“程控”][3]
  • 博主经常使用的是安捷伦罗德与施瓦茨两大厂家的仪器;
  • 经常程控的仪器有信号源、频谱仪、示波器、网络信号分析仪、衰减器、电源等支持程控的设备;

程控必备基础

学习程控仪器,就必须得了解一些相关的基础知识。(曾经有群友向我请教关于程控的问题,几乎将我问到奔溃)

1. SCPI指令集
可编程仪器标准命令,定义了一套用于控制可编程测试测量仪器的标准语法和命令。命令主要分为Set(控制)和Query(查询)两种。
2. GPIB
通用接口总线是一种设备和计算机连接的总线。大多数台式仪器是通过GPIB线以及GPIB接口与电脑相连,系统中最多不能超过15台仪器。
如果是台式机或者笔记本作为主控机,需要买一个USB转GPIB的线。
3. Visa
Virtual instrument software architecture,虚拟仪器软件结构。可以使用网线连接仪器,通过网络地址来程控仪器,也可以通过GPIB线,使用端口程控仪器。
关于visa的详细内容参见wiki:https://en.wikipedia.org/wiki/Virtual_instrument_software_architecture
4. 编程基本功底
基础功底是必备的,如果如何写程序都不会?肿么写程控软件?肿么写驱动程序?好比一个人,如果不会加减乘除法,却又不愿意使用计算器,却非要执拗的去做算数题,这样能有结果?欲速则不达啊。

编写程控软件的步骤:

  1. 确定编程语言。
  2. 明确手动控制仪器的流程,需要控制的仪器参数。
  3. 查找仪器命令手册(一般从仪器官网可以下载到命令手册,),查找出对应参数的控制命令。
  4. 安装GPIB或者Visa驱动(非常重要)。
  5. 调用驱动,编写自动测试流程(实现你的测试流程,做你想做的事儿)。

如果是安捷伦的设备,一般可以采用 Agilent IO软件来测试命令,也可以使用NI的NI MAX工具。
GPIB和Visa我都使用过,个人比较偏爱于使用Visa,Visa相对于GPIB,封装的层次更高,更便于程序员理解和使用。
编写程控软件,界面框架可以采用Qt、Winform、LabView、C++builder等,几乎没有限制。

GPIB编程范例:

回公司了再copy一段代码示例。

Visa编程范例:

某电源的初始化函数

BOOL CXXXDlg::InitPower()  
{  

    char chStatusDesc[_MAX_DIR] = {0};  
    int retCnt=0;     
    char instrDesc[100]={0};      
    ViFindList find_list;     
    float voltSetting, currSetting;  
    voltSetting = atof(ini_powervolt);  
    currSetting = atof(ini_powercurrent);  
    VISAstatus=viOpenDefaultRM(&defrm);  
    if (VISAstatus != VI_SUCCESS)  
    {  
        return FALSE;  
    }  
    VISAstatus = viFindRsrc(defrm,"GPIB?*INSTR",&find_list,(ViPUInt32)&retCnt, instrDesc);  

    VISAstatus=viOpen(defrm,instrDesc, VI_NULL, VI_NULL, &session);  

    if (VISAstatus!=VI_SUCCESS)  
    {  
        return FALSE;  
    }  
    //Set voltage  
    viPrintf(session,"VOLT %f \n",voltSetting);     
    //Set current level  
    viPrintf(session,"CURR %f \n",currSetting);  
    return TRUE;  
}  

关于仪器控制,可以前往NI的官网:http://www.ni.com/zh-cn.html
NI提供的程控工具:VISA Interactive Control(可以去官网下载,NI的工具是收费的)
这里写图片描述
在测试测量领域,NI做的非常强大,感兴趣的朋友可以去NI的官网获取更多的知识。

  • 26
    点赞
  • 194
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
安捷伦(Agilent)是一家提供科学仪器和测量解决方案的公司,在实验室和工业环境中广泛使用。GPIB(General Purpose Interface Bus)是一种常用的标准接口,用于连接仪器设备和计算机控制系统。在使用安捷伦仪器时,常常需要使用GPIB驱动程序进行仪器的连接和控制。 首先,要连接安捷伦仪器和计算机,我们需要一根GPIB接口电缆。这种电缆通常具有两个25针的连接器,一个连接到仪器GPIB接口,另一个连接到计算机的GPIB接口卡。 接下来,我们需要安装并配置GPIB驱动程序。安捷伦提供了一套名为"Agilent IO Libraries Suite"的软件包,其中包含了GPIB驱动程序和其他工具。我们可以从官方网站下载并安装该软件。 安装完成后,我们需要打开安捷伦IO控制面板程序。在控制面板中,我们可以选择连接的仪器和配置相应的参数,如GPIB地址和通信速率等。这些参数的设置取决于具体的仪器和应用需求。 一旦设置完成,我们就可以通过编写相应的控制程序来连接和控制安捷伦仪器了。在编程过程中,我们可以使用安捷伦提供的GPIB函数库,如VISA(Virtual Instrument Software Architecture)来实现对仪器的远程控制。 总结来说,安捷伦GPIB驱动连接需要使用GPIB接口电缆连接仪器和计算机,安装Agilent IO Libraries Suite软件包,并进行相关配置。然后,我们可以通过编写控制程序来实现对安捷伦仪器的连接和控制。这样,我们就可以方便地利用GPIB接口进行仪器的数据采集和控制操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值