NI-VISAまたはNI-VXI APIでメッセージベースデバイスと通信する

NI-VISA Measurement & Automation

NI-VISAまたはNI-VXI APIでメッセージベースデバイスと通信する

メッセージベースのデバイスには、VXIbus構成レジスタの他にレジスタセットがもうひとつあります。VXIbus通信レジスタと呼ばれるこれらのレジスタは、64バイトのデバイス構成領域内にあります。ワードシリアルプロトコル(メッセージベースのデバイス用の定義済み通信プロトコルで、IEEE 488プロトコルと似ています)は、これらのVXIbus通信レジスタをベースとしています。メッセージベースのデバイスとの通信には、通信用ワードシリアルプロトコルを使用する場合、製造元に関係なく同じ手順に従ってください。

VXIのメッセージベースのデバイスとの通信は、NI-VISAのviRead()およびviWrite()関数を使用して行うことができます。通信するメッセージベースのデバイスへのセッションを開くと、viWrite()でメッセージの文字列の書き込みや、viRead()でデバイスからのメッセージの読み取りを行うことができます。VISAサンプルのディレクトリには、RdWrt.cと呼ばれるメッセージベースの通信方法を示すサンプルがあります。

また、NI-VXI APIワードシリアル関数を使用することもできます。(ナショナルインスツルメンツでは、アプリケーションの開発にはNI-VXI APIよりNI-VISAをご使用になることをお勧めします。)Wswrt()は、メッセージの文字列を特定の論理アドレスのデバイスに送信するときに使用する関数です。Wsrd()は、デバイスからメッセージを受け取るときに使用する関数です。NI-VXI APIでのメッセージベースの通信方法を示すサンプルは、NI-VXIディレクトリのexamplesフォルダにあります。メモ帳でVXIws.cという名前のファイルを開きます。