仪器使用 您所在的位置:网站首页 matlab说明文档链接 仪器使用

仪器使用

2024-03-28 05:34| 来源: 网络整理| 查看: 265

本文记录通过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;



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有