全てのVISA属性を設定します。またこの関数はVISAの特定の属性を設定するためにも使用できます。この関数は_viSetTimeoutで使用されています。より詳しい情報、VISA属性リストとそれぞれの値についてはVISAのドキュメントを読んでください。
#include <Visa.au3>
_viSetAttribute ( $h_session, $i_attribute, $i_value )
パラメータ
$h_session | VISA記述子(文字列)またはVISAセッションハンドル(整数)。 詳しくは_viExecCommandの注意を参照。 |
$i_attribute |
変更する属性のインデックス。 属性はVISAライブラリで定義されています。 このAutoItライブラリではタイムアウト属性($VI_ATTR_TMO_VALUE)とシリアルインターフェイス属性 の定数と値(注意を参照)のみ定義されています。 ただし必要な場合には他の有効なインデックスを(整数値)で渡すこともできます。 |
$i_value | 属性の値。整数でなければならず、とり得る値は属性の種類に依存しておりVISAドキュメントで定義されています。 |
返し値
成功: | 0を返します |
失敗: | DLLが開けない場合-1を、それ以外の場合VISAエラーコード(VISAプログラミングガイドを参照)を表す非ゼロの値を返します |
注意
現在の定義済みの属性と値のリストです。
関連
_viSetTimeout, _viExecCommand, _viOpen, _viClose
例
;- GPIBアドレス3に設定された計測器を扱うとする.
; 扱う計測器が異なるアドレスの場合は"GPIB::3::0"を対応する記述子に変更
; _viOpenの呼び出しも同様にする
; _viSetAttributeの使用法を示す。この例では_viExecCommand操作のGPIBタイムアウトを
; _viSetTimeoutの代わりに_viSetAttributeを使用して設定する
#include <Visa.au3>
Dim $h_session = 0
; GPIBアドレス3で計測器のIDを要求
MsgBox(0,"Step 1","Simple GPIB query with explicit TIMEOUT set")
Dim $s_answer = _viExecCommand("GPIB::3::0","*IDN?",10000) ; 10秒でタイムアウト
MsgBox(0,"GPIB QUERY result",$s_answer) ; 回答を表示
; _viSetAttribute関数の最初の使用と同じ:
MsgBox(0,"Step 2","_vOpen + timeout using _viSetAttribute + GPIB query")
Dim $h_instr = _viOpen(3)
; ノート - これは: _viSetTimeout($h_instr, 10000) と同じ
_viSetAttribute($h_instr, $VI_ATTR_TMO_VALUE, 10000) ; 10000 ms = 10秒
$s_answer = _viExecCommand($h_instr,"*IDN?") ; タイムアウトを設定する必要は無い
MsgBox(0,"GPIB QUERY result",$s_answer) ; 回答を表示
MsgBox(0,"Step 3","Close the Instrument connection using _viClose")
_viClose($h_instr) ; 計測器コネクションを閉じる