關於VISA READ

請問如何可以讓VISA READ不受BYTE COUNT影響?

為什麼VISA READ會受BYTE COUNT影響?

想問一下byte count到底是什麼東西 不太懂

[QUOTE=OOHHOHOH]想問一下byte count到底是什麼東西 不太懂[/QUOTE]

![](upload://7inKL5aIXG1nfhKcaEpnFvk5nBO.jpeg)

就是儀器所回傳的資料長度並不一定,有8個byte也有5個byte,我要如何才能抓到資料?

在Instrumrnt I/O>>VISA>>VISA Advanced>>Property Node

指定Property Node如下所示,再接到VISA READ的byte count即可

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

既然你的回傳的資料長度並不一定,有8個byte也有5個byte,那你爲什麽不設置一個最大數值呢

設置30或50不就完全能讀到你的數據了

如果有更長的需要特別對待設置更大的  就像讀取網絡分析儀的trace時候可以設置5000或更大`

 

如果回傳的資料小於byte count所設定的數目會出現timeout.

ancle謝謝你出這個(Instrumrnt I/O>>VISA>>VISA Advanced>>Property Node),但是我之前使用的時候

VISA READ的read buffer所讀到的資料會一直閃爍,請問這是什麼原因?

如果可以請你上傳程式

在這邊麻煩了~新模組.vi

建議你先在LabVIEW>>Help>>Find Examples…搜尋serial,把範例程式改成你要的

看你的RS232的寫入跟讀取,是沒有問題的。

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

 

要不然也可以用「Instrument I/O」先確定通信沒有問題後,再用「Open Front Panel」進去內部看LabVIEW 的 Code

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

 

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

[QUOTE=ALOHABOY]

就是儀器所回傳的資料長度並不一定,有8個byte也有5個byte,我要如何才能抓到資料?

[/QUOTE]

我在利用RS232讀取或寫入資料時,是不管對方將回幾個byte的~

因為我是被動的接收,那至於何時停止收取呢??

就要看對方的通訊規範,以modbus ascii就是收到0x0D0A或是rtu時是利用timeout..(3.5個字元)

所以當條件成立時就是結束收取囉~~若仍收不完整!!

那是對方未照規範來傳送囉!!先看對方的規範如何來撰寫囉!!

試試吧..

非常感謝各位的幫忙,從範例中知道在Property Node前面加上一個delay time就可以使輸出不會閃爍.

感恩