請教關於隨機啟動布林燈號

請問各位我想做到以下動作要怎麼設計

附件裡的程式是輸入一個數字由判斷條件式去啟動布林燈號,當輸入小於5時三個燈號全亮,介於5~10之間亮兩個燈,介於10~15之間亮一個,大於15全關,目前都能達到我的要求,但我現在要改成

1.條件判斷式不變,但燈號設計成隨機亮燈,即當小於5時全亮,介於5~10之間雖然亮兩個燈但並不要固定都是Boolean2跟Bollean3亮而是隨機兩個Boolean亮,10~15以此類推。

附件:燈號變換.vi

 

參考看看我的寫法

我也是新手, 互相勉勵吧!

應該有更好的寫法

LED.vi

 

感謝Ghostx2的解答,試過您提供的程式似乎是我要的結果

由程式裡可以得到當我要亮兩顆Boolean時他會依照亂數給的條件來啟動,但會變來變去,就是有時Boolean1跟2亮,有時Boolean2跟3亮

如果現在要再修改成每次只亮一種方式,就是當在5~10之間時由亂數決定,當決定亮Boolean1跟2後就固定亮這兩個,不要再改變。或決定亮Boolean2跟3後就固定亮這兩個。請問要如何修改?

我附上我修改的程式,不用陣列的方式下去設計,先以條件小於5時來做修改

如上圖所示,程式執行時小於5時就會隨機產生亮兩顆的模式,但會一變動,要怎樣只讓他再小於5時只變動一次,直到下一次。

附件:加熱器隨機啟動程式-測試版-01.vi

包再迴圈裡

要不讓他一直動有點困難

把While Loop拿掉就解決了

就會變成一次動作

這樣TIMER也可以拿掉

加熱器隨機啟動程式-測試版.vi

 

LabVIEW 8.0 加熱器隨機啟動程式-測試版.zip

JD39996.5510532407

感謝Ghostx2與JD的協助

也許是我沒表達清楚,如JD所提供的程式,若我要改為:

當小於5時全亮,接著當我輸入6~10之間時如:輸入8之後隨機亮Boolean1跟2,此時改變為輸入6 7 9 10都一樣亮這兩個,接著再往上輸入,之後我又向下輸入6~10之間的數字再隨機亮兩個,不一定是Boolean1跟2,這樣的要求是否有辦法達到。

而我的輸入端未來是要接溫度感測器,所以要一直有資料輸出,並不能執行一次就停止,再次感謝啦

[QUOTE=Ronald3112]

感謝Ghostx2與JD的協助

也許是我沒表達清楚,如JD所提供的程式,若我要改為:

當小於5時全亮,接著當我輸入6~10之間時如:輸入8之後隨機亮Boolean1跟2

您說介於5~10之間亮兩個燈,但這裡您的隨機亮 Boolean1 跟2 是啥意思?

當輸入值大於 前 輸入值時,都指定亮 Boolean1 跟 2 嗎?

當輸入值小於 前 輸入值時,才隨機亮 Boolean1,2 或 Boolean2,3 或 Boolean1,3 嗎?

,此時改變為輸入6 7 9 10都一樣亮這兩個,接著再往上輸入,之後我又向下輸入6~10之間的數字再隨機亮兩個,不一定是Boolean1跟2,這樣的要求是否有辦法達到。

 

而我的輸入端未來是要接溫度感測器,所以要一直有資料輸出,並不能執行一次就停止,再次感謝啦

[/QUOTE]

我這樣說好了,一開始我從0 1 2 3 4 5這樣一個一個增加再這之間3個Boolean全部關閉,

再來輸入6~10之間的數字時,要隨機亮2個Boolean,可能是Boolean1跟2,也可能是Boolean1跟3,或Boolean2跟3這樣,

現在假設輸入6,便隨機選出Boolean1跟2亮,在這兩個亮之後不管以7 8 9 10(都在6~10之間)這樣增加或10 9 8 7 6(都在6~10之間)這樣減少,都要固定亮隨機選出的Boolean1跟2,(而如果一開始是隨機選出Boolean2跟3亮,就要固定亮Boolean2跟3)。

接著輸入11~15之間的數字,要隨機亮1個Boolean可能是1或2或3這樣,而亮了之後只要輸入11~15之間的數字就要固定亮隨機選出的Boolean。

而如果現在我在慢慢往下輸入,當達到6~10之間,又要再隨機選出2個,而不會要固定亮之前的狀況。

這樣解釋不知道是否明瞭,若有不清楚麻煩在提出。

 

加熱器隨機啟動程式-測試版.vi