LabVIEW 項(xiàng)目實(shí)踐篇
配置文檔(ini文檔)的應(yīng)用
(V1.0)
LabVIEW 項(xiàng)目實(shí)踐篇:配置文檔(ini文檔)的應(yīng)用
(V1.0)
1. 項(xiàng)目工況:
在樓主做項(xiàng)目的時(shí)候,經(jīng)常會(huì)遇到這樣一種工況,就是需要把一些參數(shù)記下來,下次打開軟件的時(shí)候,還是這個(gè)狀態(tài)。比如說,樓主做一些試驗(yàn)臺(tái)的時(shí)候,需要做一些報(bào)警。例如溫度高報(bào)警,溫度低報(bào)警,液位高報(bào)警,液位低報(bào)警等,就需要把各個(gè)報(bào)警值計(jì)下來。再比如說,要做一些傳感器的標(biāo)定,需要把傳感器的標(biāo)定參數(shù)記下來。在試驗(yàn)元件的時(shí)候,需要把一些常用參數(shù)記下來等等。下面談一談樓主樓主用過的幾種方法。
2. 實(shí)現(xiàn)方案:
1.當(dāng)前值設(shè)置為默認(rèn)值:用過Labview的同學(xué),最先想到的應(yīng)該就是 LV自帶的默認(rèn)值功能了。在一下工況下,默認(rèn)值確實(shí)是個(gè)很方便的功能。這個(gè)功能,就相當(dāng)于咋們常說的缺省值。
舉個(gè)例子:一個(gè)數(shù)字控件,比如樓主最常用的電機(jī)轉(zhuǎn)速。在項(xiàng)目中常用到變頻器,用一個(gè)控件控制變頻器的轉(zhuǎn)速。
眾所周知,電機(jī)轉(zhuǎn)速不能太低。當(dāng)不設(shè)置 默認(rèn)值的時(shí)候,LV數(shù)值控件默認(rèn)值為0 ,所以這時(shí)候,就需要給 控件來個(gè)默認(rèn)值,當(dāng)程序剛打開的時(shí)候,讓電機(jī)轉(zhuǎn)速設(shè)置為400/min。
設(shè)置如下:
當(dāng)設(shè)置完成時(shí),程序打包以后,每次程序打開以后,此控件的默認(rèn)值就是400。
這種用法樓主還經(jīng)常用在一下缺省值的設(shè)定上。比如說,樓主經(jīng)常要做一些報(bào)表,報(bào)表要填寫 姓名,日期等。通常會(huì)把最常用的一個(gè)狀態(tài)設(shè)置為缺省值,方便用戶來填寫。再比如說在填一些電子表格的時(shí)候,國(guó)際:中國(guó),名族:漢。你來一個(gè)缺省值,默認(rèn)值就會(huì)很方便。如果對(duì)方部是中國(guó),不是漢族,只要一改就可以了。
下面舉例:一批被試閥 型號(hào)為TT-112543-XXX,前面的值都一樣,只有XXX需要改變。這時(shí)候,就可以把TT-112543-001設(shè)置為缺省值,只需要改變后幾位就可以了。用戶也不容易輸錯(cuò)。
這種辦法在以上這種,不經(jīng)常變動(dòng)的工況下適用。一旦默認(rèn)值確定下來,再就不好改。
2.用PLC記錄值:這是一種偷懶的方法,在一定場(chǎng)合,可以用一下,但弊端很大。
樓主經(jīng)常做一些測(cè)控項(xiàng)目,最常用到的硬件配置就是工控機(jī)+板卡+PLC這樣的上下位機(jī)結(jié)構(gòu)。在一些時(shí)候工控下,可以用一下。
具體做法就是,在PLC開辟一塊存儲(chǔ)控件。比如西門子PLC中設(shè)置一個(gè)DB數(shù)據(jù)塊。然后把一些變量和變量綁定就可以了。比如說,溫度高報(bào)警值:DB1.DBD0,溫度低報(bào)警值:DB1.DBD4。然后在PLC里面給兩個(gè)值設(shè)置一個(gè)初始值,如溫度高報(bào)警DB1.DBD0 初始值70,溫度低報(bào)警DB1.DBD4初始值0,然后變量綁定就可以了。
需要更改值的時(shí)候,在上位機(jī)更改就可以了。比如要把溫度低報(bào)警改為10度。只要更改這個(gè)控件值就可以了,PLC自動(dòng)記錄此值。下次開機(jī)時(shí),由于控件和PLC通訊一般都是先讀后寫的,上位機(jī)會(huì)自動(dòng)讀取PLC存儲(chǔ)的值,這樣就起到了數(shù)據(jù)記錄的作用。
但這種用法不可靠,在一些不是很重要的場(chǎng)合可以偷懶用一下,但經(jīng)常會(huì)遇到數(shù)據(jù)丟失的情況。
3. 其余:還用很多記錄的方式。樓主經(jīng)常在QQ群里面看到,還有用Excel記錄參數(shù)的。還有用別的文本方式記錄的。但都不是很理想。
今天給大家推薦一種,用來記錄配置參數(shù)的文本ini文檔。樓主目前每一個(gè)項(xiàng)目都會(huì)寫一個(gè)INI文檔,非常方便。
4. 什么是ini文件
ini文件又稱配置文件,它是一種以特定方式組織操作系統(tǒng)或軟件配置信息的文本文件。它最早出現(xiàn)于Windows操作系統(tǒng)中,用于統(tǒng)管Windows的各項(xiàng)配置,后來,其理念被廣泛使用到其它操作系統(tǒng)和各種應(yīng)用軟件中,常用于保存程序的一些配置參數(shù)。
這種配置文件的文件擴(kuò)展名多為INI,故得此名。INI是英文“初始化”(initialization)的縮寫。正如該術(shù)語(yǔ)所表示的,INI文件常被用來對(duì)操作系統(tǒng)或特定程序初始化或進(jìn)行參數(shù)設(shè)置。由于ini配置文件使用方便簡(jiǎn)單直觀,越來越多的編程語(yǔ)言都支持了ini文件的生成和讀取。
Q:長(zhǎng)什么樣?
是不是很熟系,咋們?cè)谘b一些程序的時(shí)候,經(jīng)常碰到。一方面就長(zhǎng)上面這樣。另一方面擴(kuò)展名為ini。第三,在windos系統(tǒng)下可以用txt直接打開,不需要額外的軟件。
Q:怎么創(chuàng)建?
創(chuàng)建一個(gè)txt,改名稱,改擴(kuò)展名為INI就可以了。
如下圖所示:當(dāng)更改完擴(kuò)展名后,圖標(biāo)也會(huì)相應(yīng)的改變。
5. INI文檔怎么讀寫?存儲(chǔ)規(guī)則?
ini文件由段(Section)、鍵(Key)和鍵值(Value)三部分組成。
每個(gè)ini文件由一個(gè)或多個(gè)段組成,由“[ ]”內(nèi)部的字符串來區(qū)別不同的段,同一個(gè)ini文件中的段名必須唯一。702注:這個(gè)很重要,必須唯一,程序才能檢索,避免張冠李戴。
每個(gè)段由一系列由“=”隔開的一對(duì)鍵和鍵值組成,鍵名代表配置選項(xiàng),值代表該選項(xiàng)的設(shè)置,同一個(gè)段內(nèi)鍵名必須唯一,但不同段之間的鍵名并無關(guān)系。
等號(hào)左邊的字符串為鍵名,右邊的字符串為鍵值,在LabVIEW中,鍵值的類型可以是布爾、I32、U32、雙精度浮點(diǎn)數(shù)、字符串和路徑等。
初學(xué)者碰到段,鍵,鍵值這幾個(gè)名次就暈,先別暈,舉個(gè)例子就知道。
比如說,上面舉過的例子——報(bào)警值的設(shè)定。
有液位高,液位低,液位極低,溫度高,溫度低,溫度極高。
配置文檔中參數(shù)很多,需要分組管理好一些,起個(gè)名子吧,就叫報(bào)警值。用[]括起來。
[報(bào)警值] [段]
液位低 = 10 鍵 = 鍵值
液位高 = 60
···
這就可以了。就這么簡(jiǎn)單。
6. LabVIEW中怎么讀寫?難不難?實(shí)例看
Q:難不難?
不難。很簡(jiǎn)單。
以樓主的習(xí)慣,先用起來,后介紹規(guī)則。
先創(chuàng)建一個(gè)VI,起名為配置文檔(INI文檔應(yīng)用)。
放6個(gè)數(shù)值控件,分別命名為液位高,位移低等,分別設(shè)置初始值,此方法在前面介紹過,沒認(rèn)真看的朋友去前面看看。放兩個(gè)按鈕,一個(gè)命名為參數(shù)修改。另一個(gè)命名為恢復(fù)默認(rèn)值。
編程思路:1.以上參數(shù)為默認(rèn)值,或稱為出廠設(shè)置。
2.需要修改參數(shù)時(shí),修改參數(shù),并點(diǎn)擊參數(shù)修改,系統(tǒng)詢問:是否確認(rèn)修改,確認(rèn)后,跳出對(duì)話框,參數(shù)修改完成。
3.需要恢復(fù)出廠設(shè)置時(shí),點(diǎn)擊恢復(fù)出廠設(shè)置按鈕,并彈出對(duì)話框,恢復(fù)出廠設(shè)置完成。
為了便與介紹,先寫一個(gè)值:段名:液位報(bào)警 鍵:液位高 鍵值:液位報(bào)警值。程序如下圖所示。
功能,點(diǎn)擊參數(shù)修改 >>跳出對(duì)話框“確認(rèn)參數(shù)修改?”,點(diǎn)擊確認(rèn),把液位高的新值存起來。然后對(duì)話框:參數(shù)配置完成!。
程序運(yùn)行正常,來看一看配置文檔。
自動(dòng)新建了一個(gè)配置文檔.ini文件。
雙擊打開:如圖所示,段[液位報(bào)警],液位高 = 600.00 702注:600.00這個(gè)精度可以設(shè)置,不設(shè)置時(shí),默認(rèn)為6位。
如圖所示,寫的程序就這么簡(jiǎn)單:
總結(jié)起來就三條:1.打開 2.寫 3.關(guān)閉。
Q:寫完以后,什么時(shí)候讀?
當(dāng)然是,程序打開的時(shí)候就讓讀。程序一打開,自動(dòng)把液位高的值,讀取到控件值,下面寫一個(gè)讀的程序。
為了便與讀者觀察,我們先在《配置文檔》中把液位高報(bào)警值修改為 800,然后,跳出對(duì)話框“讀取成功”。打開程序,觀察是否讀取成功。
打開程序,看看。
程序的讀寫就是這么簡(jiǎn)單。
樓主喜歡先介紹實(shí)例,再介紹用法。一般實(shí)例介紹萬(wàn),用法也就大差不差的明白了。
下面介紹INI 文檔的幾個(gè)VI和主要事項(xiàng)。
7. INI 子VI介紹
Q:在哪?
702注:在存儲(chǔ),寫入時(shí),把“必要時(shí)創(chuàng)建文件(T)”設(shè)置為T,找不到此文檔時(shí),直接創(chuàng)建一個(gè)即可。
樓主的做法一般是:先事先創(chuàng)建一個(gè),避免讀寫時(shí)出錯(cuò)。創(chuàng)建的方法,前面說了。
Q: 需不需要單獨(dú)裝工具包?
不需要,在安裝LV運(yùn)行環(huán)境時(shí),都會(huì)自帶INI 子VI。
8. INI OPENG函數(shù)
LV自帶的INI子VI很好用,理解起來也很簡(jiǎn)單。但是,每一個(gè)讀,或每一個(gè)寫,只能讀寫一個(gè)值。當(dāng)有很多值要讀寫的時(shí)候就比較麻煩了,如一個(gè)段里面既有數(shù)字量,又有布爾量等時(shí),就需要一個(gè)一個(gè)的讀,一個(gè)一個(gè)的寫。
下面介紹一中,一次讀寫的例子。
如圖所示,這是openG 中INI文檔的讀寫。還是上面的例子,讀寫試試。
這里的OPEN和CLOSE就是LV本身提供的節(jié)點(diǎn),其它的分別介紹一下:
Read INI Cluster: 讀取簇的配置
Write INI Cluster: 寫簇的配置
這兩個(gè)VI讀寫INI時(shí),SETION部分就是簇的名稱
Read Section Cluster:讀取指定SECTION下的簇配置
Write Setion Cluster:寫入指定SECTION的簇配置
這兩個(gè)VI同上面的類似,但是可以指定SETION名稱,這樣可以在同一SECTION下,寫入或者讀取多個(gè)CLUSTER配置。
Read Panel: 讀取指定的控件面板(恢復(fù)上次值)
Write Panel:寫入指定的VI的控制面板當(dāng)前值到配置文件(供下次調(diào)用)
這兩個(gè)VI的輸入是VI參考,既可以寫入或者讀本身,又可以在一個(gè)VI中來操作另一個(gè)VI
READ KEY:可以讀取特定SECTION下特定CLUSTER中的元素的鍵值
WRITE KEY:寫入特定SECTION下特定CLUSTER中的元素的鍵值
從上面的介紹就可知,為什么簡(jiǎn)單,一次就可以讀、寫很多值,現(xiàn)在明白了,就是用簇。
從上圖可知:1.簇名 就是段名 。2.簇內(nèi)的控件標(biāo)簽名為鍵名。 3.控件值為鍵值。
下面寫讀取程序。
還是老辦法,改幾個(gè)值,然后驗(yàn)證一下。每個(gè)值加50,看運(yùn)行后的控件值。
運(yùn)行成功。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
-
LabVIEW
+關(guān)注
關(guān)注
1989文章
3667瀏覽量
331252
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
輔助協(xié)作的簡(jiǎn)單原理圖文檔

華企盾:守護(hù)企業(yè)機(jī)密,文檔加密軟件推薦
DLPC3478怎么去做ini配置文件和firmware呢 ?
Spire.Cloud.Excel云端Excel文檔處理SDK

KiCad 9 探秘(七):使用 Jobset 批量輸出文檔(歸檔)

Spire.Cloud.Word云端Word文檔處理SDK介紹

如何管理企業(yè)圖紙文檔:探索三品圖紙文檔管理軟件的卓越解決方案

Litera Drafting:幫助改進(jìn)發(fā)布文檔的方式(十)
HarmonyOS開發(fā)指導(dǎo)類文檔更新速遞(下)

HarmonyOS開發(fā)指導(dǎo)類文檔更新速遞(上)

評(píng)論