アドレス文字列でGPIBデバイスからバイトのバイトカウント数を読み取ります。

ノードを右クリックして、ショートカットメニューから同期I/Oモード»同期を選択し、データを同期的に読み取ります。


icon

入力/出力

  • ci32.png タイムアウト (ms) (488.2 グローバル)

    タイムアウト (ms) は、関数がタイムタウトするまで待機する時間をミリ秒単位で指定します。

    操作は、タイムアウト (ms) の制限時間内に完了しない場合は終了します。タイムアウトを無効にするには、タイムアウト (ms) を0に設定します。

    488.2グローバルタイムアウトを使用する場合は、タイムアウト (ms) を未配線にしておくか、入力を-1に設定します。次に「タイムアウト設定」関数を使用して、タイムアウト (ms) のデフォルト値を変更します。デフォルトは10000です。

  • cstr.png アドレス文字列

    アドレス文字列には、関数が通信を行うGPIBデバイスのアドレスが含まれています。

    アドレス文字列には、プライマリセカンダリの形式を使用して、プライマリアドレスとセカンダリアドレスの両方を入力できます。プライマリセカンダリの両方は10進数値であるため、たとえばプライマリが2でセカンダリが3の場合、アドレス文字列は2+3となります。

    アドレスが指定されていない場合、関数は文字列を読み書きする前にアドレス指定を実行しません。別の方法でこれらのコマンドを送信したとみなすか、または、別のコントローラがコントローラインチャージでアドレス指定を実行するものとみなします。コントローラがデバイスのアドレスを指定することになっている場合でも、タイムリミットが切れる前にそのアドレス指定を実行しないと、関数はGPIBエラー6 (タイムアウト) で終了し、ステータスでビット14を設定します。GPIBがコントローラインチャージでない場合は、アドレス文字列を指定しないでください。

    LabVIEWで使用できるGPIBコントローラが複数ある場合、「ID:アドレス」形式 (アドレスが不要な場合は「ID:」) のアドレス文字列の接頭辞で、特定の関数によって使用されるコントローラを決定します。たとえば、GPIBコントローラ2をアドレス3にトークするように設定するには、2:3の接頭辞を使用します。コントローラIDが存在しない場合、関数はコントローラ (またはバス) 番号0をデフォルトに設定します。

  • ci32.png バイトカウント

    バイトカウントは、関数がGPIBデバイスから読み取るバイト数を指定します。

  • ci16.png モード (0)

    モードは、バイトカウントに達する以外の読み取り終了の条件を指定します。

    以下の表は、有効な値と対応するEOS (End Of String) 文字を表しています。表にリストされていないモードは、希望のEOS文字の数値 (10進数) を示します。GPIBタスクの管理については、 >GPIB Multiline Interface Messagesを 参照してください。

    0EOS文字なし。EOS終了モードは無効です。読み取りはEOIまたはバイトカウントで終了します。
    1EOS文字はCRです。読み取りはEOI、バイトカウント、CRのいずれかで終了します。
    2EOS文字はLFです。読み取りはEOI、バイトカウント、LFのいずれかで終了します。
  • cerrcodeclst.png エラー入力

    エラー入力は、このノードを実行する前に発生したエラーの状態を示します。この入力は、標準エラー入力として機能します。

  • istr.png データ

    データは、関数が読み取るデータです。

  • i1dbool.png ステータス

    ステータスは、各ビットがGPIBコントローラの状態を表すブール配列です。

    エラーが発生すると、関数はビット15を設定します。GPIBエラーは、ステータスのビット15が設定されている場合のみ有効です。

    次の表は、ステータスの各ビットの数値および記号の状態を示します。この表には各ビットの説明も掲載されています。

    ステータスビット数値ステータス記号説明
    01DCASデバイスクリア状態
    12DTASデバイストリガ状態
    24LACSリスナがアクティブです
    38TACSトーカがアクティブです
    416ATNATNがアサートされました
    532CICコントローラインチャージ
    664REMリモート状態
    7128LOKロックアウト状態
    8256CMPL処理が完了しました
    124096SRQICICである間にSRQを検出しました
    138192ENDEOIまたはEOSを検出しました
    1416384TIMOタイムアウト
    15-32768ERRエラーを検出しました
  • ierrcodeclst.png エラー出力

    エラー出力には、エラー情報が含まれます。この出力は、標準エラー出力として機能します。

  • ハードウェアドライバ間でデータを同期的に転送すると、データ転送中、呼び出しスレッドがロックされます。転送速度によっては、この操作は呼び出しスレッドを必要とするその他のプロセスを妨げる場合があります。ただし、アプリケーションで高速データ転送が必要とされる場合、操作を同期的に行うと、呼び出しスレッドはこの操作に専念されます。

    メモ ほとんどのアプリケーションでは、4台以下の計測器と通信を実行している場合、同期的な呼び出しの速度が多少向上します。5台以上の計測器と通信を実行している場合、非同期の操作によってアプリケーションの速度が大幅に向上します。LabVIEWのデフォルトは非同期I/Oです。

    この関数が以下のうち1つの操作を完了すると、GPIB読み取り処理は終了します。

    • 要求されたバイト数を読み取る。
    • エラーを検出する。
    • タイムリミットを超過する。
    • (EOIがアサートされた) ENDメッセージを検出する。
    • EOS文字を検出する (このオプションがモードに供給された値によって有効な場合)。
    メモ この関数では、EOS文字をチェックする場合、8ビットのすべてを比較します。

    サンプルプログラム

    LabVIEWに含まれている以下のサンプルファイルを参照してください。

    • labview\examples\Instrument IO\GPIB\Simple GPIB.vi