IBEOS 関数を使用して EOS 文字(終端文字)の設定方法。



使用ソフトウェア: Driver Software>>NI-488.2
使用ソフトウェア・バージョン: 2.2
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア:

問題: GPIB ボードと計測器の通信内で EOS 文字(終端文字)を使用したいですが、ヘルプおよびマニュアル内 ibeos に関する説明が分かりずらいです。EOS 文字の設定方法を教えて下さい。

解決策: NI-488.2 の関数リファレンスマニュアル内 ibeos は全般的な使用方法があります:
ud はボード又はデバイスの特別インタフェース番号(ibfind および ibdev で定義したボードとデバイスのインタフェース番号)、v は EOS の設定モードと終端文字を指定しています。

v パラメーターには2バイトが含まれています: 高位バイトと低位バイト。 高位バイトは EOS の設定モード情報があり、低位バイトには使用予定の EOS 文字です。 表 1-7. EOS の設定には3つのモードと各モードの高位バイト値を表示しています:

表 1-7. EOS の設定
ビット構成高位バイト低位バイト
AEOS が検出された時点で読み取り処理を終了します。00000100EOS 文字
B書き込み関数にEOSとともにEOIを設定します。00001000EOS 文字
C下位7ビットではなく、EOSバイトの8ビットすべてを比較します(すべての読み取りと書き込みのコール)。00010000EOS 文字


高位バイトは以上の様々な組み合わせ(A、B、又はC)、又はゼロ(EOS モードを使用しない)にも設定することが可能です。低位バイトは EOS 文字のアスキーコード、又はゼロ(EOS 文字を使用しない時)に設定することが可能です。

次の例では、v パラメーターの設定について詳しく説明しておりますので、ご参照下さい。

例1:
ibeos (ud, 0x140A); /* デバイス ud に EOS 文字を改行文字と設定し、EOS の使用を可能とします。
また EOS 文字を8ビットデータとして比べる設定。 */

ここでは高位バイト(16進では14)はビット A と C の組み合わせとなります。
ビット C 高位バイト 0001:0000 ビット A 高バイト 0000:0100
16進 1016進 04

低位バイト(16進で0A)は改行文字 (LF) のアスキーコードです。

例2(対話式制御、IBIC を使用しています):

ibdev 0 2 0 13 1 0x0442
ibwrt "*IDN?"
ibrd 100

この例では高位バイト(16進で04)はビット A (EOS で通信終了)しか設定されていません。 低位バイトは(16進で42)はアスキーコードの“B”と設定しています。 この設定で、GPIB ドライバは読み取りデータ内で“B”文字を読み取りますと、通信を停止します。 もしも、弊社の計測器シミュレータをご使用頂いておりますと*IDN?コマンドの返事は“Natoinal Instruments GPIB and Serial Device Simulator”とないます。 しかし、“B”文字で通信停止しているため、読み取ったデータはとなります。

関連リンク: NI-488.2 関数参考マニュアル(英語)

添付:





報告日時: 08/11/1997
最終更新日: 12/26/2000
ドキュメントID: 10AG59J7