参考:http://blog.sina.com.cn/s/blog_4eff3a0e0100zb8h.html

最近进行了示波器的数据采集,MSO2014,openChoice软件+Tekvisa驱动就可以了,采集的波形可以直接用matlab处理。

后面又发现可以直接将示波器跟matlab进行连接。

1.启动matlab,输入tmtool,弹出新窗口。
    2.左边,test&measurement窗口下,打开hardware树,选择示波器与电脑的连接方式。比如我选择的是visa下的usb连接。之前可能需要安装usb驱动程序,买示波器的时候会有盘。据说有些情况下也可以不装驱动,因为matlab有自带的!
    3.中间主窗口,scan,进行搜索,搜索到示波器后,就可以按下“connect”进行连接了
    4.仔细阅读示波器的说明pdf,了解示波器的命令。比如我的示波器,往示波器发送指令curve?,就会返回示波器测量数据,还可以发送一些指令来调正横纵轴的单位,发送命令就是write,请求回复就是query。
    5.在tmtool窗口的communicate标签中,发送命令,读取回复,在session log标签下将看到对应的m代码。
    6.复制session log下的代码,回到matlab,新建m文件,粘贴代码,在前面补上function,后面补上需要的后续处理,然后m文件就完成了!
    7.类似的步骤,可以在gui下编写callback,也可以在simulink中编写s函数。
 
注意点:
    1.示波器对于matlab而言,是一个对象obj,启用时要fopen,不用时要fclose。实践中,若fopen后,程序运行报错,则在下一次调试前,要先fclose一下,以防止下次fopen报错。
    2.往对象中写入命令,命令格式是string,如果需要写入xx1,xx2,xx3等众多有规律的命令时,可以通过strcat和num2str两个命令。前者将多个str组合为一个str,需要注意的是各str右侧的空格会被自动忽略,例如strcat('xx ','1');出来的是xx1,而不是xx 1。那个让我找了三天的错误,就是这样产生的!
    3.simulink的模块库中,有instrument control toolbox库,里面有query instrument模块用于从示波器等对象读取数据,设置时的id等信息一定要写成str格式,也就是带上两个',如图所示。个人不太喜欢用这个模块,还是s函数更加灵活。
 
贡献部分代码:
obj1 = visa('NI', 'USB0::0x0699::0x0413::C013300::0::INSTR');
fopen(obj1);
……
fclose(obj1);
%第一句是把示波器的连接方式、地址等信息定义成对象obj1。最后一句别忘了要关闭哦~
 
fprintf(obj1, 'DATa:SOUrce CH1');
%告诉示波器,我要读取的数据源是通道1~
 
n=100;
data=zeros(1,n*100);
for i=1:n
    temp=str2num(query(obj1,'curve?'));
    data((100*(i-1)+1):(100*i))=temp;
……
end
%每次读取100个数据,连续读取n次,得到data,也就是一个100*n长度的向量,一定要先定义好向量长度哦,可以大大提高matlab的运行效率。由于query读入数据是str格式,str2num命令可以转成向量。
 
 
以上的一些是参考,但是发现并不是那样的,对于以上的程序并不能运行通过,所以还是要针对自己的示波器进行编写。

matlab与示波器连接及电脑连接的更多相关文章

  1. 转载 - Vultr VPS注册开通且一键快速安装PPTP VPN和电脑连接使用

    本文转载来自:https://www.vultrclub.com/139.html 从2014年Vultr VPS进入市场之后,作为有背景.实力的搅局者,是的最近两年VPS.服务器的用户成本降低.配置 ...

  2. 使用cmd查看电脑连接过的wifi密码并将密码发送至指定邮箱(三)

    之前,我写了使用cmd查看电脑连接过的wifi密码(二)和使用cmd查看电脑连接过的wifi密码(一)但其中的功能不完善,在本次的更新中新增了更多的功能,其实2018/10/24 就更新完成了,一直拖 ...

  3. 查看window系统电脑连接过的wifi密码

    电脑连接过的wifi都会有痕迹,包括SSID号和密码等信息,借此可以回查wifi密码信息. 步骤: 1.开始----运行----输入cmd 2.在dos窗口输入以下代码: “for /f " ...

  4. 自建Socket转发,使用远程桌面(mstsc)连接家中电脑

    网络结构图如下: 开题先放图,一切全靠编哈哈. 进入正题! 如图所示,我们需要一个公网服务器,利用公网服务器将内网的数据进行转发,从而实现两个内网服务器的通讯.没错,这不是p2p,原本想做成p2p,因 ...

  5. 电脑连接树莓派Pi Zero W

    作者:陈拓 chentuo@ms.xab.ac.cn 2018.05.16/2018.06.09 0.  概述 本位介绍两种电脑连接树莓派Pi Zero W的方法: 电脑通过USB以太网连接树莓派Ze ...

  6. 如何在阿里云服务器搭建FTP服务器,在本地电脑连接并操作

    首先你需要有一个阿里云的ECS服务器 并且开通了公网宽带(话说也不贵,开来玩玩还是可以的,第一次买会比较便宜,第二次买1M的宽带两天是九毛多吧~) 开通了宽带之后,ECS服务器就可以上网了 如果嫌弃阿 ...

  7. 电脑连接海信电视 HDMI

    注意:我们家的电视是海信的,所以不能代表所有的电视哦~~~ 家里电视有线电视已经过期很长时间了,早就想把电脑连接到电视上用电视做显示器的心了,今天来兴趣了,就弄了一下!!! 用电脑连接电视需要先解决两 ...

  8. 使用 usb 调试的时候,连接上电脑没反应

    使用 usb 调试的时候,连接上电脑没反应 原因: 手机上没有信任本计算机的授权,请在手机上信任该授权 解决方法: 原因就是手机上会有一个弹话框,让我们信任该计算机,我们才可以进行 usb调试 我们的 ...

  9. 实现一台Linux电脑连接另一台Linux(SSH实现linux之间的免密码登陆)

    怎么实现一台Linux电脑连接另一台Linux电脑? 首先查看是否安装ssh服务:systemctl status sshd.service 启动服务:systemctl start sshd.ser ...

随机推荐

  1. swift简单处理调用高清大图导致内存暴涨的情况

    开发中,通常需要用到使用选取多张图片的功能,但是高清大图很吃内存,我想到的处理方案就是拿到高清大图的时候,重新绘制一张小的图片使用.至于清晰度尚可,至少我是分辨不出多大区别. 基本思路就是先固定宽,然 ...

  2. 大数据-02-Scala入门

    Scala 简介 它是一门基于JVM的面向函数和面向对象的编程语言, 它包含了求值表达式,闭包,切片操作,模式匹配,隐式转换等特性. 可变量/不可变量 可变集合/不可变集合.集合操作 函数 值函数 求 ...

  3. websocket js 代码样例

    function StartWebSocket(wsUri) { websocket = new WebSocket(wsUri); websocket.onopen = function(evt) ...

  4. 最长可重区间集 spfa费用流

    给定实直线L上的n个开区间,和一个正整数k 选取若干个区间,在保证实直线L上的任意一个点最多被选出区间覆盖k次的情况下,使得这些区间的长度和最大 先把区间按照左端点排序, 考虑到重复其实就代表着相交, ...

  5. JavaScript中HTML DOM focus()与onblur() setSelectionRange()用法

    今天在写一个todolist待办事项项目,需要单击编辑待办事项的内容,百度搜了一下这几个方法的用法,总结一下 focus()方法:获得键盘焦点,单击之后就调用绑定的js方法,在span标签里面加一个输 ...

  6. fatal: unable to access 'https://xxxxx': SSL connect error

    /********************************************************************** * fatal: unable to access 'h ...

  7. Buildroot stress-ng Linux系统压力测试

    /********************************************************************** * Buildroot stress-ng Linux系 ...

  8. Java中的初始化顺序

    一.在创建类时为成员变量赋值和在构造函数中的赋值的先后顺序  在未用构造器之前其实已经将类的字段进行了赋值只是在调用构造器时,又将类的字段进行了重新的赋值.如下: package com.cjm.in ...

  9. skflow 分类与回归接口API 简单测试

    skflow也即是 tf.contrib.learn, 是 TensorFlow 官方提供的另外一个对 TensorFlow 的高层封装,通过这个封装,用户可以和使用 sklearn 类似的方法使用 ...

  10. P2279 消防局的设立(贪心+dp)

    题目链接:传送门 题目大意: 给定一棵树(N个基地N-1条边): 用半径为2的消防局覆盖这N个基地,问最小的消防局数量. (树上距离为k的最小覆盖问题) 思路: 每次贪心地找到不被覆盖的最深的一个节点 ...