基于数据库的LabVIEW与Matlab混合编程及其实现.pdf
《基于数据库的LabVIEW与Matlab混合编程及其实现.pdf》由会员分享,可在线阅读,更多相关《基于数据库的LabVIEW与Matlab混合编程及其实现.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、7 0 测控技术)2 0 0 7 年第2 6 卷第2 期基于数据库的L a b V I E W 与M a t l a b 混合编程及其实现徐峰,何黎明,田作华(上海交通大学自动化系,上海2 0 0 2 4 0)摘要:介绍了在L a b V I E W 中实现与数据库通信的几种方法,以及L a b V I E W 和M a t l a b 混合编程的几种实现途径。并以配方优化系统为背景,利用D L L 技术和A c t i v e X 技术在L a b V I E W+M y S Q L+M a t l a b 构架下实现线性规划算法,为在L a b V I E W 环境下解决基于数据库的复杂算
2、法提供了一种实现途径。关键词:L a b V I E W;M a t l a b;M y S Q L;线性规划中图分类号:T F 3 1 1文献标识码:A文章编号:1 0 0 0 8 8 2 9(2 0 0 7)0 2 0 0 7 0 0 3F o r m u l a t i o nO p t i m i z a t i o n 啊t hM a t l a ba n dL a b V I E WB a s e do nD a t a b a s ex uF e n g,H EL i m i n g,T I A NZ u o-h u a(D e p a r t m e n to fA u t o
3、 m a t i o n,S h a n g h a iJ i a o t o n gU n i v e r s i t y,S h a n g h a i2 0 0 2 4 0,C h i n a)A b s t r a c t:S o m em e t h o d so fd a t a b a s eo p e r a t i n gi nL a b V l E Wa r cd e s c r i b e d,a n dt h r e ek i n d so fs o l u t i o ni nc o n s t r u c t i n gv i r t u a li n s t r
4、u m e n tu s i n gM a t l a ba r ea l s op r o v i d e d H o wt or e a l i z el i n e a rp r o g r a m m i n gu n d e rt h et r u s so fL a b V I E W+M y S Q L+M a t l a bi si n t r o d u c e d,a n dt h i sr e a l i z a t i o nw i Hd e f i n i t e l yp m v i d eaw a yt os o l v e8 0 m ec o m p l e x
5、a l g o r i t h md e p e n d i n go nd a t a b a s ei nL a b V I E W K e yw o r d s:L a b V I E W;M a d a b;M y S Q L;l i n e a rp r o g r a m m i n gM a f l a b 是以矩阵运算为基础的一种数学软件。L a b V I E W是美国国家仪器公司推出的一种图形化虚拟仪器开发环境,将L a b V I E W 与M a t l a b 相结合,可以开发出功能大的工业监控软件H o。同时许多复杂的算法又牵涉到大量的数据,这要求在L a b V
6、I E W 中与数据库交互。本研究以配方优化系统为背景,在L a b V I E W 环境下解决了目标规划问题,并探讨了基于数据库的L a b V I E W 和M a d a b 混合编程的方法,为在L a b V I E W 下解决基于数据库的复杂算法提供了一条有效地实现途径。1L a b V I E W 中的数据库访问技术在监控系统开发中,一个重要的内容就是对实时采集数据进行存储和分析,这涉及到对数据库系统的操作。L a b V I E W 提供了多种方法可以实现系统与数据库的交互:利用M i c r o s o f tA D O 技术来访问数据库。该技术要求数据库能够作为O L ED
7、B 的数据提供者。M i c r o s o f tA c c e s s、M i-c m s o f tS Q LS e r v e 等都可以用这种方法来访问。但是使用这种方法有两个缺点,首先不是所有的数据库支持O L ED B,如M y S Q L 数据库。其次它要求服务器进程在前台运行,效率较低。利用L a b V I E W 的D a t a b a s eC o n n e c t i v i t y 工具包。该工具包提供M i c r o s o f t 的A D O 连接。这种方法的优点是简单,可靠,但缺乏灵活性,工具包要额外购买。利用中间文件存取数据。就是把数据写入一个文件中,
8、在需要时通过外部程序把数据导入到数据库中。这种方法简单收稿日期:2 0 0 6 0 4 0 4作者简介:徐峰,硕士,专业为控制理论、控制工程;田作华,教授,博士生导师。灵活,但是工作量较大。利用数据库提供的A P I 编写动态链接库。这种方法直接高效,是一种通用的方法。D L L 是一种可被应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源,它具有良好的移植性和兼容性。在L a b V l E W 种使用C L V(c a l ll i b r a r yf u n c t i o n)节点可以方便、快速地通过D L L 中的函数访问数据库。M y S Q L 是一个多用户、多线程的
9、S Q L 数据库服务器,主要特点就是快速、健壮和易用,而且它是完全免费的数据库。M y S Q L 的c 语言A P I 提供了5 0 个用来操作数据库的函数。由于这些函数使用了m y s q l h 中自定义的某些数据类型,而且完成一个实际的功能,往往要组合使用其中的好多函数,使得直接使用很不方便。所以要对这5 0 个函数进行封装旧j。对于M y S Q L 这样的数据库,动态链接库是一种合适的方法。因为M y S Q L 没有提供A D O 组件,但它却有很健全的A P I 接口来实现D L L。使用L a b V l E W 的C L F 可以方便地调用动态链接库。2实现L a b V
10、 I E W 与M a t l a b 的混合编程实现L a b V I E W 和M a d a b 的混合编程主要有以下几种方法:利用L a b V l E W 的M a d a b 脚本功能模块。在L a b V I E W 中使用F u n c t i o n 选项板的M a t h e m a t i c s F o r m u l a 子选项板上的M a t 1 a b 脚本节点就可以调用M a t l a b 中的命令,就好像是在l a b-V I E W 中编写M 文件,十分简单。它的缺点是必须保持M a d a b进程处于运行状态,所以运行效率低。利用M a d a b 提供
11、的C O M B U I L D E R 工具,通过M 文件制作与M a t l a b 环境无关的C O M 组件,在目标机上注册后,使用L a b V l E W 中的A c t i v e X 模块来操作该组件。它的优点是可以脱离M a d a b 环境,运行的效率比较高。缺点是对一些L a b V I E W 中的数据结构的支持不够完善。万方数据基于数据库的L a b V l E W 与M a d a b 混合编程及其实现7 l 利用L a b V I E W 的A c t i v e X 函数模板。在这种方法中,M 砒a b 作为A c t i v e X 自动化服务器,在L a b
12、 V I E W 中通过参考(r e f n u m)来调用M a d a bA c t i v e X 提供的接口函数与M a f l a b 进行交互。虽然这种方法也要启动M a d a b 进程来完成运算,但是它对M a t l a b 有更强的控制能力,如随时打开和关闭M a f l a b,隐藏任务栏中的M a t l a b 图标,与M a t l a b 进行字符数组传输,这些都是M a t l a bS c r i p t 节点所不具有的H J。而且它的设置简单清晰,配方优化系统使用的就是这种方法。3 配方优化系统的实现3 1 配方优化的概念及算法在饲料产品的生产过程中,有多种
13、备选的原料,在满足成品营养配比的前提下通过对原料的运筹使成本最低,这就是配方优化。各种原料的价格是随着市场变化而波动的,在选用原料的时候不仅要考虑价格的因素,同时原料的库存、品质、营养成分的比例等都是要考虑的因素。这类目标规划问题被称为配方优化问题。配方优化问题在企业的生产过程中是十分有意义的,它可以降低成本,控制库存。由上分析可知,配方优化算法的实质就是一个有约束的目标规划问题,数学建模如下:s tM i n=C l 茗l+C 2 x 2+C。髫。0 t L f|A=-雎:岭I n8 柚其中,托为各种原料(1 i n);厶为瓤的库存限制;C;为原料毪对应的价格;巩为在原料中R,营养成分的比例
14、(1 白);冠为配方对各种营养成分的要求。这是一个典型的目标规划问题,化为标准问题时由于要求A X。r e f n u m 一 A u t o m a t i o nR e f n u m,添加一个自动化控制器,右键在弹出的S e l e c tA c t i v e XC l a s s 中找到M a t l a bA p p l i c a t i o nT y p eL i b r a r y7 0,在其中选择M a f l a b A p-p l i c a t i o n 7。选择好M a t l a b 自动化控制器后就可以使用它提供的方法调用M a t l a b 自动化服务器,
15、此A c t i v e X 共提供了8 个函数,本研究用到以下3 个函数 J:s r r RE x e c u t e(i n B S T RC o m m a n d)。该方法调用M a f l a b执行一个合法的M a t l a 5 命令,其输入参数C o m m a n d 为字符串类型变量,表示一个合法的M 稚a b 命令。)V o i dP u t F u l l M a t r i(i n B S T RN a m e,i n B S T RW o r k s p a c e,i n S A F E A R R A Y(d o u b l e)+p r,i n S A F E
16、 A R R A Y(d o u b-l e)*p i)。此方法向指定的M a t l a b 工作空间中设置一维或二维数组。N a m e 输入矩阵的名字,如果传递的数据为实数型,p i 也必须传送,并且p i 的内容必须为零,而不能为空,否则将出现参数不匹配的错误。v o i dG e t F u l l M a t r i x(i n B S T RN a m e,i n B S T RW o r k s p a c e,i n,o u t S A F E A R R A Y(d o u b l e)8p r,i n,o u t S A F E A R-R A Y(d o u b l e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 数据库 LabVIEW Matlab 混合 编程 及其 实现
限制150内