完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
labview与INI文件 在WIN95以前,WINDOWS还没有引入注册表的概念,WINDOWS是利用INI文件来存储计算机相关配置的,在API里,WINDOWS提供了丰富的API函数来操作INI文件,LV里也专门有个子类别封装了这些API函数,使用非常方便。 LV使用INI文件来存储配置,应用非常广泛,生成执行文档后也自动生成一个INI文件。 LV主要在下列情况下使用INI文件: 存储前面板或者前面板特定控件的默认值和当前值 存储本次应用的运行结果供下一次启动是调用 存储硬件配置文件 存储硬件配置是非常重要的,比如一般的板卡都有16个数字输出,外部接继电器来控制外部设备,继电器是比较容易损坏的,而通常16个继电器中是有备用的,如何在不改变软件和硬件的情况下把输出更改到另外的继电器上,这样,只需要简单地改动一下外部接线就可以了那,使用配置文件可以轻松实现。 INI文件结构很简单,装了多操作系统的人都知道,WINDOWS本身有个BOOT.INI [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect 我们看一下LV软件本身也利用了INI文件来保存配置。 [LabVIEW] server.tcp.port=3363 server.tcp.enabled=TRUE server.tcp.access="+127.0.0.1" IsFirstLaunch=False PaletteHidddenC PaletteHidddenFuncti menuSetup="default" saveFloaterLocations=True find.viListFlags=4 LastErrorListSize=0,0,379,486 paletteStyle="NamedIcons" NoAdvice070=",CleanUpWire,FlatSequence" SaveChanges_ApplyToAll=True PropPageBounds="398;181;884;636" RecentFiles.pathList="C:Program FilesNational InstrumentsLabVIEW 8.5examplesDAQmxAnalog InMeasure Voltage.llbAcq&Graph Voltage-Int Clk.vi;C:Program FilesNational InstrumentsLabVIEW 8.5examplesDAQmxAnalog InMeasure Voltage.llbAcq&Graph Voltage-Ext Clk-Analog Ref.vi;C:Documents and SettingsAdministratorLocal SettingsTemporary Internet FilesContent.IE57M9NS8HFchart%20right%20to%20left[1].vi;C:Documents and SettingsAdministratorMy Documentswindows_environment_variable_reader_writerWindows Environment Variable Reader Writer.vi;C:Documents and SettingsAdministratorMy DocumentsMDI.llbSimple MDI Demo.vi;D:Control 1.ctl;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libtreeTree Sorter.llbJoin.vi;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilitynotifier.llbCreate Notifier.vi;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilitynotifier.llbWait On Notification.vi;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilityinputDevices.llbAcquire Input Data.vi" ShowBufferAllocationsArrays=True ShowBufferAllocationsClusters=True ShowBufferAllocationsStrings=False ShowBufferAllocationsPaths=False ShowBufferAllocationsScalars=False ShowBufferAllocationsVariants=False ShowBufferAllocationsOther=False NewDlgRecentMainTemplates.pathList="C:Program FilesNational InstrumentsLabVIEW 8.5templatesFrameworksDesignPatternsProducerConsumerEvents.vit" NewDlgBounds="700;480" NewDlgRecentTemplates.pathList="" NewDlgLastSelected="8E4D36AD-F776-4C48-97C6-C1D85EFE889F" NewDlgSmall=False NewDlgCollapsed="77E350A8-F9AA-43FF-85E2-454279EBB9A7/Frameworks 3F7CF7A8-5E4D-4EDC-AA25-FA4A326988EF 8E4D36AD-F776-4C48-97C6-C1D85EFE889F" SuperSecretPrivateSpecialStuff=True colorHistoryItemA=00000BFF RecentFiles.projectPathList="C:Documents and SettingsAdministratorMy Documentsxcontrol eventsxcontrol eventsXControl Events Project.lvproj;C:Program FilesNational InstrumentsLabVIEW 8.5examplesgeneralxcontrolsDual Mode ThermometerSimple Dual Mode Thermometer XControl.lvproj;C:Program FilesNational InstrumentsLabVIEW 8.5exampleslvdscXControlsSpinnerSpinner.lvproj;C:Documents and SettingsAdministratorMy DocumentsLinked_List_ProjectLinked ListLinked_List_Project.lvproj;D:TESTUntitled Project 1.lvproj;C:Documents and SettingsAdministratorMy DocumentsScripting_Tools_0.16.02Scripting ToolsScripting Tools.lvproj;C:Documents and SettingsAdministratorMy DocumentsIconEditor_85_V2.2IconEditor.lvproj;C:Documents and SettingsAdministratorMy Documents第一名_何凌_公司问题第一名 何凌 公司问题SrcVI company.lvproj" ProjectExplorer.ClassicPosition=143,53,543,415 colorHistoryItemB=009A8574 editRecentPaths="C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilitysysinfo.llb;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilitysemaphor.llb;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilitymiscctls.llb;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilityGetType.llb;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilityinputDevices.llb;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilitynotifier.llb;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libtreeTree Sorter.llb" LLBMgr_ActivePlugins="" LLBMgr_RecentPath="C:Documents and SettingsAdministratorMy DocumentsMDI.llb" colorHistoryItemC=00FF8242 autoerr=2 colorHistoryItemD=00000FDC colorHistoryItemE=003100DC colorHistoryItemF=00FFFFFF colorHistoryItemG=00FF3D00 colorHistoryItemH=000F00DC colorHistoryItemI=004AFF42 colorHistoryItemJ=00C88E00 colorHistoryItemK=000025FF exoticControls=TRUE NoAdvice080=",ClassBrowser" SuperPrivateScriptingFeatureVisible=True SuperSecretPrivateSpecialStuff=True superPrivateScriptingFeatureSichtbar=True FPF 18 BDF 18 toolPaletteLoc=494,22,645,100 LVLibraryThemeColor=006699FF ini文件非常简单,是文本文件,可以用WINDOWS记事本直接打开,组成结构是一个简单的树型结构,说明如下: [section1] key1_section1=VALUE key2_section2=VALUE key3_section3=VALUE [section2] key1_section2=value key2_section2=value key3_section2=value 可以看出结构非常简单,每个INI文件又一个或者多个SECTION组成,每个SECTION又一系列键和键值组成,值的类型可以是BOOLEAN ,DOUBLE,I32,U32,STIRNG,PATH等等 LV专门提供了一组节点来处理INI文件: 上排的是操作INI的节点,下排的是读取INI本身信息的节点 操作INI节点包括:打开,读键值,写键值,删除键值,删除分类(SECTION),关闭。 信息节点包括: 取得所有分类中的键名称,取得所有分类名称,判断文件是否是配置文件。 具体操作和其他文件操作类似,打开(注意路径问题)---》读或者写-----》关闭 LV提供的INI节点非常基本,数据类型也是基本的数据类型,我们实际工作更常用的是数组和簇类型,OPENG为我们作好了这些,并且是开放原代码,看看它提供的节点: 这里的OPEN和CLOSE就是LV本身提供的节点,其它的分别介绍一下: Read INI Cluster: 读取簇的配置 Write INI Cluster: 写簇的配置 这两个VI读写INI时,SETION部分就是簇的名称 Read Section Cluster:读取指定SECTION下的簇配置 Write Setion Cluster:写入指定SECTION的簇配置 这两个VI同上面的类似,但是可以指定SETION名称,这样可以在同一SECTION下,写入或者读取多个CLUSTER配置。 Read Panel: 读取指定的控件面板(恢复上次值) Write Panel:写入指定的VI的控制面板当前值到配置文件(供下次调用) 这两个VI的输入是VI参考,既可以写入或者读本身,又可以在一个VI中来操作另一个VI READ KEY:可以读取特定SECTION下特定CLUSTER中的元素的键值 WRITE KEY:写入特定SECTION下特定CLUSTER中的元素的键值 |
|
相关推荐
|
|
版主 我最近在学习INI文件的编写和调用 有些问题想要请教 希望能和你成为好友聊聊 我的QQ是739392716
|
|
|
|
|
|
854 浏览 2 评论
NI Vision有个图片打不开其他图都能打开(用NI Vision Assistant也打开不了)
1252 浏览 1 评论
labview2015使用Excel报表程序打包生成后打开程序要选一个vi才能使用,否则软件就会报错,这是什么问题?
1821 浏览 2 评论
LabVIEW与单片机无法串口通信 提示串口打开错误 端口设置有问题吗?
1719 浏览 3 评论
2039 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 10:03 , Processed in 0.404556 second(s), Total 43, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号