GpibNotifyの使用

NI-488.2

GpibNotifyの使用

GpibNotify OLEコントロールは、SetupNotifyメソッドとNotifyイベントを使って実装されます。SetupNotifyメソッドは、特定のGPIBハンドルの1つまたは複数のGPIB条件をNI-488.2ドライバに検出させるために使用します。これを設定した後、OLEコントロールは1つまたは複数のGPIB状態がTRUEのときにNotifyイベントを発行します。Notifyが発行されることによって、ユーザ定義のコールバックが起動されます。

ここでは、GpibNotifyコントロールを使うサンプルプログラムの要点について説明します。プログラムには、RunMessageQuitの3つのボタンが含まれています。

Runボタンをクリックすると、Fluke 45マルチメータから10回測定値を読むためのコマンド群が実行されます。まず、プログラムはデバイスへのハンドルを取得します。次に、Fluke 45マルチメータを初期化するコマンド群を送信します。そして、トリガコマンドを送信します。その後、デバイスにデータの送信を要求します。最後に、RQS GPIB状態のmaskを指定したSetupNotifyGpibNotify OLEコントロールに対して発行します。

RQS GPIB条件がTRUEの場合は、Notifyイベントが発行されて、ユーザ定義のコールバックが起動されます。毎回コールバックを通して、RearmMaskRQSに設定され、次のRQS GPIB条件に備えてイベント通知が準備されます。コールバックで10個の測定値をFluke 45マルチメータから読み取った後、RearmMaskはゼロに設定されて、イベント通知機能を無効にします。

Messageボタンをクリックするたびに、テキストボックスにメッセージが表示されます。

Quitボタンをクリックすると、プログラムが閉じます。

NI-488.2ソフトウェアには、Visual Basicで書かれたサンプルプログラムが含まれています。プロジェクト、クラス、コードについての詳細は、readme.txtファイルを参照してください。

NI-488.2アプリケーション内での非同期イベント通知に関しては、非同期イベント通知の概要を参照してください。GpibNotify OLEコントロールについては、GpibNotify関数の定義を参照してください。

メモ GpibNotify OLEコントロールは、アパートメントモデルを使って実行されます。このため、アプリケーションがWindowsメッセージに時間どおりに応答する場合にしか正常に動作しません。