|
Agilent Technologies社の6 1/2 Degit Multimeter2台による電圧自動測定で、エラー9が出てしまい困っています。
コードの概略としましては1測定温度に対し、2出力の電圧を500回測定し、その平均を出しSheet1に記述していくというものです。
以下コード
Private Sub let_mesurement_Click()
Dim i As Integer
Dim j As Integer
Dim DATA As Variant
Dim TOTAL As Single
Dim AVERAGE As Single
Dim temp As Integer
Dim count As Integer
count = Sheet1.Cells(5, 11)
temp = InputBox("測定温度は何℃ですか?", "温度確認")
Dim new_Worksheets As Variant
Set new_Worksheets = Worksheets.Add()
new_Worksheets.Name = Str(temp) & "℃"
Worksheets(new_Worksheets.Name).Cells(1, 1) = temp & "℃"
Worksheets(new_Worksheets.Name).Cells(2, 3) = "平均出力電圧[V]"
Worksheets(new_Worksheets.Name).Cells(1, 4) = "電圧1"
Worksheets(new_Worksheets.Name).Cells(1, 5) = "電圧2"
Dim RM As New VisaComLib.ResourceManager
Dim DMM As New VisaComLib.FormattedIO488
For i = 23 To 24
Set DMM.IO = RM.Open("GPIB0::" & i & "::INSTR") '入力されたVISAアド レスにてセッションオープン
DMM.IO.Timeout = 120000 'タイムアウト時間120秒に設定
TOTAL = 0
AVERAGE = 0
With DMM
.WriteString "*RST;*CLS" 'リセット、クリア
.WriteString "CONF:VOLT:DC AUTO" ', 1E-5" 'DCV測定
.WriteString "SENS:VOLT:DC:NPLC 0.5" '積分時間を0.5PPLに設定
.WriteString "TRIG:COUN 500" 'トリガカウント500回 34401Aの 内部メモリの限界512回
.WriteString "INIT" '測定開始
.WriteString "*OPC?" '動作完了確認(ここでは測定の完了を確 認)
.ReadString '測定が完了すると1 が返る
.WriteString "FETC?"
DATA = .ReadList(ASCIIType_R4, ",")
For j = 0 To 499
Worksheets(new_Worksheets.Name).Cells(j + 4, i - 19) = DATA(j)
TOTAL = TOTAL + DATA(j)
Next j
.IO.Close
End With
Set DMM = Nothing
Set RM = Nothing
AVERAGE = TOTAL / 500
Worksheets(new_Worksheets.Name).Cells(2, i - 19) = AVERAGE
Next i
Sheet1.Cells(count + 2, 1) = temp
Sheet1.Cells(count + 2, 2) = Worksheets(new_Worksheets.Name).Cells(2, 4)
Sheet1.Cells(count + 2, 3) = Worksheets(new_Worksheets.Name).Cells(2, 5)
Sheet1.Cells(5, 11) = count + 1
Set new_Worksheets = Nothing
MsgBox "測定完了!"
End Sub
コード以上
変数iはGPIBのアドレスです
Worksheets(new_Worksheets.Name).Cells(j + 4, i - 19) = DATA(j)
の部分でエラーが出るようですが、うまく機能するときもあり原因が分かりません
当方VBAの知識はあまりなくコード自体も元あったものを少し書き換えた形になります。自分の勉強不足ではありますが、こちらに質問したほうが早いかと思い投稿させていただいた次第です。
自分でも調べてみますがどうぞよろしくお願いします。
|
|