自動シリアルポーリングの概要

NI-488.2

自動シリアルポーリングの概要

SRQラインがアサートされたときにアプリケーションが自動的にシリアルポールを実行するようにするには、自動シリアルポーリングを有効にします。従来のデバイスレベルの呼び出しのみで、自動シリアルポーリングを使用することができます。自動ポーリングは、以下の手順で実行されます。

  1. 自動ポーリングは、デフォルトでは有効になっています。自動ポーリングを無効にするには、ibconfig構成関数をIbcAUTOPOLLオプションを指定して使用するか、Measurement & Automation Explorerを使用します。
  2. SRQラインがアサートされると、ドライバは開いているデバイスに対して自動的にシリアルポールを実行します。
  3. 肯定的なシリアルポールの応答(ビット6つまり16進の40が設定されている)は、それを送信したデバイスに対応した待ち行列に格納されます。デバイスのステータスワードIbstaのRQSビットが設定されています。
  4. SRQのアサートが解除されるまで、またはエラーが検出されるまでポーリングは続行されます。
  5. 待ち行列を空にするには、ibrsp関数を使用します。 ibrspは最初に待ち行列に入った応答を返します。その他の応答は、先入れ先出し(FIFO)形式で読み取られます。ibrspが呼び出された時に、ステータスワードのRQSビットが設定されていないと、シリアルポールが実行され、受信した応答を返します。自動シリアルポールが発生したら即座に待ち行列を空にする必要があります。
  6. ibrspが呼び出された後で、ステータスワードのRQSビットが設定されたままの場合は、応答バイト待ち行列には、少なくとももう1つ応答バイトが残ってます。この場合、RQSがクリアされるまで、ibrspを呼び出し続ける必要があります。

関連項目:

AllSpoll

FindRQS

IBRSP

IBRSV

シリアルポーリングの概要

デバイスレベルの従来のNI-488.2コールを使用したシリアルポーリング

複数デバイスNI-488.2コールを使用したシリアルポーリング

デバイスからのサービス要求