第7章LabVIEW调用操作系统功能课件.pptx

上传人:yan****nan 文档编号:88479218 上传时间:2023-04-26 格式:PPTX 页数:70 大小:3.42MB
返回 下载 相关 举报
第7章LabVIEW调用操作系统功能课件.pptx_第1页
第1页 / 共70页
第7章LabVIEW调用操作系统功能课件.pptx_第2页
第2页 / 共70页
点击查看更多>>
资源描述

《第7章LabVIEW调用操作系统功能课件.pptx》由会员分享,可在线阅读,更多相关《第7章LabVIEW调用操作系统功能课件.pptx(70页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第7章LabVIEW调用操作系统功能Intelligent Electronics InstituteHuazhong University of Science&TechnologyHttp:/引言任何一个应用程序开发平台都有其自身的优势与不足,LabVIEW也不例外。作为一个高级编程人员,在开发一个大的复杂应用程序时必须能够综合应用不同软件开发平台的功能,才能使项目更加完善。一个好的软件开发环境,也必然具备与其他应用程序的交互功能及必要的开发工具。本章将要讲到的读/写电子表格文件、读/写XML文件、读/写配置文件、读/写系统注册表、调用ActiveX控件、调用系统链接库及调用命令行程序等都

2、是LabVIEW与其他应用程序的交互方式。Http:/本章内容7.1 读/写电子表格文件7.2 读/写XML文件7.3 读/写配置文件7.4 读/写系统注册表7.5 输入设备控制7.6 调用动态链接库(DLL)7.7 ActiveX7.8 执行系统命令3Http:/7.1 读/写电子表格文件nLabVIEW文件操作基本步骤4打开打开读写、操作读写、操作关闭关闭Http:/7.1 读/写电子表格文件n电子表格写操作n文件格式的要求n保存电子表格格式文本文件5Http:/7.1 读/写电子表格文件n保存电子表格文件6Http:/7.1 读/写电子表格文件n电子表格文本文件和电子表格文件生产结果7H

3、ttp:/7.1 读/写电子表格文件n电子表格读操作n数据读取类型和格式8Http:/7.2 读/写XML文件n可扩展置标语言(XML)n可扩展置标语言(XML)是一种用标记描述数据的格式化标准。与HTML标记不同,XML标记不是告诉浏览器如何按格式处理数据,而是使浏览器能识别数据。n例如为每本书创建一个XML文件Touring Germanys Great CathedralsTony WaltersDouglas Drive Publishing$29.999Http:/7.2 读/写XML文件nXML文件写操作n“平化至XML”(Flatten To XML)函数nXML模版10Http

4、:/7.2 读/写XML文件nXML文件读操作n“从XML还原”(Unflatten From XML)函数nXML格式转换成簇11Http:/7.2 读/写XML文件n从XML文件中读取数据12Http:/7.3 读/写配置文件n配置文件VI可读取和创建标准的Windows配置文件,其标准扩展名为.ini,但只要内容格式正确,配置文件VI也可操作以任何扩展名命名的文件。n在.ini文件中,LabVIEW会将路径数据保存为独立于平台的格式。n例如绝对路径/c/temp/data.dat解析为如下路径:Windows c:tempdata.dat;Mac OS c:temp:data.dat;L

5、inux/c/temp/data.dat。13Http:/7.3 读/写配置文件n配置文件写操作nWindows配置文件标准格式n生成名为“Configuration.ini”的配置文件14Http:/7.3 读/写配置文件n测试配置程序例程程序框图15Http:/7.3 读/写配置文件n测试配置程序例程程序界面和生成文件16Http:/7.3 读/写配置文件n配置文件读操作n“读取键值”(Read Key.vi)函数n读取值数据类型设置17Http:/7.3 读/写配置文件n测试配置程序例程初始化测试配置程序18Http:/7.3 读/写配置文件n测试配置程序例程读取配置信息19Http:/

6、7.4 读/写系统注册表n所谓“注册表”,实际上是一个庞大的数据库,它包含了应用程序和系统软硬件的全部配置信息,这里所指的注册表仅针对于Windows操作系统。n注册表系统组成和注册表结构n本节首先以LabVIEW自带的三个例子,说明在LabVIEW中读/写注册表的一般方法,然后讲解自动配置ODBC(Open Database Connectivity,开放数据互连)数据源的应用实例。20Http:/7.4 读/写系统注册表n注册表写操作n创建注册表项21Http:/7.4 读/写系统注册表n程序运行结果Windows Registry Editor Version 5.00HKEY_LOCA

7、L_MACHINESOFTWAREMyKeyMy String=LabVIEWMy Binary=hex:03,02,01,00My DWORD=dword:0000010022Http:/7.4 读/写系统注册表n注册表读操作23Http:/7.4 读/写系统注册表n注册表删除操作24Http:/7.4 读/写系统注册表n自动配置ODBC数据源nODBC是微软开发的服务结构中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API。n在应用程序开发中用到数据库时,需要手动配置ODBC数据源。一旦相关的文件路径发生改变,则需要再次手动配置,这给最终用户带来了极大的不便。

8、n将与手动配置相似的注册表信息写到注册表中,实现ODBC数据源的自动配置25Http:/7.4 读/写系统注册表nLabVIEW中实现为应用程序自动地配置ODBC数据源26Http:/7.5 输入设备控制n用来获取连接到计算机上的操纵杆、键盘和鼠标的信息n输入设备控制VI位于“函数互连接口输入设备控制”子选板27Http:/7.5 输入设备控制n实时获取鼠标键盘信息例程n首先通过“查询输入设备”(Query Input Devices.vi)查询按键和鼠标的信息n分别初始化键盘和鼠标n在While循环中获取键盘按键信息和鼠标位置及点击信息n关闭输入设备28Http:/7.5 输入设备控制n程序

9、框图29Http:/7.5 输入设备控制n程序界面30Http:/7.6 调用动态链接库(DLL)n动态链接库n动态链接库(Dynamic Link Library,DLL)是一个可以多方共享的程序模块,内部对共享的例程和资源进行了封装。n动态链接库文件的扩展名一般为*.dll,也可能是*.drv,*.sys或者*.fon31Http:/7.6 调用动态链接库(DLL)nDLL和可执行文件nDLL和可执行文件(EXE)很相似,最大的区别在于DLL虽然包含了可执行代码却不能单独执行,必须由Windows应用程序直接或间接调用32Http:/7.6 调用动态链接库(DLL)n动态链接库特点n通用性

10、 DLL的编写、生成与具体编译器无关。n使用较少的资源 当多个程序使用同一个函数库时,DLL可以减少在磁盘和物理内存中加载的代码的重复量。33Http:/7.6 调用动态链接库(DLL)n共享代码、资源和数据 DLL中封装了一些可以被共享的例程和资源,不仅包含可执行的代码,还有数据和各种资源。n简化部署和安装 当DLL中的函数需要更新或修复时,部署和安装DLL不要求重新建立程序与该DLL的链接。34Http:/7.6 调用动态链接库(DLL)nDLL使用注意n为了使应用程序正常地使用动态链接库,DLL文件必须存放在下列任意一个子目录中:Windowssystem目录中;应用程序所在的子目录;配

11、置文件中定义的自动搜索的子目录。35Http:/7.6 调用动态链接库(DLL)nDLL与APIn应用程序编程接口(Application Programming Interface,API)是能用来操作组件、应用程序或者操作系统的一组函数n一般情况下,API指的是Windows API,包括构成Windows操作系统的各种DLL。每个Windows应用程序都直接或间接地与Windows API互动36Http:/7.6 调用动态链接库(DLL)nWindows中的API函数nWindows的API函数位于Windows系统目录下的多个DLL文件中,其中最基本的三个组成模块如下:Kernel3

12、2.dll:Windows系统核心32位API基础库,如内存和文件管理;Gdi32.dll:图形设备接口库,如显示和打印等;User32.dll:用户接口库,如键盘、鼠标、声音、系统时间等37Http:/7.6 调用动态链接库(DLL)n调用DLLnLabVIEW中动态链接库的调用是通过调用库函数(Call Library Function,CLF)节点实现n节点位置“函数互连接口库与可执行程序”选板38Http:/7.6 调用动态链接库(DLL)n配置CLF节点右键单击节点并选择“配置”选项,或者直接双击节点39Http:/7.6 调用动态链接库(DLL)n配置DLL的“函数”、“参数”、“

13、回调”和“错误检查”具体步骤nDLL“函数”页数据类型配置注意40Http:/7.6 调用动态链接库(DLL)n调用Windows APInAPI函数位于DLL文件中,所以在LabVIEW中调用API函数和调用DLL的方法基本一样n在函数配置时,需要把调用规范设置为stdcall(WINAPI)41Http:/7.6 调用动态链接库(DLL)n查询当前可用的物理内存和虚拟内存信息实例利用系统目录下的User32.DLL库中的API函数GlobalMemoryStatus()来获得,函数声明如下:VOID GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer);t

14、ypedef struct _MEMORYSTATUS/mst DWORD dwLength;/sizeof(MEMORYSTATUS)DWORD dwMemoryLoad;/percent of memory in use DWORD dwTotalPhys;/bytes of physical memory DWORD dwAvailPhys;/free physical memory bytes DWORD dwTotalPageFile;/bytes of paging file DWORD dwAvailPageFile;/free bytes of paging file DWOR

15、D dwTotalVirtual;/user bytes of address space DWORD dwAvailVirtual;/free user bytes MEMORYSTATUS,*LPMEMORYSTATUS;42Http:/7.6 调用动态链接库(DLL)n程序框图和运行结果43Http:/7.7 ActiveXnActiveX是Microsoft推出的基于组件对象模型(Component Object Model,COM)的一个技术集的统称。它可实现代码重用,并且与具体的编程语言无关。nActiveX的主要组成部分包括ActiveX自动化(Automation)、Activ

16、eX控件(ActiveX Control)、ActiveX文档(ActiveX Documents)和ActiveX脚本(ActiveX Scripting)44Http:/7.7 ActiveXnActiveX自动化(Automation)nActiveX自动化是ActiveX最重要的功能之一,它可以使一个应用程序通过ActiveX操纵另一个应用程序的对象;并可以使一个应用程序提供一些对象及对象的方法和属性来允许另外一个应用程序调用。nLabVIEW既可以作ActiveX客户端,又可以作ActiveX服务器。作为客户端时,LabVIEW可以访问现有的ActiveX对象来增强LabVIEW的功

17、能,如访问Excel、Web、Access等;作为服务器时,它允许其他程序访问它提供的ActiveX自动化服务,如调用VI、控制LabVIEW等45Http:/7.7 ActiveXnActiveX相关函数位于“函数互连接口ActiveX”选板46Http:/7.7 ActiveXnActiveX主要函数功能 打开自动化:打开ActiveX对象,获得对象的Reference;关闭引用:关闭Reference;转换为变体:把LabVIEW数据转换成变体型;变体至数据转换:把变体型数据转换成LabVIEW数据;属性节点:属性节点,用于获取或设置ActiveX对象的属性;调用节点:调用节点,用于调用

18、ActiveX对象的方法;事件回调注册:处理ActiveX对象提供的事件;取消注册事件:关闭事件。静态VI引用:保持一个VI的静态引用。47Http:/7.7 ActiveXnActiveX容器n利用LabVIEW的ActiveX容器,可以调用第三方提供的ActiveX控件,并访问其属性和方法,从而使程序功能更加丰富,界面更加友好,节省开发时间nLabVIEW的ActiveX容器位于“控件新式容器”选板48Http:/7.7 ActiveXnActiveX 容器配置49Http:/7.7 ActiveXnActiveX事件(Events)n类似于LabVIEW中的事件结构,当ActiveX对象

19、的事件发生时,就转去执行相应的程序。在LabVIEW中,将ActiveX对象或.NET对象的事件称为“回调事件”(Callback),事件发生时转去执行的VI称为“回调VI”(Callback VI)nActiveX事件,主要会用到两个函数:“注册回调事件”(Register Event Callback)和“取消注册事件”(Unregister For Events)50Http:/7.7 ActiveXn应用实例n向Microsoft Office Word写数据51Http:/7.7 ActiveX运行结果通过添加新的属性节点或方法节点,还可以实现更多的功能,如保存、插入图片、打印等操作

20、52Http:/7.7 ActiveXn对Excel进行有效性操作53Http:/7.7 ActiveX运行结果通过Microsoft Excel 12.0 Object Library提供的Excel ActiveX自动化对象,实现对Excel的操作,操作结果如下:54Http:/7.7 ActiveXnActiveX容器与ActiveX事件在前面板容器中插入Microsoft Office Spreadsheet 11.0控件55Http:/7.7 ActiveXn注册ActiveX事件n创建回调VI56Http:/7.7 ActiveXn主程序框图和Callback VI程序框图57Ht

21、tp:/7.7 ActiveXn程序运行结果58Http:/7.8 执行系统命令n在LabVIEW中还可以通过调用“执行系统命令”(System Exec.vi)函数直接运行系统命令n“执行系统命令”位于“函数互连接口库与可执行程序”选板59Http:/7.8 执行系统命令n执行Ping 192.168.1.115操作实例n程序框图60Http:/7.8 执行系统命令n运行结果61Http:/7.8 执行系统命令n打开文件实例调用一个文件的一般方法,只需要在“and path”路径控件中设定文件的路径即可。此种方法能打开*.txt、*.exe文件等62Http:/7.8 执行系统命令n把后缀名

22、为*.CCMS的文件以记事本的方式打开63Http:/7.8 执行系统命令n有趣的自杀式应用程序64Http:/7.8 执行系统命令 之所以称为“自杀”,是因为程序将会删除程序本身。程序首先在临时目录下生成一个批处理文件(*.bat),然后通过System Exec.vi调用该批处理文件对自己进行自杀式删除。BAT文件的内容为::begindel E:610工程610 Program Run_Suicide.viif exist E:610工程610 Program Run_Suicide.vi goto begindel 065Http:/本章总结 本章介绍了一些LabVIEW与其他应用程序

23、进行交互的基本方式。任何一个应用程序开发平台都有其自身的优势与不足,LabVIEW也不例外。作为一个高级编程人员,为使项目更加完善,应该熟练地综合运用其他软件的功能,以弥补LabVIEW开发平台的不足。66Http:/习题7-1 简述一下电子表格文件、XML文件及配置文件的应用场合,以及各自的用法。7-2 编写程序,记录最近一次运行的配置参数,并作为下次运行的初始默认值。尝试使用几种方法实现,如读/写配置文件。7-3 试编写LabVIEW程序,查看操作系统安装了哪些字体。(提示:操作系统安装的字体可通过“控制面板字体”或“系统根目录WINDOWSFonts”查看。)尝试用几种方法实现,如读注册

24、表信息。7-4 调用Windows API,获取系统信息,如CPU的ID和数量、硬盘的ID等信息。67Http:/习题7-5 学习本章7.7.4节中用ActiveX操作Word和Excel的实例,并编写程序把新建的文档存盘。7-6 试着通过Access提供的ActiveX自动化对象访问Access数据库。习题中Exercise7ActiveX_Access.vi是一个获得数据库中所有表名的例子。同时,在LabVIEW中访问数据库还有另外几种方法,如利用Microsoft的DAO(Data Access Objects)、Microsoft ADO(ActiveX Data Objects),以

25、及NI公司提供的免费的、多数据库、跨平台的数据库工具包LabSQL等。7-7 通过ActiveX对象在LabVIEW中播放Flash、影音文件。68Http:/Thank you!1、有时候读书是一种巧妙地避开思考的方法。4月-234月-23Tuesday,April 25,20232、阅读一切好书如同和过去最杰出的人谈话。02:05:29 02:05:29 02:054/25/2023 2:05:29 AM3、越是没有本领的就越加自命不凡。4月-2302:05:29 02:05Apr-2325-Apr-234、越是无能的人,越喜 欢挑剔别人的错儿。02:05:29 02:05:29 02:0

26、5Tuesday,April 25,20235、知人者智,自知者明。胜人者有力,自胜者强。4月-234月-2302:05:29 02:05:29 April 25,20236、意志坚强的人能把世界放在手中像泥 块一样任意揉捏。25四月20232:05:29上午02:05:29 4月-237、最具挑战性的挑战莫过于提升自我。四月232:05上午4月-2302:05April 25,20238、业余生活要有意义,不要越轨。2023/4/252:05:2902:05:29 25 April 20239、一个人即使已登上 顶峰,也仍要自强不息。2:05:29上午2:05上午02:05:29 4月-23

27、10、你要做多大的事情,就该承受多大的压力。4/25/2023 2:05:29 AM02:05:2925-4月-2311、自己要先看得起自己,别人才会看得起你。4/25/2023 2:05 AM4/25/2023 2:05 AM4月-234月-2312、这一秒不放弃,下一秒就会有希望。25-Apr-2325 April 20234月-2313、无论才能知识多么卓著,如果缺乏热情,则无异纸上画饼充饥,无补于事。Tuesday,April 25,202325-Apr-234月-2314、我只是自己不放过自己而已,现在我不会再逼自己眷恋了。4月-2302:05:2925 April 202302:05谢谢大家谢谢大家

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com