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