0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

配置文檔(ini文檔)的應(yīng)用

手把手LabVIEW 項目實踐 ? 2020-08-11 17:10 ? 次閱讀

LabVIEW 項目實踐篇

配置文檔(ini文檔)的應(yīng)用

(V1.0)

LabVIEW 項目實踐篇:配置文檔(ini文檔)的應(yīng)用

(V1.0)

1. 項目工況:

在樓主做項目的時候,經(jīng)常會遇到這樣一種工況,就是需要把一些參數(shù)記下來,下次打開軟件的時候,還是這個狀態(tài)。比如說,樓主做一些試驗臺的時候,需要做一些報警。例如溫度高報警,溫度低報警,液位高報警,液位低報警等,就需要把各個報警值計下來。再比如說,要做一些傳感器的標(biāo)定,需要把傳感器的標(biāo)定參數(shù)記下來。在試驗元件的時候,需要把一些常用參數(shù)記下來等等。下面談一談樓主樓主用過的幾種方法。

2. 實現(xiàn)方案:

1.當(dāng)前值設(shè)置為默認(rèn)值:用過Labview的同學(xué),最先想到的應(yīng)該就是 LV自帶的默認(rèn)值功能了。在一下工況下,默認(rèn)值確實是個很方便的功能。這個功能,就相當(dāng)于咋們常說的缺省值。

舉個例子:一個數(shù)字控件,比如樓主最常用的電機(jī)轉(zhuǎn)速。在項目中常用到變頻器,用一個控件控制變頻器的轉(zhuǎn)速。

眾所周知,電機(jī)轉(zhuǎn)速不能太低。當(dāng)不設(shè)置 默認(rèn)值的時候,LV數(shù)值控件默認(rèn)值為0 ,所以這時候,就需要給 控件來個默認(rèn)值,當(dāng)程序剛打開的時候,讓電機(jī)轉(zhuǎn)速設(shè)置為400/min。

設(shè)置如下:

當(dāng)設(shè)置完成時,程序打包以后,每次程序打開以后,此控件的默認(rèn)值就是400。

這種用法樓主還經(jīng)常用在一下缺省值的設(shè)定上。比如說,樓主經(jīng)常要做一些報表,報表要填寫 姓名,日期等。通常會把最常用的一個狀態(tài)設(shè)置為缺省值,方便用戶來填寫。再比如說在填一些電子表格的時候,國際:中國,名族:漢。你來一個缺省值,默認(rèn)值就會很方便。如果對方部是中國,不是漢族,只要一改就可以了。

下面舉例:一批被試閥 型號為TT-112543-XXX,前面的值都一樣,只有XXX需要改變。這時候,就可以把TT-112543-001設(shè)置為缺省值,只需要改變后幾位就可以了。用戶也不容易輸錯。

這種辦法在以上這種,不經(jīng)常變動的工況下適用。一旦默認(rèn)值確定下來,再就不好改。

2.用PLC記錄值:這是一種偷懶的方法,在一定場合,可以用一下,但弊端很大。

樓主經(jīng)常做一些測控項目,最常用到的硬件配置就是工控機(jī)+板卡+PLC這樣的上下位機(jī)結(jié)構(gòu)。在一些時候工控下,可以用一下。

具體做法就是,在PLC開辟一塊存儲控件。比如西門子PLC中設(shè)置一個DB數(shù)據(jù)塊。然后把一些變量和變量綁定就可以了。比如說,溫度高報警值:DB1.DBD0,溫度低報警值:DB1.DBD4。然后在PLC里面給兩個值設(shè)置一個初始值,如溫度高報警DB1.DBD0 初始值70,溫度低報警DB1.DBD4初始值0,然后變量綁定就可以了。

需要更改值的時候,在上位機(jī)更改就可以了。比如要把溫度低報警改為10度。只要更改這個控件值就可以了,PLC自動記錄此值。下次開機(jī)時,由于控件和PLC通訊一般都是先讀后寫的,上位機(jī)會自動讀取PLC存儲的值,這樣就起到了數(shù)據(jù)記錄的作用。

但這種用法不可靠,在一些不是很重要的場合可以偷懶用一下,但經(jīng)常會遇到數(shù)據(jù)丟失的情況。

3. 其余:還用很多記錄的方式。樓主經(jīng)常在QQ群里面看到,還有用Excel記錄參數(shù)的。還有用別的文本方式記錄的。但都不是很理想。

今天給大家推薦一種,用來記錄配置參數(shù)的文本ini文檔。樓主目前每一個項目都會寫一個INI文檔,非常方便。

4. 什么是ini文件

ini文件又稱配置文件,它是一種以特定方式組織操作系統(tǒng)或軟件配置信息的文本文件。它最早出現(xiàn)于Windows操作系統(tǒng)中,用于統(tǒng)管Windows的各項配置,后來,其理念被廣泛使用到其它操作系統(tǒng)和各種應(yīng)用軟件中,常用于保存程序的一些配置參數(shù)。

這種配置文件的文件擴(kuò)展名多為INI,故得此名。INI是英文“初始化”(initialization)的縮寫。正如該術(shù)語所表示的,INI文件常被用來對操作系統(tǒng)或特定程序初始化或進(jìn)行參數(shù)設(shè)置。由于ini配置文件使用方便簡單直觀,越來越多的編程語言都支持了ini文件的生成和讀取。

Q:長什么樣?

是不是很熟系,咋們在裝一些程序的時候,經(jīng)常碰到。一方面就長上面這樣。另一方面擴(kuò)展名為ini。第三,在windos系統(tǒng)下可以用txt直接打開,不需要額外的軟件。

Q:怎么創(chuàng)建?

創(chuàng)建一個txt,改名稱,改擴(kuò)展名為INI就可以了。

如下圖所示:當(dāng)更改完擴(kuò)展名后,圖標(biāo)也會相應(yīng)的改變。

5. INI文檔怎么讀寫?存儲規(guī)則?

ini文件由段(Section)、鍵(Key)和鍵值(Value)三部分組成。

每個ini文件由一個或多個段組成,由“[ ]”內(nèi)部的字符串來區(qū)別不同的段,同一個ini文件中的段名必須唯一。702注:這個很重要,必須唯一,程序才能檢索,避免張冠李戴。

每個段由一系列由“=”隔開的一對鍵和鍵值組成,鍵名代表配置選項,值代表該選項的設(shè)置,同一個段內(nèi)鍵名必須唯一,但不同段之間的鍵名并無關(guān)系。

等號左邊的字符串為鍵名,右邊的字符串為鍵值,在LabVIEW中,鍵值的類型可以是布爾、I32、U32、雙精度浮點數(shù)、字符串和路徑等。

初學(xué)者碰到段,鍵,鍵值這幾個名次就暈,先別暈,舉個例子就知道。

比如說,上面舉過的例子——報警值的設(shè)定。

有液位高,液位低,液位極低,溫度高,溫度低,溫度極高。

配置文檔中參數(shù)很多,需要分組管理好一些,起個名子吧,就叫報警值。用[]括起來。

[報警值] [段]

液位低 = 10 鍵 = 鍵值

液位高 = 60

···

這就可以了。就這么簡單。

6. LabVIEW中怎么讀寫?難不難?實例看

Q:難不難?

不難。很簡單。

以樓主的習(xí)慣,先用起來,后介紹規(guī)則。

先創(chuàng)建一個VI,起名為配置文檔(INI文檔應(yīng)用)。

放6個數(shù)值控件,分別命名為液位高,位移低等,分別設(shè)置初始值,此方法在前面介紹過,沒認(rèn)真看的朋友去前面看看。放兩個按鈕,一個命名為參數(shù)修改。另一個命名為恢復(fù)默認(rèn)值。

編程思路:1.以上參數(shù)為默認(rèn)值,或稱為出廠設(shè)置。

2.需要修改參數(shù)時,修改參數(shù),并點擊參數(shù)修改,系統(tǒng)詢問:是否確認(rèn)修改,確認(rèn)后,跳出對話框,參數(shù)修改完成。

3.需要恢復(fù)出廠設(shè)置時,點擊恢復(fù)出廠設(shè)置按鈕,并彈出對話框,恢復(fù)出廠設(shè)置完成。

為了便與介紹,先寫一個值:段名:液位報警 鍵:液位高 鍵值:液位報警值。程序如下圖所示。

功能,點擊參數(shù)修改 >>跳出對話框“確認(rèn)參數(shù)修改?”,點擊確認(rèn),把液位高的新值存起來。然后對話框:參數(shù)配置完成!。

程序運(yùn)行正常,來看一看配置文檔。

自動新建了一個配置文檔.ini文件。

雙擊打開:如圖所示,段[液位報警],液位高 = 600.00 702注:600.00這個精度可以設(shè)置,不設(shè)置時,默認(rèn)為6位。

如圖所示,寫的程序就這么簡單:

總結(jié)起來就三條:1.打開 2.寫 3.關(guān)閉。

Q:寫完以后,什么時候讀?

當(dāng)然是,程序打開的時候就讓讀。程序一打開,自動把液位高的值,讀取到控件值,下面寫一個讀的程序。

為了便與讀者觀察,我們先在《配置文檔》中把液位高報警值修改為 800,然后,跳出對話框“讀取成功”。打開程序,觀察是否讀取成功。

打開程序,看看。

程序的讀寫就是這么簡單。

樓主喜歡先介紹實例,再介紹用法。一般實例介紹萬,用法也就大差不差的明白了。

下面介紹INI 文檔的幾個VI和主要事項。

7. INI 子VI介紹

Q:在哪?

702注:在存儲,寫入時,把“必要時創(chuàng)建文件(T)”設(shè)置為T,找不到此文檔時,直接創(chuàng)建一個即可。

樓主的做法一般是:先事先創(chuàng)建一個,避免讀寫時出錯。創(chuàng)建的方法,前面說了。

Q: 需不需要單獨裝工具包?

不需要,在安裝LV運(yùn)行環(huán)境時,都會自帶INI 子VI。

8. INI OPENG函數(shù)

LV自帶的INI子VI很好用,理解起來也很簡單。但是,每一個讀,或每一個寫,只能讀寫一個值。當(dāng)有很多值要讀寫的時候就比較麻煩了,如一個段里面既有數(shù)字量,又有布爾量等時,就需要一個一個的讀,一個一個的寫。

下面介紹一中,一次讀寫的例子。

如圖所示,這是openG 中INI文檔的讀寫。還是上面的例子,讀寫試試。

這里的OPEN和CLOSE就是LV本身提供的節(jié)點,其它的分別介紹一下:
Read INI Cluster: 讀取簇的配置
Write INI Cluster: 寫簇的配置
這兩個VI讀寫INI時,SETION部分就是簇的名稱
Read Section Cluster:讀取指定SECTION下的簇配置
Write Setion Cluster:寫入指定SECTION的簇配置
這兩個VI同上面的類似,但是可以指定SETION名稱,這樣可以在同一SECTION下,寫入或者讀取多個CLUSTER配置。
Read Panel: 讀取指定的控件面板(恢復(fù)上次值)

Write Panel:寫入指定的VI的控制面板當(dāng)前值到配置文件(供下次調(diào)用)
這兩個VI的輸入是VI參考,既可以寫入或者讀本身,又可以在一個VI中來操作另一個VI
READ KEY:可以讀取特定SECTION下特定CLUSTER中的元素的鍵值
WRITE KEY:寫入特定SECTION下特定CLUSTER中的元素的鍵值

從上面的介紹就可知,為什么簡單,一次就可以讀、寫很多值,現(xiàn)在明白了,就是用簇。

從上圖可知:1.簇名 就是段名 。2.簇內(nèi)的控件標(biāo)簽名為鍵名。 3.控件值為鍵值。

下面寫讀取程序。

還是老辦法,改幾個值,然后驗證一下。每個值加50,看運(yùn)行后的控件值。

運(yùn)行成功。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

  • LabVIEW
    +關(guān)注

    關(guān)注

    1961

    文章

    3651

    瀏覽量

    322076
收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)于功放的散熱器的設(shè)計,有沒有什么參考的文檔嗎?

    關(guān)于功放的散熱器的設(shè)計,有沒有什么參考的文檔,謝謝!
    發(fā)表于 11-01 07:06

    IP5385應(yīng)用說明文檔

    IP5385 應(yīng)用說明文檔
    發(fā)表于 10-08 09:25 ?5次下載

    QCC3040耳機(jī)PCB原文檔

    QCC3040原文檔,為生產(chǎn)成功產(chǎn)品文件,
    發(fā)表于 07-30 11:08 ?1次下載

    有沒有3588s的TRM文檔

    手頭有份3588的TRM,發(fā)現(xiàn)跟3588s應(yīng)該是不一樣的。 有誰可以提供3588s的TRM文檔
    發(fā)表于 07-17 17:03

    labview文檔教程資料(四)

    電子發(fā)燒友網(wǎng)站提供《labview文檔教程資料(四).zip》資料免費下載
    發(fā)表于 04-23 09:29 ?11次下載

    labview文檔教程資料(三)

    電子發(fā)燒友網(wǎng)站提供《labview文檔教程資料(三).zip》資料免費下載
    發(fā)表于 04-23 09:29 ?5次下載

    labview文檔教程資料(二)

    電子發(fā)燒友網(wǎng)站提供《labview文檔教程資料(二).zip》資料免費下載
    發(fā)表于 04-23 09:28 ?15次下載

    labview文檔教程資料(一)

    電子發(fā)燒友網(wǎng)站提供《labview文檔教程資料(一).zip》資料免費下載
    發(fā)表于 04-23 09:27 ?30次下載

    谷歌文檔管理器新增文檔掃描功能,與微軟Lens相媲美

    用戶打開 APP 的主頁面后,右側(cè)下方可見一個“掃描(Scan)”按鈕,輕點即可開啟相機(jī)界面,用戶可自主選擇執(zhí)行自動采集或手動選取文檔邊框。此外,用戶還能對手動或自動掃描所得的圖像進(jìn)行裁剪、旋轉(zhuǎn)、清洗或添加濾鏡處理
    的頭像 發(fā)表于 03-08 11:18 ?569次閱讀

    直流/直流降壓穩(wěn)壓器技術(shù)文檔集錦

    電子發(fā)燒友網(wǎng)站提供《直流/直流降壓穩(wěn)壓器技術(shù)文檔集錦.pdf》資料免費下載
    發(fā)表于 02-28 09:43 ?0次下載
    直流/直流降壓穩(wěn)壓器技術(shù)<b class='flag-5'>文檔</b>集錦

    能夠生成java文檔注釋的命令

    生成Java文檔注釋的命令是通過使用Java的自帶工具Javadoc來實現(xiàn)的。Javadoc是一個能夠從源代碼中提取注釋并生成文檔的工具。下面是使用Javadoc生成Java文檔注釋的命令
    的頭像 發(fā)表于 11-29 14:12 ?786次閱讀

    java怎么注釋整個文檔

    java中可以使用特殊的注釋格式來注釋整個文檔,這種格式被稱為JavaDoc注釋。JavaDoc注釋可以用于生成HTML格式的文檔,包含類、方法、字段、參數(shù)等的詳細(xì)說明。下面是注釋整個文檔的詳細(xì)步驟
    的頭像 發(fā)表于 11-28 17:14 ?674次閱讀

    java文檔注釋的作用

    Java文檔注釋(JavaDoc)是一種特殊的注釋格式,用于對Java源代碼中的類、方法和字段進(jìn)行解釋和說明。它有助于開發(fā)人員理解代碼的功能、使用和注意事項,并且還可以用于生成軟件文檔
    的頭像 發(fā)表于 11-28 17:02 ?857次閱讀

    漢明碼編譯碼文檔

    電子發(fā)燒友網(wǎng)站提供《漢明碼編譯碼文檔.doc》資料免費下載
    發(fā)表于 11-17 16:04 ?2次下載
    漢明碼編譯碼<b class='flag-5'>文檔</b>

    NANO2用戶文檔

    電子發(fā)燒友網(wǎng)站提供《NANO2用戶文檔.pdf》資料免費下載
    發(fā)表于 11-16 10:44 ?0次下載
    NANO2用戶<b class='flag-5'>文檔</b>