ここでご提供するサンプル・プログラムのソースはすべて著作権フリーです。
日置電機株式会社は、ここに記載されたされたソフトウェアを実行、使用したことにより発生したいかなる損害に関しても、
責任を一切負いません。その旨、予めご了承のほど、お願いいたします。
Visual Basic、Visual Studioは米国Microsoft社の登録商標です。
MS、Microsoft、Windows、MS-DOSは米国Microsoft社の登録商標です。
Windows の開発言語Visual Basic2010 Express Editionを利用して、IM7580をRS-232C経由で コンピュータから操作して、測定値を取り込んでファイルに保存する方法を例に説明します。 (RS-232Cを使用する際は、Z3001 RS-232C インターフェースが別途必要です。)
以下、Visual Basic2010をVB2010と記載します。
コンピュータやVB2010の環境により、説明が若干異なる場合があります。 VB2010の詳しい使用方法についてはVB2010のHELPまたは参考書籍をご覧ください。新規プロジェクトの作成
VB2010 を起動する。
[ファイル]-[新しいプロジェクト]を選択する。
テンプレートから[Windows フォーム アプリケーション]を選択する。
[OK]ボタンをクリックする。
ボタンの配置
[ツールボックス]の[コモンコントロール]から[Button]をクリックする。
フォームレイアウト画面上でマウスボタンをドラッグしてボタンを貼り付ける。
プロパティウィンドウから[Text]を「測定開始」に変更する。
フォーム上に[測定開始]ボタンが配置される。
シリアル通信コンポーネントの配置
[ツールボックス]の[コンポーネント]から[SerialPort]をクリックする。
[SerialPort]コンポーネントをフォームレイアウト画面上へドラッグして貼り付ける。
プロパティウィンドウから[PortName] を通信に使用するポート名に変更する。
あらかじめ、通信に使用するポートを確認してください。
コードの記述
配置したボタンをダブルクリックしてコードエディタを表示する。
コードエディタにサンプルプログラムを入力する。
[ファイル]-[すべてを保存]を選択する。
保存場所を確認して[上書き保存]をクリックする。
IM7580のインタフェース設定
IM7580のインタフェース設定を下記のように設定する。
プログラムの実行
本サンプルプログラムでは以下のような動作をします。
[デバッグ開始]ボタンをクリックする。
[測定開始]ボタンをクリックする。
測定が終了するとメッセージが表示されて、「プロジェクトを保存したフォルダ\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 1E6") ' 測定周波数 :1MHz 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