第7章LabVIEW调用操作系统功能课件_第1页
第7章LabVIEW调用操作系统功能课件_第2页
第7章LabVIEW调用操作系统功能课件_第3页
第7章LabVIEW调用操作系统功能课件_第4页
第7章LabVIEW调用操作系统功能课件_第5页
已阅读5页,还剩133页未读 继续免费阅读

下载本文档

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

文档简介

第7章LabVIEW调用操作系统功能2022/11/5第7章LabVIEW调用操作系统功能第7章LabVIEW调用操作系统功能2022/11/2第7章1引言任何一个应用程序开发平台都有其自身的优势与不足,LabVIEW也不例外。作为一个高级编程人员,在开发一个大的复杂应用程序时必须能够综合应用不同软件开发平台的功能,才能使项目更加完善。一个好的软件开发环境,也必然具备与其他应用程序的交互功能及必要的开发工具。本章将要讲到的读/写电子表格文件、读/写XML文件、读/写配置文件、读/写系统注册表、调用ActiveX控件、调用系统链接库及调用命令行程序等都是LabVIEW与其他应用程序的交互方式。第7章LabVIEW调用操作系统功能引言任何一个应用程序开发平台都有其自身的优势与不足,LabV2本章内容7.1读/写电子表格文件7.2读/写XML文件7.3读/写配置文件7.4读/写系统注册表7.5输入设备控制7.6调用动态链接库(DLL)7.7ActiveX7.8执行系统命令第7章LabVIEW调用操作系统功能本章内容7.1读/写电子表格文件第7章LabVIEW调用操37.1读/写电子表格文件LabVIEW文件操作基本步骤打开读写、操作关闭第7章LabVIEW调用操作系统功能7.1读/写电子表格文件LabVIEW文件操作基本步骤打开47.1读/写电子表格文件电子表格写操作文件格式的要求保存电子表格格式文本文件第7章LabVIEW调用操作系统功能7.1读/写电子表格文件电子表格写操作第7章LabVIEW57.1读/写电子表格文件保存电子表格文件第7章LabVIEW调用操作系统功能7.1读/写电子表格文件保存电子表格文件第7章LabVIE67.1读/写电子表格文件电子表格文本文件和电子表格文件生产结果第7章LabVIEW调用操作系统功能7.1读/写电子表格文件电子表格文本文件和电子表格文件生产77.1读/写电子表格文件电子表格读操作数据读取类型和格式第7章LabVIEW调用操作系统功能7.1读/写电子表格文件电子表格读操作第7章LabVIEW87.2读/写XML文件可扩展置标语言(XML)可扩展置标语言(XML)是一种用标记描述数据的格式化标准。与HTML标记不同,XML标记不是告诉浏览器如何按格式处理数据,而是使浏览器能识别数据。例如为每本书创建一个XML文件<nonfiction><Title>TouringGermany'sGreatCathedrals</Title><Author>TonyWalters</Author><Publisher>DouglasDrivePublishing</Publisher><PriceUS>$29.99</PriceUS>……</nonfiction>第7章LabVIEW调用操作系统功能7.2读/写XML文件可扩展置标语言(XML)第7章Lab97.2读/写XML文件XML文件写操作“平化至XML”(FlattenToXML)函数XML模版第7章LabVIEW调用操作系统功能7.2读/写XML文件XML文件写操作第7章LabVIEW107.2读/写XML文件XML文件读操作“从XML还原”(UnflattenFromXML)函数XML格式转换成簇第7章LabVIEW调用操作系统功能7.2读/写XML文件XML文件读操作第7章LabVIEW117.2读/写XML文件从XML文件中读取数据第7章LabVIEW调用操作系统功能7.2读/写XML文件从XML文件中读取数据第7章LabV127.3读/写配置文件配置文件VI可读取和创建标准的Windows配置文件,其标准扩展名为.ini,但只要内容格式正确,配置文件VI也可操作以任何扩展名命名的文件。在.ini文件中,LabVIEW会将路径数据保存为独立于平台的格式。例如绝对路径/c/temp/data.dat解析为如下路径:Windowsc:\temp\data.dat;MacOSc:temp:data.dat;Linux/c/temp/data.dat。第7章LabVIEW调用操作系统功能7.3读/写配置文件配置文件VI可读取和创建标准的Wind137.3读/写配置文件配置文件写操作Windows配置文件标准格式生成名为“Configuration.ini”的配置文件第7章LabVIEW调用操作系统功能7.3读/写配置文件配置文件写操作第7章LabVIEW调用147.3读/写配置文件测试配置程序例程程序框图第7章LabVIEW调用操作系统功能7.3读/写配置文件测试配置程序例程第7章LabVIEW调157.3读/写配置文件测试配置程序例程程序界面和生成文件第7章LabVIEW调用操作系统功能7.3读/写配置文件测试配置程序例程第7章LabVIEW调167.3读/写配置文件配置文件读操作“读取键值”(ReadKey.vi)函数读取值数据类型设置第7章LabVIEW调用操作系统功能7.3读/写配置文件配置文件读操作第7章LabVIEW调用177.3读/写配置文件测试配置程序例程初始化测试配置程序第7章LabVIEW调用操作系统功能7.3读/写配置文件测试配置程序例程第7章LabVIEW调187.3读/写配置文件测试配置程序例程读取配置信息第7章LabVIEW调用操作系统功能7.3读/写配置文件测试配置程序例程第7章LabVIEW调197.4读/写系统注册表所谓“注册表”,实际上是一个庞大的数据库,它包含了应用程序和系统软硬件的全部配置信息,这里所指的注册表仅针对于Windows操作系统。注册表系统组成和注册表结构本节首先以LabVIEW自带的三个例子,说明在LabVIEW中读/写注册表的一般方法,然后讲解自动配置ODBC(OpenDatabaseConnectivity,开放数据互连)数据源的应用实例。第7章LabVIEW调用操作系统功能7.4读/写系统注册表所谓“注册表”,实际上是一个庞大的数207.4读/写系统注册表注册表写操作创建注册表项第7章LabVIEW调用操作系统功能7.4读/写系统注册表注册表写操作第7章LabVIEW调用217.4读/写系统注册表程序运行结果WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SOFTWARE\MyKey]"MyString"="LabVIEW""MyBinary"=hex:03,02,01,00"MyDWORD"=dword:00000100第7章LabVIEW调用操作系统功能7.4读/写系统注册表程序运行结果第7章LabVIEW调用227.4读/写系统注册表注册表读操作第7章LabVIEW调用操作系统功能7.4读/写系统注册表注册表读操作第7章LabVIEW调用237.4读/写系统注册表注册表删除操作第7章LabVIEW调用操作系统功能7.4读/写系统注册表注册表删除操作第7章LabVIEW调247.4读/写系统注册表自动配置ODBC数据源ODBC是微软开发的服务结构中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API。在应用程序开发中用到数据库时,需要手动配置ODBC数据源。一旦相关的文件路径发生改变,则需要再次手动配置,这给最终用户带来了极大的不便。将与手动配置相似的注册表信息写到注册表中,实现ODBC数据源的自动配置第7章LabVIEW调用操作系统功能7.4读/写系统注册表自动配置ODBC数据源第7章LabV257.4读/写系统注册表LabVIEW中实现为应用程序自动地配置ODBC数据源第7章LabVIEW调用操作系统功能7.4读/写系统注册表LabVIEW中实现为应用程序自动地267.5输入设备控制用来获取连接到计算机上的操纵杆、键盘和鼠标的信息输入设备控制VI位于“函数→互连接口→输入设备控制”子选板第7章LabVIEW调用操作系统功能7.5输入设备控制用来获取连接到计算机上的操纵杆、键盘和鼠277.5输入设备控制实时获取鼠标键盘信息例程首先通过“查询输入设备”(QueryInputDevices.vi)查询按键和鼠标的信息分别初始化键盘和鼠标在While循环中获取键盘按键信息和鼠标位置及点击信息关闭输入设备第7章LabVIEW调用操作系统功能7.5输入设备控制实时获取鼠标键盘信息例程第7章LabVI287.5输入设备控制程序框图第7章LabVIEW调用操作系统功能7.5输入设备控制程序框图第7章LabVIEW调用操作系统297.5输入设备控制程序界面第7章LabVIEW调用操作系统功能7.5输入设备控制程序界面第7章LabVIEW调用操作系统307.6调用动态链接库(DLL)动态链接库动态链接库(DynamicLinkLibrary,DLL)是一个可以多方共享的程序模块,内部对共享的例程和资源进行了封装。动态链接库文件的扩展名一般为*.dll,也可能是*.drv,*.sys或者*.fon第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)动态链接库第7章LabVIE317.6调用动态链接库(DLL)DLL和可执行文件DLL和可执行文件(EXE)很相似,最大的区别在于DLL虽然包含了可执行代码却不能单独执行,必须由Windows应用程序直接或间接调用第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)DLL和可执行文件第7章La327.6调用动态链接库(DLL)动态链接库特点通用性DLL的编写、生成与具体编译器无关。使用较少的资源当多个程序使用同一个函数库时,DLL可以减少在磁盘和物理内存中加载的代码的重复量。第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)动态链接库特点第7章LabV337.6调用动态链接库(DLL)共享代码、资源和数据DLL中封装了一些可以被共享的例程和资源,不仅包含可执行的代码,还有数据和各种资源。简化部署和安装当DLL中的函数需要更新或修复时,部署和安装DLL不要求重新建立程序与该DLL的链接。第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)共享代码、资源和数据第7章L347.6调用动态链接库(DLL)DLL使用注意为了使应用程序正常地使用动态链接库,DLL文件必须存放在下列任意一个子目录中:

Windows\system目录中;

应用程序所在的子目录;

配置文件中定义的自动搜索的子目录。第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)DLL使用注意第7章LabV357.6调用动态链接库(DLL)DLL与API应用程序编程接口(ApplicationProgrammingInterface,API)是能用来操作组件、应用程序或者操作系统的一组函数一般情况下,API指的是WindowsAPI,包括构成Windows操作系统的各种DLL。每个Windows应用程序都直接或间接地与WindowsAPI互动第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)DLL与API第7章LabV367.6调用动态链接库(DLL)Windows中的API函数Windows的API函数位于Windows系统目录下的多个DLL文件中,其中最基本的三个组成模块如下:

Kernel32.dll:Windows系统核心32位API基础库,如内存和文件管理;

Gdi32.dll:图形设备接口库,如显示和打印等;

User32.dll:用户接口库,如键盘、鼠标、声音、系统时间等第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)Windows中的API函数377.6调用动态链接库(DLL)调用DLLLabVIEW中动态链接库的调用是通过调用库函数(CallLibraryFunction,CLF)节点实现节点位置“函数→互连接口→库与可执行程序”选板第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)调用DLL第7章LabVIE387.6调用动态链接库(DLL)配置CLF节点右键单击节点并选择“配置…”选项,或者直接双击节点第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)配置CLF节点第7章LabV397.6调用动态链接库(DLL)配置DLL的“函数”、“参数”、“回调”和“错误检查”具体步骤DLL“函数”页数据类型配置注意第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)配置DLL的“函数”、“参数407.6调用动态链接库(DLL)调用WindowsAPIAPI函数位于DLL文件中,所以在LabVIEW中调用API函数和调用DLL的方法基本一样在函数配置时,需要把调用规范设置为stdcall(WINAPI)第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)调用WindowsAPI第417.6调用动态链接库(DLL)查询当前可用的物理内存和虚拟内存信息实例利用系统目录下的User32.DLL库中的API函数GlobalMemoryStatus()来获得,函数声明如下:VOIDGlobalMemoryStatus(LPMEMORYSTATUSlpBuffer);typedefstruct_MEMORYSTATUS{ //mstDWORDdwLength; //sizeof(MEMORYSTATUS)DWORDdwMemoryLoad; //percentofmemoryinuseDWORDdwTotalPhys; //bytesofphysicalmemoryDWORDdwAvailPhys; //freephysicalmemorybytesDWORDdwTotalPageFile; //bytesofpagingfileDWORDdwAvailPageFile; //freebytesofpagingfileDWORDdwTotalVirtual; //userbytesofaddressspaceDWORDdwAvailVirtual; //freeuserbytes}MEMORYSTATUS,*LPMEMORYSTATUS;第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)查询当前可用的物理内存和虚拟427.6调用动态链接库(DLL)程序框图和运行结果第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)程序框图和运行结果第7章La437.7ActiveXActiveX是Microsoft推出的基于组件对象模型(ComponentObjectModel,COM)的一个技术集的统称。它可实现代码重用,并且与具体的编程语言无关。ActiveX的主要组成部分包括ActiveX自动化(Automation)、ActiveX控件(ActiveXControl)、ActiveX文档(ActiveXDocuments)和ActiveX脚本(ActiveXScripting)第7章LabVIEW调用操作系统功能7.7ActiveXActiveX是Microsoft推出447.7ActiveXActiveX自动化(Automation)ActiveX自动化是ActiveX最重要的功能之一,它可以使一个应用程序通过ActiveX操纵另一个应用程序的对象;并可以使一个应用程序提供一些对象及对象的方法和属性来允许另外一个应用程序调用。LabVIEW既可以作ActiveX客户端,又可以作ActiveX服务器。作为客户端时,LabVIEW可以访问现有的ActiveX对象来增强LabVIEW的功能,如访问Excel、Web、Access等;作为服务器时,它允许其他程序访问它提供的ActiveX自动化服务,如调用VI、控制LabVIEW等第7章LabVIEW调用操作系统功能7.7ActiveXActiveX自动化(Automati457.7ActiveXActiveX相关函数位于“函数→互连接口→ActiveX”选板第7章LabVIEW调用操作系统功能7.7ActiveXActiveX相关函数位于“函数→互连467.7ActiveXActiveX主要函数功能

打开自动化:打开ActiveX对象,获得对象的Reference;

关闭引用:关闭Reference;

转换为变体:把LabVIEW数据转换成变体型;

变体至数据转换:把变体型数据转换成LabVIEW数据;

属性节点:属性节点,用于获取或设置ActiveX对象的属性;

调用节点:调用节点,用于调用ActiveX对象的方法;

事件回调注册:处理ActiveX对象提供的事件;

取消注册事件:关闭事件。

静态VI引用:保持一个VI的静态引用。第7章LabVIEW调用操作系统功能7.7ActiveXActiveX主要函数功能第7章Lab477.7ActiveXActiveX容器利用LabVIEW的ActiveX容器,可以调用第三方提供的ActiveX控件,并访问其属性和方法,从而使程序功能更加丰富,界面更加友好,节省开发时间LabVIEW的ActiveX容器位于“控件→新式→容器”选板第7章LabVIEW调用操作系统功能7.7ActiveXActiveX容器第7章LabVIEW487.7ActiveXActiveX容器配置第7章LabVIEW调用操作系统功能7.7ActiveXActiveX容器配置第7章LabV497.7ActiveXActiveX事件(Events)类似于LabVIEW中的事件结构,当ActiveX对象的事件发生时,就转去执行相应的程序。在LabVIEW中,将ActiveX对象或.NET对象的事件称为“回调事件”(Callback),事件发生时转去执行的VI称为“回调VI”(CallbackVI)ActiveX事件,主要会用到两个函数:“注册回调事件”(RegisterEventCallback)和“取消注册事件”(UnregisterForEvents)第7章LabVIEW调用操作系统功能7.7ActiveXActiveX事件(Events)第7507.7ActiveX应用实例向MicrosoftOfficeWord写数据第7章LabVIEW调用操作系统功能7.7ActiveX应用实例第7章LabVIEW调用操作系517.7ActiveX运行结果通过添加新的属性节点或方法节点,还可以实现更多的功能,如保存、插入图片、打印等操作第7章LabVIEW调用操作系统功能7.7ActiveX运行结果第7章LabVIEW调用操作系527.7ActiveX对Excel进行有效性操作第7章LabVIEW调用操作系统功能7.7ActiveX对Excel进行有效性操作第7章Lab537.7ActiveX运行结果通过MicrosoftExcel12.0ObjectLibrary提供的ExcelActiveX自动化对象,实现对Excel的操作,操作结果如下:第7章LabVIEW调用操作系统功能7.7ActiveX运行结果第7章LabVIEW调用操作系547.7ActiveXActiveX容器与ActiveX事件在前面板容器中插入MicrosoftOfficeSpreadsheet11.0控件第7章LabVIEW调用操作系统功能7.7ActiveXActiveX容器与ActiveX事件557.7ActiveX注册ActiveX事件创建回调VI第7章LabVIEW调用操作系统功能7.7ActiveX注册ActiveX事件第7章LabVI567.7ActiveX主程序框图和CallbackVI程序框图第7章LabVIEW调用操作系统功能7.7ActiveX主程序框图和CallbackVI程序577.7ActiveX程序运行结果第7章LabVIEW调用操作系统功能7.7ActiveX程序运行结果第7章LabVIEW调用操587.8执行系统命令在LabVIEW中还可以通过调用“执行系统命令”(SystemExec.vi)函数直接运行系统命令“执行系统命令”位于“函数→互连接口→库与可执行程序”选板第7章LabVIEW调用操作系统功能7.8执行系统命令在LabVIEW中还可以通过调用“执行系597.8执行系统命令执行Ping15操作实例程序框图第7章LabVIEW调用操作系统功能7.8执行系统命令执行Ping15607.8执行系统命令运行结果第7章LabVIEW调用操作系统功能7.8执行系统命令运行结果第7章LabVIEW调用操作系统617.8执行系统命令打开文件实例调用一个文件的一般方法,只需要在“filenameandpath”路径控件中设定文件的路径即可。此种方法能打开*.txt、*.exe文件等第7章LabVIEW调用操作系统功能7.8执行系统命令打开文件实例第7章LabVIEW调用操作627.8执行系统命令把后缀名为*.CCMS的文件以记事本的方式打开第7章LabVIEW调用操作系统功能7.8执行系统命令把后缀名为*.CCMS的文件以记事本的方637.8执行系统命令有趣的自杀式应用程序第7章LabVIEW调用操作系统功能7.8执行系统命令有趣的自杀式应用程序第7章LabVIEW647.8执行系统命令之所以称为“自杀”,是因为程序将会删除程序本身。程序首先在临时目录下生成一个批处理文件(*.bat),然后通过SystemExec.vi调用该批处理文件对自己进行自杀式删除。BAT文件的内容为::begindel"E:\610工程\610Program\Run_Suicide.vi"ifexist"E:\610工程\610Program\Run_Suicide.vi"gotobegindel%0第7章LabVIEW调用操作系统功能7.8执行系统命令之所以称为“自杀”,是因为程序将65本章总结本章介绍了一些LabVIEW与其他应用程序进行交互的基本方式。任何一个应用程序开发平台都有其自身的优势与不足,LabVIEW也不例外。作为一个高级编程人员,为使项目更加完善,应该熟练地综合运用其他软件的功能,以弥补LabVIEW开发平台的不足。第7章LabVIEW调用操作系统功能本章总结本章介绍了一些LabVIEW与其他66习题7-1简述一下电子表格文件、XML文件及配置文件的应用场合,以及各自的用法。7-2编写程序,记录最近一次运行的配置参数,并作为下次运行的初始默认值。尝试使用几种方法实现,如读/写配置文件。7-3试编写LabVIEW程序,查看操作系统安装了哪些字体。(提示:操作系统安装的字体可通过“控制面板→字体”或“系统根目录\WINDOWS\Fonts”查看。)尝试用几种方法实现,如读注册表信息。7-4调用WindowsAPI,获取系统信息,如CPU的ID和数量、硬盘的ID等信息。第7章LabVIEW调用操作系统功能习题7-1简述一下电子表格文件、XML文件及配置文件的应67习题7-5学习本章7.7.4节中用ActiveX操作Word和Excel的实例,并编写程序把新建的文档存盘。7-6试着通过Access提供的ActiveX自动化对象访问Access数据库。习题中Exercise\7\ActiveX_Access.vi是一个获得数据库中所有表名的例子。同时,在LabVIEW中访问数据库还有另外几种方法,如利用Microsoft的DAO(DataAccessObjects)、MicrosoftADO(ActiveXDataObjects),以及NI公司提供的免费的、多数据库、跨平台的数据库工具包LabSQL等。7-7通过ActiveX对象在LabVIEW中播放Flash、影音文件。第7章LabVIEW调用操作系统功能习题7-5学习本章7.7.4节中用ActiveX操作Wo68演讲完毕,谢谢听讲!再见,seeyouagain3rew2022/11/5第7章LabVIEW调用操作系统功能演讲完毕,谢谢听讲!再见,seeyouagain3rew69第7章LabVIEW调用操作系统功能2022/11/5第7章LabVIEW调用操作系统功能第7章LabVIEW调用操作系统功能2022/11/2第7章70引言任何一个应用程序开发平台都有其自身的优势与不足,LabVIEW也不例外。作为一个高级编程人员,在开发一个大的复杂应用程序时必须能够综合应用不同软件开发平台的功能,才能使项目更加完善。一个好的软件开发环境,也必然具备与其他应用程序的交互功能及必要的开发工具。本章将要讲到的读/写电子表格文件、读/写XML文件、读/写配置文件、读/写系统注册表、调用ActiveX控件、调用系统链接库及调用命令行程序等都是LabVIEW与其他应用程序的交互方式。第7章LabVIEW调用操作系统功能引言任何一个应用程序开发平台都有其自身的优势与不足,LabV71本章内容7.1读/写电子表格文件7.2读/写XML文件7.3读/写配置文件7.4读/写系统注册表7.5输入设备控制7.6调用动态链接库(DLL)7.7ActiveX7.8执行系统命令第7章LabVIEW调用操作系统功能本章内容7.1读/写电子表格文件第7章LabVIEW调用操727.1读/写电子表格文件LabVIEW文件操作基本步骤打开读写、操作关闭第7章LabVIEW调用操作系统功能7.1读/写电子表格文件LabVIEW文件操作基本步骤打开737.1读/写电子表格文件电子表格写操作文件格式的要求保存电子表格格式文本文件第7章LabVIEW调用操作系统功能7.1读/写电子表格文件电子表格写操作第7章LabVIEW747.1读/写电子表格文件保存电子表格文件第7章LabVIEW调用操作系统功能7.1读/写电子表格文件保存电子表格文件第7章LabVIE757.1读/写电子表格文件电子表格文本文件和电子表格文件生产结果第7章LabVIEW调用操作系统功能7.1读/写电子表格文件电子表格文本文件和电子表格文件生产767.1读/写电子表格文件电子表格读操作数据读取类型和格式第7章LabVIEW调用操作系统功能7.1读/写电子表格文件电子表格读操作第7章LabVIEW777.2读/写XML文件可扩展置标语言(XML)可扩展置标语言(XML)是一种用标记描述数据的格式化标准。与HTML标记不同,XML标记不是告诉浏览器如何按格式处理数据,而是使浏览器能识别数据。例如为每本书创建一个XML文件<nonfiction><Title>TouringGermany'sGreatCathedrals</Title><Author>TonyWalters</Author><Publisher>DouglasDrivePublishing</Publisher><PriceUS>$29.99</PriceUS>……</nonfiction>第7章LabVIEW调用操作系统功能7.2读/写XML文件可扩展置标语言(XML)第7章Lab787.2读/写XML文件XML文件写操作“平化至XML”(FlattenToXML)函数XML模版第7章LabVIEW调用操作系统功能7.2读/写XML文件XML文件写操作第7章LabVIEW797.2读/写XML文件XML文件读操作“从XML还原”(UnflattenFromXML)函数XML格式转换成簇第7章LabVIEW调用操作系统功能7.2读/写XML文件XML文件读操作第7章LabVIEW807.2读/写XML文件从XML文件中读取数据第7章LabVIEW调用操作系统功能7.2读/写XML文件从XML文件中读取数据第7章LabV817.3读/写配置文件配置文件VI可读取和创建标准的Windows配置文件,其标准扩展名为.ini,但只要内容格式正确,配置文件VI也可操作以任何扩展名命名的文件。在.ini文件中,LabVIEW会将路径数据保存为独立于平台的格式。例如绝对路径/c/temp/data.dat解析为如下路径:Windowsc:\temp\data.dat;MacOSc:temp:data.dat;Linux/c/temp/data.dat。第7章LabVIEW调用操作系统功能7.3读/写配置文件配置文件VI可读取和创建标准的Wind827.3读/写配置文件配置文件写操作Windows配置文件标准格式生成名为“Configuration.ini”的配置文件第7章LabVIEW调用操作系统功能7.3读/写配置文件配置文件写操作第7章LabVIEW调用837.3读/写配置文件测试配置程序例程程序框图第7章LabVIEW调用操作系统功能7.3读/写配置文件测试配置程序例程第7章LabVIEW调847.3读/写配置文件测试配置程序例程程序界面和生成文件第7章LabVIEW调用操作系统功能7.3读/写配置文件测试配置程序例程第7章LabVIEW调857.3读/写配置文件配置文件读操作“读取键值”(ReadKey.vi)函数读取值数据类型设置第7章LabVIEW调用操作系统功能7.3读/写配置文件配置文件读操作第7章LabVIEW调用867.3读/写配置文件测试配置程序例程初始化测试配置程序第7章LabVIEW调用操作系统功能7.3读/写配置文件测试配置程序例程第7章LabVIEW调877.3读/写配置文件测试配置程序例程读取配置信息第7章LabVIEW调用操作系统功能7.3读/写配置文件测试配置程序例程第7章LabVIEW调887.4读/写系统注册表所谓“注册表”,实际上是一个庞大的数据库,它包含了应用程序和系统软硬件的全部配置信息,这里所指的注册表仅针对于Windows操作系统。注册表系统组成和注册表结构本节首先以LabVIEW自带的三个例子,说明在LabVIEW中读/写注册表的一般方法,然后讲解自动配置ODBC(OpenDatabaseConnectivity,开放数据互连)数据源的应用实例。第7章LabVIEW调用操作系统功能7.4读/写系统注册表所谓“注册表”,实际上是一个庞大的数897.4读/写系统注册表注册表写操作创建注册表项第7章LabVIEW调用操作系统功能7.4读/写系统注册表注册表写操作第7章LabVIEW调用907.4读/写系统注册表程序运行结果WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SOFTWARE\MyKey]"MyString"="LabVIEW""MyBinary"=hex:03,02,01,00"MyDWORD"=dword:00000100第7章LabVIEW调用操作系统功能7.4读/写系统注册表程序运行结果第7章LabVIEW调用917.4读/写系统注册表注册表读操作第7章LabVIEW调用操作系统功能7.4读/写系统注册表注册表读操作第7章LabVIEW调用927.4读/写系统注册表注册表删除操作第7章LabVIEW调用操作系统功能7.4读/写系统注册表注册表删除操作第7章LabVIEW调937.4读/写系统注册表自动配置ODBC数据源ODBC是微软开发的服务结构中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API。在应用程序开发中用到数据库时,需要手动配置ODBC数据源。一旦相关的文件路径发生改变,则需要再次手动配置,这给最终用户带来了极大的不便。将与手动配置相似的注册表信息写到注册表中,实现ODBC数据源的自动配置第7章LabVIEW调用操作系统功能7.4读/写系统注册表自动配置ODBC数据源第7章LabV947.4读/写系统注册表LabVIEW中实现为应用程序自动地配置ODBC数据源第7章LabVIEW调用操作系统功能7.4读/写系统注册表LabVIEW中实现为应用程序自动地957.5输入设备控制用来获取连接到计算机上的操纵杆、键盘和鼠标的信息输入设备控制VI位于“函数→互连接口→输入设备控制”子选板第7章LabVIEW调用操作系统功能7.5输入设备控制用来获取连接到计算机上的操纵杆、键盘和鼠967.5输入设备控制实时获取鼠标键盘信息例程首先通过“查询输入设备”(QueryInputDevices.vi)查询按键和鼠标的信息分别初始化键盘和鼠标在While循环中获取键盘按键信息和鼠标位置及点击信息关闭输入设备第7章LabVIEW调用操作系统功能7.5输入设备控制实时获取鼠标键盘信息例程第7章LabVI977.5输入设备控制程序框图第7章LabVIEW调用操作系统功能7.5输入设备控制程序框图第7章LabVIEW调用操作系统987.5输入设备控制程序界面第7章LabVIEW调用操作系统功能7.5输入设备控制程序界面第7章LabVIEW调用操作系统997.6调用动态链接库(DLL)动态链接库动态链接库(DynamicLinkLibrary,DLL)是一个可以多方共享的程序模块,内部对共享的例程和资源进行了封装。动态链接库文件的扩展名一般为*.dll,也可能是*.drv,*.sys或者*.fon第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)动态链接库第7章LabVIE1007.6调用动态链接库(DLL)DLL和可执行文件DLL和可执行文件(EXE)很相似,最大的区别在于DLL虽然包含了可执行代码却不能单独执行,必须由Windows应用程序直接或间接调用第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)DLL和可执行文件第7章La1017.6调用动态链接库(DLL)动态链接库特点通用性DLL的编写、生成与具体编译器无关。使用较少的资源当多个程序使用同一个函数库时,DLL可以减少在磁盘和物理内存中加载的代码的重复量。第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)动态链接库特点第7章LabV1027.6调用动态链接库(DLL)共享代码、资源和数据DLL中封装了一些可以被共享的例程和资源,不仅包含可执行的代码,还有数据和各种资源。简化部署和安装当DLL中的函数需要更新或修复时,部署和安装DLL不要求重新建立程序与该DLL的链接。第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)共享代码、资源和数据第7章L1037.6调用动态链接库(DLL)DLL使用注意为了使应用程序正常地使用动态链接库,DLL文件必须存放在下列任意一个子目录中:

Windows\system目录中;

应用程序所在的子目录;

配置文件中定义的自动搜索的子目录。第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)DLL使用注意第7章LabV1047.6调用动态链接库(DLL)DLL与API应用程序编程接口(ApplicationProgrammingInterface,API)是能用来操作组件、应用程序或者操作系统的一组函数一般情况下,API指的是WindowsAPI,包括构成Windows操作系统的各种DLL。每个Windows应用程序都直接或间接地与WindowsAPI互动第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)DLL与API第7章LabV1057.6调用动态链接库(DLL)Windows中的API函数Windows的API函数位于Windows系统目录下的多个DLL文件中,其中最基本的三个组成模块如下:

Kernel32.dll:Windows系统核心32位API基础库,如内存和文件管理;

Gdi32.dll:图形设备接口库,如显示和打印等;

User32.dll:用户接口库,如键盘、鼠标、声音、系统时间等第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)Windows中的API函数1067.6调用动态链接库(DLL)调用DLLLabVIEW中动态链接库的调用是通过调用库函数(CallLibraryFunction,CLF)节点实现节点位置“函数→互连接口→库与可执行程序”选板第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)调用DLL第7章LabVIE1077.6调用动态链接库(DLL)配置CLF节点右键单击节点并选择“配置…”选项,或者直接双击节点第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)配置CLF节点第7章LabV1087.6调用动态链接库(DLL)配置DLL的“函数”、“参数”、“回调”和“错误检查”具体步骤DLL“函数”页数据类型配置注意第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)配置DLL的“函数”、“参数1097.6调用动态链接库(DLL)调用WindowsAPIAPI函数位于DLL文件中,所以在LabVIEW中调用API函数和调用DLL的方法基本一样在函数配置时,需要把调用规范设置为stdcall(WINAPI)第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)调用WindowsAPI第1107.6调用动态链接库(DLL)查询当前可用的物理内存和虚拟内存信息实例利用系统目录下的User32.DLL库中的API函数GlobalMemoryStatus()来获得,函数声明如下:VOIDGlobalMemoryStatus(LPMEMORYSTATUSlpBuffer);typedefstruct_MEMORYSTATUS{ //mstDWORDdwLength; //sizeof(MEMORYSTATUS)DWORDdwMemoryLoad; //percentofmemoryinuseDWORDdwTotalPhys; //bytesofphysicalmemoryDWORDdwAvailPhys; //freephysicalmemorybytesDWORDdwTotalPageFile; //bytesofpagingfileDWORDdwAvailPageFile; //freebytesofpagingfileDWORDdwTotalVirtual; //userbytesofaddressspaceDWORDdwAvailVirtual; //freeuserbytes}MEMORYSTATUS,*LPMEMORYSTATUS;第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)查询当前可用的物理内存和虚拟1117.6调用动态链接库(DLL)程序框图和运行结果第7章LabVIEW调用操作系统功能7.6调用动态链接库(DLL)程序框图和运行结果第7章La1127.7ActiveXActiveX是Microsoft推出的基于组件对象模型(ComponentObjectModel,COM)的一个技术集的统称。它可实现代码重用,并且与具体的编程语言无关。ActiveX的主要组成部分包括ActiveX自动化(Automation)、ActiveX控件(ActiveXControl)、ActiveX文档(ActiveXDocuments)和ActiveX脚本(ActiveXScripting)第7章LabVIEW调用操作系统功能7.7ActiveXActiveX是Microsoft推出1137.7ActiveXActiveX自动化(Automation)ActiveX自动化是ActiveX最重要的功能之一,它可以使一个应用程序通过ActiveX操纵另一个应用程序的对象;并可以使一个应用程序提供一些对象及对象的方法和属性来允许另外一个应用程序调用。LabVIEW既可以作ActiveX客户端,又可以作ActiveX服务器。作为客户端时,LabVIEW可以访问现有的ActiveX对象来增强LabVIEW的功能,如访问Excel、Web、Access等;作为服务器时,它允许其他程序访问它提供的ActiveX自动化服务,如调用VI、控制LabVIEW等第7章LabVIEW调用操作系统功能7.7ActiveXActiveX自动化(Automati1147.7ActiveXActiveX相关函数位于“函数→互连接口→ActiveX”选板第7章LabVIEW调用操作系统功能7.7ActiveXActiveX相关函数位于“函数→互连1157.7ActiveXActiveX主要函数功能

打开自动化:打开ActiveX对象,获得对象的Reference;

关闭引用:关闭Reference;

转换为变体:把LabVIEW数据转换成变体型;

变体至数据转换:把变体型数据转换成LabVIEW数据;

属性节点:属性节点,用于获取或设置ActiveX对象的属性;

调用节点:调用节点,用于调用ActiveX对象的方法;

事件回调注册:处理ActiveX对象提供的事件;

取消注册事件:关闭事件。

静态VI引用:保持一个VI的静态引用。第7章LabVIEW调用操作系统功能7.7ActiveXActiveX主要函数功能第7章Lab1167.7ActiveXActiveX容器利用LabVIEW的ActiveX容器,可以调用第三方提供的ActiveX控件,并访问其属性和方法,从而使程序功能更加丰富,界面更加友好,节省开发时间LabVIEW的ActiveX容器位于“控件→新式→容器”选板第7章LabVIEW调用操作系统功能7.7ActiveXActiveX容器第7章LabVIEW1177.7ActiveXActiveX容器配置第7章LabVIEW调用操作系统功能7.7ActiveXActiveX容器配置第7章LabV1187.7ActiveXActiveX事件(Events)类似于LabVIEW中的事件结构,当ActiveX对象的事件发生时,就转去执行相应的程序。在LabVIEW中,将ActiveX对象或.NET对象的事件称为“回调事件”(Callback),事件发生时转去执行的VI称为“回调VI”(CallbackVI)ActiveX事件,主要会用到两个函数:“注册回调事件”(RegisterEventCallback)和“取消注册事件”(UnregisterForEvents)第7章LabVIEW调用操作系统功能7.7ActiveXActiveX事件(Events)第71197.7ActiveX应用实例向MicrosoftOfficeWord写数据第7章LabVIEW调用操作系统功能7.7ActiveX应用实例第7章LabVIEW调用操作系1207.7ActiveX运行结果通过添加新的属性节点或方法节点,还可以实现更多的功能,如保存、插入图片、打印等操作第7章LabVIEW调用操作系统功能7.7ActiveX运行结果第7章LabVIEW调用操作系1217.7ActiveX对Excel进行有效性操作第7章LabVIEW调用操作系统功能7.7ActiveX对Excel进行有效性操作第7章Lab1227.7ActiveX运行结果通过MicrosoftExcel12.0ObjectLibrary提供的ExcelActiveX自动化对象,实现对Excel的操作,操作结果如下:第7章LabVIEW调用操作系统功能7.7ActiveX运行结果第7章LabVIEW调用操作系1237.7ActiveXActiveX容器与ActiveX事件在前面板容器中插入MicrosoftOfficeSpreadsheet11.0控件第7章LabVI

温馨提示

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

评论

0/150

提交评论