欢迎来到天天文库
浏览记录
ID:59490565
大小:260.50 KB
页数:25页
时间:2020-09-13
《第7章外部应用接口ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章外部应用接口主要学习内容1.学习CIN的概念和调用;2.学习Matlab节点的使用;3.学习DLL的概念和调用。7.1CINCIN的概念CIN是CodeInterfaceNode的缩写,是LabVIEW开发平台的G语言环境与C语言的接口CIN与LabVIEW中的其他节点类似,是通过输入、输出端口来实现两种语言之间的数据和参数的传递的。CIN的调用步骤在后面板框图程序设计窗口中,选择AllFunctions→Advanced子模板下的CodeInterfaceNode节点,放置在框图程序设计窗口中。CIN图标中的一个小格表示一个参数端口,左侧为输入端口,右侧为输出端口,而且左右端口是
2、一一对应的,代表一个参数的一对输入输出端口。CIN节点的输入、输出端口的数据类型由连接在该端口上的控件的数据类型来决定。2.在节点图标上单击右键弹出快捷菜单,选择Addparameter命令项添加参数。如果需要增加参数,可以通过两种方法:1.用鼠标定位工具拖动节点一角改变节点图标的尺寸;设计CIN模块的步骤利用LabVIEW提供的框架设计CIN模块的步骤:1.生成C源代码框架2.添加C源代码3.编译生成lsb文件4.加载编译成功的lsb文件7.2MatlabLabVIEW中的公式节点可以实现一些基本的数学运算,如果涉及到比较复杂的数学运算,则可以调用Matlab的脚本文件(m文件)来实现
3、。注意:要使用Matlab节点,必须首先安装Matlab,因为Matlab节点要调用Matlab脚本服务器。7.2.1Matlab节点Matlab节点位于功能面板的AllFunctions→Analyze→Mathematics→Formula子模板内,添加Matlab节点的方式和前面章节中添加公式节点的方式类似。创建Matlab节点在Formula子模板选择Matlab节点向Matlab节点输入Matlab文件的方法有两种:一种是直接在框内写入文件代码;另一种是在Matlab节点的边框上单击鼠标右键,在弹出的快捷菜单中选择Import…命令选项,在弹出的对话框中输入Matlab脚本文件
4、即可。输入Matlab文件的菜单操作输入/输出变量的添加和公式节点类似,分别用AddInput和AddOutput来实现。和公式节点一样,用户可以为Matlab节点的每个输入/输出变量添加指示器或者控制器。为Matlab节点的输入/输出变量添加指示器或控制器7.2.2LabVIEW和Matlab数据类型在Matlab中,用户一般不用指定数据类型,所有输入变量会有缺省的类型,而在LabVIEW里面,Matlab节点并不能够判断数据类型,因此用户必须要为每个数据变量指定一个类型。在脚本节点上,可以改变输入或输出端子的数据类型,应该经常检查脚本节点的输入、输出数据类型。在Matlab中,对于任
5、何新的输入或输出,其默认类型为Real。改变脚本节点上输入输出端子的数据类型首先在变量上面单击鼠标右键,在弹出的快捷菜单中选择ChooseDataType命令选项,就会出现Matlab中的各种数据类型名称,然后按照事先在Matlab中定义的类型给每个变量选择合适的数据类型,则系统就会把变量变成相应的LabVIEW内的类型。定义数据类型的菜单操作数据类型图标LabVIEW数据类型Matlab数据类型带符号32位整数不适用双精度浮点数Real字符串不适用带符号32位整数一维数组不适用带符号32位整数多维数组不适用双精度浮点数一维数组RealVector双精度浮点数多维数组RealMatrix
6、多精度复数Complex双精度复数一维数组ComplexVector双精度复数多维数组ComplexMatrix表7-1LabVIEW和Matlab数据类型7.2.3Matlab节点应用[例7.1]画一段正弦函数图像。在Matlab节点内写入如下代码:x=-5:1/10:5;y=sin(x);plot(x,y);框图程序Matlab中画出的正弦函数图LabVIEW中画出的正弦函数图7.3DLLLabVIEW提供了C语言接口及直接调用动态链接库(DLL)函数的功能。DLL是建立在客户端/服务器通信的概念上,包含若干个函数、类或资源的库文件,函数和数据被存储在一个DLL服务器上,并由一个或多
7、个客户导出使用,这些客户可以是应用程序,或者是其他的DLL。在动态链接的情况下,有两个文件,一个是引入库(.Lib)文件,一个是DLL文件。引入库文件包含从DLL导出的函数的名称和位置,DLL包含实际的函数和数据。应用程序使用Lib文件链接到所需要使用的DLL文件,库中的函数和数据并不复制到可执行文件中,因此,在应用程序的可执行文件中,存放的不是被调用的函数代码,而是在DLL中所要调用的函数的内存地址,这样当一个或多个应用程序运行时
此文档下载收益归作者所有