如何将Matlab的程序嵌入到Labview中去,也就是如何利用Matlab编程,用Labview开发界面?

如何将Matlab的程序嵌入到Labview中去,也就是如何利用Matlab编程,用Labview开发界面?
说具体点还可以再加分!

用LabVIEW和Matlab混合编程技术可以实现,具体有以下几种方法
一、基于动态数据交换(DDE)技术

动态数据交换是Windows操作系统中一种基于消息的协议,用于在Windows平台上的两个正在运行的应用程序之间动态交换数据,其中提供数据服务的程序称为服务器程序(DDE Server),请求数据和服务的程序称为客户程序(DDE Client).LabVIEW提供了DDE通信VI,利用这些VI可以创建DDE Server或DDE Client,完成接收/发送数据、请求/提供服务等功能。LabVIEW调用Matlab功能时,需将服务名(service name)指定为”Matlab”,主题名(Topic Name)指定为”Engine”,同时在运行VI之前先启动Matlab或者Matlab计算引擎(在内存中均为Matlab.exe),否则无法通信。DDE VIs可在<LabVIEW>\vi.lib\platform\dde.llb下找到。

二、基于动态链接库(DLL)技术

动态连接库是基于Windows程序设计的一个重要组成部分,它由一系列封装好的可执行代码组成,其内部函数能被其他程序所共享。LabVIEW通过CLF(Call Library Function Node)实现对DLL的调用。另一方面,Matlab编译器能将函数文件编译C/C++代码,这些代码又能被C/C++编译器(如Microsoft Visual C++ 6.0)编译成DLL文件,只要接口(输入输出参数)安排正确,就可以将Matlab编写的算法集成到LabVIEW应用程序中,且脱离了Matlab运行环境,执行效率高。另外,Math works公司为Microsoft Visual C++ 6.0提供了一个插件,可以轻松完成上述工作,当然接口还需开发人员自己安排。CLF在函数面板的“Advanced”子模板下。

三. 基于组件对象模型(COM)技术

组件对象模型的核心就是二进制接口规范,此规范独立于编程语言和操作系统。从6.5版本开始,Matlab提供了COM生成器。COM生成器提供了实现Matlab独立应用的一种新途径。它能把Matlab开发的算法做成组件,这些组件作为独立的COM对象,可直接被Visual Basic,Visual C++或其他支持COM的语言所引用[1]。LabVIEW5.0及以上版本支持COM。它通过自动化标识(automation refnum)获取一个已安装在系统中的COM组件的引用,然后借助ActiveX功能子模板中的VI完成对组件的控制和调用工作。利用COM技术的LabVIEW和Matlab无缝集成的应用程序运行效率高,占有系统资源少,而且非常利于用户应用软件的发布。[2]

四. 基于ActiveX自动化技术

ActiveX的自动化(automation)是ActiveX最重要的功能之一,是一个程序借助其方法和属性控制另一程序的能力,它包括自动化服务器和自动化控制器。Matlab支持ActiveX自动化技术。Matlab自动化服务器提供一系列方法和属性,借此可以实现在其他应用程序中执行Matlab命令和控制Matlab。LabVIEW5.0及以后的版本提供对ActiveX自动化的支持。在LabVIEW中基于ActiveX实现和Matlab混合编程的方法又有两种,第一种使用Matlab脚本节点,第二种使用ActiveX函数模板。两种方法的基本过程都相同――先打开Matlab自动化服务器,然后执行Matlab命令,最后关闭自动化服务器。LabVIEW中与ActiveX有关函数模板在函数面板中“communication”子面板下的”ActiveX”面板中。

五. 其他方法

还有一种将DLL和Matlab计算引擎(基于COM技术)结合起来的方法。这种方法把调用Matlab计算引擎的C代码编译成DLL供LabVIEW调用。Matlab计算引擎采用了客户机/服务器的模式,在windows上通过ActiveX通道与Matlab进行连接,因此这种方法与基于ActiveX自动化技术的方法有些类似。在进行混合编程时,先打开Matlab计算引擎,然后执行Matlab命令,最后关闭Matlab计算引擎。所不同的是使用ActiveX自动化技术传递数据均为变体,数据类型由应用程序和Matlab服务器自动匹配,而通过DLL调用Matlab计算引擎的方法即可传递变体类型数据也可传递标准C类型数据,数据类型之间的转换在DLL中完成,因此需开发人员额外编程。除了上述混合编程方法外,NI公司和Math works公司合作推出一个工具包――SIT(Simulation Interface Toolkit),用来实现LabVIEW和Simulink交互式编程。有了这一工具包,设计工程师们可以建立自定义的用户界面,以便交互式地验证Simulink模型,并轻松地将这些模型配置到实时硬件进行控制原型设计和硬件在环(hardware-in-the-loop)测试,最终节省产品上市时间。但如其名,它仅用于和Simulink通信,且为附加软件需额外购买。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-10
我认为labview更好,工作中用得很多,并且不是很难学,而matlab虽然数据处理能力强,但前者的前途更广,我是两门都学了后发现还是前者更好:)最好你是再学一门关于信号处理的课程哦!

"图形化编程语言简称G语言。它是继C语言之后的新一代高级语言。也许你已经有这样的经验:用C语言编程,编程者不仅要熟悉指令的用法,而且需用语句写成一段文档——告诉计算机怎么做。在这类编程环境中设计程序,让我们体验抽象美的同时,有些人会感到枯燥。G语言从根本上改变了传统的编程环境。用“图标”代替了“文本指令”。在可视化的程序设计中,编程者只需调用“图标(对象)”,随后通过“连线”规定数据的流向。编程工作仿佛在画程序框图,整个过程变得直观、简便而有趣。
LabVIEW是G语言的主流产品。它的译名为实验虚拟仪器工程平台。它不仅具备C语言的基本功能,而且还提供强大的函数、仪器驱动等高级软件库。因此特别适合于测控领域开发应用软件。
现在你可能已理解:图形化编程不是计算机图形学。它既不研究几何图形的编程算法,也不涉及照片图象的处理技术。
尽管DOS操作系统的命令也可实现文件的复制等操作,但是现在这样操作的人已经很少了。因为已习惯在Windows图形窗口环境中使用快捷命令。至于在Word中的文档复制那就更简便了,只需点击工具栏上相关图标。同样道理,今天欧美许多高校非计算机专业的学生选修G语言并用它开发应用软件的人数已经超过C等文本语言。据报道一般编程者用G语言开发软件的工作效率比C等文本语言提高4—10倍。
近年来我国高校G语言教学实践正在迅速展开,中文书籍不断出版。在学习编程开发工具方面有更多的选择。
第2个回答  2010-12-10
把matlab编译成动态链接库,用labview调用;
或者在labview界面里用matlab公式节点调用matlab编程;
第3个回答  2010-12-09
先在matlab中编好.m文件,问候在labview中使用公式节点中的脚本公式本回答被提问者和网友采纳

如何将Matlab的程序嵌入到Labview中去,也就是如何利用Matlab编程,用L...
在LabVIEW中基于ActiveX实现和Matlab混合编程的方法又有两种,第一种使用Matlab脚本节点,第二种使用ActiveX函数模板。两种方法的基本过程都相同――先打开Matlab自动化服务器,然后执行Matlab命令,最后关闭自动化服务器。LabVIEW中与ActiveX有关函数模板在函数面板中“communication”子面板下的”ActiveX”面板中。

labview和matlab是如何结合的?
(Training Data)训练过的网络,即可进行仿真测试了。MATLAB脚本程序可以在MATLAB环境下调试,再使用 MATLAB Script节点导入MATLAB脚本;也可以直接在MATLAB Script节点中编写。位于 Function>>Mathematics>>Formula模板中的MATLAB Script节点可以导入MATLAB脚本。图1中的脚本程序使用CASE 语句进行传递函数和训练算法...

用labview怎么调用matlab 脚本的具体方法是什么,怎么使用MATLAB脚本...
具体方法:一. (简单的仅仅语句的使用):函数面板——》数学——》脚本与公式——》脚本节点——》matlab脚本 右击边框即可添加输入,输出元素;框内即可写matlab脚本了。二.(高级调用,几乎和使用matlab一样,能画图,能调用600多个matlab中的函数)函数面板——》数学——》脚本与公式——》mathscrip...

...好的EMD程序,怎样与LABVIEW连接,可以在LABVIEW中直接用EMD分解信号...
Matlab节点位于:程序调用如下图所示:上面的input1,是在Maltab节点的左边框上右键—添加输入,并右键该输入接口,选择一维数组形式即可。把matlab代码放到其中就可以了,然后在右边框右键—添加输出,就可以获得信号处理后的结果了。

在LabVIEW中调用MATLAB来进行图像处理应该如何实现?
首先,LV调用MTLAB有两种方式,第一,直接调用MATLAB,在后台进行计算;第二,使用matlab script,按照帮助中的修改数据类型,这种方式实际并没有启动MATLAB,这样会快一些,也简单一些。两种方式各有利弊,如果你的工程很大,那么第二种方式显然不太合适,我当初用的也是第一种方式。你可以看看百度文库中的...

如何在LabVIEW中调用Matlab程序
你要只使用LabVIEW做这三个内容的话。。。还不如直接用matlab自带的工具做个界面。。。

labview环境下,与matlab进行数据通讯有几种方法?
1、通过Active X技术来实现与MATLAB的通讯;2、通过在LabVIEW中调用MATLAB script node(即MATLAB脚本节点)实现与MATLAB进行数据通讯;相比较第二种方法更为简单实用

labview调用不了matlab
解答:如果您已经安装好了MATLAB并至少运行过一次,那么所有的ActiveX组件都会在操作系统中进行注册。为了使用Script Server,请先关闭所有程序(MATLAB和LabVIEW),然后打开MATLAB,等MATLAB完全装载入内存之后,再启动LabVIEW。这时,Script Server应该有回应,错误也不会再出现了。为了重新注册ActiveX组件,请在...

在labview中使用matlab脚本节点 输入可以是数组吗
Matlab Script支持一维和二维数组输入的。例如右键Matlab Script选择添加输入并设置为X,然后右击输入X,选择 选择数据类型 然后就可以选择一维还是二维数组类型了。选完之后再把数组连接到X上就可以了。如果还有其他错误那就是脚本里面程序有语法等错误了,需要自行排查。脚本支持的数据类型参考链接如下:http...

LabVIEW 、MATLAB及其混合编程技术内容简介
进入第三部分,即第8至第11章,书籍深入探讨了LabVIEW与MATLAB的混合编程技术,包括LabVIEW与MATLAB\/Simulink的接口技术,利用ActiveX技术在LabVIEW中集成MATLAB,以及高级编程技术如调用DLL和API。这部分内容对于寻求在两种工具间无缝协作的专业人士来说,具有很高的实用价值。无论你是高等院校的相关专业学生,...

相似回答