示波器作为电子工程师最常用的时域仪器之一,是电路设计、研发、实验、制造或维修电子等常用的测试工具。面对当今各种复杂测量挑战,工程师们需要最好的工具,快速而精确地解决测试疑难,示波器是广大电子工程师测试的关键工具。
在有些情况下,需要编程控制示波器采集数据,并进行数据处理和分析,实现对示波器的自动化操作,最终完成自动化测试。
有些特殊场合,由于安全问题,需要把示波器放到封闭实验室环境下进行测试,也需要编程控制示波器采集数据安全地完成测试任务。
因此实现对示波器的自动设置和远程采集数据,成为很多前沿科学研究和实验,以及生产自动化的必需环节。
控制示波器常用的编程语言有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语言编程控制示波器采集数据并显示波形,从而实现对示波器的自动化操作,完成自动测试和分析,大大提高工作效率。
上一篇:教你如何判断示波器是否故障?这7点必须要牢记!
下一篇:示波器探头阻值测量及工作原理
推荐阅读最新更新时间:2024-11-11 15:23
推荐帖子
- 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 传感器
- 使用具有 B 类 EMI 过滤功能的 RP10-243.3SA DC/DC 转换器(单输出)的典型应用
- 使用 Endicott Research Group 的 DR-SBD4229F 的参考设计
- Iru3034 具有限流功能的 8 引脚 PWM 开关控制器 IC 的典型应用
- 喷墨打印机40W、5V、12V、28V交流转直流多路输出电源
- DC1778A-B,用于具有数字电源管理功能的 LTC3883EUH 单相、降压型 DC/DC 控制器的演示板
- ADR392A 4.096 Vout 微功率、低噪声精密电压基准的典型应用
- 使用 LTC3637IDHC 5.5V 至 76V 输入至 5V 输出、1A 降压型稳压器的典型应用
- 使用 Microchip Technology 的 LM285EZB-1.2 的参考设计
- AM1D-2409SH30-RZ 9V 1W DC/DC 转换器的典型应用
- LTC2945IMS 双电源监视器的典型应用,具有用于电流隔离的通用光电耦合器