2018年7月25日 星期三

LabVIEW-紅綠燈練習。難度:中

詳細說明程式要求:
1.這個練習主要練習cluster, for迴圈,還有flat sequence結構:綠燈先持續亮3秒鐘,然後閃爍3次,換黃燈持續亮1秒,最後紅燈亮3秒。


Block digram 









程式說明:
1. 合集函數(Bundle):將現有的元素綁起來成為一個新叢集
2. 先看第一個階段,"綠燈維持三秒鐘"










先用cluster叢集概念把紅綠燈放在同一個集合裡面,並用bundle函數使紅綠燈成為單一叢集並控制之,那我現在要讓"G"亮三秒,故我在G那面設定為"T",其他為"F",並設立時間為3000ms(3秒鐘),請注意粉紅線的部分,因為這跟下一步的設定有關。

3. 因為我是要一步一步的接下去,故我使用"flat sequence",那現在到下一步,綠燈閃爍三秒。
4. 商數(Quotient & Reminder):看餘數的值,決定亮暗
5. 如果是閃爍三次,那麼我用"Quotient & Reminder",將之除以2,看它的餘數,因為餘數不是0就是1,我將0設為亮、1設為暗。再使用for迴圈,把0-5都分別除以2,所以再看一次這個for迴圈的餘數,0 1 0 1 0 1,就變成"亮暗亮暗亮暗"了,也達到閃爍三次的目的
6. 接下來是讓黃燈亮一秒,請注意粉紅線的部分  ,因為粉紅線的一開始連的 "TFF"故要讓黃燈亮的話,一定要設"G"那邊為"F",如果沒有設的話,綠燈會跟黃燈一起亮。另外因為一開始"R"那邊是設為"F",故我們在這裡不用特別設為"F"
7. 紅燈以此類推








LabVIEW-平方根。難度:易

詳細說明程式要求
1.練習使用條件架構與對話框,輸入正數,則會傳回一個正數的平方根,若輸入值為負數,則VI會彈出一個對話框,並傳回錯誤訊息"Error Negative Number"

Block digram 














程式說明:
1. 題目所要求的是,如果輸入小於0的數,則會"彈出"一個對話框,所以選擇"one Button Dialog" (function-programming-user interface)
2. 此題我使用true-false來判斷,因為這只有兩種結果。第一,我輸入大於0的數,會輸出一個值 ; 第二,我輸入小於0的數,會彈出對話框,故我使用這個條件架構
3. 在輸入值那邊我拉出一條線來判斷我輸入的是否為正數,若為正則跑到true,並跑平方根,得到"輸入後的平方根",若我輸入值為負,則會跑出對話匡"Error Negative Number"並輸出''-9999"

Front Panel 


  ## 輸入值 > 0





 ## 輸入值 < 0





LabVIEW-兩數相除_divide by zero 難度:易

詳細說明程式要求:
1. 依亂數隨機成立1-10的數值,並且除以可以自由變數的數,但如果自由變數為0的話,則會亮"devide by zero"為名稱的布林led燈

Block digram 

                                 
程式說明:
1. 先了解每個物件所代表的意思,像骰子的就是(random_number 0-1)
2. 思考步驟:因為要成立1-10的數值,且沒有規定是否要整數,所以我把亂數先乘以10,得到"random number",再將"random number"除以我指定的"denominator",得到"result",另外他說如果自由變數為0的話則會亮,故我在"denominator"那一條線再拉出一條線來判斷是否我輸入值為"0"。

Front Panel