Microsoft Excel 2010 VBA によるオシロスコープ 制 御 データロギング
内 容 1. はじめに... 2 2. 制 御 プログラム 作 成 の 準 備... 2 2.1. ソフトウェア 環 境... 2 2.2. ハードウェア 環 境... 4 2.3. 測 定 器 の 接 続 と VISA アドレスの 確 認... 4 3. 基 本 的 なプログラムの 作 成... 6 3.1. 開 発 環 境 の 設 定... 6 3.2. VBA ウィンドウの 表 示... 7 3.3. 参 照 ライブラリの 追 加... 8 4. サンプルプログラム... 10 4.1. サンプルプログラムの 説 明... 10 4.2. サンプルプログラムの 操 作 方 法... 11 4.2.1. マクロの 有 効 化... 11 4.2.2. 操 作 方 法... 14 4.3. サンプルプログラムのコードの 確 認 カスタマイズ... 16 4.4. サンプルプログラムのコマンド... 16 5. Excel VBA に 関 する Tips... 18 5.1. VBA の 高 速 化... 18 5.2. プログラムの 中 断... 18 6. 測 定 器 プログラムのサポート... 20 1. はじめに このテキストは PC から 測 定 器 を 制 御 して 測 定 データのログを 取 得 する 方 法 について 説 明 し ます 電 圧 変 化 を 1 分 ごとに 20 回 測 定 したい 等 を 行 うことができるようになります ここでは マイクロソフト 社 の Excel 2010 ( 以 下 で Excel) で 動 作 する Visual Basic Application マク ロ( 以 下 VBA)を 用 いたサンプルプログラムの 使 い 方 について 説 明 します 制 御 プログラムの 基 本 的 な 実 装 方 法 については ダウンロードサイトにあります MS-Excel2010 によるオシロスコープ 制 御 入 門 InfiniiVision 編 を 参 照 してください 2. 制 御 プログラム 作 成 の 準 備 2.1. ソフトウェア 環 境 本 文 章 の 内 容 を 実 施 するためには マイクロソフト 社 の Windows OS に 以 下 のものがインストー ルされている 環 境 が 必 要 です これらは インターネット 上 でも 入 手 購 入 することが 可 能 です な
お Agilent Technologies, Inc. IO Libraries Suite は 弊 社 測 定 器 ではなくとも お 使 いになることがで きます マイクロソフト 社 Excel 2010 がインストールされている Windows OS Agilent IO Libraries Suite ( 以 下 の 弊 社 Web から 無 償 でダウンロードが 可 能 ) [IO Libraries Suite ソフトウェアダウンロードサイト] http://www.agilent.com/find/iolib Sample Program ( 以 下 の 弊 社 Web から 無 償 でダウンロードが 可 能 ) [ダウンロードサイト] http://www.agilent.co.jp/find/infiniivision-sample
2.2. ハードウェア 環 境 本 章 の 内 容 を 実 施 するには PC や 測 定 器 の 種 類 搭 載 されているインターフェースにもよりま すが 必 要 に 応 じて PC と 測 定 器 を 接 続 するためのインターフェースカードや ケーブル 類 が 必 要 となります 現 在 の Agilent 社 の 測 定 器 には 制 御 用 インターフェースとして 主 に USB GPIB LAN などが 搭 載 されています 個 別 の 測 定 器 に 搭 載 されているインターフェースに 関 しては デー タシートやマニュアルをご 確 認 ください 表 1は オシロスコープに 搭 載 されている 制 御 用 インター フェースです モデル 番 号 USB GPIB LAN DSOX/MSOX2000 オプション オプション DSOX/MSOX3000 オプション オプション DSO5000 DSO/MSO6000 DSO/MSO7000 オプション DSO/MSO8000 DSO80000 DSO/MSO9000 オプション DSO90000 オプション 表 1 Agilent 社 製 オシロスコープ 搭 載 リモート 制 御 用 インターフェース お 使 いの 測 定 器 に 合 わせて 制 御 に 用 いるインターフェースを 検 討 します その 際 LAN USB であれば 一 般 的 なインターフェースであるため PC に 搭 載 されている 可 能 性 が 高 いですが GPIB は 測 定 器 用 インターフェースであるため 一 般 的 な PC に 搭 載 されていません そのため GPIB にて 制 御 を 実 施 する 場 合 には GPIB インターフェース GPIB ケーブルを 別 途 ご 購 入 する 必 要 があります これらは 弊 社 にて 販 売 しておりますので お 気 軽 にお 問 い 合 わせください 2.3. 測 定 器 の 接 続 と VISA アドレスの 確 認 制 御 する 測 定 器 を 指 定 には 対 象 となる 測 定 器 の VISA アドレスを 使 います Agilent IO Libraries Suite の Agilent Connection Expert を 使 って VISA アドレスを 確 認 する 方 法 を 説 明 します 1 測 定 器 を PC と 接 続 します ここでは USB ケーブルで 接 続 したものとして ご 説 明 を 進 めます LAN で 接 続 する 場 合 は PC と 測 定 器 の IP アドレスの 設 定 / 確 認 が 必 要 です また ケーブ ルの 種 類 にご 注 意 ください PC と 直 接 接 続 する 場 合 通 常 は クロスタイプのケーブルが 必 要 です ハブ 等 を 用 いて 接 続 した 場 合 は 一 般 に 使 われているストレートタイプのケーブルを 使 用 することができます 2 Agilent Connection Expert を 起 動 します
スタートボタンから [スタートボタン]>[Agilent IO Libraries Suite]>[Agilent Connection Expert]を 実 行 します( 図 1) 図 1 Connection Expert の 起 動 3 ケーブルで 接 続 されている 測 定 器 は モデル 名 の 横 に 緑 色 のチェック 印 が 示 されます もし! の 印 が 付 いている 場 合 は 測 定 器 が 認 識 されていない 事 を 表 します 原 因 として 測 定 器 の 電 源 が 入 っていない ケーブルが 接 続 されていない 測 定 器 によっては 測 定 器 側 の 設 定 (お 使 いになるインターフェースの 選 択 )がなされていない 事 が 考 えられます 4 使 用 する 測 定 器 を 選 択 し 表 示 される VISA アドレスを 確 認 してください( 図 2)
測 定 器 VISA アドレス 図 2 VISA アドレスの 確 認 3. 基 本 的 なプログラムの 作 成 3.1. 開 発 環 境 の 設 定 Excel に 開 発 用 のタブを 追 加 します リボン 上 を 右 クリックし [リボンのユーザー 設 定 (R)]を 選 択 してください 図 3 リボンのユーザー 設 定 呼 び 出 し [リボンのユーザー 設 定 ]から[メインタブ]を 選 択 し その 下 の[ 開 発 ]にチェックを 入 れて[OK]を 押 し てください
図 4 開 発 タブの 追 加 [メニュー]に[ 開 発 ]が 追 加 されます 図 5 開 発 タブの 確 認 3.2. VBA ウィンドウの 表 示 Excel 上 で[Alt] + [F11]キーを 押 すか [リボン]>[ 開 発 ]>[Visual Basic]をクリックしてください( 図 6) VBA ウィンドウが 表 示 されます( 図 7)
図 6 VBA ウィンドウの 起 動 図 7 VBA ウィンドウ 3.3. 参 照 ライブラリの 追 加 プログラムから 測 定 器 と 通 信 を 行 う 際 には ライブラリの 参 照 を 追 加 し それを 用 いて 通 信 を 行 います このライブラリをお 使 いになるには IO Libraries Suite をインストールする 必 要 があります 1 プロジェクトのプロパティを 開 きます VBA ウィンドウから[ツール(T)] > [ 参 照 設 定 (R) ]をクリックしてください( 図 8)
図 8 ライブラリの 追 加 2 表 示 されるダイアログの[ 参 照 可 能 なライブラリファイル(A)]から[VISA COM 3.0 Type Library]に チェックを 追 加 します( 図 9) 図 9 VISA COM ライブラリの 選 択
4. サンプルプログラム ここからは Agilent 製 オシロスコープ(InfiniiVision シリーズ)のサンプルプログラムに 関 して ご 説 明 していきます InfiniiVision シリーズ オシロスコープのサンプルプログラムは 下 記 よりダウン ロードが 可 能 となっております [ダウンロードサイト] http://www.agilent.co.jp/find/infiniivision-sample InfiniiVision シリーズ DSOX/MSOX2000,3000 DSO5000 DSO/MSO6000 DSO/MSO7000 の 各 シリーズ 4.1. サンプルプログラムの 説 明 このサンプルプログラムは コードだけではなく 既 にデザインウィンドウに 測 定 を 実 施 するた めのボタンや 設 定 のパラメーター 選 択 のためのドロップダウンメニューが 配 置 されており その ままでも お 使 いになることができます 図 10 サンプルプログラム
図 11 波 形 データ(Wavefome タブ) 図 12 測 定 データ(Measurement タブ) このサンプルプログラムでは オシロスコープの 各 パラメーター( 時 間 レンジ 振 幅 レンジ チャ ンネル トリガ)を 設 定 し 波 形 のデータを Waveform という 名 前 のシートに 記 録 します( 図 11) ま た 振 幅 周 波 数 パルス 幅 立 ち 上 がり 時 間 を 測 定 し Measurement というシートに 記 録 します ( 図 12) 波 形 データと 振 幅 についてはグラフを 表 示 します また リセット エラー 取 得 Auto Scale を 個 別 に 実 施 させることができます 4.2. サンプルプログラムの 操 作 方 法 デジタル 証 明 書 やデジタル 署 名 のない VBA マクロを 動 作 させるには マクロを 有 効 にする 必 要 があります マクロの 設 定 は 本 プログラム 以 外 のマクロにもセキュリティ 上 の 影 響 を 与 えます マ クロを 有 効 にする 操 作 は ユーザーの 責 任 において 行 ってください 変 更 によって 生 じたすべての 障 害 損 害 不 具 合 等 ( 含 ソフトウェアのバグ)に 関 しては 弊 社 および 弊 社 の 所 属 するいかなる 団 体 組 織 とも 一 切 の 責 任 を 負 いません 4.2.1. マクロの 有 効 化 1 Excel を 開 いた 後 シート 上 のセルを 選 択 した 状 態 で[リボン]>[ファイル]>[オプション]をクリック してください( 図 13)
図 13 オプションを 選 択 2 [セキュリティセンター]を 選 択 し [セキュリティセンターの 設 定 ]ボタンを 押 してください( 図 14)
図 14 セキュリティセンターの 設 定 3 [マクロの 設 定 ]を 選 択 し [ 警 告 を 表 示 してすべてのマクロを 無 効 にする(D)]または [すべての マクロを 有 効 にする(E)]を 選 択 してください 図 15 マクロの 設 定
4 マクロの 設 定 後 ファイルを 開 きなおしてください マクロの 設 定 によっては 図 16 や 図 17 のような 警 告 が 表 示 されることがあります [マクロを 有 効 にする(E)]や[コンテンツの 有 効 化 ]を クリックすると マクロが 有 効 な 状 態 になります 図 16 セキュリティの 警 告 図 17 コンテンツの 有 効 化 4.2.2. 操 作 方 法 マクロが 有 効 な 状 態 になるようにして LoggingInfiniiVision.xlsm を 起 動 してください( 図 18)
2 3 1 1 図 18 サンプルプログラムの 操 作 方 法 1 VISA Address 欄 に 制 御 するオシロスコープの VISA アドレスを 入 力 し *IDN?ボタンを 押 します オシロスコープの VISA アドレスは 前 述 の Agilent Connection Expert にて 確 認 できます 例 : USB0::0x0957::0x17A2::MY50500003::0::INSTR *IDN?ボタンを 押 すと 測 定 器 のモデル 名 が 表 示 されます 表 示 されない 場 合 には VISA アド レスを 再 確 認 してください また Agilent Connection Expert にて 測 定 器 が 接 続 されているか 確 認 してください 2 測 定 回 数 やインターバルを 設 定 します 入 力 している 波 形 に 合 わせて チャンネル 水 平 軸 垂 直 軸 トリガの 設 定 を 行 います インターバルは 実 行 する PC や 接 続 方 法 により 設 定 した 値 よりも 大 きくなる 場 合 があります 0 に 設 定 した 場 合 が 待 ち 時 間 がない 最 速 の 測 定 となります 必 要 に 応 じて 調 整 してください 3 RUN ボタンを 押 すと 測 定 が 開 始 されます 測 定 後 プログラム 画 面 に オシロスコープの 画 面 画 像 が 表 示 され 測 定 値 が 表 示 されます 測 定 を 中 断 したい 場 合 は [ESC] キーを 押 してく ださい なお 入 力 されている 波 形 に 対 して 適 切 な 設 定 がなされていない 場 合 には オシロスコー プに 波 形 が 表 示 されないことや トリガがかからずに プログラムが 停 止 することがあります 適 切 な 設 定 に 変 更 し 実 施 してください
4.3. サンプルプログラムのコードの 確 認 カスタマイズ サンプルプログラムのコードを 確 認 カスタマイズする 場 合 には LoggingInfiniiVision.xlsm を 開 き ModuleInfiniiVision.bas や ModuleLoggingControl 等 のプロジェクトコードを 開 いてください プロジェクトはVBA ウィンドウから 参 照 編 集 することができます VBA ウィンドウの 開 き 方 につ いては3.1 開 発 環 境 の 設 定 を 参 照 してください コードの 表 示 等 の 基 本 的 な 捜 査 については ダウ ンロードサイトにあります MS-Excel2010 によるオシロスコープ 制 御 入 門 InfiniiVision 編 を 参 照 し てください 4.4. サンプルプログラムのコマンド このサンプルプログラムには のコマンドが 使 われています 末 尾 に? がついているコマンドは クエリ コマンドと 呼 び 返 り 値 を 要 求 するコマンドとなります クエリ コマンドを 送 った 後 は 返 り 値 の 読 み 込 みが 必 要 となります なお コマンドの 詳 細 に 関 しましては 各 オシロスコープの Programmer s Guide をご 参 照 ください 英 語 版 ガイドのみのご 提 供 です 日 本 語 版 はありません [InfiniiVision Oscilloscopes Programmer s Guide] DSOX/MSOX2000 Series Oscilloscopes Programmer s Guide http://www.home.agilent.com/upload/cmc_upload/all/2000_series_prog_guide.pdf DSOX/MSOX3000 Series Oscilloscopes Programmer s Guide http://www.home.agilent.com/upload/cmc_upload/all/3000_series_prog_guide.pdf DSO5000 Series Oscilloscopes Programmer s Guide http://www.home.agilent.com/upload/cmc_upload/all/5000_series_prog_guide.pdf DSO/MSO7000 Series Oscilloscopes Programmer s Guide http://www.home.agilent.com/upload/cmc_upload/all/7000b_series_prog_guide.pdf
コマンド 解 説 *IDN? 測 定 器 の ID 取 得 *RST リセット 状 態 にする :AUToscale オートスケール 実 施 :SYSTem:ERRor? エラー キュー 内 容 取 得 :CHANnel<n>:SCALe 縦 軸 のレンジ 設 定 (1 マスあたりの 電 圧 値 ) :CHANnel<n>:OFFSet 縦 軸 のオフセット 設 定 :CHANnel<n>:DISPlay チャンネルの 表 示 オン/オフ :CHANnel<n>:IMPedance チャンネルの 入 力 抵 抗 選 択 :CHANnel<n>:PROBe チャンネルのプローブ 減 衰 比 設 定 :TIMebase:SCALe 横 軸 のレンジ 設 定 (1 マスあたりの 時 間 ) :TIMebase:POSition 横 軸 のポジション 設 定 (Delay つまみ) :TIMebase:REFerence トリガポジション :TRIGger:SWEep 自 動 トリガ ノーマルトリガの 切 り 替 え :TRIGger:MODE トリガモードの 選 択 (エッジ 等 ) :TRIGger:SOURce トリガソースの 選 択 :TRIGger:EDGE:LEVel トリガエッジのレベル :TRIGger:SLOPe トリガスロープ 選 択 ( 立 ち 上 がり or 立 下 り) :STOP 収 集 停 止 :SINGle シングルトリガ :TER? トリガが 掛 かったかどうか 調 べる :MEASure:VPP? Vpp 値 の 取 得 :MEASure:FREQuency? 周 波 数 値 の 取 得 :MEASure:PWIDth? 正 のパルス 値 の 取 得 :MEASure:RISetime? 立 ち 上 がり 時 間 値 の 取 得 :WAVeform:SOURce 転 送 波 形 の 指 定 :WAVeform:FORMat 波 形 転 送 時 のフォーマット 選 択 :WAVeform:UNSigned 波 形 転 送 時 の 整 数 型 選 択 :WAVeform:BYTeorder 波 形 転 送 時 のバイト オーダー 選 択 :WAVeform:XINCrement? サンプルポイントの 時 間 間 隔 の 取 得 :WAVeform:XORigin? 横 軸 の 基 準 位 置 の 取 得 :WAVeform:YINCrement? サンプルポイントの 電 圧 間 隔 の 取 得 :WAVeform:YORigin? 縦 軸 の 基 準 位 置 取 得 :WAVeform:DATA? 波 形 データの 取 得 :WAVeform:POINts? サンプルポイントの 数 の 取 得 表 2 SCPI コマンド
5. Excel VBA に 関 する Tips ダウンロードサイトにあります Microsoft Excel 2010 VBA によるオシロスコープ 制 御 入 門 InfiniiVision 編 も 参 照 してください 5.1. VBA の 高 速 化 次 のような 高 速 化 を 行 っています 次 の 説 明 のプログラムでは 疑 似 コードを 使 っています 必 要 に 応 じて 読 み 替 えてください 画 面 の 更 新 を 制 御 する Application.ScreenUpdating = False 更 新 を 止 める Application.ScreenUpdating = True 更 新 を 再 開 する シートの 表 示 を 制 御 する Sheet( Waveform ).Visible = False Sheet( Waveform ).Visible = True 表 示 しない 表 示 する 大 量 のセルは 配 列 で 値 を 入 れる Dim targetarray As Variant Dim targetrange As Range Set targetrange = Range(Cell([ 開 始 行 ], [ 開 始 列 ]), Cell([ 終 了 行 ]), [ 終 了 列 ))) targetarray = targetrange 書 き 込 み 対 象 のセルを 配 列 で 取 得 { For 文 等 で 値 を 設 定 する target([ 行 ],[ 列 ])で 値 を 設 定 する [ 行 ],[ 列 ]の 値 は 1 から 始 まります 普 通 の 配 列 とは 異 なります } targetrange = targetarray セルに 配 列 で 値 を 書 き 込 む 5.2. プログラムの 中 断 VBA は ESC キーを 押 すことで 中 断 することができます 次 のようなコードを 実 装 することで ESC キ ーを 押 した 時 にプログラムを 中 断 するだけでなく エラー 処 理 を 行 うことができるようになります ま た Resume コマンドで 中 断 したところに 復 帰 することができます On Error GoTo OnError Application.EnableCancelKey = xlerrorhandler ' ESC キーでエラー 処 理 に 飛 ぶ OnError: If Err.Number = 18 Then ' ESCキーでのエラートラップ
ESCを 押 した 時 の 処 理 Resume 復 帰 End If
6. 測 定 器 プログラムのサポート このガイドやサンプルプログラムに 関 しては 下 記 まで お 問 い 合 わせください アジレント テクノロジー 株 式 会 社 電 子 計 測 本 部 計 測 お 客 様 窓 口 フリーダイアル: 0120 421-345 Email : contact_japan@agilent.com 計 測 お 客 様 窓 口 では このガイドに 対 する 質 問 サンプルプログラムに 関 してのインストール 方 法 実 行 方 法 プログラム 内 容 等 のお 問 い 合 わせを 承 っております お 問 い 合 わせの 際 は Windows のバージョン 言 語 のバージョン ご 利 用 の 測 定 器 モデル 名 具 体 的 なお 問 い 合 わせ 内 容 をお 知 らせ 下 さい その 他 Agilent 社 製 測 定 器 のコマンドや 動 作 に 関 する 説 明 他 社 製 測 定 器 から 弊 社 測 定 器 へのポーティング IO Libraries Suite による 測 定 器 の 制 御 など 弊 社 製 品 に 関 して のご 質 問 ご 相 談 も 承 っております 新 規 プログラム 作 成 のご 依 頼 や サンプルプログラムのカスタマイズのご 依 頼 お 客 様 が 作 成 カスタマイズなされたプログラムのデバッグ 作 業 は 承 っておりません Excel 2010 や VBA の 使 い 方 や 文 法 など プログラム 開 発 環 境 やプログラム 言 語 の 一 般 的 なご 質 問 に 関 しましては サポートしておりません 一 般 の 書 籍 または web Help 等 の 情 報 を ご 確 認 いただきますようお 願 いいたします 著 作 権 および 免 責 事 項 著 作 権 はアジレント テクノロジー 株 式 会 社 が 保 有 していま す このガイド ソフトウェアを 使 用 したことによって 生 じたす べての 障 害 損 害 不 具 合 等 ( 含 ソフトウェアのバグ)に 関 し ては 弊 社 および 弊 社 の 所 属 するいかなる 団 体 組 織 とも 一 切 の 責 任 を 負 いません 各 自 の 責 任 においてご 使 用 くだ さい 転 載 条 件 無 断 での 転 載 配 布 はご 遠 慮 下 さい アジレント テクノロジー 株 式 会 社 本 社 192-8510 東 京 都 八 王 子 市 高 倉 町 9-1 計 測 お 客 様 窓 口 受 付 時 間 9:00-18:00( 土 日 祭 日 を 除 く) TEL 0120-421-345 (042-656-7832) FAX 0120-421-678 (042-656-7840) Email contact_japan@agilent.com 電 子 計 測 ホームページ www.agilent.co.jp 記 載 事 項 は 変 更 になる 場 合 があります ご 発 注 の 際 にご 確 認 ください Agilent Technologies. Inc. 2012 Published in Japan, June 12,2012 5991-0687JAJP 0000-08A