VISAで送信/受信データのシリアルポートバッファサイズの設定方法
使用ソフトウェア: LabVIEW Development Systems>>LabVIEW Full Development System
使用ソフトウェア・バージョン: N/A
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: N/A
問題:
シリアルポートで送信または受信するための最大バイト数を設定するには、どうすれば良いですか?
解決策:
LabVIEWでは、「VISA I/Oバッファサイズ設定」関数を使用して送受信データのバイト数を設定します。LabWindows\CVIでは、VISA viSetBuf関数を使用します。

ViStatus viSetBuf (ViSession
vi, ViUInt16
emask, ViUInt32
size)
- 受信データの場合、mask enumをI/O Receive Buffer (16)を設定し、sizeに受信予定のバイト数より少し多い数を指定します。たとえば、200 KBを受信するつもりの場合は、250 KBのサイズを指定します。

viSetBuf (
GPIB0::1::INSTR, VI_READ_BUF, 250)
- 送信データの場合、mask enumをI/O Transmit Buffer (32)を設定し、sizeに送信予定のバイト数より少し多い数を指定します。

viSetBuf (
GPIB0::1::INSTR, VI_WRITE_BUF, 250);
LabVIEWで重要な2つの設定は、マスクとサイズです。マスク設定は、I/O 受信バッファ(16)、I/O送信バッファ(32)、およびI/O受信および送信バッファ(48)のいずれかを設定します。サイズ設定は、バイトでI/Oバッファサイズを指定します。サイズのデフォルトは4096です。
LabWindows/CVIでは、VI_WRITE_BUF, VI_Read_BUF, VI_ASRL_IN_BUF, およびVI_ASRL_OUT_BUFを使用して設定します。
メモ: 「VISA I/Oバッファサイズを設定」関数を呼び出す前に、「VISAシリアルポート構成」VIを使用する必要があります。
関連リンク:
製品マニュアル: NI-VISA User Manual (PDF)
製品マニュアル: NI-VISA Programmer Reference Manual (PDF)
添付:
報告日時: 10/05/2001
最終更新日: 07/10/2016
ドキュメントID: 2E4ETN5P
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.