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

发布者:WanderlustSoul最新更新时间:2023-09-10 来源: elecfans关键字:MATLAB  语言编程  示波器 手机看文章 扫描二维码
随时随地手机看文章

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


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


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


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


控制示波器常用的编程语言有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语言编程控制示波器采集数据并显示波形,从而实现对示波器的自动化操作,完成自动测试和分析,大大提高工作效率。


关键字:MATLAB  语言编程  示波器 引用地址:如何利用MATLAB语言编程控制示波器

上一篇:教你如何判断示波器是否故障?这7点必须要牢记!
下一篇:示波器探头阻值测量及工作原理

推荐阅读最新更新时间:2024-11-11 15:23

MathWorks 宣布推出 MATLAB 和 Simulink 的 2024a 版本
MathWorks 宣布推出 MATLAB 和 Simulink 的 2024a 版本 更新后的 Satellite Communications Toolbox 支持场景建模及通信系统和链路分析 中国 北京,2024 年 4 月 7 日 —— 全球领先的数学计算软件开发商 MathWorks 今天宣布,发布MATLAB® 和 Simulink® 产品系列版本 2024a(R2024a) 。R2024a 推出的新功能能够简化人工智能和无线通信系统工程师和研究人员的工作流。 当前有近 6000 颗近地轨道卫星(LEO)在轨道上运行,并且数十亿私营资金正在流入太空相关公司,人们对卫星通信的兴趣持续高涨。R2024a 中的 S
[网络通信]
MathWorks 宣布推出 <font color='red'>MATLAB</font> 和 Simulink 的 2024a 版本
示波器的存储深度越大越好吗?
有一位朋友复购了一台示波器,但是他表示这台新购的示波器有问题,原因是他测量一个同样的信号和之前的示波器很不一样,方波失真比较严重。如下图所示是他用新购的示波器测量的信号,可以看到确实方波有点变成了梯形。 而他之前使用老的那台示波器测出来的效果是这样的,可以看到确实差别很大,那么真的是这台复购的示波器有问题吗? 我们注意观察到,第一张图中示波器的当前采样率是500KSa/s,而第二张图示波器的当前采样率是500MSa/s,足足差了一千倍!虽然测量的信号是同一个信号,但是测量的条件显然不同。 这个时候有人就要问了,同样的示波器,采样率怎么不一样了?很多新人第一次选择示波器的时候,往往只会关注示波器的带宽和采样率,很多示波器
[测试测量]
<font color='red'>示波器</font>的存储深度越大越好吗?
泰克示波器SPC校准步骤详解
所有电子测量类仪器使用一定时间段后就需要自检自校准,就像手机一样,如果不定期进行清理内存或者升级,手机就会出现卡机的情况,定期对仪器进行维护与保养,不仅能够延长仪器的使用寿命,还能让你在操作时更得心应手。示波器在工程师日常使用频率中算是比较高的一种电子测量仪器了,那么泰克示波器该如何自检呢? 下面由安泰测试分享泰克示波器自检的步骤: 第一步 :卸下示波器的所有探头、转换器以及信号连接。 第二步:打开示波器,热机一刻钟左右。通常温差会影响示波器自校。 第三步:选择主界面菜单进入Utilities,打开二级菜单。 第四步:进入第三步的二级菜单点击“Instrument Calibration”或者类似名字的按钮。
[测试测量]
泰克<font color='red'>示波器</font>SPC校准步骤详解
泰克公司触摸屏示波器的演进,软硬兼施打造超值示波器
触摸屏显示器 已经占领了日常生活。从智能手机和笔记本电脑到智能电视及车辆导航系统,触摸屏显示器正在为用户改善设备的体验和功能。甚至宇航局也在其最新的航天器上使用触摸屏显示器进行大部分操作。 2017年,泰克推出了MSO5示波器,专为触摸界面设计。此前,触摸屏功能是事后添加到示波器中的,没有提供从头开始构建的触摸屏相同的体验。泰克公司技术市场经理David Pereles说: 事实上,当我们推出具有触摸屏功能的示波器时,我们向工程师明确说明这是一个真正的触摸屏,将给他们带来与平板电脑相同的体验。MSO5也是第一台提供8个FlexChannel™输入的示波器,只需更换探头就可以从模拟转换为数字。 自推出以来,泰克一直定期
[测试测量]
泰克公司触摸屏<font color='red'>示波器</font>的演进,软硬兼施打造超值<font color='red'>示波器</font>
示波器ADC 位数与 ENOB有什么区别?对测量有什么影响呢?
示波器中的 ADC 位数是最受关注的技术指标之一。因此,许多工程师倾向于将此作为决定示波器品质的唯一技术指标。虽然这是一个非常重要的技术指标,但如果示波器的其余部分设计不妥当,那么 ADC 位数可能就会大打折扣。 与 ADC 位数同样重要的是系统的有效位数(系统 ENOB)。系统 ENOB 是进行测量时的实际有效位数。在任一款示波器中,有些 ADC 位是不起作用的,它们只能在噪声中工作。因此,决定示波器测量质量的是 ENOB 而不是 ADC 位数。如果测量质量太差,那么结果会不精确且不可重复,导致对设计出现误判。 可以肯定的是,ENOB 能够更好地表示信号完整性,因为它考虑了系统误差。 示波器厂商通常不会提到系统 EN
[测试测量]
示波器扫盲篇——波的类型与参数介绍
示波器是显示信号波形随时间变化特性的仪器,示波器能把肉眼看不见的电信号变换成看得见的图象(波形),便于人们研究各种电现象的变化过程,经常被喻为工程师的“眼睛”。 示波器是捕获、观察、测量、分析波形的工具,在了解示波器前,不得不了解一下示波器的波,那什么时候是波呢?波的类型和参数你了解吗?今天安泰测试就给大家分享一下: 一、什么是波? 随时间变化的模式称为波,声波、脑电波、海浪、电压波形都是波,波形能够揭示信号的许多特性。 当看到波形的高度变化,则表示电压值在变化; 当看到的是平坦的水平线,则表示在一段时间内,信号没有变化; 平直斜线表示线性变化,电压以恒定的斜率上升或下降; 波
[测试测量]
<font color='red'>示波器</font>扫盲篇——波的类型与参数介绍
安捷伦示波器助你庖丁解牛
一、初识安捷伦示波器 第一次听说和使用是德示波器即安捷伦示波器还是在上研究生的时候。现在想想,四年本科是白学了,没有掌握该掌握或了解的。所以,当项目里的老师让我拿示波器看波形时,我是一脸懵逼的状态,连上电都不敢,生怕把好仪器给烧坏了。老师让我插电源,果然屏幕有灯在闪,完成开机了。当然了,示波器测波形重要的桥梁还是一根好的探头,没有探头,只能望洋兴叹了。于是,我下载了实验室示波器型号对应的技术资料,开始了认识安捷伦示波器的阳光大道。 二、学会使用安捷伦示波器 在导师给我选了课题之后,我要从头开始学习电路、代码如何实现功能的。由于,用到了PWM波驱动阀门,所以需要用示波器查看自己的电路板能不能根据代码实现应有的波形。 我当时的学
[测试测量]
安捷伦<font color='red'>示波器</font>助你庖丁解牛
示波器实操特辑之8:一键滚动
  说到滚动模式,你可能感觉很陌生,我们先来了解下滚动模式到底是怎么回事。   图1 滚动模式下的屏幕显示   在滚动模式下,示波器不间断地对波形采样,没有死区时间。波形自屏幕右侧向左侧缓慢移动显示,屏幕上的固定参考点在屏幕的右边沿,指示当前时间。已经出现的波形滚动至参考点的左边,最新采集波形始终出现在屏幕的右侧。   图2 一键滚动(Roll)按键集成在了操作面板上   滚动模式可以一键开启,您只需要按下操作面板上的【Roll】按键,就能马上开启滚动模式。   图3 在滚动模式下测量低频信号   测量低频信号时,在滚动模式下可以实时地观察采集到的波形,在112Mpts的存储深度下,在滚动模式下会显示与带状图记
[测试测量]
<font color='red'>示波器</font>实操特辑之8:一键滚动

推荐帖子

PIC的配置位问题
刚开始学PIC单片机从PIC16F630和PIC18F2480入手程序编译正确但是下载到板子上运行不了不知道是不是配置位的问题不知道如何配置还有I/O口的设置也不知道该如何正确设置PIC的配置位问题求各位大侠赐教啊没代码谁能帮你啊?
vampire1989123 Microchip MCU
《原子Linux驱动开发》+阻塞和非阻塞IO,异步通知
《原子Linux驱动开发》这本书主要聚焦于Linux内核驱动开发的核心概念和实现方法,对于驱动开发者来说是一本非常有价值的参考书籍。在驱动开发中,处理输入/输出(I/O)是常见的任务,而阻塞和非阻塞I/O以及异步通知是处理I/O操作的几种重要方法。阻塞I/O阻塞I/O是一种常见的I/O模式,在这种模式下,当线程发起一个I/O操作(如读取或写入)时,如果数据没有准备好,线程会阻塞(即暂停执行),直到数据准备好。这意味着线程在等待数据期间无法执行其他任务,从而可能导致资源利用率低下。非
meiyao Linux与安卓
迅为i.MX6ULL终结者Linux中断实验运行测试
文章目录1编译驱动程序2编译应用测试程序3运行测试1编译驱动程序和前面章节中驱动测试程序一样需要一个Makefile文件,只是将obj-m的值改为key_irq.o,Makefile文件内容如下:首先我们在终端输入两个命令(设置两个环境变量):
遥寄山川 ARM技术
【MSP430 编译器使用经验】+对CCS和IAR的一点看法
自从接触MSP430以来一直对IAR很是喜欢,或许是因为它是我接触的第一款MSP430的编程软件或许用开发环境这个词更为恰当。后来遇到了TI的CCS,它强大的功能让我对这款软件产生了兴趣,后来发现CCS太过娇气,果断放弃。直到后来学习Hercules的时候我又一次使用了CCS,那时我才发现,CCS才是我的真爱。或许是因为失去过,或许是因为它的强大,或许因为Eclipse,或许因为它拥有能让我升级失败的仿真器复活的本领,或许因为它能拥有那win8.1都能匹配的驱动,或许还有很多的
Sur 微控制器 MCU
请教:LM5118 buck-boost电路的问题?
如下图,为使用TIWEBENCH生成的buck-boost电路,主控IC为LM5118。参数如下输入电压范围:DC22.0V-DC45V;输出电压:DC24.0V;持续最大电流:2.0A。经测试,当输入为DC24.1V时,输出为DC20.4V,输出异常。请大神指点,这是什么问题?非常感谢!备注:当输入电压是DC27.7V时,输出为DC24.1V,正常。请教:LM5118buck-boost电路的问题?输入电流多大这种电路,功率电感
yhyworld 电源技术
[X-NUCLEO-53L4A3 TOF评估板] TouchGFX测距尺
【硬件】1、STM32H7S78-DK2、X-NUCLEO-53L4A3TOF评估板【软件环境】1、STM32CubeMX6.122、X-CUBE-TOF3、X-CUBE_TOUCHGFX4、TouchGFX-Designer5、MDK5.38【实现步步骤】1、使用TouchGFX-Designer生成基于STM32H7S78L-DK的TouchGFX工程,设计界面如下:2、使用STM32CubeMX打开工程,配置X-CBUE-TOF如下
lugl4313820 传感器
小广播
最新测试测量文章
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved