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