From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



使用VISA VI的時候出現 -1073807246 的錯誤



主要軟體:
主要軟體版本: 6.0
主要軟體修正版本: N/A
次要軟體: N/A

問題:

我試著用LabVIEWVISA 函式與我的第三方儀器溝通的時候,出現了以下的錯誤

Error -1073807246: The resource is valid, but VISA cannot currently access it (這個資源是有效的,但VISA現階段無法連線並使用)

為什麼我會遇到這個錯誤,我又該如何消除它





解答:

你可能會在LabVIEW的開發環境或者一個已經建立好的執行檔的使用過程遭遇這個錯誤,這錯誤指的是LabVIEW無法取得序列埠的控制權

以下是可能造成錯誤的原因及對應的解決方法:

·     另外一個程式正在控制此序列埠。一個序列步同時只能只能被一個程式使用。關閉其他可能使用到此序列埠的程式,像是超級終端機
·     如果你正在執行一個LabVIEW製作的執行檔且同時LabVIEW也正開啟,LabVIEW可能已經擁有該序列埠的控制權。在預設的情況下,LabVIEW序列埠VI並不會在使用後釋放序列埠資源。你仍然可以在不使用執行檔的狀況下透過LabVIEW執行另一個VI做序列埠的操控。而要達成是放序列埠資源的目的,你必須做以下其中一個設定:
·     關閉LabVIEW。關閉所有使用到序列埠的VI並不足以釋放資源。透過完全關閉LabVIEW,你會強制關閉所有被LabVIEW開啟的資源
·     使用VISA Advanced 控制面板中的Close VISA VI
·     Serpdrv檔案已經失效(只支援LabVIEW 6.1及更早的序列埠相容VI)
·     當從LabVIEW執行VI時,serpdrv應該會位在以下名為libdir的資料夾內
·     當使用LabVIEW製作的執行檔時,serpdrv需要與執行檔或者run-time engine在同一個資料夾內。通常run-time engine的資料夾會位在: National Instruments\Shared\LabVIEW Run-Time
·     對執行檔來說,複製LabVIEW.ini檔案到執行檔位在的資料夾。重新命名使其與執行檔同名 (name.ini),並且將檔案的第一行文字從[LabVIEW] 改成 [name].
附註: 這些解決方案也能一併解決使用序列埠相容VI時遇到的Error 37: Device Not Found 問題這些VI已經被移除支援,所以這個錯誤只是在這邊做為備註
 


相關連結: KnowledgeBase 21O7DELI: 使用Serial Compatibility VIs時產生Error 37的原因?

附加檔案:
VISA Close.viVISA Close.vi




報告日期: 01/14/2002
最後更新: 11/27/2014
文件偏號: 2HDGKBOH