使用VISA Read儀器傳回來的資料,要如何指定才會全部顯示?
如果我指定過多會全部顯示沒錯,不過會出現TIME OUT的error。
如果指定過少會顯示不完全,但不會出現error。
謝謝你們的回答~![](upload://aeTYlqEc1qXvs9Jv3ju6pnq9wZt.gif)
使用VISA Read儀器傳回來的資料,要如何指定才會全部顯示?
如果我指定過多會全部顯示沒錯,不過會出現TIME OUT的error。
如果指定過少會顯示不完全,但不會出現error。
謝謝你們的回答~![](upload://aeTYlqEc1qXvs9Jv3ju6pnq9wZt.gif)
請告知是用哪種介面? GPIB或是RS-232?
RS-232C的介面...
謝謝~
請問是儀器的Time out值嗎?
如果是儀器的Time out值,或許將這個Time Out值設定大一些就可以了.
其實我有試過....
只有在指定的byte count剛剛好的情形才不會出錯~
如果指定的byte count過少的時候,也不會出現錯誤,但是資料會無法全部顯示!
也就是指定byte count數過少,資料顯示不全。例如應該顯示55555,byte count指定3就只會顯示555。如果指定10就會全部顯示,但是會出現-1073807339的錯誤訊息,這個訊息也就是T ime Out。
我也試過將Time Out指定多一點,但是似乎沒有辦法解決!
多謝你們的回答!![](upload://aeTYlqEc1qXvs9Jv3ju6pnq9wZt.gif)
我在NI.com這邊有看到一個資料,原文請連到:VISA Troubleshooting Wizard-Timeout Errors
以下是轉載自ni.com的內容,請您試試他的方法,
========================
Description and Solution
![](upload://yBWmy6rMWnaWskIC6vmMi1IRIFO.gif)
Benjamin38050.9416898148我有把TimeOut值設的很大....也是一樣會出現~
我想我的問題是在於要如何指定byte count,畢竟READ Bufferbyte count需要指定byte count。而這一個指定是未知的~
多謝版主的幫忙囉~
在 VISA write 之後連接一VISA Byte at Serial Port就可以讀取每次不同的byte count.
![](upload://8C2n6WZm4Ji367MT76DI5ACE94P.jpeg)
用這個方法即可得知到底回傳多少Bytes
[QUOTE=mong]
![](upload://8C2n6WZm4Ji367MT76DI5ACE94P.jpeg)
用這個方法即可得知到底回傳多少Bytes
[/QUOTE]
VISA write後面記得加一個delay function,否則儀器來不及回應
[QUOTE=小小羊兒][QUOTE=mong]
![](upload://8C2n6WZm4Ji367MT76DI5ACE94P.jpeg)
用這個方法即可得知到底回傳多少Bytes
[/QUOTE]
VISA write後面記得加一個delay function,否則儀器來不及回應
[/QUOTE]
謝謝提醒~~~
我的程式上是有加的~~~
為了貼出來竟然忘了~~~
謝謝你的幫忙~~~
若有些儀器需要 Terminate Code, 要記得在Configure Serial Port.vi 設定所指定的字元…
INSTR的 Bytes at port要在那裡找到?
GPIB也可以用嗎?
多謝各位的回答~我已經解決了~
謝謝~