ImageVerifierCode 换一换
格式:PDF , 页数:13 ,大小:442KB ,
资源ID:4594038      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4594038.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(Matlab环境下实时数据采集.pdf)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Matlab环境下实时数据采集.pdf

1、Matlab 编程说明2009-9-2 VER1.0 Matlab 是美国 MathWorks 公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。它在数学类科技应用软件中在数值计算方面首屈一指。Matlab 可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。北京瑞博华公司的板卡全面支持Matlab 的编程,而且编程方法非常简洁、为您快速开发应用系统创造条件。本公司提供完整的编程实例和详尽的说明,以及全汉字的软件注解,还

2、有本公司提供全面的编程技术与硬件技术服务,这些都为您的开发铺平了道路。由于采用了相同的接口方式,本例程对北京瑞博华公司的全部产品都适用。为了便于您理解和应用,本说明主要以实例为基础来说明在Matlab 下的编程方法,本实例的开发环境是Matlab 2007b。一、编程实例的主要文件图 1 编程实例文件目录如图 1 所示,目录中包含5 个文件,这 9个文件分为三类,分别介绍如下:第一类:北京瑞博华公司提供的接口程序:ADCARD.H:这是瑞博华公司专为Matlab 提供的头文件,通过该文件,就可以实现对瑞博华公司提供的函数库进行操作,该文件应该包含在用户的应用程序中。第二类:设计文件:r8271

3、fig:用户界面文件,实现主要功能r8271.m:应用软件源程序,实现主要功能r8271.asv:程序运行时的文件第三类:说明文件:说明.txt:该文件记录软件的基本情况二、编程实例的开发过程开发本软件的关键是在程序中调用瑞博华公司提供的DLL 文件,然后就可以如同正常的 Matlab 软件的开发。在 matlab中利用动态链接库接口技术通常需要完成以下 4 个步骤:1打开动态链接库文件。2为调用函数准备数据。3调用动态链接库文件中导出的函数。4关闭动态链接库文件。打开动态链接库函数:Loadlibrary(mydll,hfile);其中 mydll 是字符串变量,代表所要使用的DLL 文件

4、的名称。hfile 也是字符串变量,代表包含该DLL 文件中所导出的函数定义的头文件名。hfile 包含以C 语言定义的函数特征,对于本来就是以C/C+开发的 DLL 文件,可以直接使用原来的头文件。对于其他语言开发的DLL 文件,需要手工编写相应的C 语言头文件。调用动态链接库文件中导出的函数:Calllib(libname,funcname,arg1,arg2,.argN)其中 libname 是字符串变量,表示载入的DLL 文件,它通常是载入的DLL文件名;funcname也是字符串变量,代表需要调用的函数名;arg1,arg2.argN则是调用函数 funcname所需要的所有参数。动

5、态链接库文件的卸载:Unloadlibrary(libname);其中 libname为字符串变量,表示要卸载的DLL 文件。图 2 Adcard 动态链接库中所包含的函数名称、返回值类型以及参数类型如图 2 所示,在初始化动态链接库后,可以通过libfunctionsview adcard 命令来查看当前动态链接库中所包含的函数名称、返回值类型以及函数的参数类型,为下一步函数的调用提供方便。三、实例程序的功能图 3 实例程序的功能图 4 实例程序的功能图 3、图 4 所示为本程序运行的界面,可以看出,例程实现了波形曲线显示与 AD 结果显示。针对图 3,各个部分的功能的如下:红色区域同时显示

6、各个通道的电压值,本例程以4 个通道为例。绿色区域显示当前采集的数据块数。该数据不应该达到用户软件设定的内存缓冲区数,如果达到了用户设定的缓冲区数,表明可能产生数据丢失,解决的方法是增加内存缓冲区块数NumBuf 这个变量的值,或增大NumSamp这个参数。黄色区域表示保存数据功能,在用户采集过程中,当选中这个选项时,可以自动将采集到的数据保存在文件当中,文件名以日期时间默认命名,用户可以在保存后自行修改。四个按钮分别代表开始采集、停止采集、关闭程序以及读取保存的数据。该例程的一个功能就是可以保存、读取数据,方便用户记录。图 4 波形的曲线显示,将采集到的 AD 值以波形的方式表现出来,直观而

7、且容易理解。四、实例程序说明实例代码总体结构非常简单,明了,并且有详细的注解。1.数组与变量的定义global NumBuf global NumSamp global begchn global NumChn global FrqSamp global FrqFilter global AmpGain 其中,NumBuf 为缓冲区个数,NumSamp为每个缓冲区采样点数,一个采样点是指所有的通道采样一次,begchn为起始通道,NumChn 为通道数,FrqSamp为采样频率,FrqFilter 为滤波器频率,AmpGain 为放大器增益,本程序借用这个产生控制采集模式,当该参数=0 时,表

8、示 AD 结果为未校准结果,否则为校准结果.正常使用时应该为1。handles.ADBuf=1:6000;shortdata=uint16(handles.ADBuf);handles.lp=libpointer(uint16Ptr,shortdata);定义数据缓冲区,handles.lp为指向缓冲区数组的指针。global RecordPtr%数据指针global TotalBuf%数据块数2.初始化采集参数NumBuf=10;NumSamp=1000;begchn=0;NumChn=5;FrqSamp=20000;FrqFilter=0;AmpGain=1;3.调用 adcard.dll

9、 h=F:Program FilesMATLABR2007bworkadcard.h;%头文件所在的地址loadlibrary(adcard,h);%调用adcard.dll,将dll文件包含到程序中。4.定义定时器由于Matlab的gui编程组件中没有现成的定时器空间,所以在使用定时器之前要先定义定时器。handles.timer=timer(Period,0.2,ExecutionMode,FixedRate,TimerFcn,Msgupdate,handles);handles.timer1=timer(Period,0.2,ExecutionMode,FixedRate,TimerFc

10、n,Draw,handles);这两个定时器一个负责采集数据的读取,第二个负责读取已存数据时的画图。5.定时器程序定时器程序是高速连续采集的关键程序。ChnNum=2;%要画在面板上的通道号 shortdata=1:6000;%定义临时缓冲区 shortdata(1:6000)=0;NumFill=calllib(adcard,QueryBuf);%填充满的缓冲区数if NumFill=0 return;endfor i=1:NumFill j=calllib(adcard,ADResult,handles.lp);%获得采集数据 shortdata=get(handles.lp,value)

11、将采集数据放入临时数组中if j=1 RecordBuf(1:NumSamp*NumChn)=shortdata(1:NumSamp*NumChn);%将采集数据放入大缓冲区数组RecordPtr=RecordPtr+NumSamp*NumChn;%数据指针if RecordPtr=RecordBlock*NumSamp*NumChn RecordPtr=0;end%画图for i=1:NumSamp DrawBuf(i)=RecordBuf(1+NumChn*(i-1)+ChnNum);%ChnNum是要画的通道号DrawBuf(i)=(DrawBuf(i)-VZero)/VMax*Sp

12、ainV;if fFlag=1 count=fwrite(fid,DrawBuf(i),double);endend%将数据画在面板上 plot(DrawBuf(901:1000);axis(0 100-5 5);grid onendend TotalBuf=TotalBuf+NumFill;%显示采集的数据块数以及当前数据指针 set(handles.lblBlock,string,num2str(TotalBuf);set(handles.lblptr,string,num2str(RecordPtr);%显示4个通道的电压值for i=2:NumChn ad_chn(i)=shortda

13、ta(1+(NumSamp-1)*NumChn+i);if ad_chn(i)0 ad_chn(i)=ad_chn(i)+65536;end v_chn(i)=(ad_chn(i)-VZero)/VMax*SpainV;end set(handles.text9,string,num2str(v_chn(2);set(handles.text10,string,num2str(v_chn(3);set(handles.text11,string,num2str(v_chn(4);set(handles.text12,string,num2str(v_chn(5);定时器程序完成对已存数据的画图

14、NumSamp=1000;if Rflag=0 DrawBuf count=fread(fid1,NumSamp,double);%从文件中读取数据 elsereturnendif countNumSamp fclose(fid1);Rflag=Rflag+1;returnend DrawBuf=DrawBuf;%获得的数据进行转置%画图plot(DrawBuf(901:1000);axis(0 100-5 5);grid on;6.开始采集的命令calllib(adcard,StopIntr);%先停止采集卡 i=calllib(adcard,Initial,0,0,0,0);%初始化采集卡

15、if i=1 return;end%开始采集i=calllib(adcard,StartIntr,NumBuf,NumSamp,begchn,NumChn,FrqSamp,FrqFilter,AmpGain);%重新定义缓冲区的大小 handles.ADBuf=1:(NumSamp*NumChn+1);RecordBuf=1:(RecordBlock*NumSamp*NumChn);shortdata=uint16(handles.ADBuf);handles.lp=libpointer(uint16Ptr,shortdata);%开启定时器start(handles.timer);%完成按钮

16、的隐藏与显示功能 set(handles.StartButton,enable,off);set(handles.StopButton,enable,on);7.停止采集的命令set(handles.StopButton,enable,off);i=calllib(adcard,StopIntr);%停止采集卡if i=1 return;end stop(handles.timer);%关闭定时器 set(handles.StartButton,enable,on);set(handles.checkbox1,value,0);%如果保存功能开启,将通知用户文件保存的位置if fFlag=1

17、fclose(fid);msgbox(The data has been saved as Fname)end 8.关闭程序的命令global Flag;stop(handles.timer);%关闭定时器 stop(handles.timer1);i=calllib(adcard,StopIntr);%停止采集卡if i=1 end unloadlibrary adcard;%卸载dll 文件if Flag=1 close Figure 1;%关闭画图面板end%将程序中的全局变量清除 clear NumBuf;clear NumSamp;clear NumChn;clear TotalBu

18、f;clear RecordBlock;clear RecordPtr;clear RecordBuf;clear ad_chn;clear v_chn;clear VZero;clear VMax;clear SpainV;clear DrawBuf;clear fid;clear Flag;clear fFlag;clear Fname;clear fid1;clear Rflag;9.保存数据的功能%获取当前的日期时间,并以此打开一个二进制文件,准备写入数据Fname=datestr(now);Fname=strrep(Fname,-);Fname=strrep(Fname,:,-);f

19、id=fopen(d:Fname.dat,a+);Fname=d:Fname.dat;fFlag=1;10.读取数据的命令stop(handles.timer1);Rflag=0;NumSamp=1000;filename dirname=uigetfile(.dat,Select the dat-file);%打开一个对话框,获取文件的目录和名称if isequal(filename,0)returnendfid1=fopen(dirname filename,r);%打开文件Flag=1;start(handles.timer1);%开启定时器,将数据画到面板上五、进行 Matlab编程时

20、应该注意的问题通过实验证明,采用北京瑞博华公司的硬件和软件,可以很好地实现与Matlab 无缝连接,实现高速、连续的采集。在编程时,有以下几点需要注意:1.采用 Matlab 编程时,一定要先调用adcard.dll 文件,结束程序时,要卸载adcard.dll文件。2.配置参数 NumBuf,NumSamp时,要考虑采样频率FrqSamp,当 FrqSamp很大时,NumSamp就应该增大,当FrqSamp很小时,NumSamp就应该变小。NumBuf 的要求是每次定时器读取得到的缓冲区数要小于NumBuf,并且还有一定的余量。六、技术支持与服务尽管我们努力使编程例程和文档尽可能地详尽,但还是有可能不能满足您的需要,请您及时与我们联系,并请经常光顾我们的网站,在该网站上会经常有新的产品或新的文档发布,这些也许对您的开发有帮助。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服