AnsweredAssumed Answered

GPIBコマンドでExcellのVBAを使用出来ない (Cannot use Excel VBA with GPIB commands)

Question asked by motoshoji on Jan 13, 2020

Interactive IO では GPIB コマンドを送れますが ExcellのVBAではコマンドを実行できない。何かの解決方法がありますか?

I can send {GPIB} command in Interactive IO, but I cannot execute the command in Excel VBA. Is there any solution?

 

Interactive IOが実行できる為にEOL Sequenceを設定します。下記の図の通りです。

Set EOL Sequence to execute Interactive IO. It is as the following figure.

Interactive IOを実行するために EOL SEQUENCEを設定します。図の通りです。

次にGPIBコマンドを実行します。このケースではSIGNAL GENERATORの出力レベルを設定します。

Next, execute the GPIB command. In this case, set the output level of the SIGNAL GENERATOR.

コマンド AP50 というのは出力レベル50dBμVにする。

The command {AP50} sets the output level to 50 dBμV.

コマンドAP?は出力レベルを確認時の問い合わせです。(APOFは出力OFF状態です。)

Command AP? Is a query to check the output level. (APOF is output OFF.)

下記の図の通りに動作が確認できました。

Operation was confirmed as shown in the figure below.

出力レベルを設定します。

上記のようにInteractive IOでは問題なくコマンドを実行出来ました。

As mentioned above, the command was executed without any problem in Interactive IO.

次にExcellのVBAを使用してコマンドを実行しますが全く反応がなく動作確認出来ませんでした。

Next, the command was executed using Excell's VBA, but there was no response and the operation could not be confirmed.

※出力レベルは80dBμVに変更して見ました。

* The output level was changed to 80dBμV.

コードは下記の通りです。

The code is as follows.

----------------------------------------------------------------------------------------------------

Sub ボタン1_Click()
Dim RM As New VisaComLib.ResourceManager
Dim SMB As New VisaComLib.FormattedIO488
Set RM = New VisaComLib.ResourceManager
Set SMB = New VisaComLib.FormattedIO488
Dim SMBAddress As String '測定器をOpenにするときのAddressをエクセルから取得する際に使用

'-------------------------------------------1--------------------------------------------------
'GPIBアドレス取得して使用
SMBAddress =1
Set SMB.IO = RM.Open("GPIB::" & SMBAddress &"::INSTR")

'*IDN?クエリを送り、測定機との接続を確認します。
SMB.WriteString "*IDN? 0x0D0A"
idname = SMB.ReadString()
Range("G21") = idname
'Output設定
SMB.WriteString "AP80,APOF"

SMB.IO.Close
Set SMB = Nothing
Set RM = Nothing

End Sub

------------------------------------------------------------------------------

実行の結果出力レベルは50dBμVのままになっています。

As a result of the execution, the output level remains at 50dBμV.

出力レベルを設定します。----------------------------------------------------------------------------------------

 

ExcellのVBAを使用出来る為には何かを修正しなければならないでしょうか?御教授願います。

Do I need to modify anything to use Excell's VBA? Any advice please.

Outcomes