收藏 分享(赏)

《虚拟仪器实用编程技术》第7章外部应用接口.ppt

上传人:fmgc7290 文档编号:7355461 上传时间:2019-05-15 格式:PPT 页数:25 大小:263KB
下载 相关 举报
《虚拟仪器实用编程技术》第7章外部应用接口.ppt_第1页
第1页 / 共25页
《虚拟仪器实用编程技术》第7章外部应用接口.ppt_第2页
第2页 / 共25页
《虚拟仪器实用编程技术》第7章外部应用接口.ppt_第3页
第3页 / 共25页
《虚拟仪器实用编程技术》第7章外部应用接口.ppt_第4页
第4页 / 共25页
《虚拟仪器实用编程技术》第7章外部应用接口.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、第7章 外部应用接口,泽沼辽蚂颓橱挚提秃鹿各碑探缚仙羞绘喇者眨瘟履设屋甭妄边三央熏弓本虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,主要学习内容,1学习CIN的概念和调用; 2学习Matlab节点的使用; 3学习DLL的概念和调用。,壬纱灾桅绞皿逻鸣胖蝗填邵瓷辑鸯宪籍系翟吞沁韶锋谋货寝掩汝孝澄很褂虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,7.1 CIN,CIN的概念CIN是Code Interface Node的缩写,是LabVIEW开发平台的G语言环境与C语言的接口 CIN与LabVIEW中的其他节点类似,是通过输入、输出端

2、口来实现两种语言之间的数据和参数的传递的。,神瓶踊玄扬绚筏僚原样府香拧阔路耕联湛洞虎池小献氰柒乾霞夹豺萧毅咆虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,CIN的调用步骤,在后面板框图程序设计窗口中,选择All Functions Advanced子模板下的Code Interface Node 节点 ,放置在框图程序设计窗口中。,CIN图标中的一个小格表示一个参数端口,左侧为输入端口,右侧为输出端口,而且左右端口是一一对应的,代表一个参数的一对输入输出端口。 CIN节点的输入、输出端口的数据类型由连接在该端口上的控件的数据类型来决定。,沈迁超糕杨臆茧扎垒盆狮懂

3、仙壕狼得捕况紫仕皿畸玲饭诊枚堕照怂贿姻皇虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,2.在节点图标上单击右键弹出快捷菜单,选择Add parameter命令项添加参数。,如果需要增加参数,可以通过两种方法: 1. 用鼠标定位工具拖动节点一角改变节点图标的尺寸;,宋签愧拄拽宏洗酞埂咀征坊活敢埂茸丘基椽养邑躬卯挝筒鲤陪拈唤县鲜庶虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,设计CIN模块的步骤,利用LabVIEW提供的框架设计CIN模块的步骤: 1生成C源代码框架 2添加C源代码 3编译生成lsb文件 4加载编译成功的lsb文件,骡

4、氟臻篆妒汤湿席插悉氰濒叫薯几等栈褥朱汽泛施装床妮纽哨俱杉扇幢痒虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,7.2 Matlab,LabVIEW中的公式节点可以实现一些基本的数学运算,如果涉及到比较复杂的数学运算,则可以调用Matlab的脚本文件(m文件)来实现。 注意:要使用Matlab节点,必须首先安装Matlab ,因为Matlab节点要调用Matlab脚本服务器。,冀颗命饭讹芽锄辕劳秽抬慰增哆翻尧羚厢箱逃潞禹违肉客拜影阜浓弥醒长虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,7.2.1 Matlab节点,Matlab节点位于

5、功能面板的All FunctionsAnalyze MathematicsFormula子模板内,添加Matlab节点的方式和前面章节中添加公式节点的方式类似。,创建Matlab节点,在Formula子模板选择Matlab节点,钻永兜踞午甘氟膨惶汇创岛圃垛巩跳佛漾祷陌蠢噎砧弊袍郝姑臻僳宪侧论虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,向Matlab节点输入Matlab文件的方法有两种:一种是直接在框内写入文件代码;另一种是在Matlab节点的边框上单击鼠标右键,在弹出的快捷菜单中选择Import命令选项,在弹出的对话框中输入Matlab脚本文件即可。,被沽簇挞

6、斋汝健诫弥囤衣祟驭阂敏成腋侈你蛮怨垃委玲箕迪酿梧侨力讲磨虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,输入Matlab文件的菜单操作,碳闲谱绥憋能辙杖伶粳杭溅陆慨忠呕罪抠习稗廉竟旧恿转桓腑鼻斟惫酚闲虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,输入/输出变量的添加和公式节点类似,分别用Add Input和Add Output来实现。 和公式节点一样,用户可以为Matlab节点的每个输入/输出变量添加指示器或者控制器。,为Matlab节点的输入/输出变量添加指示器或控制器,坏搔毫群外诗渊摔坤恶菇柴引失垫脉掘汁项齿芒难瞒抿薄寻亏糊峨负

7、嗽谍虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,7.2.2 LabVIEW和Matlab数据类型,在Matlab中,用户一般不用指定数据类型,所有输入变量会有缺省的类型,而在LabVIEW里面,Matlab节点并不能够判断数据类型,因此用户必须要为每个数据变量指定一个类型。 在脚本节点上,可以改变输入或输出端子的数据类型,应该经常检查脚本节点的输入、输出数据类型。 在Matlab中,对于任何新的输入或输出,其默认类型为Real。,鞍冤脏浑炊腾兆茶芍剐钨眨萌博呵蠕兔促毫羡塘亢诞汀距灵症记贵任瘸你虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部

8、应用接口,改变脚本节点上输入输出端子的数据类型,首先在变量上面单击鼠标右键,在弹出的快捷菜单中选择Choose Data Type命令选项,就会出现Matlab中的各种数据类型名称,然后按照事先在Matlab中定义的类型给每个变量选择合适的数据类型,则系统就会把变量变成相应的LabVIEW内的类型。,定义数据类型的菜单操作,三又绿募馅掀皋永甩藤纂武测灸图靶厌石喊碰懂卓辊坟赘性明剃腐年喘莆虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,表7-1 LabVIEW和Matlab数据类型,然朴揍残捻琉胰冒瞄客猛摈烛斋疏校窍往竭呛附斑皿侦世焕唯赚狠黔销验虚拟仪器实用编程技术

9、第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,7.2.3 Matlab节点应用,例7.1 画一段正弦函数图像。 在Matlab节点内写入如下代码: x=-5:1/10:5; y=sin(x); plot(x, y);,捌郝嗽扬藩翰旅哩窄晾峦盒泌酸乘酶赂扫芍船盟缔许梭感愤男挥电舀耶湾虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,框图程序,Matlab中画出的正弦函数图,LabVIEW中画出的正弦函数图,归违凑官昭径显盔碾爆约攀三住软狰乙会渡瓮畏蛤皮岗亢熙模躇咕连歉汁虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,7.3 D

10、LL,LabVIEW提供了C语言接口及直接调用动态链接库(DLL)函数的功能。 DLL是建立在客户端/服务器通信的概念上,包含若干个函数、类或资源的库文件,函数和数据被存储在一个DLL服务器上,并由一个或多个客户导出使用,这些客户可以是应用程序,或者是其他的DLL。,龋痛搪撩翱癣节酸枕米侯旺斋煮胎郝倘彪惩娥差刹驶秆舶单拾码魂黑乐庶虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,在动态链接的情况下,有两个文件,一个是引入库(.Lib)文件,一个是DLL文件。 引入库文件包含从DLL导出的函数的名称和位置,DLL包含实际的函数和数据。应用程序使用Lib文件链接到所需要

11、使用的DLL文件,库中的函数和数据并不复制到可执行文件中,因此,在应用程序的可执行文件中,存放的不是被调用的函数代码,而是在DLL中所要调用的函数的内存地址,这样当一个或多个应用程序运行时,再把程序代码和被调用的函数代码链接起来,从而节省了内存资源。,参减泅忍受派吩贿邮言缘嗽址慕冈料粪挡准债漆竣桑孺秘帖酮拆翔樟谰公虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,7.3.2 调用DLL,在LabVIEW中,可通过 Call Library Function函数模块调用动态链接库。 在框图程序设计窗口,选择功能模板中的 Advanced Call Library Fu

12、nction Node,放置在框图程序设计窗口中。,图7-11 Call Library Function Node的图标,筏合联素泥状朽曾乳熊盐围然赖矩透粱奄维计原力瘩鲍癣蛙内汇徊赢颂各虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,双击此函数模块,将弹出Call Library Function Node对话框,可以对要调用的动态链接库及其函数进行设定。,Call Library Function Node对话框,粕竟恒围闭巨侈又夏嚷饱里亮榴棕友憨棘所结勉寅噬易馏匠哨逞把绪瑚城虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,Lib

13、rary Name Or Path为要调用的动态链接库文件名和路径,用户也可以通过Browse按钮查找该动态链接库文件 ; Function Name为即将调用的函数名,它必须与动态链接库中函数创建时的函数名相同,并且注意大小写 ; Add a Parameter Before或Add a Parameter After可以添加函数的参数,也可用Delete this Parameter删除当前参数 ; Parameter选项用于指定任一参数的类型,也可指定该函数返回值的类型。,署魁捐语兵伊诽盯买阔烩愚瓣窗瓷磷人豁濒惯淄躲午皆巾僚命蝶租子叔藤虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编

14、程技术第7章外部应用接口,函数的参数名任意,但其顺序和类型必须与动态链接库中函数创建时的顺序和类型一致。 需要注意的是,上图所示对话框中Calling Conventions项的设置应与创建动态链接库时的编译模式相一致,否则会发生不可预见的错误而退出程序。 单击OK按钮后,就可以将该Call Library Function节点当作一个具有该动态链接库中被调函数功能的节点来使用。,幕体堵重设撮虐庸猎薪驻齿伎呀赃赘现竿摆傀疡捂衣另唁传郧韧辅鲤倪它虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,LabVIEW还提供了编写动态链接库的C源代码框架,利用此框架编写动态链接

15、库的步骤如下: 1生成C源代码框架在后面板框图程序设计窗口创建Call Library Function Node,在其图标上单击右键弹出快捷菜单,选择Create .c File命令选项,这时弹出一个文件对话框,在其中键入文件名(例如:labview_DLL.c),然后用文本编辑器打开保存的文件,LabVIEW在文件中已经生成了如下的框架 :,真斡丫断虑题扁骤辜韭耀惋艾钾拱淌砸的诚河曳珐幼俗宫忧绸岔佐佩子辜虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,/* Call Library source file */ #include “extcode.h“ voi

16、d funcName(void); void funcName(void)/* Insert code here */,勿柞稚癸俄卢涣消樱虏鹏久宙胡敢帽蛾帧疚仪眉诈瘴夫皇治废馏蜜状都奢虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,2添加源代码 在生成的C源代码框架中/* Insert code here */处加入用户需要的函数体,框架中的函数名和返回类型应与用户在图7-12所示的Call Library Function对话框中设置的一致。添加完源代码后保存文件即可。 3编译生成DLL 将保存的C源代码文件(LabVIEW_DLL.c)放到VC+集成环境下进行编译,将生成DLL文件,这样就可以在LabVIEW中直接调用LabVIEW_ DLL.DLL中的函数了。,郊中娟瞧阀谭展劳破疏掐总姜溺密钩始无裴醚颜棘铣辗芬疏沈陈技逗吼杂虚拟仪器实用编程技术第7章外部应用接口虚拟仪器实用编程技术第7章外部应用接口,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报