在一些特定的场合,例如在环境试验室,环境噪声有可能会达到80 分贝到90 分贝,工程师不宜长期在这样的环境下进行工作;或者进行异地调试时,需要对仪器进行远程操作;另外,为了提高工作效率,可以让电脑代替工程师完成一些简单的遍历测试,例如,遍历被测件的输出电压并测量输出波形的幅值,这些自动化测试可以大幅提升测试效率。需要做到这些,就需要能够对示波器进行远程控制。
就目前而言,常用的远程控制控制方法有以下几种:1、使用Windows 自带的远程桌面控制(mstsc);2、使用LeCroy 的软件进行远程操作;3、通过编程的方式对示波器进行远程控制。下面分别对3 种远程控制的方式进行说明。
在对示波器进行远程控制之前,需要将示波器和上位机设置到相同的网段内,并且能够Ping 通。在有些情况下,因为Windows 防火墙可能会阻止远程控制或者,所以在实际操作之前建议禁用示波器的Windows 防火墙,具体操作方法如下:
开始菜单, Control Panel, System and Security , Windows Firewall,Turn Windows Firewall on or
off, 将Windows 防火墙关闭。
1、 远程桌面控制
远程桌面控制是微软从Windows 2000 Server 开始提供的组件,当某台计算机开启了远程桌面链接功能后,我们就可以在网络的另一端操作和控制这台计算机了,我们可以通过远程桌面控制实时的控制这台计算机,在上面安装软件,运行程序1。
使用远程桌面连接的时候,需要将示波器的远程控制使能,具体操作方法如下:
开始菜单,Computers 右键单击,properties ,Remote Settings ,Remote Desk 选择第二项,使能远
程桌面连接,如图1 所示,这样就可以通过PC 对示波器进行远程桌面控制了。
实现远程桌面控制的方法:
Windows 键+R 键, 输入mstsc , 输入示波器的IP 地址, 输入示波器的用户名和密码,即可通过PC 对示波器实现完整的远程控制。如图2 所示:
需要注意的是,很多规模较大的公司都的办公电脑加入了域,在启用远程桌面链接的时候一般默认的是本机所在的域,所以在输入示波器用户名的时候需要在用户名前面添加反斜杠“\”(如果PC 没有添加域或者示波器也加入了同样的域则不需要),示波器的默认用户名是LeCroyUser,默认密码是lecroyservice。
在远程桌面控制的情况下,一般是操作者离示波器距离较远,这样无法使用示波器右侧的按键面板,有些如Default Setup 或者Auto Scale 等常用功能使用起来不是很方便,这时候建议调出虚拟面板,具体方法如下所示ii:
打开桌面上的Wave Studio 软件,点击“Add Scope”按钮,选择“Network” ,输入“127.0.0.1”,点击
“Show Remote FrontPanel”按钮,如图3 所示,这时候就会出现一个和示波器右侧按键面板同样的虚拟面板。
图 1 使能远程桌面控制
图 2 远程桌面链接示意图
图 3 打开虚拟前面板
2、 使用力科提供的软件进行远程控制
力科提供的Wave Studio 软件能够实现对示波器的简单控制,它能通过网络或者USB 接口实现水平刻度、垂直刻度调节,触发模式选择,获取波形等功能。QualiPHY 软件可以远程控制示波器完成Compliance 测试,本文将介绍如何使用使用TCPIP 的方式实现对示波器的远程控制,具体分3 步:
a) 将示波器的远程控制选择为TCPIP
进入示波器主界面 , Utilities, Utilities Setup , Remote, Control From , 选择“TCPIP(VICP)”,如图4 所示
图 4 选择远程控制模式
b) 使用Wave Studio 连接示波器。
下载Wave Studio 软件并安装,地址:
打开桌面上的Wave Studio 软件, 点击“Add Scope”按钮 , 选择“Network”, 输入示波器的IP 地址,如果连接正常的话,在窗口左下角会看到如图5 所示。
我们可以从Trace 中找到我们需要的每个通道/运算或者存储中的波形,并且能够将波形文件保存到本地,Display Capture 可以将示波器当前的界面显示到Wave Studio 中,
图 5 仪器连接成功
Scope Setups 可以将电脑中保存的设置配置到示波器中,Mass Storage 可以查阅示波器硬盘中的各个文件,Front Panel 可以调出虚拟前面板。
c) 使用QualiPHY 进行远程一致性测试
下载QualiPHY 软件并安装,地址:
打开桌面上的QualiPHY 软件 , General Setup,Connection, 输入示波器的IP 地址,点击“Close”,
选择需要测试的协议,配好配置,就可以开始一致性测试了。
需要说明的是,远程使用QualiPHY 和在示波器上使用QualiPHY 测试时,需要示波器有对应的软件选件,例如需要测量USB 3.0,则需要受控的示波器有QPHY-USB3 选件。
3、 编程控制示波器
说到程控,会涉及到两个方面:一方面是通信方式,确切的来说是通过何种方式将命令传输给示波器,另一方面则是通信的命令,即把示波器的各个操作用文字命令进行替代,以及我们如何去查找这些命令。
说到仪器控制,目前最常用的是National Instrument 公司的NI-VISA,VISA 的全称是Virtual Instrument
Software Architecture,是用于虚拟仪器开发以及仪器控制的软件包,VISA 支持LXI、VXI、USB、GPIB 和RS232 等多种通信方式,基本上所有可编程的仪器都能够使用NI-VISA 进行控制,支持Windows、Linux 和Mac OS 等多种操作系统。VISA 支持C/C++、VB、LabVIEW2、MatLab、Python 以及.Net Framework 等多种编程平台,常用到的函数有(以C#为例,下同,不同编程语言下的命名会各不相同,但是功能类似):Open,用于打开仪器会话;Close,用于关闭仪器会话;Write,用于向仪器发送命令;Query,用于向仪器发送命令并获取返回值,可用来获取测量值或者仪器状态。目前NI-VISA 的最新的版本是15.5,可以在NI 的官网免费下载3。关于如何使用NI-VISA 控制仪器,NI 的官网上有详细的指导4,本文不再仔细讨论。
要使用NI-VISA 对力科示波器进行控制,需要在示波器侧进行一些配置,如果需要使用网口控制示波器,则需将示波器配置为LXI(VXI11)模式,如果需要使用GPIB 控制示波器,则需选择为GPIB 模式,配置方式与第二节中a)部分类似。
除NI-VISA 外,力科也提供了类似的软件,叫做ActiveDSO,ActiveDSO 可以通过TCPIP 和GPIB 的方式控制示波器,支持MatLab、VB/VBA,VC++、Java 以及.Net Framework 等多种编程语言,相较NI-VISA,ActiveDSO 小巧且功能强大:NI-VISA 安装包大小在500MB 以上,而ActiveDSO 不到2MB;另外,ActiveDSO 提供特定的函数,便于直接读取波形数据和测量参数。ActiveDSO 下载地址:
ActiveDSO 提供了以下常用函数5:
MakeConnection:用于打开仪器会话,和NI-VISA 的Open 函数类似。
WriteString:用于向仪器发送命令,和NI-VISA 的Write 函数类似。
ReadString:用于从仪器读取数据,一般和WriteString 同时使用,合在一起和NI-VISA 的Query 函数功能类似。
Disconnect:用于关闭仪器会话,和NI-VISA 的Close 函数功能类似。
除此之外,ActiveDSO 还提供了GetByteWaveform、GetIntegerWaveform、GetScaledWaveform 等函数,通过这些函数这些函数可以将示波器中的波形每个点的数值直接读取到程序中,方便对波形做进一步的分析。另外,ActiveDSO 提供了VBA、MatLab、VBS 以及VC++的范例,安装好ActiveDSO 后,可以在开始菜单,
所有程序, LeCroy, ActiveDSO 中找到。
上述的NI-VISA 和ActiveDSO 都是实现PC 和示波器通信的平台,软件工程师可以使用这些平台向示波器发送命令,但是具体哪条命令对应着哪种操作,一般需要从仪器的编程手册上去查询。除了编程手册外,力科还提供了一种查询编程指令的方法,就是通过仪器自带的软件——XStream Browser。力科带操作系统的全系列示波器的命令都可以通过XStream Browser 查找,并且编程命令全系列通用(限于通用命令,有些跟软件选件相关的命令取决于当前示波器是否包含此软件选件,如果没有包含此软件选件,则无法使用) ,因此,代码
的可移植性很强,很容易让不同型号、不同平台的两款示波器使用相同的底层代码。
仪器的控制命令分为三种类型,一种是可读写的,例如某个通道的垂直刻度值,我们既可以通过程序向示波器写入,也可通过程序向示波器读取当前刻度值;另一种是只读的,例如某测量参数结果,这些测量值我们只能通过程序向示波器读取;还有一种是只写的,又称作Action,例如Default Setup,这些是我们向示波器发送的命令,读取是没有任何意义的。操作XStream Browser 的步骤如下:
示波器桌面, XStream Browser,“Connect to a local X-Stream DSO Device”(file 菜单下的按键),就会得到如图6 所示的界面:
图 6 XStream Browser 界面
窗口左边是按照A~Z 顺序的示波器当前所包含的功能的罗列,其中和采集相关的都在“Acquisition”中,例如通道的设置、水平轴设置、采样率/存储深度设置、触发方式等,都在这一栏中;和参数测量相关的都在“Measurement”中,相对应的,和函数运算相关的,都在“Math”中。
如图7 所示,假若我们需要获取或修改通道1 的耦合方式,我们可以在
图 7 通过XStream Browser 查找命令
“Acquisition”中的“C1”找到“Coupling”选项,可以看到当前值是“AC1M”档,这是个可读写的参数,是枚举类型,可选的值有4 种。在XStream Browser 的下方(状态栏)中,出现了“app.Acquisition.C1.Coupling”字样,这就是“C1 通道的耦合方式”这个选项相对应的控制命令,其他的控制命令也可以通过类似的方法去找。
控制命令需要配合“VBS”指令才能对示波器进行操作,VBS 指令的格式如图8 所示:其中,“automation command”是我们通过XStream Browser 找到的命令。
我们还是以上面说到的通道1 的耦合为例,通道1 现在处于“AC1M”耦合模式,通过NI-VISA 将“VBS?
Return=app.Acquisition.C1.Coupling”发送给示波器并读取返回值,可以得到如图9 右侧所示的结果,现在通道1 处于“AC1M”耦合模式,如果需要修改通道1 的耦合方式,比如改成“DC1M”,只需要通过NI-VISA 将指
图 9 通过NI-VISA 控制示波器
令 “VBS app.Acquisition.C1.Coupling = “DC1M””发送给示波器即可,需要注意的是,这个指令对应的数据类型是枚举类型,DC1M一定要加引号;或者我们可以直接输入数字,DC50 /GND /DC1M /AC1M分别对应数字0~3;如果指令对应的数据类型是布尔类型,True 和False 则不需要加引号,或者我们也可以以数字-1 和0 代替。
在调试程序的时候建议在示波器中将Log Mode 设置为“Full Dialog”,这样示波器可以把接收到的每一条指令在记录在Log 里面,如图10 所示,这样方便帮助检查自己的程序是否出现了问题,具体操作方式如下:
图 10 Event Log 窗口,可帮助我们调试程序
进入示波器主界面, Utilities,Utilities Setup, Remote, Remote Control Assistance, Log Mode ,选择“Full Dialog”,如图11 所示
图 11 选择将所有指令存入Log
三种对示波器的远程控制方法各有优劣,Windows 自带的远程桌面控制简单易用,但是需要占用较多的网络资源,对带宽要求比较高,尤其是在非局域网的情况下;力科提供的Wave Studio 软件简单、占用资源较少,但是提供的功能相对较少;编写程序控制示波器,执行效率高,能够实现丰富的功能,占用网络资源相对较少,但是对工程师要求较高,需要工程师有一定的编程能力。
对一名测试工程师而言,学会通过编程控制示波器,能够把许多简单重复的工作交给电脑,这样可以大大降低误操概率、提升测试效率;另外,可以把单板控制和示波器控制结合起来,实现全局自动化,进一步提升测试效率;再者,熟悉示波器的编程指令能够让我们更熟悉和了解示波器的工作方式和工作原理,使我们自身能力得到提升。在有条件的情况下,建议各测试工程师都去尝试一下示波器编程,或许只需要短短的几行代码,就能够使我们的工作效率大大提高。
评论
查看更多