版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院第第7章章 与其他应用软件的接口与其他应用软件的接口本章内容本章内容 7.1 LabVIEW的的ActiveX编程编程 7.2 与与MATLAB语言接口技术语言接口技术 7.3 LabVIEW对对Windows库函数的调用库函数的调用 7.4 LabVIEW对可执行系统文件的调用对可执行系统文件的调用 7.5 LabVIEW对对DDE函数的调用函数的调用周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院7.1 LabVIEW的的ActiveX编程编程 LabVIEW支持对支持对ActiveX的调用。的调用。ActiveX采用客户
2、端采用客户端/服服务器模式进行不同应用程序的链接,调用其他应用程序时,务器模式进行不同应用程序的链接,调用其他应用程序时,这个应用程序被作为客户端。自己创建的对象被其他应用程这个应用程序被作为客户端。自己创建的对象被其他应用程序调用时,这个应用程序被作为服务器。如序调用时,这个应用程序被作为服务器。如LabVIEW可作为可作为ActiveX客户端,来访问其他客户端,来访问其他ActiveX应用程序,获取其相关应用程序,获取其相关的对象、属性、方法和事件,来增强的对象、属性、方法和事件,来增强LabVIEW程序的功能;程序的功能;LabVIEW也可以作为也可以作为ActiveX服务器,因此其他程
3、序也可以服务器,因此其他程序也可以访问访问LabVIEW对象、属性和方法,如调用对象、属性和方法,如调用VI、启动或退出、启动或退出LabVIEW软件等,即在其他应用程序开发平台下调用软件等,即在其他应用程序开发平台下调用LabVIEW的服务特性,这大大增加了程序代码的可重复利用的服务特性,这大大增加了程序代码的可重复利用性,同时也缩短程序开发的时间。性,同时也缩短程序开发的时间。 周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院7.1.1 ActiveX概述概述 ActiveX 是是“网络化多媒体对象技术网络化多媒体对象技术”,是一整套跨越,是一整套跨越编程语言的软件开发手段与规范
4、,是由编程语言的软件开发手段与规范,是由Microsoft公司定义的公司定义的用于用于Internet的一种对象链接与嵌入技术,它满足了网络上不的一种对象链接与嵌入技术,它满足了网络上不同应用程序间交换信息的需求,它与具体的编程语言无关。同应用程序间交换信息的需求,它与具体的编程语言无关。 ActiveX自动化是基于组件对象模型自动化是基于组件对象模型COM(Component Object Model)的技术,是用来描述建立在)的技术,是用来描述建立在COM基础之上的基础之上的非非COM技术,允许应用程序或组件控制另一个应用程序或组技术,允许应用程序或组件控制另一个应用程序或组件的运行,它包
5、括自动化服务器和自动化控制器。件的运行,它包括自动化服务器和自动化控制器。LabVIEW 2011可以作为一个客户端支持可以作为一个客户端支持ActiveX自动化。自动化。周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院(1)ActiveX的属性和方法的属性和方法(2)变体)变体(3)ActiveX事件事件 周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院7.1.2 ActiveX控件容器控件容器 ActiveX控件最早是针对于控件最早是针对于Microsoft公司的公司的Internet Explorer设计的,通过定义容器(调用设计的,通过定义容器(调用ActiveX控
6、件的程序)控件的程序)和组件(和组件(ActiveX控件)之间的接口规范,用户可以很方便地控件)之间的接口规范,用户可以很方便地在多种容器中使用在多种容器中使用ActiveX控件,而不必修改控件的代码。如控件,而不必修改控件的代码。如在在Word中可以嵌入中可以嵌入Excel表格,此时表格,此时Word就是一个就是一个ActiveX容容器。器。周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院7.1.3 ActiveX函数函数 打开打开ActiveX对象,访问对象,访问ActiveX对象的属性、方法或事对象的属性、方法或事件等都需要利用件等都需要利用LabVIEW提供的提供的Activ
7、eX操作函数。操作函数。 周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院7.1.4 LabVIEW作为作为ActiveX客户端客户端 LabVIEW可作为可作为ActiveX客户端,来访问其他客户端,来访问其他ActiveX应应用程序,获取其相关的对象、属性、方法和事件,即可以在用程序,获取其相关的对象、属性、方法和事件,即可以在LabVIEW中打开不同的应用程序。中打开不同的应用程序。 周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院7.1.5 LabVIEW作为作为ActiveX服务器服务器 从其它应用程序通过从其它应用程序通过ActiveX调用可以访问调用可以访问L
8、abVIEW应应用程序、用程序、VI和控件属性及其方法。其它支持和控件属性及其方法。其它支持ActiveX的应用程的应用程序如序如Microsoft Excel,可以通过,可以通过LabVIEW申请属性、方法和申请属性、方法和单独的单独的VI,此时,此时LabVIEW是作为一个是作为一个ActiveX服务器。服务器。 周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院7.1.6 ActiveX事件事件 要在应用程序中使用要在应用程序中使用ActiveX事件,必须先注册该事件并事件,必须先注册该事件并在事件发生时处理事件。在事件发生时处理事件。ActiveX事件注册与动态事件注册类事件注
9、册与动态事件注册类似。但似。但ActiveX事件事件VI与事件处理与事件处理VI的架构不同。以下是典型的架构不同。以下是典型的的ActiveX事件事件VI的组件。的组件。(1)需要产生事件的)需要产生事件的ActiveX对象。对象。 (2)事件回调注册函数用于指定和注册需生成事件的类型。)事件回调注册函数用于指定和注册需生成事件的类型。 (3)回调)回调VI包含用户自己编写的处理指定事件的代码。包含用户自己编写的处理指定事件的代码。 周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院7.2 与与MATLAB语言接口技术语言接口技术7.2.1 MATLAB概述概述 MATLAB(MATr
10、ix LABoratory,矩阵实验室)是由美,矩阵实验室)是由美国国Math Works公司于公司于1984年开发的一种功能强、效率高、可年开发的一种功能强、效率高、可视化、简单易学的数学科学计算软件,它是基于矩阵运算的视化、简单易学的数学科学计算软件,它是基于矩阵运算的语言,其函数库包含了比较齐全的矩阵生成与运算的函数,语言,其函数库包含了比较齐全的矩阵生成与运算的函数,因此编程简单。因此编程简单。周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院7.2.2 MATLAB脚本节点在脚本节点在LabVIEW中的调用中的调用 脚本节点用于执行脚本节点用于执行LabVIEW中基于文本的数
11、学脚本。中基于文本的数学脚本。LabVIEW支持调用第三方脚本服务器处理脚本的脚本节点,支持调用第三方脚本服务器处理脚本的脚本节点,类似于公式节点。例如,类似于公式节点。例如,MATLAB脚本服务器。脚本服务器。周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院7.2.3 使用使用ActiveX函数与函数与MATLAB接口接口 LabVIEW使用使用ActiveX 技术来实现技术来实现MATLAB 脚本节点。脚本节点。MATLAB支持支持ActiveX自动化技术。通过使用自动化技术。通过使用MATLAB自动自动化服务器功能,可以在其它应用程序中执行化服务器功能,可以在其它应用程序中执行
12、MATLAB命令,命令,并与并与MATLAB的工作空间进行数据交换。因此可以借助于的工作空间进行数据交换。因此可以借助于LabVIEW中的中的ActiveX函数这一特性,把函数这一特性,把LabVIEW与与MATLAB结合,充分利用结合,充分利用MATLAB提供的大量高效可靠的算提供的大量高效可靠的算法和法和LabVIEW的图形化编程能力,混合开发出功能更加强大的图形化编程能力,混合开发出功能更加强大的应用软件。的应用软件。 周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院7.2.4 两种调用两种调用MATLAB方法的比较方法的比较1MATLAB脚本节点方法脚本节点方法2Active
13、X函数方法函数方法周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院7.3 LabVIEW对对Windows库函数的调用库函数的调用7.3.1 动态链接库(动态链接库(DLL)与)与API概述概述动态链接库(动态链接库(DLL) 动态链接库(动态链接库(Dynamic Linkable Library,简称,简称DLL),从字面上看,它是一种),从字面上看,它是一种“程序库程序库”,是一个可执,是一个可执行、可以多方共享的程序模块,库内存放的是可供应用程序行、可以多方共享的程序模块,库内存放的是可供应用程序使用的函数、变量等。动态连接是一种应用程序在运行时与使用的函数、变量等。动态连接
14、是一种应用程序在运行时与库文件连接起来的技术。库文件连接起来的技术。周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院2. API 系统除了协调应用程序的执行、内存的分配、系统资源系统除了协调应用程序的执行、内存的分配、系统资源的管理外,同时它也是一个很大的服务中心。调用这个服务的管理外,同时它也是一个很大的服务中心。调用这个服务中心的各种服务(每一种服务就是一个函数)可以帮助应用中心的各种服务(每一种服务就是一个函数)可以帮助应用程序达到开启视窗、描绘图形和使用周边设备等目的,由于程序达到开启视窗、描绘图形和使用周边设备等目的,由于这些函数服务的对象是应用程序,所以称之为应用程序接口
15、这些函数服务的对象是应用程序,所以称之为应用程序接口(Application Programming Interface,简称,简称API),又称为),又称为应用编程接口。它其实是一些预先定义的函数,目的是提供应用编程接口。它其实是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。能力,而又无需访问源码,或理解内部工作机制的细节。周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院7.3.2 CIN节点与节点与CLF节点节点CIN节点节点 LabVIEW
16、2011之前的版本中,提供了一种在之前的版本中,提供了一种在LabVIEW中用来调用中用来调用C/C+语言代码的功能节点,称为代语言代码的功能节点,称为代码接口节点(码接口节点(Code Interface Node),简称),简称CIN节点,是它节点,是它与动态链接库的不同之处在于,它能够将代码集成在与动态链接库的不同之处在于,它能够将代码集成在VI中中作为单独的一个作为单独的一个VI发布,而不需要多余的文件。发布,而不需要多余的文件。 2. CLF节点节点1. 调用库函数节点(调用库函数节点(Call Library Function Node),),简称简称CLF节点,用于调用外部动态链
17、接库节点,用于调用外部动态链接库DLL文件中的函数,文件中的函数,一个配置好的一个配置好的CLF节点可以当作一个函数来使用,同样具有节点可以当作一个函数来使用,同样具有函数参数和返回值。函数参数和返回值。 周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院7.3.3 调用调用Windows API函数函数 Windows API函数是一套用来控制函数是一套用来控制Windows的各个部件的各个部件的外观和行为的预先定义的的外观和行为的预先定义的Windows函数。用户的每个动作函数。用户的每个动作都会引发一个或几个函数的运行以告诉都会引发一个或几个函数的运行以告诉Windows发生了什
18、么。发生了什么。而其他的语言只是提供一种能自动而且更容易的访问而其他的语言只是提供一种能自动而且更容易的访问API的的方法。当用户点击窗体上的一个按钮时,方法。当用户点击窗体上的一个按钮时,Windows会发送一会发送一个消息给窗体,获取这个调用并经过分析后生成一个特定事个消息给窗体,获取这个调用并经过分析后生成一个特定事件。件。周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院7.4 LabVIEW对可执行系统文件的调用对可执行系统文件的调用 使用使用LabVIEW提供的提供的“执行系统命令执行系统命令”函数节点。用户函数节点。用户可以调用其他的可执行系统文件。可以调用其他的可执行系
19、统文件。“执行系统命令执行系统命令”函数节函数节点的功能是:执行系统命令。执行系统命令点的功能是:执行系统命令。执行系统命令VI可从可从VI内部执内部执行或启动其它基于行或启动其它基于Windows的应用程序或的应用程序或Linux命令行应用程命令行应用程序。通过该序。通过该VI执行的系统级命令行可包含需要启动的应用程执行的系统级命令行可包含需要启动的应用程序支持的任何参数。序支持的任何参数。 周鹏周鹏 安徽工程大学电气工程学院安徽工程大学电气工程学院7.5 LabVIEW对对DDE函数的调用函数的调用 动态数据交换(动态数据交换(Dynamic Data Exchange),简称),简称DDE。它是它是Window操作系统下的应用程序之间的一种通讯协议。使操作系统下的应用程序之间的一种通讯协议。使用用DDE通讯需要两个通讯需要两个Windows应用程序,其中一个作为服务应用程序,其中一个作为服务器程序处理信息,另外一个作为客户机程序从服务器获得信器程序处理信息,另外一个作为客户机程序从服务器获得信息。客户机应用程序向当前所激活的服务器应用程序发送一息。客户机应用程序向当前所激活的服务器应用程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年光伏发电项目EPC工程合同
- 2024年定制型企业加工服务协议模板版B版
- 15个月宝宝课程设计
- 2024年储藏室装潢施工合同版B版
- 促销产品课程设计
- oracle课程设计宿舍管理系统
- 住宅设计平面图课程设计
- 主变电所课程设计
- ftp协议的实现课程设计源码
- 2024年度生鲜产品供应商管理与质量保证协议3篇
- 工业设备安装交工资料各表格全
- 聚乳酸(PLA)项目投资计划书(范文)
- 保洁检查巡查记录表模板参考
- 山西汾酒股份财务报表分析报告
- 钻井故障及复杂
- 2014浙美版三年级上册美术试卷(共2页)
- 冶金工业建设工程预算定额及冶金工业建设工程工
- 第三章 单元系的相变
- 石化压力管道材料等级
- 国际快递常用形式发票(DHL UPS FedEx)
- 钻机组合式沙漠野营房
评论
0/150
提交评论