示波器作为电子工程师最常用的时域仪器之一,是电路设计、研发、实验、制造或维修电子等常用的测试工具。面对当今各种复杂测量挑战,工程师们需要最好的工具,快速而精确地解决测试疑难,示波器是广大电子工程师测试的关键工具。
在有些情况下,需要编程控制示波器采集数据,并进行数据处理和分析,实现对示波器的自动化操作,最终完成自动化测试。
有些特殊场合,由于安全问题,需要把示波器放到封闭实验室环境下进行测试,也需要编程控制示波器采集数据安全地完成测试任务。
因此实现对示波器的自动设置和远程采集数据,成为很多前沿科学研究和实验,以及生产自动化的必需环节。
控制示波器常用的编程语言有MATLAB、Python、Labview、VC、C#等。MATLAB是许多工程师非常喜欢的编程开发工具,可以非常方便进行各种信号处理,深受广大工程师和学生的喜爱。本文介绍利用MATLAB编程控制示波器完成采集数据并显示波形。我们可以把MATLAB安装在示波器上或者安装在PC上,MATLAB可以直接与示波器进行通信。
下面将以文章和视频的方式详细讲解如何利用MATLAB语言编程控制泰克的示波器,充分发挥示波器功能。
编程前的准备工作
下面介绍MATLAB编程控制示波器之前的准备工作。
1安装NI-VISA
利用MATLAB控制仪器,需要安装一个VISA,建议安装NI-VISA库,可以去NI官方网站下载安装。
2接口的选择和设置
根据示波器支持的接口,可选用GPIB、RS232、USB、Ethernet等接口来编程控制仪器,本文利用MATLAB通过以太网接口编程控制实时示波器为例。
控制接口的选取 a. LAN
[TCPIP0::192.168.0.1::INSTR]
b. GPIB
[GPIB0::1::INSTR]
c. Serial
[serial('COM1','BaudRate',4800)]
d. USB
[USB::XXX::XXX::XXX::INSTR]
e.Virtual GPIB
[GPIB8::1::INSTR]
示波器和PC的设置(以LAN为例)a. 设置示波器的IP地址 例如: 192.168.0.2
b. 设置PC的IP地址 例如: 192.168.0.1
c. 关闭示波器和PC的防火墙
d. 在PC端 ping 192.168.0.2,看是否ping通
3示波器编程手册下载
下面分别泰克MSO2系示波器、MDO3系示波器、MSO4/5/6系示波器、DPO/MSO70K系列示波器的编程手册下载链接。
不同系列示波器编程手册 a.MSO2系示波器
b.MDO3系示波器
c.MSO4/5/6系示波器
d.DPO/MSO70K示波器
Matlab编程控制示波器流程
利用Matlab编程控制示波器,通过发送SCPI指令实现对示波器的控制和操作,设置示波器的相关参数,然后采集示波器的数据并显示。
1连接示波器
MATLAB可以利用GPIB、RS232、USB、Ethernet等接口控制示波器,今天利用以LAN以太网口控制示波器为例,利用visa命令创建对象。
2询问示波器 IDN
利用query发送SCPI命令询问示波器的产品信息,可以得到示波器的厂家、型号、序列号、固件版本等。
3设置示波器出厂设置
利用fprintf发送SCPI命令*RST对示波器进行出厂设置。
4设置示波器参数
利用fprintf发送SCPI命令设置示波器的参数,设置示波器的运行模式、水平刻度、采样率、垂直刻度、垂直位置、触发电平、触发类型等。
5读取测量结果
先用fprintf发送SCPI命令设置测量项和参数,然后用query读取测量结果,下面的代码以测量信号的周期为例。
6读取通道波形数据
先利用fprintf发curve?命令,利用binblockread读取数据,然后利用query获取相关的垂直刻度信息,最后转换成电压数据。
7读取水平时基数据
先发query发相关命令,然后计算出示波器的水平刻度数据。
8画通道波形图
利用plot把示波器采集的波形数据画图。
9断开仪器连接
利用fclose断开与示波器通信连接。
总结
本介绍如何利用MATLAB语言编程控制示波器采集数据并显示波形,从而实现对示波器的自动化操作,完成自动测试和分析,大大提高工作效率。