仪器使用 | 您所在的位置:网站首页 › 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; |
CopyRight 2018-2019 实验室设备网 版权所有 |