電子負荷装置 PLZ12005WH/PLZ20005WH

通信インターフェースマニュアル


 

付録

ARB:DATAのサンプル

Visual Basic 2013ARB:DATAを設定するサンプルプログラムです。

電圧、電流のペアが(0 V、0 A)、(1 V、0.1 A)、(808 V、0.1 A)になるプログラミング例を掲載します。最初の電圧と電流は「0V, 0A」、最後の電圧は「808V」で固定です。それ以外の値を記述するとエラーが返ります。

 

ARB:DATAを設定する


Private Sub CommandArbSet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommandArbSet.Click
  'ARBテーブルに設定したいデータ
  Dim Dbl_Volt() As Double = {0, 1, 808}
  Dim Dbl_Curr() As Double = {0, 0.1, 0.1}

  '単位をμオーダーに変換
  Dim Int_Data(5) As Integer
  Dim Int_a As Integer = 0
  For Int_b As Integer = 0 To 2
    Int_Data(Int_a) = CInt(Dbl_Volt(Int_b) * 1000000)
    Int_a = Int_a + 1
    Int_Data(Int_a) = CInt(Dbl_Curr(Int_b) * 1000000)
    Int_a = Int_a + 1
  Next

  Dim Byte_Data(41) As Byte
  Dim Byte_Comm() As Byte = System.Text.Encoding.ASCII.GetBytes("ARB:DATA #40024") 'コマンドとLENGTH部分をバイト型に変換
  Dim Int_Count As Integer = 0

  For Int_Count = 0 To 14
    Byte_Data(Int_Count) = Byte_Comm(Int_Count) '送信するバイト配列の頭に入れる
  Next

  Dim Byte_VoltCurr(4) As Byte
  For Int_m As Integer = 0 To 5
    Byte_VoltCurr = BitConverter.GetBytes(Int_Data(Int_m)) 'ARBテーブルに設定したいデータを順番にバイト型に変換する
    For Int_n As Integer = 0 To 3
      Byte_Data(Int_Count) = Byte_VoltCurr(Int_n) '送信するバイト配列に変換したデータを順番に埋めていく
      Int_Count = Int_Count + 1
    Next
  Next

  Byte_Data(Int_Count + 1) = CByte(&HA) ' バイト配列の最後にラインフィードを入れる

  msg.Write(Byte_Data, 41) 'PLZ12005WHに書き込む
  msg.WriteString("ARB:APPL" & vbLf) 'ARBデータを反映させる
End Sub
	

ARB:DATAを問い合わせる

    
  Dim rm As IResourceManager3 = New ResourceManager()
  Dim msg As IMessage
  Dim seri As ISerial
Private Sub ARB_DATA_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  RichText.Clear()                                      'ARBテーブルの値を表示するRichTextBoxの初期化
  msg.WriteString("ARB:COUN?" & vbLf)                   'ARBテーブルのデータ対の数を調べる
  Dim Int_ArbCoun As Integer = CInt(msg.ReadString(32))
  Dim Int_ByteLength As Integer = Int_ArbCoun * 8 + 7   '受信する総Byte数を計算する

  msg.TerminationCharacterEnabled = False               'ターミネーターを無効にする
  seri.EndIn = SerialEndConst.ASRL_END_NONE             '232Cを使用する場合はこれも設定する
  msg.WriteString("ARB:DATA?" & vbLf)                   'PLZ12005WHにクエリコマンドを書き込む
  Dim Byte_ArbRead() As Byte = msg.Read(Int_ByteLength) 'PLZ12005WHからレスポンスを読み取る

  Dim Int_Volt(Int_ArbCoun) As Integer '<Length>の値からデータ数を計算し箱を用意する
  Dim Int_Curr(Int_ArbCoun) As Integer
  Dim Dbl_Volt(Int_ArbCoun) As Double
  Dim Dbl_Curr(Int_ArbCoun) As Double
  Dim Int_Count As Integer = 6
  For Int_a = 0 To Int_ArbCoun - 1
    Int_Volt(Int_a) = BitConverter.ToInt32(Byte_ArbRead, Int_Count) '頭から順番にバイト型のデータを整数に変換
    Dbl_Volt(Int_a) = Int_Volt(Int_a) / 1000000 '単位をμVオーダーからVオーダーに変換
    Int_Count = Int_Count + 4
    Int_Curr(Int_a) = BitConverter.ToInt32(Byte_ArbRead, Int_Count) '頭から順番にバイト型のデータを整数に変換
    Dbl_Curr(Int_a) = Int_Curr(Int_a) / 1000000 '単位をμAオーダーからAオーダーに変換
    Int_Count = Int_Count + 4
    RichText.Text = RichText.Text & CStr(Dbl_Volt(Int_a)) & " , " & CStr(Dbl_Curr(Int_a)) & vbCrLf 'ARBデータを電圧電流のペアで記述
  Next

  msg.TerminationCharacterEnabled = True        'ターミネーターを有効に戻しておく
  seri.EndIn = SerialEndConst.ASRL_END_TERMCHAR 'デフォルト値に戻しておく
End Sub
	
    

プログラムの実行結果は、下記のようになります。

  

関連情報

Visual Basic 2013を使用する

ARB:DATA

>top

セットアップ

コマンドの概要

コマンド(機能別)

コマンド(ABC別)

コマンド(サブシステム別)

レジスタ

付録

チュートリアル

Electronic Load  PLZ12005WH/PLZ20005WH電子負荷装置 PLZ12005WH/PLZ20005WH
通信インターフェースマニュアル