本文将会介绍如何通过编程的方法来控制仪器,并进行自动测试
编程控制仪器,下面简称[“程控”][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. 编程基本功底 
基础功底是必备的,如果如何写程序都不会?肿么写程控软件?肿么写驱动程序?好比一个人,如果不会加减乘除法,却又不愿意使用计算器,却非要执拗的去做算数题,这样能有结果?欲速则不达啊。

编写程控软件的步骤:
确定编程语言。
明确手动控制仪器的流程,需要控制的仪器参数。
查找仪器命令手册(一般从仪器官网可以下载到命令手册,),查找出对应参数的控制命令。
安装GPIB或者Visa驱动(非常重要)。
调用驱动,编写自动测试流程(实现你的测试流程,做你想做的事儿)。
如果是安捷伦的设备,一般可以采用 Agilent IO软件来测试命令,也可以使用NI的NI MAX工具。 
GPIB和Visa我都使用过,个人比较偏爱于使用Visa,Visa相对于GPIB,封装的层次更高,更便于程序员理解和使用。 
编写程控软件,界面框架可以采用Qt、Winform、LabView、C++builder等,几乎没有限制。

GPIB编程范例:
回公司了再copy一段代码示例。
1
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的官网获取更多的知识。
————————————————
版权声明:本文为CSDN博主「好儿郎-志在四方」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/rl529014/article/details/79586993

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐