色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > LabVIEW程序的調(diào)試方式

          LabVIEW程序的調(diào)試方式

          作者: 時間:2017-01-09 來源:網(wǎng)絡(luò) 收藏



          圖 7 Breakpoint Manager對話框

          1.4高亮工具(Highlight)

          高亮工具是LabVIEW相對于傳統(tǒng)的文本式語言的IDE環(huán)境所獨有的調(diào)試工具,也是數(shù)據(jù)流程序設(shè)計思想的一種體現(xiàn)。打開工具欄中的Highlight工具(如圖 8所示)并單擊“Run”按鈕,程序開始在Highlight模式下運(yùn)行。此時根據(jù)數(shù)據(jù)流的運(yùn)行順序,LabVIEW將在各個節(jié)點的輸入和輸出的端子上顯示當(dāng)前端子上的數(shù)據(jù),并且以小圓點的方式顯示數(shù)據(jù)流的執(zhí)行方式。程序員可以比較清楚地觀察到數(shù)據(jù)流的走向以及源代碼的執(zhí)行情況,這極大地方便了LabVIEW開發(fā)者對某部分代碼的詳細(xì)調(diào)試。


          圖 8 Highlight工具
          對初學(xué)者而言,這種調(diào)試方式無疑是直觀和清楚的。但是同時對一些VI也會帶來一些影響,如某些對時間有著嚴(yán)格控制的VI。由于在Highlight模式中,LabVIEW會減慢程序執(zhí)行的速度,因此有些與時間有關(guān)的事件或者Bug會被掩蓋和忽略。這也是為什么有時候程序在Highlight模式下運(yùn)行正常,而回到普通模式時卻無法返回正確的結(jié)果。此時,就需要使用Breakpoint和Probe工具(下一小節(jié)介紹)聯(lián)合調(diào)試,找到程序出現(xiàn)問題的原因。

          1.5探針工具(Probe)

          探針并不是LabVIEW所特有的調(diào)試工具,在很多的文本式語言的IDE中都存在著Watch窗口用來實時監(jiān)視某些變量的值,LabVIEW中的探針與此類似,也是用來實時監(jiān)測程序背面板中任一連接線(不是任一節(jié)點)上的值。
          右擊源代碼中任一連線處,選擇Probe菜單項將彈出當(dāng)前位置的探針,如圖 9所示。LabVIEW會自動判斷當(dāng)前位置的數(shù)據(jù)類型從而調(diào)用不同的探針以顯示當(dāng)前位置的數(shù)據(jù)。當(dāng)VI的背面板關(guān)閉時,那么該VI中所有的探針窗口也會自動關(guān)閉。運(yùn)行VI,當(dāng)運(yùn)行到探針的位置時將在探針窗口中立即顯示當(dāng)前的值。


          圖 9 Probe工具
          為了定位到錯誤源或者找到某一時刻的運(yùn)行結(jié)果,往往程序員需要配合斷點和探針工具,在適當(dāng)?shù)奈恢迷黾訑帱c,而適當(dāng)?shù)奈恢眉尤胩结??;蛘咧苯釉O(shè)置探針工具,讓探針捕獲到某一特定的條件是程序暫停運(yùn)行。如在圖 9中,選擇Custom Probe>>Conditional String Probe菜單項將彈出圖 10所示的探針窗口。在Condition頁中,可以設(shè)置程序暫停的條件。當(dāng)滿足該條件時,程序?qū)⒘⒓丛诋?dāng)前探針位置暫停。


          圖 10 Conditional String Probe
          從圖 9和圖 10可以看出,探針的主要功能就是將當(dāng)前連線上的數(shù)據(jù)以控件(Indicator)的形式表示出來。由于在LabVIEW中,數(shù)據(jù)的顯示方式是可以自定義的,如使用Type Def.控件修改某些控件的外觀或者將String控件以****的密碼方式顯示,因此LabVIEW提供了自定義探針技術(shù)允許程序員根據(jù)實際情況使用任意預(yù)定義的探針。
          在圖 9的快捷菜單中選擇Custom Probe>>New…菜單項,將彈出圖 11所示的自定義探針向?qū)А3绦騿T可以選擇從現(xiàn)有的探針文件(從后面可以看出,事實上也是一個vi文件)新建探針或者直接新建一個空的探針。選擇“Create a new probe”項。


          圖 11 Create New Probe_1
          單擊Next按鈕進(jìn)入圖 12所示的界面。Filename表示探針文件的名字;Window title and shortcut menu name表示探針VI的標(biāo)題欄名字同時也是使用探針時出現(xiàn)在快捷菜單中的名字;Directory to save the probe表示探針的存儲位置。


          圖 12 Create New Probe_2
          單擊Save按鈕,LabVIEW會自動生成圖 13所示的探針VI。不要刪除界面上的任何控件:
          1. String型控件表示探針位置當(dāng)前的數(shù)值;
          2. Boolean型控件表示條件斷點,當(dāng)該值被設(shè)置為TRUE時,程序?qū)⒃诋?dāng)前的斷點處暫停。
          實際上,程序員可以任意修改這兩個控件的外觀,如設(shè)置為自定義類型、修改控件的Label或Caption,甚至可以在當(dāng)前VI中加入新的控件。但是最好不要修改控件的類型和Connection(輸入輸出連接端子)定義方式,因為LabVIEW會根據(jù)控件的類型選擇在不同的位置調(diào)用不同的探針VI。


          圖 13 String Probe_Custom.vi
          本例將修改String Probe_Custom.vi(下載)使得程序以不同的方式顯示String的值,并且設(shè)置為當(dāng)值為“Hello”時暫停程序運(yùn)行。如圖 14所示,加入適當(dāng)?shù)拇a,并調(diào)整Probe的前面板窗口大小(這也是最終探針的顯示大?。?br />

          圖 14 修改后的String Probe_Custom.vi
          新建一個VI,并加入一個String控件,此時在右鍵快捷菜單中選擇Custom Probe>> My First String Probe菜單項,如圖 15所示。


          圖 15 調(diào)用String Probe_Custom探針
          此時,LabVIEW會自動調(diào)用String Probe_Custom.vi,并以探針窗口的樣式顯示,如圖 16所示。在運(yùn)行VI前修改Display Style中的值并運(yùn)行VI,那么String顯示框?qū)⒆詣右韵鄳?yīng)的方式顯示數(shù)值。


          圖 16 String Probe_Custom探針窗口
          從上面的調(diào)用過程可以看出,LabVIEW中的探針實際上是對VI的調(diào)用。因此,在編輯探針VI時需要遵循以下的原則:
          1. 不要在探針VI中加入任何等待或長時間執(zhí)行的代碼,如循環(huán)、事件、隊列等,否則LabVIEW在運(yùn)行時會自動掛起。
          2. 不要修改探針VI的默認(rèn)屬性,如設(shè)置為Modal等。但是可以修改它的標(biāo)題欄和大小。
          只有當(dāng)程序運(yùn)行到探針位置時,探針窗口才顯示當(dāng)前運(yùn)行值,并且這些值在連線中不會保存。也就是說如果需要探測某個位置的值必須要在運(yùn)行之前在該位置加入探針,否則如果是在程序運(yùn)行之后再次加入探針,那么這些新加入的探針將無法顯示程序之前的運(yùn)行值。
          LabVIEW提供了一種工具允許程序中的連接線保留上一次的運(yùn)行值。單擊圖 17中的“Retain Wire Values”按鈕打開該工具,此時LabVIEW將保留當(dāng)前VI上一次的運(yùn)行值。當(dāng)VI運(yùn)行完成后,再次添加探針,則探針會自動立即顯示該位置上一次的運(yùn)行值。當(dāng)然,這也會影響程序運(yùn)行的效率,因此當(dāng)VI退出內(nèi)存時,LabVIEW會自動關(guān)閉該工具。


          圖 17 Retain Wire Values工具

          1.6VI窗口管理(VI Windows)

          在調(diào)試過程中,為了追蹤子VI的運(yùn)行狀態(tài),經(jīng)常需要打開很多的VI窗口。往往在關(guān)閉這些窗口時反復(fù)地按下“Ctrl + W”鍵,LabVIEW提供了同時關(guān)閉這些VI的方法。單擊Windows>>All Windows…(快捷點是Ctrl + Shift + W)菜單項,將彈出圖 18所示的VI窗口管理對話框。選擇需要關(guān)閉的窗口(可以使用Ctrl鍵或Shift鍵多選),單擊“Close Windows”按鈕就可以關(guān)閉選擇的窗口。


          圖 18 VI窗口管理
          【小技巧】
          在LabVIEW中,按下Ctrl + Tab鍵能夠在不同的LabVIEW窗口之間切換(Windows的Alt + Tab鍵是在所有的窗口之間切換)。

          1.7小結(jié)

          在實際的應(yīng)用中,程序員通常將上述多種調(diào)試工具綜合起來使用。根據(jù)多種提示和輔助信息可以快速地定位錯誤源,并觀察部分代碼執(zhí)行的詳細(xì)過程,最終排除錯誤,達(dá)到調(diào)試程序的目的。

          上一頁 1 2 下一頁

          關(guān)鍵詞: LabVIEW程序調(diào)試方

          評論


          技術(shù)專區(qū)

          關(guān)閉