計測制御技術ラウンジ >> GPIB技術ラウンジ 全部 1- 最新50

INES社のGPIBのデリミタ設定について

1 名前: Aki 投稿日:2004/09/13(月) 18:21 ID:M6TGw9MQ

お世話になっております。

INES社のGPIBのGPIBをVBで制御していますが、デリミタの設定は良く分かりません。
OnlineManualを見てみると以下の関数で設定するようです。

Function IeSet(ByVal pad%, ByVal tmo%, ByVal termin%, ByVal termout%) As Integer


'---------------------------------------------------------
Selection of the termination value (termin/termout)

<0>  The data blocks will not be terminated. During a listener transfer (see Enter),
  this may result in the error message unexpected end of transfer buffer.
  If using an ines board with the ines IGPIB controller chip, the internal FIFO
  can be activated by adding a 1 to this value.

<900>  Data blocks will be terminated with EOI. During a talker transfer,
  the EOI line will be set to true with the last byte of data, and signals
  the end of the block. During a listener transfer, the input of data is
  stopped at the first byte with EOI set to TRUE. If using an ines board
  with the ines IGPIB controller chip, the internal FIFO can be activated by
  adding a 1 to this value.

<1XXX>  Data blocks will be delimited by the byte specified by decimal XXX.
  The listener transfer ends with the reception of this byte.
  During a talker transfer, the byte specified by XXX is appended to the data.
  The values allowed are between 1000 (EOS byte 00) and 1255 (EOS byte 0FFH).
  The EOI line is ignored.If using an ines board with the ines IGPIB controller chip,
  the internal FIFO can be activated by adding a 256 to this value.

<9XXX>  Data blocks will be delimited by the byte specified by decimal XXX
  and/or EOI TRUE. The listener transfer ends with the reception of the EOS byte or
  recognition of EOI TRUE. During a talker transfer, the byte specified by XXX will
  be appended to the data and the EOI line will be set to TRUE at the same time.
  The values allowed are between 9000 (EOS byte 00) and 9255 (EOS byte 0FFH).
  If using an ines board with the ines IGPIB controller chip, the internal FIFO
  can be activated by adding a 256 to this value.

1<XXXX> ATN mode The ines-ieee488 interface system will normally set the
  ATN line to TRUE following the end of a data transfer event. This can be modified,
  however, since this can sometimes prompt a malfunction of certain devices.
  By adding 10.000 (decimal) to the termin/termout value it is possible to cause
  the ATN line to remain in the FALSE state following completion of a data transfer event.

Initial Settings (Default Setting)

After the initialization of the ines-ieee488, the following values are used as default
settings:
  <timeout>  = 1000   ms
  <termin>  = 900   EOI
  <termout>  = 9010   EOI/LF

'---------------------------------------------------------

しかし、<termin>と<termout>を 0, 900, 9010, ...など設定しても
受信文字列の最後に<10h>が付いています。ということはデリミタの設定はうまく
できなかったと思います。

これについてご存知の方がいらっしゃいましたら教えていただけませんか。

よろしくお願いいたします。

動作環境:
  Windows2000 - VB6.0
  ボード:Ines GPIB-PSMCIA

2 名前: マニク◆Jy2pR/5Y 投稿日:2004/09/14(火) 11:24 ID:???
受信文字列の最後が0x0Aなら正しくターミネートできてる
ように思いますが。それともtermin=0 (EOIでもLFでもターミ
ネートしない)なのにEOI又は0x0Aに遭遇した時点でターミネ
ートしちゃうんでしょうか?

そもそもines製のGPIBボードってAgilent SICL/VISAライブ
ラリでドライブしたほうが良いのでは? 変なAPI使うより。
それともその機種はAgilent互換で動かせないとか。

3 名前: tam 投稿日:2004/09/14(火) 11:52 ID:bDilOZgg
 私も、受信文字列の最後の<10h>は10(10進):LFの間違いでは無いかと思いました。
まず、それを確認してみてください。
それと設定パラメータですが、
pad:多分制御される機器のGP-IBアドレス
tmo:タイムアウト時間
termin:受信時(IeInpt)のデリミタ設定
termout:送信時(IeOutput等?)のデリミタ設定
のようですが、これらはあっていますか?
padが違っていると別の機器への設定になってしまうと思います。
また受信時のデリミタですから、terminの設定が問題と思いますが
termoutに設定してることはないですか?
コマンドの戻り値は0(Success)ですか?
機器側の仕様で、メッセージの終端は10hなんてことはないですか?

ボード、コンピュータ側の情報だけでなくて、機器側やプログラムの
中味などもう少し情報が欲しいです。

4 名前: マニク◆Jy2pR/5Y 投稿日:2004/09/14(火) 13:05 ID:???
>>3
0x10で終端って普通は無いでしょ。折れも10進、16進、読み違えてるかも。

「9010」をterminに指定するっていうのは、16進表記だと思うので、
それだと終端指定0x10って意味になるかも。正しくは0x900A
じゃないかな。0x9000には、EOI終端許可とEOS終端許可の両方の
ビットが含まれているみたいだし。

5 名前: tam 投稿日:2004/09/14(火) 13:40 ID:bDilOZgg
 オンラインマニュアルをダウンロードして見ましたが、10進表記で、
9000〜9255が設定範囲と出てましたよ。
 私も0x10なんていう終端があるとは思わないけど、機器側の情報や
具体的に受け取ったメッセージが無いと、そんな馬鹿げたことも考えちゃうよ
と言いたかっただけです。

6 名前: 匿名488 投稿日:2004/09/14(火) 14:03 ID:???
>コマンドの戻り値は0(Success)ですか?

私も当該製品のマニュアル持ってないので、ダウンロードして
見てみましたが、うまくいっているかどうかの判断基準は
やはりこれの結果次第でしょうかね。

デリミタが認識できずに終了した場合は、エラーになるようですから。

ちなみに転送結果がバッファにデリミタまで格納されるかどうかの仕様は、
ぱっと見では読み取れませんでした(Enter コマンド)。

7 名前: 6 投稿日:2004/09/14(火) 14:07 ID:???
参考資料(マニュアルダウンロード)
http://www.ines.de/download.htm

8 名前: マニク◆Jy2pR/5Y 投稿日:2004/09/14(火) 15:16 ID:???
VISA/SICLサポートあるんだから素直にそっち使った方がえんで内科医?
NIともAgilentとも互換取れるし。
http://www.inesinc.com/gpibpcm.htm

新着レスの表示

名前 : E-mail(省略可) :

文責:計測制御技術ラウンジ, Powered by ©タカヒロ@みちのく掲示板 [12ch BBS 2.03]