Function Reference

_viSetAttribute

全ての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プログラミングガイドを参照)を表す非ゼロの値を返します
エラー時にはこの関数は常に@errorを1に設定します

 

注意

現在の定義済みの属性と値のリストです。
その他の有効な属性/値も(VISAプログラミングガイド定義された)対応する整数インデックスをこの関数に渡すことで使用できます。

* 属性: $VI_ATTR_TMO_VALUE -> タイムアウト設定
* 値:
          ミリ秒単位のタイムアウト時間または
          "すぐに返す"場合用の$VI_TMO_IMMEDIATE (または 0)
          "タイムアウトなし"の場合用のVI_TMO_INFINITE (または"INF")

* 属性: $VI_ATTR_ASRL_BAUD
* 値:
          任意の有効なボーレート(9600、115200、 etc)

* 属性: $VI_ATTR_ASRL_DATA_BITS
* 値:
          5から8

* 属性: $VI_ATTR_ASRL_PARITY
* 値:
          $VI_ASRL_PAR_NONE
          $VI_ASRL_PAR_ODD
          $VI_ASRL_PAR_EVEN
          $VI_ASRL_PAR_MARK
          $VI_ASRL_PAR_SPACE

* 属性: $VI_ATTR_ASRL_STOP_BITS
* 値:
          $VI_ASRL_STOP_ONE
          $VI_ASRL_STOP_ONE5
          $VI_ASRL_STOP_TWO

* 属性: $VI_ATTR_ASRL_FLOW_CNTRL
* 値:
          $VI_ASRL_FLOW_NONE
          $VI_ASRL_FLOW_XON_XOFF
          $VI_ASRL_FLOW_RTS_CTS
          $VI_ASRL_FLOW_DTR_DSR

全てのVISA関数において使用のためにはVISAライブラリ({WINDOWS}\system32内にvisa32.dllがあるかどうかによって確認できます)がインストールされている必要があります。
GPIBに関連した関数を使用する場合、GPIBカード(National Instruments NI PCI-GPIB カードやAgilent 82350B PCI High-Performance GPIB カードなど)が必要です。

* 一般的なVISA記述子のより詳しい説明については_viExecCommand関数ヘルプの注意を参照してください。

 

関連

_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) ; 計測器コネクションを閉じる