Hi Sir
有使用Debug 模試看情程式執行狀況,都會固定 在ivi處 出現error
,也有使用ni-spyd擷取其資料,也固定在相同位置就出現錯誤了,
其錯誤碼及ni-spy擷取的資料如附件,該如何排除此一問題?
在 03-29-2010 12:56 AM
錯誤碼顯示儀器回傳給電腦的數值還沒讀完,就開始執行下一個步驟。
建議您在程式碼讀值的時候加一個delay
Hi SIR
1.在程式碼加入Delay,是直接加入time delay嗎?
2.在沒加之前其等待儀器回傳給電腦的數值就已經等待了16秒了,在加入delay 那不就可能耗更久時間?
3.因其driver是從ni網站所下載的,此drive為IVI,試過此DRIVER內的其他VI皆有相同狀況產生,沒法執行
都會在程式碼內的IVI處現錯誤,若都加上DELAY使能解決,那整隻程式跑完部不就花上數十分鐘?
4.看了SPY抓取的狀況,事乎是在下COMMAND給儀器執行,其儀器要回傳給電腦讀值使出現錯誤,若是COMMAND
的問題,要如何去修改? 看其VI是使用.dll的方式,還需要額外下command嗎?
在 03-29-2010 03:33 AM
http://forums.ni.com/ni/board/message?board.id=140&message.id=41240
另一個方法是
使用 VISA write , VISA read 取代 instrument driver
重點是
不是所有的 Agilent ESA 都接受相同指令,
也請詢問agilent 或翻閱儀器手冊。
Hi Sir
1.
在instrument driver發生錯誤的COMMAND,使用NI-MAX逐一下其COMMAND
皆能正常讀寫(無發生錯誤),研判應該不是COMMAND的問題了,所以才會請教
IVI的使用問題,使用IVI不是利用.DLL方是去與儀器做溝通嗎?
2.若是COMMAND的問題,那又如何去修改其COMMAND的錯誤?還是說.DLL當內就會自動涵蓋所有的COMMAND
在有無法適用的儀器的情形下,只能改成用VISA方式去寫嗎?
3.IVI是否利用載入.DLL方式去驅動儀器? 若是,只要其.DLL檔有儀器無法是別的COMMAND就會發生問題嗎?
在 03-29-2010 10:06 AM
1.
在instrument driver發生錯誤的COMMAND,使用NI-MAX逐一下其COMMAND
皆能正常讀寫(無發生錯誤),研判應該不是COMMAND的問題了,所以才會請教
IVI的使用問題,使用IVI不是利用.DLL方是去與儀器做溝通嗎? IVI 是透過Agilent's DLL
2.若是COMMAND的問題,那又如何去修改其COMMAND的錯誤?還是說.DLL當內就會自動涵蓋所有的COMMAND yes
在有無法適用的儀器的情形下,只能改成用VISA方式去寫嗎? yes
3.IVI是否利用載入.DLL方式去驅動儀器? 若是,只要其.DLL檔有儀器無法是別的COMMAND就會發生問題嗎? yes
Hi Sir
1.有一點疑問,既然ivi是透過agilent .dll驅動儀器動作
那在.dll有意其無法是別的command在,裡因在ni-max
下鄉同command也會發生相同錯誤才對吧?
2.因有使用ni-spy去擷取電腦與儀器間溝通的結果,並將有發生
其錯誤command點部分,使用ni-max去執行,但此command將能正常驅動儀器做動
因此無法理解為何相同command會有不同結果出現,是甚麼原因造成的?
在 03-29-2010 09:06 PM
從 ni-spy 來看,您所發生的錯誤是 timeout
可以檢查哪個VI需要把 timeout 設定長一點,
或是 write command 之後, 設一個 delay, 再 read 頻譜 ( 由一堆陣列組成,所以比較久),
Hi Sir
位更加清楚IVI應用,在提問頃個問題,也請協助解答疑惑
1.要加入timeout及delay是在哪一部分加入?(復健中有vi圖檔 能否只點一下)
2.當點選A6處談出一視窗(CALL LIBRARY)其A2的字串是否要改成A1處的agesa_32.dll?
3. 如何知道a1處要寫agesa?
4.A1處的AGESA_32.DLL是指所要載入的儀器DRIVER嗎?
5.A3處其各自串的代表意義為何? 使用IVI時事都固定會使用這些字串嗎?
6.A4及A5處的VI可在哪找到?
7.若要自行寫過IVI的話,是否能直接用IVI CLASS Drivers內的相對應vi來做修改(如spectrum就使用spectrum vi)?
8.若直接使用ivi class driver內的任一vi作修改時,要另存新檔,是要選擇A7處哪一選項? 其選項有何差異?
在 03-29-2010 11:10 PM
hello.
IVI 是由 Agilent 所提供, 請致電 Agilent ( DLL 由 Agilent 提供 ), LabVIEW 只是提供 call library node 包起來
如果 call DLL 會不正常,大部份的原因是您的IE, 常駐程式所影響,或其他程式
http://forums.ni.com/ni/board/message?board.id=5170&thread.id=5452
http://forums.ni.com/ni/board/message?board.id=5170&thread.id=5405
可以找一台乾淨電腦試試
如果還是不行
建議從基本的 VISA write & VISA read 做起