基于VS2010下利用MFC编写软件控制安捷伦信号源

程控信号源

最近接触关于写《自动化测试软件》,里面用到了,需要实现频谱仪、信号源的程序控制。所以,就把每天遇到的问题,和学到的知识,进行一个总结思考。
信号源程控实现:
信号源的型号为E44XXC,具体思路:
<1>必须明确实现程控时,需要用到VISA库和SCPI命令;关于SCPI命令必须查对应的仪器的用户书册或者编程手册,从keysight官网可以下载对应的手册。
<2>关于连接设备时,以网口连接为例,对应设备的IP地址如何查询,连接上keysight connection expert 后,对应的软件界面可以显示出一起的设别型号及对应的IP地址。此时,将电脑的IP地址,设置为与仪器IP在同一网段。
<3>编程阶段,调用VISA库中的函数,然后从对应仪器的编程手册上查找,对应的SCPI指令,通过自己编写的上位机软件,给信号源发指令,就可以实现对信号源的程控。

界面 如下图所示:
在这里插入图片描述

需求:
因为提的需求只需要控制信号源的:频率更改、强度更改(强度的范围下雨等于20dBm)、RF的开关,所以,只需要满足这几项功能即可,比较简单。
编程:
用到的对应的SCPI命令如下:
频率:

// 频率部分 对应的SCPI指令 :FREQ 900MHZ
CString com1,com2,s;
com1=m_centerfreq;
com2=m_centerfreqM;
s=":FREQ ";
viprintf(m_ViSession,s + com1 + "GHZ\n");
viprintf(m_ViSession,s + com1 + "GHZ\n");

强度:

// 强度部分 对应的SCPI指令 :POWer:AMPLitude -125dBm
CSting com,s;
s=":POWer:AMPLitude ";
viprintf(m_ViSession,s + com + "DBM\n");

RF开关:

viprintf(m_ViSession,":OUTPut:STATe OFF\n");
viprintf(m_ViSession,":OUTPut:STATe ON\n");

关于信号源建立连接部分,直接上图,我自己写的,因为那部分代码,在另一台电脑上,自己懒得手动敲了。
在这里插入图片描述

上述就是对信号源的控制软件的编写,已经调试通过,可以完全控制信号源。
希望对他人有用。

猜你喜欢

转载自blog.csdn.net/qq_27538633/article/details/106365986