如何利用MATLAB语言编程控制示波器

2023-03-07  

示波器作为电子工程师最常用的时域仪器之一,是电路设计、研发、实验、制造或维修电子等常用的测试工具。面对当今各种复杂测量挑战,工程师们需要最好的工具,快速而精确地解决测试疑难,示波器是广大电子工程师测试的关键工具。


在有些情况下,需要编程控制示波器采集数据,并进行数据处理和分析,实现对示波器的自动化操作,最终完成自动化测试。


有些特殊场合,由于安全问题,需要把示波器放到封闭实验室环境下进行测试,也需要编程控制示波器采集数据安全地完成测试任务。


因此实现对示波器的自动设置和远程采集数据,成为很多前沿科学研究和实验,以及生产自动化的必需环节。


控制示波器常用的编程语言有MATLAB、Python、Labview、VC、C#等。MATLAB是许多工程师非常喜欢的编程开发工具,可以非常方便进行各种信号处理,深受广大工程师和学生的喜爱。本文介绍利用MATLAB编程控制示波器完成采集数据并显示波形。我们可以把MATLAB安装在示波器上或者安装在PC上,MATLAB可以直接与示波器进行通信。


下面将以文章和视频的方式详细讲解如何利用MATLAB语言编程控制泰克的示波器,充分发挥示波器功能。

pYYBAGNzR5iALke0AAH-DBU9dn0797.png

编程前的准备工作

下面介绍MATLAB编程控制示波器之前的准备工作。

1安装NI-VISA

利用MATLAB控制仪器,需要安装一个VISA,建议安装NI-VISA库,可以去NI官方网站下载安装。

pYYBAGNzR9SAfdyKAAFYYMP3bDk582.png

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通

poYBAGNzR-iAT9W7AANO0jKoitw910.png

3示波器编程手册下载

下面分别泰克MSO2系示波器、MDO3系示波器、MSO4/5/6系示波器、DPO/MSO70K系列示波器的编程手册下载链接。

不同系列示波器编程手册 a.MSO2系示波器

poYBAGNzSAGAaq1CAAG2Gh-IZqc852.png

b.MDO3系示波器

pYYBAGNzSCuAbiczAAJCuGVhZuI152.png

c.MSO4/5/6系示波器

poYBAGNzSEWAEO24AAIucDDL4vo781.png

d.DPO/MSO70K示波器

pYYBAGNzSFyAWqjfAALgs_z9Ago196.png

Matlab编程控制示波器流程

利用Matlab编程控制示波器,通过发送SCPI指令实现对示波器的控制和操作,设置示波器的相关参数,然后采集示波器的数据并显示。

1连接示波器

MATLAB可以利用GPIB、RS232、USB、Ethernet等接口控制示波器,今天利用以LAN以太网口控制示波器为例,利用visa命令创建对象。

poYBAGNzSHGAQdFaAAA0WhF6B-Y982.png

2询问示波器 IDN

利用query发送SCPI命令询问示波器的产品信息,可以得到示波器的厂家、型号、序列号、固件版本等。

poYBAGNzSISAHehaAAAY3RwsWH0766.png

pYYBAGNzSJKAOvrNAABkm8QKN8Q057.png

3设置示波器出厂设置

利用fprintf发送SCPI命令*RST对示波器进行出厂设置。

pYYBAGNzSKSAWdEkAAAQbeBTSd4981.png

4设置示波器参数

利用fprintf发送SCPI命令设置示波器的参数,设置示波器的运行模式、水平刻度、采样率、垂直刻度、垂直位置、触发电平、触发类型等。

poYBAGNzSRqAGqp9AAIoSFmBVmo749.png

5读取测量结果

先用fprintf发送SCPI命令设置测量项和参数,然后用query读取测量结果,下面的代码以测量信号的周期为例。

poYBAGNzSSuABS8JAAAmSgGb4hA042.png

6读取通道波形数据

先利用fprintf发curve?命令,利用binblockread读取数据,然后利用query获取相关的垂直刻度信息,最后转换成电压数据。

pYYBAGNzST2Aep-PAABE_3inI1o266.png

7读取水平时基数据

先发query发相关命令,然后计算出示波器的水平刻度数据。

pYYBAGNzSU-AR_CHAABXnbMu2OI215.png

8画通道波形图

利用plot把示波器采集的波形数据画图。

pYYBAGNzSWCAKYmjAAAhClt4afI007.png

pYYBAGNzSYiAbgGMAACiKjesq00367.png

9断开仪器连接

利用fclose断开与示波器通信连接。

poYBAGNzSZqARw94AAATj2kzzKg393.png

总结

本介绍如何利用MATLAB语言编程控制示波器采集数据并显示波形,从而实现对示波器的自动化操作,完成自动测试和分析,大大提高工作效率。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。