各位好,
我的LabVIEW是2009,主要用來vision部分。有設計一個辨識七段顯示器的vi,直接以 vi 跑是正常的,build成DLL被BCB呼叫卻有問題。
主要讀取的數值有,影像平均灰階,七段顯示器錯誤數量,Error out中的Status,這三種。
後兩種都有正確讀取到,但是影像平均灰階值都讀取錯誤。
因為影像平均灰階值讀到的都是0。 比較懷疑的部分是BCB在呼叫DLL時,是否有可能""運算結果還沒出來,但是我已經讀出數值了?"" 這樣的話應該如何避免呢?
我有試著將程式改成Sequence方式,先確保Mean Value有值,在進去Sequence內與Hi Lo這兩個臨界比較是否灰階度過低或過高才決定接下來的case狀態。
這樣的方式以LabVIEW直接跑,是OK的。 但是轉成DLL後,再用BCB去呼叫並且抓值卻又是0....真不知道該怎麼辦了
在 03-27-2010 11:12 PM
請查看附檔!!!
請告知是否成功
Hi, Charles
今早在試,把LabVIEW中的ROI Scriptor拿掉,讓他不成為Connector中的變數
我的Mean Gray就可以抓到了...這又有點費解了 @@"
我使用DLL是LoadLibrary的方式讀入,所以我應該會以舊有的程式在試試看,感謝。
關於mean值沒有取到的問題,這部份已經改方法了。
就是該當輸入的變數照樣設定,但是輸出的mean值不取
而是將LabVIEW中照到的影像讀取到BCB的image物件中,針對ROI區域求mean值
再判斷mean值來決定LabVIEW輸出變數要秀哪些....算是轉了個彎達到目的
只是原先的問題還是無解就是...