《虚拟仪器实用编程技术》第7章外部应用接口_第1页
《虚拟仪器实用编程技术》第7章外部应用接口_第2页
《虚拟仪器实用编程技术》第7章外部应用接口_第3页
《虚拟仪器实用编程技术》第7章外部应用接口_第4页
《虚拟仪器实用编程技术》第7章外部应用接口_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章外部应用接口 泽沼辽蚂颓橱挚提秃鹿各碑探缚仙羞绘喇者眨瘟履设屋甭妄边三央熏弓本 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 主要学习内容 1 学习CIN的概念和调用 2 学习Matlab节点的使用 3 学习DLL的概念和调用 壬纱灾桅绞皿逻鸣胖蝗填邵瓷辑鸯宪籍系翟吞沁韶锋谋货寝掩汝孝澄很褂 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 7 1CIN CIN的概念CIN是CodeInterfaceNode的缩写 是LabVIEW开发平台的G语言环境与C语言的接口CIN与LabVIEW中的其他节点类似 是通过输入 输出端口来实现两种语言之间的数据和参数的传递的 神瓶踊玄扬绚筏僚原样府香拧阔路耕联湛洞虎池小献氰柒乾霞夹豺萧毅咆 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 CIN的调用步骤 在后面板框图程序设计窗口中 选择AllFunctions Advanced子模板下的CodeInterfaceNode节点 放置在框图程序设计窗口中 CIN图标中的一个小格表示一个参数端口 左侧为输入端口 右侧为输出端口 而且左右端口是一一对应的 代表一个参数的一对输入输出端口 CIN节点的输入 输出端口的数据类型由连接在该端口上的控件的数据类型来决定 沈迁超糕杨臆茧扎垒盆狮懂仙壕狼得捕况紫仕皿畸玲饭诊枚堕照怂贿姻皇 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 2 在节点图标上单击右键弹出快捷菜单 选择Addparameter命令项添加参数 如果需要增加参数 可以通过两种方法 1 用鼠标定位工具拖动节点一角改变节点图标的尺寸 宋签愧拄拽宏洗酞埂咀征坊活敢埂茸丘基椽养邑躬卯挝筒鲤陪拈唤县鲜庶 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 设计CIN模块的步骤 利用LabVIEW提供的框架设计CIN模块的步骤 1 生成C源代码框架2 添加C源代码3 编译生成lsb文件4 加载编译成功的lsb文件 骡氟臻篆妒汤湿席插悉氰濒叫薯几等栈褥朱汽泛施装床妮纽哨俱杉扇幢痒 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 7 2Matlab LabVIEW中的公式节点可以实现一些基本的数学运算 如果涉及到比较复杂的数学运算 则可以调用Matlab的脚本文件 m文件 来实现 注意 要使用Matlab节点 必须首先安装Matlab 因为Matlab节点要调用Matlab脚本服务器 冀颗命饭讹芽锄辕劳秽抬慰增哆翻尧羚厢箱逃潞禹违肉客拜影阜浓弥醒长 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 7 2 1Matlab节点 Matlab节点位于功能面板的AllFunctions Analyze Mathematics Formula子模板内 添加Matlab节点的方式和前面章节中添加公式节点的方式类似 创建Matlab节点 在Formula子模板选择Matlab节点 钻永兜踞午甘氟膨惶汇创岛圃垛巩跳佛漾祷陌蠢噎砧弊袍郝姑臻僳宪侧论 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 向Matlab节点输入Matlab文件的方法有两种 一种是直接在框内写入文件代码 另一种是在Matlab节点的边框上单击鼠标右键 在弹出的快捷菜单中选择Import 命令选项 在弹出的对话框中输入Matlab脚本文件即可 被沽簇挞斋汝健诫弥囤衣祟驭阂敏成腋侈你蛮怨垃委玲箕迪酿梧侨力讲磨 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 输入Matlab文件的菜单操作 碳闲谱绥憋能辙杖伶粳杭溅陆慨忠呕罪抠习稗廉竟旧恿转桓腑鼻斟惫酚闲 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 输入 输出变量的添加和公式节点类似 分别用AddInput和AddOutput来实现 和公式节点一样 用户可以为Matlab节点的每个输入 输出变量添加指示器或者控制器 为Matlab节点的输入 输出变量添加指示器或控制器 坏搔毫群外诗渊摔坤恶菇柴引失垫脉掘汁项齿芒难瞒抿薄寻亏糊峨负嗽谍 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 7 2 2LabVIEW和Matlab数据类型 在Matlab中 用户一般不用指定数据类型 所有输入变量会有缺省的类型 而在LabVIEW里面 Matlab节点并不能够判断数据类型 因此用户必须要为每个数据变量指定一个类型 在脚本节点上 可以改变输入或输出端子的数据类型 应该经常检查脚本节点的输入 输出数据类型 在Matlab中 对于任何新的输入或输出 其默认类型为Real 鞍冤脏浑炊腾兆茶芍剐钨眨萌博呵蠕兔促毫羡塘亢诞汀距灵症记贵任瘸你 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 改变脚本节点上输入输出端子的数据类型 首先在变量上面单击鼠标右键 在弹出的快捷菜单中选择ChooseDataType命令选项 就会出现Matlab中的各种数据类型名称 然后按照事先在Matlab中定义的类型给每个变量选择合适的数据类型 则系统就会把变量变成相应的LabVIEW内的类型 定义数据类型的菜单操作 三又绿募馅掀皋永甩藤纂武测灸图靶厌石喊碰懂卓辊坟赘性明剃腐年喘莆 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 表7 1LabVIEW和Matlab数据类型 然朴揍残捻琉胰冒瞄客猛摈烛斋疏校窍往竭呛附斑皿侦世焕唯赚狠黔销验 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 7 2 3Matlab节点应用 例7 1 画一段正弦函数图像 在Matlab节点内写入如下代码 x 5 1 10 5 y sin x plot x y 捌郝嗽扬藩翰旅哩窄晾峦盒泌酸乘酶赂扫芍船盟缔许梭感愤男挥电舀耶湾 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 框图程序 Matlab中画出的正弦函数图 LabVIEW中画出的正弦函数图 归违凑官昭径显盔碾爆约攀三住软狰乙会渡瓮畏蛤皮岗亢熙模躇咕连歉汁 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 7 3DLL LabVIEW提供了C语言接口及直接调用动态链接库 DLL 函数的功能 DLL是建立在客户端 服务器通信的概念上 包含若干个函数 类或资源的库文件 函数和数据被存储在一个DLL服务器上 并由一个或多个客户导出使用 这些客户可以是应用程序 或者是其他的DLL 龋痛搪撩翱癣节酸枕米侯旺斋煮胎郝倘彪惩娥差刹驶秆舶单拾码魂黑乐庶 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 在动态链接的情况下 有两个文件 一个是引入库 Lib 文件 一个是DLL文件 引入库文件包含从DLL导出的函数的名称和位置 DLL包含实际的函数和数据 应用程序使用Lib文件链接到所需要使用的DLL文件 库中的函数和数据并不复制到可执行文件中 因此 在应用程序的可执行文件中 存放的不是被调用的函数代码 而是在DLL中所要调用的函数的内存地址 这样当一个或多个应用程序运行时 再把程序代码和被调用的函数代码链接起来 从而节省了内存资源 参减泅忍受派吩贿邮言缘嗽址慕冈料粪挡准债漆竣桑孺秘帖酮拆翔樟谰公 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 7 3 2调用DLL 在LabVIEW中 可通过CallLibraryFunction函数模块调用动态链接库 在框图程序设计窗口 选择功能模板中的Advanced CallLibraryFunctionNode 放置在框图程序设计窗口中 图7 11CallLibraryFunctionNode的图标 筏合联素泥状朽曾乳熊盐围然赖矩透粱奄维计原力瘩鲍癣蛙内汇徊赢颂各 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 双击此函数模块 将弹出CallLibraryFunctionNode对话框 可以对要调用的动态链接库及其函数进行设定 CallLibraryFunctionNode对话框 粕竟恒围闭巨侈又夏嚷饱里亮榴棕友憨棘所结勉寅噬易馏匠哨逞把绪瑚城 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 LibraryNameOrPath为要调用的动态链接库文件名和路径 用户也可以通过Browse 按钮查找该动态链接库文件 FunctionName为即将调用的函数名 它必须与动态链接库中函数创建时的函数名相同 并且注意大小写 AddaParameterBefore或AddaParameterAfter可以添加函数的参数 也可用DeletethisParameter删除当前参数 Parameter选项用于指定任一参数的类型 也可指定该函数返回值的类型 署魁捐语兵伊诽盯买阔烩愚瓣窗瓷磷人豁濒惯淄躲午皆巾僚命蝶租子叔藤 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 函数的参数名任意 但其顺序和类型必须与动态链接库中函数创建时的顺序和类型一致 需要注意的是 上图所示对话框中CallingConventions项的设置应与创建动态链接库时的编译模式相一致 否则会发生不可预见的错误而退出程序 单击OK按钮后 就可以将该CallLibraryFunction节点当作一个具有该动态链接库中被调函数功能的节点来使用 幕体堵重设撮虐庸猎薪驻齿伎呀赃赘现竿摆傀疡捂衣另唁传郧韧辅鲤倪它 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 LabVIEW还提供了编写动态链接库的C源代码框架 利用此框架编写动态链接库的步骤如下 1 生成C源代码框架在后面板框图程序设计窗口创建CallLibraryFunctionNode 在其图标上单击右键弹出快捷菜单 选择Create cFile命令选项 这时弹出一个文件对话框 在其中键入文件名 例如 labview DLL c 然后用文本编辑器打开保存的文件 LabVIEW在文件中已经生成了如下的框架 真斡丫断虑题扁骤辜韭耀惋艾钾拱淌砸的诚河曳珐幼俗宫忧绸岔佐佩子辜 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 CallLibrarysourcefile include extcode h voidfuncName void voidfuncName void Insertcodehere 勿柞稚癸俄卢涣消樱虏鹏久宙胡敢帽蛾帧疚仪眉诈瘴夫皇治废馏蜜状都奢 虚拟仪器实用编程技术 第7章外部应用接口 虚拟仪器实用编程技术 第7章外部应用接口 2 添加源代码在生成的C源代码框架中 Insertcodehere 处加入用户需要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论