各位前輩大家好:
之前我有在論壇發問過相似的問題,感謝JD前輩的幫忙才順利解決,
http://labview360.com/forum/forum_posts.asp?TID=9041&TPN=1
這次要改用自動的方式取擷取CCD影像,我修改了JD前輩給的範例做了兩個程式,Q1程式是有加迴圈,Q2沒有,但這兩個方式都有問題,想請前輩們給我點意見!
我的目的主要是當CCD移動到特定位置上時,程式自動擷取一張圖並存起來。
謝謝您們!
各位前輩大家好:
之前我有在論壇發問過相似的問題,感謝JD前輩的幫忙才順利解決,
http://labview360.com/forum/forum_posts.asp?TID=9041&TPN=1
這次要改用自動的方式取擷取CCD影像,我修改了JD前輩給的範例做了兩個程式,Q1程式是有加迴圈,Q2沒有,但這兩個方式都有問題,想請前輩們給我點意見!
我的目的主要是當CCD移動到特定位置上時,程式自動擷取一張圖並存起來。
謝謝您們!
[QUOTE=a710756]
各位前輩大家好:
之前我有在論壇發問過相似的問題,感謝JD前輩的幫忙才順利解決,
http://labview360.com/forum/forum_posts.asp?TID=9041&TPN=1
這次要改用自動的方式取擷取CCD影像,我修改了JD前輩給的範例做了兩個程式,Q1程式是有加迴圈,Q2沒有,但這兩個方式都有問題,想請前輩們給我點意見!
我的目的主要是當CCD移動到特定位置上時,程式自動擷取一張圖並存起來。
謝謝您們!
[/QUOTE]
補上程式和圖片!
[QUOTE=JD]
給你一些錯誤提示.你試著修改成下圖看看.
[/QUOTE]
很謝謝JD前輩給我的提示!
但是...不好意思!我還是解不出來! = =|||
不知道前輩您是否願意再給點提示?謝謝您!
另外,當我在執行我提供的Q1.vi時,按下自動快照,結果我就無法去設定"模擬位置"了,而且連畫面都不變動,就像當掉了一樣,不曉的這是什麼情形?(我原本寫好程式,在RUN時就會出現這種現象!)
[QUOTE=JD]
我不懂您 模擬位置 跟 位置1 ~ 4 有啥功能.
所以我自己用USB Cam 擷取測試.您參考看.

[/QUOTE]
JD前輩,我在問題中並沒有說清楚,造成您的困擾,我很抱歉!
由於我的CCD會架在馬達上讓它移動,"位置1 ~ 4" 是設定當CCD移動到這些位置某一個的時候,程式擷取影像並儲存(我會有位置的訊號輸入到程式裡),而"模擬位置"則是模擬位置訊號的輸入,所以如果程式運作正常的話,當我一直調整模擬位置的數值時,只要調整的數值和位置1~4中其中一個相同,就會擷取一張圖片。
謝謝JD前輩的熱心回應!
那請問一下.
當您馬達定位後
要自動拍照呢?還是要透過人工方式 按拍照呢?
您是要按拍照後..馬達依序1,2,3,4 定位,並擷取4張影相存檔.(建議按拍照時觸發事件後利用 Loop 執行)
還是你輸入馬達位置 擷取 一張 影相存檔. (建議用輸入馬達位置時觸發事件 event )
JD39580.7433912037
[QUOTE=JD]
那請問一下.
當您馬達定位後
要自動拍照呢?還是要透過人工方式 按拍照呢?
您是要按拍照後..馬達依序1,2,3,4 定位,並擷取4張影相存檔.(建議按拍照時觸發事件後利用 Loop 執行)
還是你輸入馬達位置 擷取 一張 影相存檔. (建議用輸入馬達位置時觸發事件 event )
[/QUOTE]
JD前輩您好:
謝謝您的寶貴意見!
當我馬達定位後,我是要程式能夠自動拍照,就像您所提到的第一點,我先設定"位置1~4"的數值,然後按下"自動快照"後,如果我已把CCD裝上馬達的話,CCD就會開始移動,當移動到我設定的位置時,馬達會停一下,讓程式擷取一張圖片,然後再到下一位置繼續同樣的動作。
所以,依前輩您所講的我需要"按拍照時觸發事件後利用 Loop 執行"?
我先試試看,有問題在請教您!
謝謝您!
a71075639581.3527546296[QUOTE=JD]
您是要按拍照後..馬達依序1,2,3,4 定位,並擷取4張影相存檔.(建議按拍照時觸發事件後利用 Loop 執行)
還是你輸入馬達位置 擷取 一張 影相存檔. (建議用輸入馬達位置時觸發事件 event )
[/QUOTE]
JD前輩您好:
我針對您的建議"按拍照時觸發事件後利用 Loop 執行",我做了一個程式,利用For Loop去執行1000次來判斷"模擬位置"是否等於"位置1~4",在run的時後,程式並沒有執行我設定的"自動快照"功能,可以說是完全沒有作用,可是,我把程式燈炮點量一步一步去看它執行時,卻可以正常動作,請問JD前輩或是其他的前輩們,怎麼會這樣?
謝謝您們!
a71075639581.4069444444燈炮點亮可以正常動作. 那你放個delay time.........
不過我的邏輯跟您的邏輯大不同.
我的意思是馬達依序1,2,3,4 定位 Loop N = 4
為何你的 Loop N =1000 ? 搞不懂您的邏輯.
我有點懷疑...您的執行程序是否跟我想的一樣呢?
我重新修改了程式碼您參考參考.
當按下 "自 動 快 照" 後, Boolean 亮綠燈 , 模擬位置與 位置1~4 作判斷
假設
模擬位置 = 位置1 -> 儲存 位置1 圖檔...以此類推..
否 Boolean 燈滅
重複 執行 "自 動 快 照" OR 結束.

當按下 "自 動 快 照" 後, 馬達依Array 順序1,2,3,4 (模擬位置)執行判斷 位置1~4 若符合 則影相存檔.
補充 delay time = 300 只是模擬訊號輸入時間差.
實際需依你馬達移動後,訊號輸入再跟影像擷取來搭配設計架構.

JD39581.6117013889
[QUOTE=JD]
當按下 "自 動 快 照" 後, 馬達依Array 順序1,2,3,4 (模擬位置)執行判斷 位置1~4 若符合 則影相存檔.
補充 delay time = 300 只是模擬訊號輸入時間差.
實際需依你馬達移動後,訊號輸入再跟影像擷取來搭配設計架構.
[/QUOTE]
JD前輩,您真的是很熱心的幫忙,讓我很感動!謝謝您!
我有將您上面給的程式改成1394CCD用的,在run的時後,我沒辦法去輸入模擬位置(感覺像當掉了一樣),後來我將程式裡的模擬位置放到迴圈哩,是可以改模擬數值,但是調了數值也沒有發揮擷取圖片的功能,不曉的我是不是在修改程式時,改掉了JD前輩的程式重要部份,所以才不會有作用?
還有,我把原本的for loop執行4次改成1000的原因是想說,當我按下自動快照鈕後,要讓程式一直判別"模擬位置"是否等於"位置1~4",就好像是while loop的功能,但是如果我用while loop去做的話,程式就會在當我按下自動快照鈕後,就完全呈現當掉的狀態,所以我才將4改成1000。

我後來又另外做了一個程式,沒有用到事件觸發結構,程式的自動快照鈕,按下去是ON,要再按一下才變成OFF。run的時候,當自動快照鈕下,就一直在做"模擬位置"是否等於"位置1~4"的判斷,我試了一下,初步接近我要的,但是,出現一個問題,就是:當模擬位置(假設是10)等於某一位置時(假設是10),下面所顯示的擷取影像還會動,當模擬位置調成11時,才是靜止的畫面,這跟我要的不同,我當的是模擬位置等於某一位置時,所擷取的是靜態的圖片,請問前輩們這要如何修改?
謝謝您們!
若依您說明
我所理解的是
當您按下" 自動快照 " 觸發事件後. 你手動去調整更改"模擬位置"參數.因為您想模擬CCD位置.
但是當您調整模擬位置時對整個流程來說它是一個 觸發事件.
若在 Loop 程序中是偵測不到的.因為跑一次迴圈 1ms.
以你手動去調整更改 模擬位置參數 的速度是根本無法觸發事件.
所以你會覺得 當機了.
JD39581.726712963[QUOTE=JD]
若依您說明
我所理解的是
當您按下" 自動快照 " 觸發事件後. 你手動去調整更改"模擬位置"參數.因為您想模擬CCD位置.
但是當您調整模擬位置時對整個流程來說它是一個 觸發事件.
若在 Loop 程序中是偵測不到的.因為跑一次迴圈 1ms.
以你手動去調整更改 模擬位置參數 的速度是根本無法觸發事件.
所以你會覺得 當機了.
[/QUOTE]
JD前輩,對不起,這是我表達不清楚,造成您的誤解,我感到抱歉!
謝謝前輩您熱心的指教!