1、主要学习内容主要学习内容 n1学习学习CIN的概念和调用;的概念和调用;n2学习学习Matlab节点的使用;节点的使用;n3学习学习DLL的概念和调用。的概念和调用。7.1 CIN7.1 CIN CINCIN的概念的概念 CIN是是Code Interface Node的缩的缩写,是写,是LabVIEW开发平台的开发平台的G语言环境语言环境与与C语言的接口语言的接口 CIN与与LabVIEW中的其他节点类似,中的其他节点类似,是通过输入、输出端口来实现两种语言是通过输入、输出端口来实现两种语言之间的数据和参数的传递的之间的数据和参数的传递的。CINCIN的调用步骤的调用步骤在后面板框图程序设计
2、窗口中,选择在后面板框图程序设计窗口中,选择All Functions Advanced子模板下的子模板下的Code Interface Node 节点节点 ,放置在框图程序设计窗口中放置在框图程序设计窗口中。CIN图标中的一个小格表示一个参数端口,左侧为输图标中的一个小格表示一个参数端口,左侧为输入端口,右侧为输出端口,而且左右端口是一一对应入端口,右侧为输出端口,而且左右端口是一一对应的,代表一个参数的一对输入输出端口。的,代表一个参数的一对输入输出端口。CIN节点的节点的输入、输出端口的数据类型由连接在该端口上的控件输入、输出端口的数据类型由连接在该端口上的控件的数据类型来决定。的数据类
3、型来决定。2.2.在节点图标上单击右键弹出快捷在节点图标上单击右键弹出快捷菜单,选择菜单,选择Add parameter命令项命令项添加参数。添加参数。如果需要增加参数,可以通过两种方法如果需要增加参数,可以通过两种方法:1.用鼠标定位工具拖动节点一角改变节点图标的尺寸;用鼠标定位工具拖动节点一角改变节点图标的尺寸;设计设计CINCIN模块的步骤模块的步骤n利用利用LabVIEW提供的框架设计提供的框架设计CIN模块模块的步骤:的步骤:1生成生成C源代码框架源代码框架 2添加添加C源代码源代码3编译生成编译生成lsb文件文件 4加载编译成功的加载编译成功的lsb文件文件 7.2 Matlab7
4、.2 MatlabnLabVIEW中的公式节点可以实现一些基中的公式节点可以实现一些基本的数学运算,如果涉及到比较复杂的本的数学运算,如果涉及到比较复杂的数学运算,则可以调用数学运算,则可以调用Matlab的脚本文的脚本文件(件(m文件)来实现。文件)来实现。n注意:注意:要使用要使用MatlabMatlab节点,必须首先安节点,必须首先安装装MatlabMatlab ,因为,因为MatlabMatlab节点要调用节点要调用MatlabMatlab脚本服务器。脚本服务器。7.2.1 Matlab7.2.1 Matlab节点节点 nMatlab节点位于功能面板的节点位于功能面板的All Func
5、tionsAnalyze MathematicsFormula子模板内,添加子模板内,添加Matlab节节点的方式和前面章节中添加公式节点的方式类似。点的方式和前面章节中添加公式节点的方式类似。创建创建Matlab节点节点 在在Formula子模板选择子模板选择Matlab节点节点 n向向Matlab节点输入节点输入Matlab文件的方法文件的方法有两种:有两种:一种一种是直接在框内写入文件代码;是直接在框内写入文件代码;另一种另一种是在是在MatlabMatlab节点的边框上单击鼠节点的边框上单击鼠标右键,在弹出的快捷菜单中选择标右键,在弹出的快捷菜单中选择ImportImport命令选项,
6、在弹出的对话框中命令选项,在弹出的对话框中输入输入MatlabMatlab脚本文件即可。脚本文件即可。输入输入Matlab文件的菜单操作文件的菜单操作 n输入输入/输出变量的添加和公式节点类似,分别用输出变量的添加和公式节点类似,分别用Add Input和和Add Output来实现。来实现。n和公式节点一样,用户可以为和公式节点一样,用户可以为Matlab节点的每个输入节点的每个输入/输出变量添加指示器或者控制器。输出变量添加指示器或者控制器。为为Matlab节点的输入节点的输入/输出变量添加指示器或控制器输出变量添加指示器或控制器 7.2.2 7.2.2 LabVIEWLabVIEW和和M
7、atlabMatlab数据类型数据类型n在在Matlab中,用户一般不用指定数据类型,所中,用户一般不用指定数据类型,所有输入变量会有缺省的类型,而在有输入变量会有缺省的类型,而在LabVIEW里里面,面,Matlab节点并不能够判断数据类型,因此节点并不能够判断数据类型,因此用户必须要为每个数据变量指定一个类型。用户必须要为每个数据变量指定一个类型。n在脚本节点上,可以改变输入或输出端子的数在脚本节点上,可以改变输入或输出端子的数据类型,应该经常检查脚本节点的输入、输出据类型,应该经常检查脚本节点的输入、输出数据类型。数据类型。n在在Matlab中,对于任何新的输入或输出,其默中,对于任何新
8、的输入或输出,其默认类型为认类型为Real。改变脚本节点上输入输出端子的数据类型改变脚本节点上输入输出端子的数据类型n首先在变量上面单击鼠标右键,在弹出的快捷菜单中首先在变量上面单击鼠标右键,在弹出的快捷菜单中选择选择Choose Data Type命令选项,就会出现命令选项,就会出现Matlab中的各种数据类型名称,然后按照事先在中的各种数据类型名称,然后按照事先在Matlab中定中定义的类型给每个变量选择合适的数据类型,则系统就义的类型给每个变量选择合适的数据类型,则系统就会把变量变成相应的会把变量变成相应的LabVIEW内的类型。内的类型。定义数据类型的菜单操作定义数据类型的菜单操作 数
9、据类型图标数据类型图标LabVIEW数据类型数据类型Matlab数据类型数据类型带符号带符号32位整数位整数不适用不适用双精度浮点数双精度浮点数Real字符串字符串不适用不适用带符号带符号32位整数一维数组位整数一维数组不适用不适用带符号带符号32位整数多维数组位整数多维数组不适用不适用双精度浮点数一维数组双精度浮点数一维数组Real Vector双精度浮点数多维数组双精度浮点数多维数组Real Matrix多精度复数多精度复数Complex双精度复数一维数组双精度复数一维数组Complex Vector双精度复数多维数组双精度复数多维数组Complex Matrix表表7 7-1 LabVI
10、EW1 LabVIEW和和MatlabMatlab数据类型数据类型 7.2.3 Matlab7.2.3 Matlab节点应用节点应用n例例7.1 画一段正弦函数图像。画一段正弦函数图像。在在Matlab节点内写入如下代码:节点内写入如下代码:x=-5:1/10:5;y=sin(x);plot(x,y);框图程序框图程序-5-4-3-2-1012345-1-0.8-0.6-0.4-0.200.20.40.60.81 Matlab中画出的正弦函数图中画出的正弦函数图 LabVIEW中画出的正弦函数图中画出的正弦函数图 7.3 DLL7.3 DLLnLabVIEW提供了提供了C语言接口及直接调用动态
11、链语言接口及直接调用动态链接库(接库(DLL)函数的功能)函数的功能。nDLL是建立在客户端是建立在客户端/服务器通信的概念上,服务器通信的概念上,包含若干个函数、类或资源的库文件,函数和包含若干个函数、类或资源的库文件,函数和数据被存储在一个数据被存储在一个DLL服务器上,并由一个或服务器上,并由一个或多个客户导出使用,这些客户可以是应用程序,多个客户导出使用,这些客户可以是应用程序,或者是其他的或者是其他的DLL。n在动态链接的情况下,有两个文件,一个是引在动态链接的情况下,有两个文件,一个是引入库(入库(.Lib)文件,一个是)文件,一个是DLL文件。文件。n引入库文件包含从引入库文件包
12、含从DLL导出的函数的名称和位导出的函数的名称和位置,置,DLL包含实际的函数和数据。应用程序使包含实际的函数和数据。应用程序使用用Lib文件链接到所需要使用的文件链接到所需要使用的DLL文件,库中文件,库中的函数和数据并不复制到可执行文件中,因此,的函数和数据并不复制到可执行文件中,因此,在应用程序的可执行文件中,存放的不是被调在应用程序的可执行文件中,存放的不是被调用的函数代码,而是在用的函数代码,而是在DLL中所要调用的函数中所要调用的函数的内存地址,这样当一个或多个应用程序运行的内存地址,这样当一个或多个应用程序运行时,再把程序代码和被调用的函数代码链接起时,再把程序代码和被调用的函数
13、代码链接起来,从而节省了内存资源。来,从而节省了内存资源。7.3.2 7.3.2 调用调用DLLDLLn在在LabVIEW中,可通过中,可通过 Call Library Function函数函数模块调用动态链接库。模块调用动态链接库。n在框图程序设计窗口,选择功能模板中的在框图程序设计窗口,选择功能模板中的 Advanced Call Library Function Node,放置在框图程序设放置在框图程序设计窗口中。计窗口中。图图7-11 Call Library Function Node的图标的图标 n双击此函数模块,将弹出双击此函数模块,将弹出Call Library Functio
14、n Node对话框对话框,可以对要调用的动态链接库及其函数进可以对要调用的动态链接库及其函数进行设定。行设定。Call Library Function Node对话框对话框 nLibrary Name Or PathLibrary Name Or Path为要调用的动态链接库为要调用的动态链接库文件名和路径,用户也可以通过文件名和路径,用户也可以通过Browse按按钮查找该动态链接库文件钮查找该动态链接库文件;nFunction NameFunction Name为即将调用的函数名,它必须为即将调用的函数名,它必须与动态链接库中函数创建时的函数名相同,并与动态链接库中函数创建时的函数名相同,
15、并且注意大小写且注意大小写;nAdd a Parameter BeforeAdd a Parameter Before或或Add a Parameter Add a Parameter AfterAfter可以添加函数的参数,也可用可以添加函数的参数,也可用Delete this Parameter删除当前参数删除当前参数;nParameterParameter选项用于指定任一参数的类型,也选项用于指定任一参数的类型,也可指定该函数返回值的类型。可指定该函数返回值的类型。n函数的参数名任意函数的参数名任意,但其顺序和类型必须与动但其顺序和类型必须与动态链接库中函数创建时的顺序和类型一致。态链接
16、库中函数创建时的顺序和类型一致。n需要注意的需要注意的是,上图所示对话框中是,上图所示对话框中Calling Conventions项的设置应与创建动态链接库时的项的设置应与创建动态链接库时的编译模式相一致,否则会发生不可预见的错误而编译模式相一致,否则会发生不可预见的错误而退出程序。退出程序。n单击单击OK按钮后,就可以将该按钮后,就可以将该Call Library Function节点当作一个具有该动态链接库中被节点当作一个具有该动态链接库中被调函数功能的节点来使用。调函数功能的节点来使用。nLabVIEW还提供了编写动态链接库的还提供了编写动态链接库的C源代码源代码框架,利用此框架编写动
17、态链接库的步骤如下:框架,利用此框架编写动态链接库的步骤如下:n1 1生成生成C C源代码框架源代码框架n 在后面板框图程序设计窗口创建在后面板框图程序设计窗口创建Call Library Function Node,在其图标上单击右键,在其图标上单击右键弹出快捷菜单,选择弹出快捷菜单,选择Create.c File命令选项,命令选项,这时弹出一个文件对话框,在其中键入文件名这时弹出一个文件对话框,在其中键入文件名(例如:(例如:labview_DLL.c),然后用文本编辑),然后用文本编辑器打开保存的文件,器打开保存的文件,LabVIEW在文件中已经在文件中已经生成了如下的框架生成了如下的框架:n/*Call Library source file*/n#include extcode.hnvoid funcName(void);nvoid funcName(void)nn/*Insert code here*/n
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。