999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

LABVIEW中條件結構的教學探討

2022-05-30 18:41:38陳光紅唐浩凱張茂麗王子豪
電腦知識與技術 2022年21期

陳光紅 唐浩凱 張茂麗 王子豪

摘要:條件結構是LABVIEW中的重要結構,是條件控制跳轉結構,根據輸入的條件執行子程序。以條件結構為項目載體,通過對4個任務的LABVIEW編程實現,囊括了條件結構分支選擇器可接受的5種數據類型:布爾型、數值型、枚舉型、字符串型、錯誤簇,講解了編程過程中的易錯點,總結了條件結構的使用注意事項,并進行了教學反思,以期學生對LABVIEW的條件結構理解更深刻,對虛擬儀器課程更感興趣,能夠在更多的場合想到應用條件結構,解決實際問題。

關鍵詞:條件結構;LABVIEW;分支選擇器;虛擬儀器

中圖分類號:G642? ? ? 文獻標識碼:A

文章編號:1009-3044(2022)21-0127-03

開放科學(資源服務)標識碼(OSID):

虛擬儀器技術是利用高性能的模塊化硬件,結合高效靈活的軟件來完成各種測試、測量和自動化應用[1],如劉榮譽等研究的基于LABVIEW的PCB平面繞組力矩電機狀態監測系統設計[2]、雷淑芳等研究的基于LabVIEW的點型感煙火災探測器標定控制系統[3]。LABVIEW(實驗室虛擬儀器工程平臺)是NI公司開發的軟件,它是一種圖形化的編程語言。對于高職學生來說,接觸過幾門編程語言,如C語言、VHDL語言、Python語言等,對于代碼語言學習起來有一些難度,而對于LABVIEW語言因為比較直觀、形象,上手比較快,學習操作的興趣也比較高。LABVIEW中的結構包括FOR循環、WHILE循環、條件結構、順序結構、事件結構等,可以實現循環控制、條件分支控制和順序控制等。

條件結構是LABVIEW“結構”選板中一個重要的結構,在需要經過判斷后有多個分支時使用較方便。但是學生對于條件結構的適用場景、具體的操作細節還有一些疑問,筆者在教學過程中發現有些錯誤是學生經常會犯或不注意的,導致程序無法運行,自己又找不到問題所在,從而無法完成要實現的功能。

條件結構與順序結構、事件結構類似之處是都屬于層次結構,層次結構指按照一定規則分為幾種情況,分別進行層次顯示,不同的數據進入不同的層次中,進行不同的設計[4]。

條件結構如圖1所示,它由結構框架、條件選擇端口、選擇器標簽、遞增/遞減箭頭組成[1]。條件結構在使用時要注意,“?”即條件選擇端口分支選擇器必須要有輸入數據與之相連,分支選擇器默認是布爾型的,輸入數據可以是布爾型、數值型、字符串型、枚舉類型或錯誤簇。連線至條件選擇器的數據類型決定了可輸入條件選擇器標簽的分支。根據輸入數據的值,選擇要執行的分支。選擇器標簽的個數可以根據實際需要來確定,在選擇器標簽上選擇在前面添加分支或在后面添加分支,就可以增加選擇器標簽的個數[4]。條件結構默認有兩個分支:真、假分支,當多于兩個分支時,需在選擇器值處進行編輯、添加分支。

下面通過一些任務來說明:何時選擇使用條件結構、條件結構如何去編寫程序框圖、條件結構的輸入輸出如何賦值等,以幫助學生解決使用條件結構時經常遇到的問題。

1 條件結構分支選擇器可接受的數據

條件結構的分支選擇器接線端可接受五種數據類型:布爾、錯誤簇、整數、枚舉和字符串。下面以任務的形式來說明各種數據類型在使用時的易錯點和注意事項。

1.1布爾型

任務1:求函數[fx=x-1,x≥0x+2,x<0 ]的函數值

這是一個分段函數,先判斷x的范圍,需要分成兩個分支,默認的條件結構里真、假兩個分支夠用。

需要注意的是:分支不一定要使用輸入數據或提供輸出數據,但只要有一個分支提供輸出數據,所有分支條件都必須與輸出通道連接,否則會使隧道為空心狀。如只在真分支里編程后、當假分支里為空時,隧道右端顯示空心小方塊,菜單里運行箭頭是斷的,會有出錯提示“隧道未賦值”,無法運行程序。 這是因為,條件結構的執行是根據外部控制條件,從其所有的子框架中選擇其一執行的,子框架的選擇不分彼此,所以每個子框架都必須連接一個數據。對于一個框架通道,子框架如果沒有連接數據,則在根據控制條件執行時,框架通道就沒有向外輸出數據的來源,程序就會出錯[4]。在假分支里編程后調試,當輸入任一非負數如4,運行結果為3;當輸入一負數如-4,運行結果為-2。與分段函數表達式值相符。

此題與分支選擇器相連的是布爾量,“?”顯示為綠色。判斷的條件就是x是否大于零,“是”對應真分支,“否”對應假分支,分成兩個分支。

借助條件結構不但可以求兩個分支的函數值,還可以求多個分支的函數值,需將各個分支的范圍先設置好,輸入給條件分支選擇器。

1.2枚舉型

任務2:某酒店各天的特價菜如圖2所示,請編程實現在前面板輸出指定星期特價菜

此任務有7種情況,7個分支,條件結構默認的兩個分支不夠用,可用組合框控件將一周7天分別從星期日到星期六列舉出來。先將組合框進行編輯,將條件結構分支選擇器與“星期”枚舉控件相連后,對條件結構各個分支的值分別編輯,使之與枚舉控件的值對應。

這里容易出錯的是,星期日等的雙引號不是輸進去的,回車后會自動加雙引號;要將任一分支設為默認分支,否則會提示出錯 “條件結構:部分選擇器值無對應分支”,要注意的是“默認”二字并不是自己輸進去的,而是在某一分支上右擊后選擇:本分支設置為默認分支。

將每個分支進行編程運行的結果如圖3,以星期日的特價菜為例。

此題與分支選擇器相連的“星期”是組合框,屬于字符串型,“?”顯示為粉色。組合框也可換成字符串控件或枚舉控件,只是字符串控件在調試運行時需手動輸入“星期日”等,枚舉控件與組合框類似,也需先編輯,將所有的情況列舉出來。

在此任務中LABVIEW條件結構實現的功能類似于C語言中的switch開關選擇語句,switch語句在程序中執行時依次將switch后面的“表達式”與case后面的“常量表達式”進行比較,如果“表達式”與“常量表達式”相等,則執行“常量表達式”后面的“語句塊”,然后執行break跳出switch語句;如果沒有任何一個“常量表達式”與“表達式”相等,則執行default后面的“語句塊n+1”[5]。C語言代碼編程時需要注意很多的規則。LABVIEW作為圖形化語言,相對比較簡單,點擊組合框右邊的下拉箭頭或者枚舉左邊的上下箭頭可以選擇星期_,程序框圖中的字符串常量對應星期_的特價菜。

借助條件結構還可以設計如水果計價系統、蔬菜計價系統等,將需要計價的物品一一列舉出來,告知每種物品的單價,利用單價*重量=總價。如超市的稱重計價系統就是利用類似的方法。

1.3數值型

任務3: 在氣象部門,通常以陽歷3~5月為春季,6~8月為夏季,9~11月為秋季,12月~來年2月為冬季。請使用條件結構,從鍵盤輸入一個月份,在前面板上輸出對應的季節(春、夏、秋、冬)。

分析:本題四季需4個分支,注意每個分支的值如何給,可以將每個季節的月份都列舉出來[5],中間用英文的逗號隔開,如春季對應的是3,4,5;也可以用3..5表示范圍為3到5的數,包含3和5,此種用法要注意中間用兩個英文狀態的點、包含端點值,當表示一個范圍時此種方法使用較方便。冬季是當年的12月份到來年的2月份,如用12..2表示,系統會自動改成2..12,同時報錯,提示“選擇器值被多個分支使用,該值可能位于某個分支的值域內”。這是因為2..12表示從2到12,將其他分支的值也包含進來了,出現了某些值處于多個分支中。

修改后輸入月份如3運行的季節為“春”;輸入月份6運行的季節為“夏”;輸入月份10運行的季節“秋”;輸入月份12運行的季節“冬”。此題,在條件結構外還加了while循環,如圖4所示,這樣可以連續輸入月份,調試運行。當需要多次、重復查看結果時,可在外面加while循環,當按下“停止”按鈕時循環停止執行,當需看清運行結果時,可以加上等待函數控制間隔時間,這里賦值為1000,單位為毫秒,意為間隔1s。

此題與分支選擇器相連的是數值型的數據,在選擇器標簽中可輸入單個值或數值列表和范圍。LABVIEW的條件結構接受整型數據,“?”顯示為藍色。

需要注意的是,當輸入數值型數據時,需要輸入整型數,若輸入浮點型數值,如小數3.5,則選擇器值處會顯示紅色,提示出錯“條件結構中某些分支的選擇器值無法轉換至與該選擇器相同的數據類型”。

借助此題的思路還可以處理那些需要進行分類的任務,如將成績進行分類,85-100的記為A、70-84的記為B、60-69的記為C、0-59的記為D等。可以用條件結構4個分支來對應表示各段分數,選擇器標簽處用數值范圍來表示,如85-100,用85..100。

1.4 錯誤簇

任務4:當錯誤輸入狀態為√時,產生60-100之間的隨機整數作為考試成績輸出;當錯誤輸入狀態為Ⅹ時,考試成績輸出為0。

分析:錯誤輸入狀態有√和Ⅹ兩種,當將錯誤輸入簇與分支選擇器相連后,分支選擇器值自動出現“無錯誤”和“錯誤”兩種,并且“錯誤”分支顯示為紅色,“無錯誤”分支顯示為綠色,如圖5所示。

編程后運行結果如圖6所示。當狀態為√時,可能每次運行結果不同,這是因為產生的結果是隨機數,但其范圍限定在60-100。

錯誤簇[6]是LabVIEW中的一個特殊的數據類型,通過按名稱解除捆綁函數對錯誤簇進行解綁會發現,錯誤簇是由布爾量、數值量和字符串組成。該簇是由一個表示狀態的布爾變量(狀態)、一個表示錯誤代碼的32位整型變量(代碼)以及一個說明錯誤原因的字符串變量(源)組成的。錯誤簇用于傳遞LABVIEW代碼運行期間的出錯信息,特別是在文件的讀取與存儲時用上錯誤簇和簡易錯誤處理器,可以傳遞并收集錯誤,最后統一做出處理。

此題與分支選擇器相連的是錯誤簇,“?”顯示為黃色。

這里的error in錯誤簇是模擬在此之前的程序運行過程中是否已經產生了錯誤,若已經產生了錯誤則進入“錯誤”幀,執行其中的程序;若未產生錯誤,則進入“無錯誤”幀,執行相應的程序。

在C語言中,當輸入數據不規范時,有try-catch-finally異常處理語句來捕獲異常[5]。如,要求一個數的平方根,當輸入的數小于0時,拋出異常提示數值不在正確范圍內,并提示用戶輸入正確范圍的值,直到輸入正確的值為止。在LABVIEW中,可以方便地用彈出式對話框和字符串來提示出錯信息和錯誤處理方式,還可以用警示燈亮來提示出錯等,配合條件結構來完成相應的任務,處理起來,更形象、直觀。

2 總結

在使用條件結構時,需先根據任務分析共需分成幾種情況,就是對應的有幾個分支,若超過兩個分支則默認的真、假兩個分支不夠用,需進行添加、編輯分支。每個分支里需編寫程序框圖執行相應的任務,如數值運算、顯示字符串、布爾量等。條件結構的分支選擇器能連接數值型、布爾型、字符串型、枚舉型、 錯誤簇五種數據;條件結構在數值型、字符串型、枚舉型數據輸入時,可以添加多個分支;條件結構必須要設一個默認分支,否則條件分支會提示出錯;注意用英文的逗號;條件結構可以與While循環等嵌套使用。

3 結語

條件結構并不是LABVIEW中特有的結構,在其他語言如C語言、VHDL語言等中也有,但是LABVIEW的條件結構與其他語言的條件結構相比,簡單明了、結構簡單,可以相當于其他語言的if…else、case、switch等語句[7],在教學時可以引導學生用對比的方法學習,同時要做到舉一反三,能夠將所學的遷移到其他任務中,解決類似的問題。

參考文獻:

[1] 劉科,宋秦中.虛擬儀器應用[M].北京:機械工業出版社,2018.

[2] 劉榮譽,石利霞,王勁松,等.基于LabVIEW的PCB平面繞組力矩電機狀態監測系統設計[J].長春理工大學學報(自然科學版),2021,44(6):27-32.

[3] 雷淑芳.基于LabVIEW的點型感煙火災探測器標定控制系統[D].合肥:合肥工業大學,2021.

[4] 毛瓊,王敏.LabVIEW 2018虛擬儀器程序設計[M].北京:機械工業出版社,2018.

[5] 王騫,陳宇,管馬舟.C#程序設計經典300例[M].北京:電子工業出版社,2013.

[6] 章佳榮,王璨,趙國宇.精通LabVIEW虛擬儀器程序設計與案例實現[M].北京:人民郵電出版社,2013.

[7] 彭勇,潘曉燁,謝龍漢.LabVIEW虛擬儀器設計及分析[M].北京:清華大學出版社,2011.

【通聯編輯:光文玲】

主站蜘蛛池模板: 青草娱乐极品免费视频| 一区二区三区国产精品视频| 亚洲欧美日本国产专区一区| 国产AV无码专区亚洲精品网站| 欧美有码在线观看| 毛片免费试看| 成人午夜天| 99久久婷婷国产综合精| 久久美女精品国产精品亚洲| 亚洲bt欧美bt精品| 夜夜拍夜夜爽| 无码'专区第一页| 在线观看视频一区二区| 亚洲男人天堂2020| 欧美五月婷婷| 伊人久久大香线蕉影院| 欧美激情一区二区三区成人| 国产呦视频免费视频在线观看| 亚洲无线视频| 国产成人高清精品免费| 婷婷六月激情综合一区| 国产一区免费在线观看| 国产欧美亚洲精品第3页在线| 免费无码AV片在线观看中文| 激情亚洲天堂| 久久天天躁狠狠躁夜夜2020一| 亚洲国产黄色| 国产精品永久在线| 国产成人三级在线观看视频| 国产人成网线在线播放va| 人妻精品久久无码区| 小说区 亚洲 自拍 另类| 国产无码精品在线播放| 97视频在线精品国自产拍| 国产9191精品免费观看| 亚洲综合国产一区二区三区| 最新亚洲人成无码网站欣赏网| 久久免费视频播放| 国产成人精品无码一区二| 免费无码AV片在线观看国产| 中国毛片网| 尤物精品视频一区二区三区| 亚洲综合一区国产精品| 超清无码熟妇人妻AV在线绿巨人| 91色在线观看| 精品久久香蕉国产线看观看gif| 成人91在线| 亚洲AV无码乱码在线观看裸奔 | 色天天综合久久久久综合片| 日本91在线| 91啦中文字幕| 思思99热精品在线| 国产麻豆精品手机在线观看| 欧美中文字幕一区二区三区| 国产真实乱了在线播放| 日韩精品免费一线在线观看| 国产成年女人特黄特色大片免费| 5555国产在线观看| 午夜在线不卡| 波多野结衣久久精品| 欧美日韩国产系列在线观看| 青青热久麻豆精品视频在线观看| 久久黄色一级视频| 1769国产精品视频免费观看| 国产精品尤物在线| 秘书高跟黑色丝袜国产91在线| 久久黄色免费电影| 色亚洲激情综合精品无码视频| 中文字幕乱码二三区免费| 亚洲成a人在线观看| 国产精品刺激对白在线| 欧美激情视频一区| 99视频全部免费| 亚洲三级成人| 亚洲中文字幕无码mv| 免费看久久精品99| 91小视频在线观看| 亚洲综合一区国产精品| 久久亚洲国产最新网站| 免费观看男人免费桶女人视频| 67194亚洲无码| 福利视频一区|