官术网_书友最值得收藏!

0.6 VI調試方法

在編寫了LabVIEW的程序代碼后,一般需要對程序進行調試。調試的目的是保證程序沒有語法錯誤,并且能夠按照用戶的目的正確運行,得到正確的結果。

LabVIEW提供了許多調試工具,在其“調試工具選項”對話框中可以對這些調試工具進行設置。選擇“工具”菜單中的“選項”命令,在“選項”對話框的下拉列表中選擇“調試”,即可打開調試工具“選項”對話框,如圖0-29所示。

圖0-29 調試工具“選項”對話框

在“選項”對話框中有四個選項,含義如下。

(1)高亮顯示執行過程時顯示數據流:當程序高亮執行時,在代碼窗口中沿著數據流的方向,用動畫的方式顯示數據流的流動。用這種方式調試可以很清楚地看到程序的流程,但是會降低程序的性能和執行速度。

(2)高亮顯示執行過程時自動探測值:當程序高亮執行時,自動加入探針,探測數值型數據,并在代碼窗口中顯示其數值。

(3)默認在錯誤列表對話框中顯示警告:在錯誤列表中同時顯示警告信息。很多時候警告信息提示了程序中潛在的錯誤。

(4)啟動時提示調查內部錯誤:在LabVIEW程序啟動時,提示程序出現的內部錯誤。

LabVIEW 8.2提供了強大的容錯機制和調試手段,如設置斷點調試和設置探針,這些手段可以輔助用戶進行程序的調試,發現并改正錯誤。這一節將主要介紹LabVIEW 8.2提供的用于調試程序的手段及調試技巧。

1.找出語法錯誤

LabVIEW程序必須在沒有基本語法錯誤的情況下才能運行,LabVIEW能夠自動識別程序中存在的基本語法錯誤。如果一個VI程序存在語法錯誤,則在面板工具條上的運行按鈕將會變成一個折斷的箭頭,表示程序存在錯誤不能被執行。單擊運行按鈕,會彈出錯誤列表,如圖0-30所示。

圖0-30 錯誤列表

單擊錯誤列表中的某一錯誤項,會顯示有關此錯誤的詳細說明,幫助用戶更改錯誤。單擊“顯示警告”復選框,可以顯示程序中的所有警告。

當用戶使用LabVIEW 8.2的錯誤列表功能時,有一個非常重要的技巧,就是當用戶雙擊錯誤列表中的某一錯誤項時,LabVIEW會自動定位到發生該錯誤的對象上,并高亮顯示該對象,如圖0-31所示,這樣,便于用戶查找錯誤,并更正錯誤。

圖0-31 高亮顯示程序中的錯誤

2.設置斷點調試

為了查找程序中的邏輯錯誤,用戶也許希望框圖程序一個節點一個節點地執行。使用斷點工具可以在程序的某一點暫時中止程序執行,用單步方式查看數據。當用戶搞不清楚程序中哪里出現錯誤時,設置斷點是一種排除錯誤的手段。在LabVIEW中,從工具選板選取斷點工具,如圖0-32所示。在想要設置斷點的位置單擊鼠標,便可以在那個位置設置一個斷點。另外一種設置斷點的方法是在需要設置斷點的位置單擊鼠標右鍵,從彈出的快捷菜單中選擇“設置斷點”命令,即可在該位置設置一個斷點。如果想要清除設定的斷點,只要在設置斷點的位置單擊鼠標即可。

圖0-32 設置斷點

設置斷點后的程序后面板如圖0-33所示。斷點對于節點或者圖框顯示為紅框,對于連線顯示為紅點。

圖0-33 設置斷點后的程序后面板

運行程序時,會發現程序每當運行到斷點位置時會停下來,并高亮顯示數據流到達的位置,這樣每個循環程序會停下來兩次,用戶可以在這個時候查看程序的運算是否正常,數據顯示是否正確。

程序停止在斷點位置時的后面板如圖0-34所示,從圖中可以看出,程序停止在斷點位置,并高亮顯示數據流到達的對象。按下單步執行按鈕,閃爍的節點被執行,下一個將要執行的節點變為閃爍,指示它將被執行。用戶也可以單擊暫停按鈕,這樣程序將連續執行直到下一個斷點。當程序檢查無誤后,用戶可以在斷點上單擊鼠標以清除斷點。

圖0-34 程序停止在斷點位置時的后面板

3.設置探針

在有些情況下,僅僅依靠設置斷點還不能滿足調試程序的需要,探針便是一種很好的輔助手段,可以在任何時刻查看任何一條連線上的數據,探針猶如一顆神奇的“針”,能夠隨時偵測到數據流中的數據。

在LabVIEW中,設置探針的方法是用工具選板中的探針工具,如圖0-35所示,單擊后面板中程序的連線,這樣可以在該連線上設置探針以偵測這條連線上的數據,同時在程序上將浮動顯示探針數據窗口。要想取消探針,只需要關閉浮動的探針數據窗口即可。

圖0-35 設置探針

設置好探針的程序后面板如圖0-36所示。運行程序,在探針數據窗口中將顯示出設置探針處的數據。

圖0-36 設置好探針的程序后面板

利用探針可以檢測數據的功能,用戶可以了解程序運行過程中任何位置上的數據,即可知道數據流在空間的分布。利用上面介紹的斷點,可以將程序中止在任意位置,即可知道數據在任何時間的分布。那么綜合使用探針和斷點,用戶就可以知道程序在任何空間和時間的數據分布了。這一點對LabVIEW程序的調試非常重要。

4.高亮顯示程序的運行

有時用戶希望在程序運行過程中,能夠實時顯示程序的運行流程,以及當數據流流過數據節點時的數值,LabVIEW 8.2為用戶提供了這一功能,這就是以“高亮顯示”方式運行程序。

單擊LabVIEW工具欄上的高亮顯示程序“運行”按鈕,程序將會以高亮顯示方式運行。這時該按鈕變為,如同一盞被點亮的燈泡。

下面以高亮顯示的方式執行0.5 節中的例程。在程序的運行過程中,程序的后面板如圖0-37所示。在這種方式下,VI程序以較慢的速度運行,沒有被執行的代碼灰色顯示,執行后的代碼高亮顯示,并顯示數據流線上的數據值。這樣,用戶就可以根據數據的流動狀態跟蹤程序的執行。用戶可以很清楚地看到程序中數據流的流向,并且可以實時地了解每個數據節點的數值。

圖0-37 以“高亮”方式運行程序

在多數情況下,用戶需要結合多種方式調試LabVIEW程序,例如,用戶可以在設置探針的情況下,高亮顯示程序的運行,并且單步執行程序。這樣程序的執行細節將會一覽無余。

5.單步執行和循環運行

單步執行和循環運行是LabVIEW支持的兩種程序運行方式,與正常運行方式不同的是,這兩種運行方式主要用于程序的調試和糾錯。它們是除了設置斷點和探針兩種方法外,另外一種行之有效的程序調試和糾錯機制。

在單步執行方式下,用戶可以看到程序執行的每一個細節。單步執行的控制由工具欄上的三個按鈕(單步入)、(單步跳)和(單步出)完成。這三個按鈕表示三種不同類型的單步執行方式。(單步入)表示單步進入程序流程,并在下一個數據節點前停下來;(單步跳)表示單步進入程序流程,并在下一個數據節點執行后停下來;(單步出)表示停止單步執行方式,即在執行完當前節點的內容后立即暫停。

下面仍舊結合上面的例程介紹單步運行調試程序的方法。

單擊(單步入)按鈕,程序開始以單步方式執行,程序每執行一步,便停下來并且高亮顯示當前程序執行到的位置,如圖0-38所示。

圖0-38 單步執行程序

每當程序完成當前循環,開始下一個循環時,會顯示一個箭頭,以指示循環執行的方向。

在LabVIEW中支持循環運行方式,LabVIEW 8.2中的循環運行按鈕為。所謂循環運行方式,是指當程序中的數據流流經最后一個對象時,程序會自動重新運行,直到用戶手動按下“停止”按鈕為止。

主站蜘蛛池模板: 肇东市| 鄂伦春自治旗| 福贡县| 滨海县| 赫章县| 西乌| 庆阳市| 丰原市| 两当县| 达尔| 拉萨市| 高邮市| 腾冲县| 光山县| 安图县| 黄陵县| 布尔津县| 安龙县| 满城县| 台南市| 靖江市| 东台市| 青铜峡市| 思茅市| 房产| 汝州市| 会宁县| 武鸣县| 常山县| 灵山县| 禄劝| 徐州市| 宣恩县| 潞西市| 遂宁市| 乌兰浩特市| 商洛市| 阿克陶县| 海淀区| 江源县| 崇明县|