文件管理 · 2022年7月25日

labview处理m文件|如何将Matlab的程序嵌入到Labview中去也就是如何利用Matlab编程用Labview开发界面

A. 如何将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通信,且为附加软件需额外购买。

B. 怎样在labview中调用批处理文件

CMD—调用WINDOWS命令窗口,/C 表示执行命令后立即终止。每一个DOS命令都可以执行很多功能,通过 命令 /?可以查到它支持那些功能。显然只要修改 cmd /c 后面的部分,就可以执行不同的DOS命令。

C. labview中脚本节点调用matlab,m函数中还调用m函数怎么处理

可以啊,就跟在matlab里面编写程序一样的,自定义一个函数就可以了,但是自定义函数m文件必须保存在你matlab打开时的默认目录里面。下面是一个简单的例子:

一、先看LabVIEW程序:,图1

图5

D. labview可以处理mat文件吗怎么处理

LabVIEW里不是有MathScript节点么?这个节点就是用于LabVIEW与Matlab混合编程用的,也就是说LabVIEW可以调用Matlab的运行环境去执行相关的Matlab语句。mat格式文件应该是matlab生成的文件,你可以用MathScript节点中的Matla语句,相关的打开文件的语句就可以了。

E. LabVIEW的打开读取mat文件

做作业的时候顺手一答

用matlab的脚本节点,输出的时候选对数据类型就好了

F. labview调用matlab处理数据时数据格式不对等。

后面板–鼠标右键–编程-“-簇、类与变体”–按名称解除捆绑使用“按名称解除捆绑”查看下“波形数组”的数据组成,之后在进一步操作

G. Labview中的M文件脚本结构要怎么用

从官网下载一个mathscript工具包,安装上之后就可以直接调用.M文件了。

H. 通过labview将行向量数组传递给MATLAB,并存到workspace中

用文件操作。Labview中的数组存到example.mat文件中。MATLAB的Command Windows中将文件导入load example -ascii

I. 一个用matlab编写的系统,有多个m文件组成(可以相互调用),如何导入到labview中去。

这个问题我遇到过,建议如下:将每个m文件制作成一个子VI,然后将这些相互调用的m文件VI组成一个大的VI通过这个VI即可实现你需要的功能,而且实现的模块化。具体的也不好说清楚,毕竟不知道你的情况。一般情况下,MATLAB内的函数LabVIEW内面都有,只是基于图形化编程相对麻烦一点,要是不嫌麻烦,最好就是找到相应的VI,实现对应的功能,可解决兼容性问题。在LabVIEW内面插入MatLAB脚本语言,在生产可执行文件时,需要对方用户安装一个MATLAB兼容包,当然也有其他办法。从兼容性角度来说,建议尽量少用MatLAB脚本语言,而且尽量不要使用复杂的函数。

J. MATLAB和LABVIEW编程

先在matlab中编好.m文件,问候在labview中使用公式节点中的脚本公式