## サンプルプログラムについて

ここでご提供するサンプル・プログラムのソースはすべて著作権フリーです。

日置電機株式会社は、ここに記載されたされたソフトウェアを実行、使用したことにより発生したいかなる損害に関しても、
責任を一切負いません。その旨、予めご了承のほど、お願いいたします。

Visual Basic、Visual Studioは米国Microsoft社の登録商標です。

MS、Microsoft、Windows、MS-DOSは米国Microsoft社の登録商標です。

## Visual Basic2010 Express Editionでの作成手順

Windows の開発言語Visual Basic2010 Express Editionを利用して、IM3570をRS-232C経由で コンピュータから操作して、測定値を取り込んでファイルに保存する方法を例に説明します。

以下、Visual Basic2010をVB2010と記載します。

コンピュータやVB2010の環境により、説明が若干異なる場合があります。 VB2010の詳しい使用方法についてはVB2010のHELPまたは参考書籍をご覧ください。

1. 新規プロジェクトの作成

   1. VB2010 を起動する。

   2. [ファイル]-[新しいプロジェクト]を選択する。

   3. テンプレートから[Windows フォーム アプリケーション]を選択する。

   4. [OK]ボタンをクリックする。

2. ボタンの配置

   1. [ツールボックス]の[コモンコントロール]から[Button]をクリックする。

   2. フォームレイアウト画面上でマウスボタンをドラッグしてボタンを貼り付ける。

   3. プロパティウィンドウから[Text]を「測定開始」に変更する。

   4. フォーム上に[測定開始]ボタンが配置される。

3. シリアル通信コンポーネントの配置

   1. [ツールボックス]の[コンポーネント]から[SerialPort]をクリックする。

   2. [SerialPort]コンポーネントをフォームレイアウト画面上へドラッグして貼り付ける。

   3. プロパティウィンドウから[PortName] を通信に使用するポート名に変更する。

      あらかじめ、通信に使用するポートを確認してください。

4. コードの記述

   1. 配置したボタンをダブルクリックしてコードエディタを表示する。

   2. コードエディタにサンプルプログラムを入力する。

   3. [ファイル]-[すべてを保存]を選択する。

   4. 保存場所を確認して[上書き保存]をクリックする。

5. IM3570 のインタフェース設定

   IM3570 のインタフェース設定を下記のように設定する。

6. プログラムの実行

   本サンプルプログラムでは以下のような動作をします。

   - [測定開始]ボタンを押すと、RS-232C通信でIM3570の測定条件を設定します。
   - 10 回測定を行い、CSV形式のファイルへ保存します。ファイル名は日時から自動的に設定します。
   - すべての測定が正常に完了すると「測定終了」のメッセージが表示されます。

   1. [デバッグ開始]ボタンをクリックする。

   2. [測定開始]ボタンをクリックする。

   3. 測定が終了するとメッセージが表示されて、「プロジェクトを保存したフォルダ\bin\Debug」フォルダ内に測定値が保存されます。

## 保存例

    Z,θ,Cp,Lp
      998.150E-03,  -0.001, 2.430312E-09,-10.42265E+00
      998.150E-03,  -0.006, 16.80788E-09,-1.507049E+00
      998.099E-03,  -0.002, 4.951606E-09,-5.115571E+00
      998.125E-03,  -0.002, 4.458802E-09,-5.680965E+00
      998.082E-03,  -0.004, 12.12213E-09,-2.089591E+00
      998.117E-03,  -0.002, 5.055860E-09,-5.010087E+00
      998.130E-03,  -0.003, 9.168967E-09,-2.762612E+00
      998.160E-03,  -0.002, 5.503513E-09,-4.602568E+00
      998.124E-03,  -0.002, 6.831358E-09,-3.707945E+00
      998.080E-03,  -0.001, 3.565134E-09,-7.105004E+00

## サンプルプログラム

    Public Class Form1

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

            Button1.Enabled = False                            ' 測定中はボタンを無効にする
            Try
                SerialPort1.NewLine = vbCrLf                   ' 改行コードをCR+LFに設定

                SerialPort1.Open()                             ' シリアル通信ポートオープン

                SerialPort1.WriteLine(":MODE LCR")             ' 測定モード    :LCR
                SerialPort1.WriteLine(":MEAS:ITEM 149,0")      ' 測定パラメータ:Z,θ,Cp,Lp
                SerialPort1.WriteLine(":HEAD OFF")             ' ヘッダ        :OFF
                SerialPort1.WriteLine(":LEV V")                ' 信号レベル    :開放電圧
                SerialPort1.WriteLine(":LEV:VOLT 0.5")         ' 信号レベル    :500mV
                SerialPort1.WriteLine(":FREQ 1E3")             ' 測定周波数    :1kHz
                SerialPort1.WriteLine("TRIG EXT")              ' トリガ        :外部トリガ

                Dim dt As DateTime = DateTime.Now              ' 日時を取得
                Dim filename As String = dt.ToString("yyyy-MM-dd_HH-mm-ss") + ".csv"   ' ファイル名を設定
                Dim rd As String

                Dim fp As New System.IO.StreamWriter(filename, False, _
                    System.Text.Encoding.GetEncoding("shift_jis"))  ' ファイルオープン

                fp.Write("Z,θ,Cp,Lp" + vbCrLf)                ' ヘッダをファイルに出力

                For index As Integer = 1 To 10                 ' 10回測定を繰り返す
                    SerialPort1.WriteLine("*TRG;:MEAS?")       ' トリガと測定結果の読み取り
                    rd = SerialPort1.ReadLine                  ' 測定結果を取得
                    fp.Write(rd)                               ' 測定結果をファイルに出力
                    fp.Write(vbCrLf)                           ' 改行をファイルに出力
                Next

                fp.Close()                                     ' ファイルクローズ
                SerialPort1.Close()                            ' シリアル通信ポートクローズ
                MsgBox("測定終了")                             ' 測定完了メッセージを表示
            Catch ex As Exception
                MessageBox.Show(ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
            Button1.Enabled = True                             ' ボタンを有効にする

        End Sub

    End Class