LabVIEW控件——前面板對(duì)象
控件作為前面板上的對(duì)象有自己的獨(dú)特的外觀,同時(shí)引導(dǎo)圖形化語言中的數(shù)據(jù)在前面板和程序框圖中進(jìn)行交換,并具有確定性的數(shù)據(jù)類型。這些對(duì)象還具有極其豐富的屬性節(jié)點(diǎn)和方法節(jié)點(diǎn)以及可自定義的控件類型,這些輔助功能將使得程序設(shè)計(jì)變得更加靈活和方便。
正是由于控件——前面板上的對(duì)象,在圖形化語言中表現(xiàn)出了重要的一些特性,所以我們不得不將其單獨(dú)的列為一章來進(jìn)行討論。因?yàn)榭丶⑸婕盎蛴绊懙綀D形化語言中的很多概念。比如控件的基本性質(zhì)是什么?它是否屬于文本語言中的變量?圖形化語言的數(shù)據(jù)類型等等。
當(dāng)然,本章中的內(nèi)容是否正確,完全屬于個(gè)人的看法和觀點(diǎn),同時(shí)也期待與大家共同交流和討論。
關(guān)于控件的更高級(jí)特性,比如屬性節(jié)點(diǎn)和方法節(jié)點(diǎn)、Xcontrol等,我們將另辟章節(jié)專門討論。
控件的基本特征
控件作為前面板上的對(duì)象,自身有許多基本特征,比如它的外觀和樣式、指向性(方向性)、在程序框圖中的映射、靜態(tài)屬性、存放數(shù)據(jù)等等。這些特性是基于圖形化語言和虛擬儀器的需要所高度抽象出來的。
3.1.1 控件的外觀和樣式
控件作為前面板上實(shí)實(shí)在在的對(duì)象具有它自己獨(dú)特的形狀、色彩和大小?;趫D形化語言和虛擬儀器的需要,前面板上的控件都具有物理意義鮮明的外觀。
這種將控件以直觀、形象化來表示的方法是圖形化語言所特有的。這樣做的目的是:第一,可以滿足圖形化語言拖拽式編程操作的需要;第二,這種直觀、形象化的 表示方法是工程師和科學(xué)家都能夠直接理解的,且滿足虛擬儀器的需要。比如,旋鈕、滑動(dòng)桿、開關(guān)、量表等等,參見下圖。
圖 3-1 直觀、形象化物理意義鮮明的控件外觀
即便是LabVIEW的初學(xué)者或?qū)W生,看到這些直觀、形象化物理意義鮮明的控件也絕對(duì)不會(huì)感到很陌生。當(dāng)然,這也是圖形化語言能夠十分非常貼近用戶的特點(diǎn)之一,同時(shí)也大大降低了程序設(shè)計(jì)中的復(fù)雜度。
依據(jù)操作系統(tǒng)平臺(tái)特性,LabVIEW中提供的控件共有三種樣式:新式、系統(tǒng)和經(jīng)典。
樣式不同的控件會(huì)使它們的外觀略有差異。用戶可以根據(jù)自己的喜好來選擇不同樣式控件進(jìn)行前面板的設(shè)計(jì)。
下面以數(shù)值輸入控件為例來看看它們在不同樣式下的外觀,參見下圖。
依據(jù)操作系統(tǒng)平臺(tái)特性,LabVIEW中提供的控件共有三種樣式:新式、系統(tǒng)和經(jīng)典。
樣式不同的控件會(huì)使它們的外觀略有差異。用戶可以根據(jù)自己的喜好來選擇不同樣式控件進(jìn)行前面板的設(shè)計(jì)。
下面以數(shù)值輸入控件為例來看看它們在不同樣式下的外觀,參見下圖。
圖 3-2 樣式不同的數(shù)值輸入控件
控件的樣式僅僅是外觀存在著某些差異嗎?其實(shí)不然,通過下面的例子就會(huì)進(jìn)一步了解到其它的不同之處。
例3-1 控件的樣式
上圖中控件的背景都是白色的,如果我們期待改變它們的背景色,比如紅色,可以利用控件的屬性節(jié)點(diǎn)來程控的改變它們的背景色,具體的程序框圖可參見下圖。
例3-1 控件的樣式
上圖中控件的背景都是白色的,如果我們期待改變它們的背景色,比如紅色,可以利用控件的屬性節(jié)點(diǎn)來程控的改變它們的背景色,具體的程序框圖可參見下圖。
圖 3-3 例3-1控件的樣式
如果運(yùn)行這個(gè)程序,會(huì)出現(xiàn)“錯(cuò)誤1131的提示:無法使用系統(tǒng)控件的這一屬性”。也就是說系統(tǒng)樣式的數(shù)值輸入控件不能使用這個(gè)屬性。該例表明,樣式不同的 控件不僅僅是外觀上有所差別,其中有些屬性并不支持所有樣式的控件。這是我們在應(yīng)用中遇到的一個(gè)具體問題,所以今后對(duì)于系統(tǒng)控件的使用還需多加小心。
前面板新式控件的子類有:數(shù)值控件;布爾控件;字符串與路徑;數(shù)組、矩陣、簇;列表、表格;圖形;下拉列表控件與枚舉控件;容器控件;I/O控件;變體與類;修飾控件和引用句柄控件等等。
系統(tǒng)和經(jīng)典樣式的控件的子類要比新式樣式的少些。
前面板新式控件的子類有:數(shù)值控件;布爾控件;字符串與路徑;數(shù)組、矩陣、簇;列表、表格;圖形;下拉列表控件與枚舉控件;容器控件;I/O控件;變體與類;修飾控件和引用句柄控件等等。
系統(tǒng)和經(jīng)典樣式的控件的子類要比新式樣式的少些。
3.1.2 控件的指向性
前面,在談到前面板對(duì)象時(shí),我們所使用的都是控件這個(gè)詞。其實(shí),我們前面所談到的控件是所有控件的一個(gè)統(tǒng)稱。因?yàn)樵趫D形化語言中,基于數(shù)據(jù)流運(yùn)行機(jī)制的需 要,前面板控件包含了兩種形式,一種是輸入控件,另一種是顯示控件。也就是說,前面板控件被分成輸入控件和顯示控件兩種。對(duì)于輸入控件它只能提供(發(fā)出) 數(shù)據(jù)而不能接收數(shù)據(jù);而對(duì)于顯示控件只能接收數(shù)據(jù)而不能提供數(shù)據(jù)??丶倪@個(gè)特征被我們稱為:控件的指向性。
控件為什么會(huì)具有指向性?為什么會(huì)分為輸入控件和顯示控件?其實(shí)這是圖形化語言數(shù)據(jù)流運(yùn)行機(jī)制所決定的,也是圖形化語言的一個(gè)顯著特點(diǎn)。前面板上的輸入控 件相當(dāng)于程序中的數(shù)據(jù)來源,便于用戶或其它節(jié)點(diǎn)直接進(jìn)行數(shù)據(jù)輸入操作;而顯示控件相當(dāng)于程序的數(shù)據(jù)終端,便于將最終的處理結(jié)果顯示給用戶。比如,在例 2-1中,我們就是將字符串常數(shù)(也可以是字符串輸入控件)通過連線發(fā)送到字符串顯示控件。
處于編程方便的考慮,被放置在前面板上的輸入控件很容易改變?yōu)轱@示控件或常數(shù)(常數(shù)不是控件),鼠標(biāo)右鍵選擇快捷菜單中的“轉(zhuǎn)換為顯示控件”,反之亦然。 但是,無論怎樣變換控件的指向性,它們在前面板上最終的使用功能必須是唯一確定的。要么是輸入控件要么是顯示控件,決不可能二者間有之。換言之,對(duì)任何一 個(gè)控件而言,它都不可能同時(shí)具備輸入控件和顯示控件的特征。
前面板上控件的指向性有的可以從外觀上分辨出來,有的則無法分辨出來。圖3-1所示的控件從外觀上就無法分辨出來是輸入控件還是顯示控件。有些數(shù)值控件可以通過背景色的深淺可以看出它的指向性。
在圖形化程序設(shè)計(jì)時(shí),一般我們將輸入控件集中放置在前面板的左邊,而將顯示控件集中放置在前面板的右邊。這樣更容易區(qū)分控件的指向性,包括子VI的前面板和連線板也都基本遵循這樣的設(shè)計(jì)原則。
控件為什么會(huì)具有指向性?為什么會(huì)分為輸入控件和顯示控件?其實(shí)這是圖形化語言數(shù)據(jù)流運(yùn)行機(jī)制所決定的,也是圖形化語言的一個(gè)顯著特點(diǎn)。前面板上的輸入控 件相當(dāng)于程序中的數(shù)據(jù)來源,便于用戶或其它節(jié)點(diǎn)直接進(jìn)行數(shù)據(jù)輸入操作;而顯示控件相當(dāng)于程序的數(shù)據(jù)終端,便于將最終的處理結(jié)果顯示給用戶。比如,在例 2-1中,我們就是將字符串常數(shù)(也可以是字符串輸入控件)通過連線發(fā)送到字符串顯示控件。
處于編程方便的考慮,被放置在前面板上的輸入控件很容易改變?yōu)轱@示控件或常數(shù)(常數(shù)不是控件),鼠標(biāo)右鍵選擇快捷菜單中的“轉(zhuǎn)換為顯示控件”,反之亦然。 但是,無論怎樣變換控件的指向性,它們在前面板上最終的使用功能必須是唯一確定的。要么是輸入控件要么是顯示控件,決不可能二者間有之。換言之,對(duì)任何一 個(gè)控件而言,它都不可能同時(shí)具備輸入控件和顯示控件的特征。
前面板上控件的指向性有的可以從外觀上分辨出來,有的則無法分辨出來。圖3-1所示的控件從外觀上就無法分辨出來是輸入控件還是顯示控件。有些數(shù)值控件可以通過背景色的深淺可以看出它的指向性。
在圖形化程序設(shè)計(jì)時(shí),一般我們將輸入控件集中放置在前面板的左邊,而將顯示控件集中放置在前面板的右邊。這樣更容易區(qū)分控件的指向性,包括子VI的前面板和連線板也都基本遵循這樣的設(shè)計(jì)原則。
3.1.3 控件的映射
作為前面板上的對(duì)象,每個(gè)放置在前面板上的控件(裝飾控件除外)都會(huì)在程序框圖上自動(dòng)產(chǎn)生一個(gè)映射——接線端,這種映射關(guān)系是一一對(duì)應(yīng)的。圖3-2中的控 件在圖3-3中產(chǎn)生了相對(duì)應(yīng)的映射關(guān)系。顯然,由于控件的指向性使得接線端也具備了相應(yīng)的指向性,在圖3-3中接線端圖標(biāo)上的小箭頭已經(jīng)清晰的表明它們是 發(fā)送數(shù)據(jù)的輸入控件的接線端。
我們說過,在前面板上有些控件很難區(qū)分它們的指向性,可是在程序框圖中確很容易區(qū)分接線端的指向性,參見下圖。
我們說過,在前面板上有些控件很難區(qū)分它們的指向性,可是在程序框圖中確很容易區(qū)分接線端的指向性,參見下圖。
圖 3-4 接線端和控件的指向性
在上圖中,我們在前面板上放置了一個(gè)數(shù)值輸入控件(數(shù)值)和一個(gè)數(shù)值顯示控件(數(shù)值2) 。它們的外觀,通過控件的背景色可以大致區(qū)分出輸入控件(背景色淺)和顯示控件(背景色深)。可是在程序框圖上,我們通過接線端中的小箭頭可以確定區(qū)分出 那個(gè)是輸入控件(箭頭在右邊,表示發(fā)出數(shù)據(jù))和那個(gè)是顯示控件(箭頭在左邊,表示接收數(shù)據(jù))。還有一個(gè)簡單的辦法也可以幫助我們確定它們的指向性,那就接 線端圖標(biāo)邊框的粗細(xì)。輸入控件接線端邊框粗些,而顯示控件接線端邊框則細(xì)些。
在上圖,我們同樣在前面板上放置了兩個(gè)滑動(dòng)桿控件,其中一個(gè)為輸入控件(滑動(dòng)桿)另一個(gè)為顯示控件(滑動(dòng)桿2)。在前面板上我們基本上看不出它們的指向 性,可見在前面版上劃分區(qū)域(左右)進(jìn)行放置是有好處的。可是在程序框圖中通過任一種方法我們都確可以確定它們的指向性。
在上圖,我們同樣在前面板上放置了兩個(gè)滑動(dòng)桿控件,其中一個(gè)為輸入控件(滑動(dòng)桿)另一個(gè)為顯示控件(滑動(dòng)桿2)。在前面板上我們基本上看不出它們的指向 性,可見在前面版上劃分區(qū)域(左右)進(jìn)行放置是有好處的。可是在程序框圖中通過任一種方法我們都確可以確定它們的指向性。
關(guān)鍵詞:
LabVIEW控件前面板對(duì)
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論