仪器使用 | Tek 示波器连接MATLAB

本文记录通过Tek visa使得MATLAB调用示波器采集波形的方法,主要作用是记录,方便再次配置。

1 TEK驱动下载和配置

第一步:

在TeK官网下载VISA驱动:(搜索示波器型号即可)

泰克科技有限公司 - 测试、测量、监测行业领导者 | Tektronix

第二步:下载visa按默认安装:

安装后如下:(初始无对应的LAN)

可以在文件->首选项勾住:

(启动时扫描仪器必须开启,建议开启剩余两个)

调试搜索标准

配置所需要的连接方式:

第三步:配置连接,以网线(以太网连接为例)

需配置子网络(此时设备需要与电脑通过网线连接)

查看示波器utility->I/O

如下图:(为了便于后续使用选择Manual手动配置)

可以看到设备IP为192.168.0.5(可自行设置)

子掩码为:255.255.0.0

此时在浏览器中键入设备IP可管理设备(若可访问也说明通讯正常)

以太网配置

在网络和控制中心设置:(点击以太网)

设置IP为设备IP的附近IP(不可相同

192.168.0.10

子掩码为255.255.0.0

其保持他默认即可,点击确定

可以尝试控制台cmd中尝试

Ping 192.168.0.5 是否传输正常

若出现以上则说明通讯正常

完成以上操作TeKVISA配置完成

附说明书中的配置步骤:

2 MATLAB 的配置

MATLAB中Test & Measurement Tool tmtool)中配置:

首先需要安装tmtool附加内容:

安装后在command命令窗口键入tmtool打卡工具箱

若通过网线通讯则可找到TCPIP中有可选项

调整configure中的参数如图

InputBufferSize和OutputBufferSize控制采样点数(设为所需数目)

增加时延Timeout

SessionLoss中有(创建VISA对象等信息):

3 代码及测试实例(MATLAB)

调用代码(实例):

%将示波器设为对象;返回属性名称和属性值与指定项匹配的串行端口对象数组

obj1 = instrfind('Type', 'visa-tcpip', 'RsrcName', 'TCPIP0::192.168.0.5::inst0::INSTR', 'Tag', '');

% Create the VISA-TCPIP object if it does not exist

% otherwise use the object that was found.

if isempty(obj1)

    obj1 = visa('TEK', 'TCPIP0::192.168.0.5::inst0::INSTR');

else

    fclose(obj1);

    obj1 = obj1(1);

end

fopen(obj1);

%指定获取波形的通道,格式,数据大小,采样长度;

fprintf(obj1,"DATa:SOUrce CH2");

fprintf(obj1,"DATa:ENCdg ASCII");

fprintf(obj1,"WFMOutpre:BYT_Nr 1");

fprintf(obj1,"DATa:STARt 1;STOP 100000");

fprintf(obj1,"WFMOutpre:ENCdg ASCii");

%获取示波器横坐标信息

cen_f = str2num(query(obj1,"WFMOutpre:CENTERFREQuency?"));

f_span = query(obj1,"WFMOutpre:DOMain?");

flushinput(obj1);

flushoutput(obj1);

numb = str2num(query(obj1,"WFMOutpre:NR_Pt?"));

samp_int = str2num(query(obj1,"WFMOutpre:XINcr?"));

h_basis = query(obj1,"WFMOUTPRE:XUNIT?");

flushinput(obj1);

flushoutput(obj1);

% 获取垂直坐标信息

dig_lel = str2num(query(obj1,"WFMOutpre:YMULT?"));

shift_y = str2num(query(obj1,"WFMOUTPRE:YZEro?"));

very_un = query(obj1,"WFMOUTPRE:YUNIT?");

form_wav = query(obj1,"WFMOutpre:ASC_Fmt?");

flushinput(obj1);

flushoutput(obj1);

%从示波器读取波形

R_mes=[];

    waveform = str2num(query(obj1,"CURVe?"));

fclose(obj1);

%计算示波器横坐标

fin = samp_int*numb;

tim = [samp_int:samp_int:fin];

%计算电压值

x = waveform*dig_lel+shift_y;

  • 0
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MendozaG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值