ListBox要如何連續選擇Case

![](upload://vGWey8xUaWQ6lj64MLkEWDKqF2G.jpeg)

 

 

奇怪~文字不見了

上一張圖是想要在LISTBOX中選擇然後由CASE做相對應的工作例如1選2次2選1次然後CASE會執行1兩次與2一次,然而我將陣列連到CASE上是錯誤的,請問要如何修正

其實你可以使用LIST BOX選擇完後將其資料變成ARRAY再利用FOR LOOP去執行你順序的動作

附上以下VI你參考看看~~我用的方法可能比較不好~~如果有簡化的程式記得要貼上來大家一起參考吧

LIST BOX TO CASE.vi

請問方塊圖中最左邊的矩陣在哪裡??

另一寫法,參考看看!

 

LIST_BOX_TO_CASE_1.vi

[QUOTE=yankess]請問方塊圖中最左邊的矩陣在哪裡??[/QUOTE]

你點你要的物件快速按滑鼠左鍵兩下就可以找到了阿

linch1138737.9731134259

[QUOTE=linch11]

[QUOTE=yankess]請問方塊圖中最左邊的矩陣在哪裡??[/QUOTE]

你點你要的物件快速按滑鼠左鍵兩下就可以找到了阿

[/QUOTE]

我知道了是在動作順序上create一個constant不好意思讓你誤會了

[QUOTE=zett23]

另一寫法,參考看看!

 

LIST_BOX_TO_CASE_1.vi

[/QUOTE]

在轉換選擇的時候前一個選項會被多選一次?這是Event的特性嗎?因為沒使用過event請見諒

請問linch大大for loop迴圈的次數是由shift register傳遞出去的嗎?shift register不是接收前面傳遞的值嗎?怎麼會知道迴圈要跑幾次呢

[QUOTE=yankess]請問linch大大for loop迴圈的次數是由shift register傳遞出去的嗎?shift register不是接收前面傳遞的值嗎?怎麼會知道迴圈要跑幾次呢[/QUOTE]

因為我在前面做資料收集時有把資料變成陣列所以你如果直接將陣列的資料丟到FOR LOOP中他會直接一個一個把資料取出來而不是取整個陣列的資料(當然也可以做整個資料的方式)你可以利用程式面的燈泡來做一個一個動作的觀察相信你一定可以看出來的

忘記付上範例了

你看看以下為FOR LOOP的小範例看對你有沒有幫助

FOR LOOP.vi 

經大大的提醒就去翻書看了一下高立出的虛擬儀控程式設計的第4-11頁中有說明[當陣列送入迴圈,並啟動自動索引功能,Labview會自動將執行次數設為陣列大小.....],那麼大大的回圈執行次數是不是按照陣列大小呢?假設我選了100個1與100個2那執行的時候就為LED亮25秒滅25秒,是否可單獨執行且執行的次數與陣列大小相同?

因為我會用到電表,DC SOURCE與示波器,所以我想將這3個儀器設為三個選項(即1,2,3)當我選擇電表(即選1時)可以設定要測電壓還是電阻,選DC SOURCE(即選2)可以設定電壓並且1,2,3這三個選項可以重複選擇然後選END時開始測試,不知道這樣的程式會不會很複雜與龐大,不好意思小弟懵懵懂懂問了大問題請各位先進不要見怪!!

yankess38740.7456712963

[QUOTE=yankess]經大大的提醒就去翻書看了一下高立出的虛擬儀控程式設計的第4-11頁中有說明[當陣列送入迴圈,並啟動自動索引功能,Labview會自動將執行次數設為陣列大小.....],那麼大大的回圈執行次數是不是按照陣列大小呢?假設我選了100個1與100個2那執行的時候是否為LED亮25秒滅25秒[/QUOTE]

沒錯for loop會按照陣列的大小去執行(當你需要的資料是一筆一筆取出來的時候)如果你一次要取多個就是要更改如下圖部一樣的地方

![](upload://jR8qVXCa5vDr5ecuSKmnlRp7KcY.jpeg)

 

是不是更新不夠快我看不到我的發言?

經大大的提醒就去翻書看了一下高立出的虛擬儀控程式設計的第4-11頁中有說明[當陣列送入迴圈,並啟動自動索引功能,Labview會自動將執行次數設為陣列大小.....],那麼大大的回圈執行次數是不是按照陣列大小呢?假設我選了100個1與100個2那執行的時候就為LED亮25秒滅25秒,是否可單獨執行且執行的次數與陣列大小相同?

因為我會用到電表,DC SOURCE與示波器,所以我想將這3個儀器設為三個選項(即1,2,3)當我選擇電表(即選1時)可以設定要測電壓還是電阻,選DC SOURCE(即選2)可以設定電壓並且1,2,3這三個選項可以重複選擇然後選END時開始測試,不知道這樣的程式會不會很複雜與龐大,不好意思小弟懵懵懂懂問了大問題請各位先進不要見怪!!

[QUOTE]因為我會用到電表,DC SOURCE與示波器,所以我想將這3個儀器設為三個選項(即1,2,3)當我選擇電表(即選1時)可以設定要測電壓還是電阻,選DC SOURCE(即選2)可以設定電壓並且1,2,3這三個選項可以重複選擇然後選END時開始測試,不知道這樣的程式會不會很複雜與龐大,不好意思小弟懵懵懂懂問了大問題請各位先進不要見怪!![/QUOTE]

其實我也算是個初學者許多知識都是從這個網站來的不過可以提共你幾個測試的方法你試試看或許你以後也會有更好的方法

目前我做的測試設備流程如下

1將流程利用陣列來做

2.變數部分也都在陣列中(方便修改變數~~~如設定電壓你就可以做第一個欄位作set第二個欄位作電壓設定的值)

3.異常時利用陣列來確認步驟要跳到哪一個程序或離開

我目前流程大致上是這樣其餘的也就是做資料收集及判斷了

其實在這裡真的可以學到很多東西只要善用收所功能及多看他人的範例一定會有所進步的

大家一起加油吧~~~~~

 

謝謝大大給我一個方向,等我做出來在回饋給各位!!

我將下面連結與這一篇作一個整合http://www.labview.com.tw/forum/forum_posts.asp?TID=4755&PN=1&TPN=1

在此謝謝linch與airbolt兩位大大熱心給小弟指教,小弟需要的功能如上面發言所述,目前作到初步選擇測試項目的功能,測項細部控制功能可以放在附加檔中右邊CASE裡面這樣應該會比較好管理測項的功能.

To linch大大

在左邊的CASE中我刪掉一個判斷的CASE

LIST_BOX_TO_CASE_2.vi

小弟所要功能的流程步驟:

先選定測項-->在每個測項中所屬儀器(可能有多種儀器但不外乎電表,示波器..等)先行將檔位設定好-->按下開始後執行測項

目前只有在"選定測項"有些許進度,其它仍在摸索中

再補述並歸納一下你兩篇文章所要功能:

  • 當選擇了 1 2 3 3 1 1 4 時,因為 1 及 3 是有被重覆選取了,
    所以執行結果理應為 1 2 3 4

這樣對嗎?

當選擇了 1 2 3 3 1 1 4 時,所執行的順序必須為 1 2 3 3 1 1 4,為什麼要這樣呢!!因為每個待測物特性不同因此在儀器上會有不同的檔位設定,但是要測試的項目是一樣的.

舉例來說當待測物的輸出有+5V與+12V兩組,而我們要測+5V與+12V再開機時的時序,當我們對待測物輸入10V的電壓其兩電壓時序為2ms但是當我們輸入30V的電壓時其兩電壓時序拉開為500ms,所以我們必須有一個測Timing的項目而在這項目中儀器均為可以獨立調整

假設3代表Timing的測試,而我們放了兩個3亦即放了兩個Timing,而這兩個Timing中示波器與輸入電源的設定是截然不同的(輸入電源一個是10V另一個是30V,示波器一個是設定10ms/DIV另一個是1s/DIV)

所以當我們輸入1 2 3 3 1 1 4時執行的順序必須為1 2 3 3 1 1 4,每一個數字表示一個測試項目就像3表示Timing一樣,而每一個測試項目中的儀器可以獨立調整,然後按下開始這時儀器就開始測試待測物,接著就可以去喝咖啡啦