關於VISA的問題

請教各位前輩,小弟利用VISA來控制一台儀器,但在程式中當儀器的COM Port做拔掉插回的動作時,物件VISA Find Resource可以偵測到此COM Port的存在或消失 ,但插回COM Port後,LabVIEW卻無法在控制此儀器,(必須關閉LabVIEW後,在重新進入便可正常控制),請問是否有解決的方法,感謝

如果可上傳程式較能找出你的問題,就你文字上的敘述我只能猜測應該是你沒使用VISA Close.你可比較下圖COM1沒有Close與COM2有Close的差異

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

 

 

Reset instrument Initialize

![](upload://gGKuEsWNXYxPkj6tB6tPkO93etr.png)

JD40707.589224537

非常感謝DonWang與JD兩位前輩,依照前輩的指導問題已解決,想再請教JD前輩,我可能誤會VISA Clear的作用,它的功能是清除VISA的連結嗎?小弟之前都把它放在VISA Open的前面,我以為是先Clear後在作Open這樣的概念


JY11427040707.688125

What Is VISA?

虛擬儀器軟體架構 (VISA) 為標準的設定、程式設計,與除錯儀控系統,可整合 GPIB、VXI、PXI、序列 (RS232/485)、乙太網路、USB,及/或 IEEE 1394 介面。NI-VISA 為 NI 根據 VISA I/O 的標準所設計。針對如 NI LabVIEW、LabWindows/CVI,與適用於 Microsoft Visual Studio 的 Measurement Studio 開發環境,NI-VISA 可撰寫硬體與開發環境之間的介面。

VISA Open Function :

Opens a session to the device specified by VISA resource name and returns a session identifier that can be used to call any other operations of that device.

VISA Clears Function :

Clears the input and output buffers of the device.

清除設備輸入和輸出緩衝區

JD40707.7369560185

感謝JD前輩,我瞭解了
原來是清除設備輸入和輸出緩衝區,我英文太差一直以為是清除VISA所連接的設備
JY11427040707.7736226852