交流電源 PCR-LEシリーズ

交流電源 PCR-LE2シリーズ

交流電源 PCR-Mシリーズ

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


 

チュートリアル

Visual Basic 2008

Visual Basic 2008とVISAを使用してGPIB、RS232C、USB、LAN経由で PCR-LE/ PCR-LE2シリーズと通信する場合の説明をします。

Visual Basic 2008とVISAを使用してGPIB、RS232C、USB経由でPCR-Mシリーズと通信する場合の説明をします。

プロジェクトの設定

最初にプロジェクトに通信用ドライバ(VISAライブラリ)の設定をします。

[プロジェクト] > [参照設定]を選択してVISA COM3.0 Type Libraryを参照します。

 

GPIB、RS232C、USB、LANで通信する

通信用ドライバの設定が終わると、GPIB、RS232C、USB、LANで通信ができます。

GPIB、RS232C、USBで通信する

通信用ドライバの設定が終わると、GPIB、RS232C、USBで通信ができます。

VISAを経由しての通信手順を説明します。

VISAのオープン

VISAを経由してGPIB、RS232C、USB、LAN機器と通信するには、まずVISAをオープンします。VISAをオープンするときに、I/Oリソースを指定します。

例:PCR-LEでUSBを使用する場合のVISAのオープン

Set rm = CreateObject("VISA.GlobalRM")

Set msg = rm.Open("USB::0x0B3E::0x1024::00000001::INSTR", NO_LOCK, 0, "")

"USB::0x0B3E::0x1024::00000001::INSTR"がI/Oリソースです。

I/Oリソースは以下の構文になっています。[ ]で囲まれた部分は省略可能です。斜体で書かれている部分に適切な値を入れます。

GPIB GPIB[board]::PrimaryAddress[::SecondaryAddress][::INSTR]
例:GPIB0に接続されたプライマリアドレス3の計測器の場合
GPIB0::3::INSTR
シリアル
(RS232C)
ASRL[board][::INSTR]
例:シリアルポートCOM1に接続された計測器の場合
ASRL1::INSTR
USB USB[board]::VendorID::ProductID::SerialNumber[::InterfaceNumber][::INSTR]
例:ベンダーID(VID)2878、プロダクトID(PID)4132、シリアルナンバー”00000001”を持つUSBTMC計測器の場合
USB0::0x0B3E::0x1024::00000001::INSTR
LAN*1 VXI-11 TCPIP[board]::hostname[::inst0][::INSTR]
例:IPアドレス(hostname)が169.254.7.8の計測器の場合
TCPIP::169.254.7.8::INSTR
hostnameはホスト名でも設定できます。
HiSLIP TCPIP[board]::hostname::hislip0[::INSTR]
例:IPアドレス(hostname)が169.254.7.8の計測器の場合
TCPIP::169.254.7.8::hislip0::INSTR
hostnameはホスト名でも設定できます。
SCPI-RAW TCPIP[board]::hostname::portno::SOCKET
例:IPアドレス(hostname)が169.254.7.8の計測器の場合(本製品のportnoは常に5025)
TCPIP::169.254.7.8::5025::SOCKET
hostnameはホスト名でも設定できます。

*1: ホスト名は、有効なmDNSホスト名(.localで終わるボンジュールホスト名)か、外部DNSサーバによって管理されるDNSホスト名(FQDN、フルクオリアファイドドメインネーム)である必要があります。mDNSホスト名を利用する場合は、使用するパソコンにApple Bonjour(またはiTunes、Safariなど)がインストールされている必要があります。

GPIB GPIB[board]::PrimaryAddress[::SecondaryAddress][::INSTR]
例:GPIB0に接続されたプライマリアドレス3の計測器の場合
GPIB0::3::INSTR
シリアル
(RS232C)
ASRL[board][::INSTR]
例:シリアルポートCOM1に接続された計測器の場合
ASRL1::INSTR
USB USB[board]::VendorID::ProductID::SerialNumber[::InterfaceNumber][::INSTR]
例:ベンダーID(VID)2878、プロダクトID(PID)4132、シリアルナンバー”00000001”を持つUSBTMC計測器の場合
USB0::0x0B3E::0x1024::00000001::INSTR

VISAでは、I/Oリソースにエイリアスを使用できます。

I/Oリソースにエイリアスを使用すると、アプリケーション内に直接エイリアス名をハードコーディングしても実行時に適切なI/Oリソース名に簡単に変換できます。

例:I/Oリソースにエイリアス(MYDEV1)を使用した場合

Set msg = rm.Open("MYDEV1", NO_LOCK, 0, "")

エイリアスを使用した場合には、実際のI/Oリソースは外部コンフィグレーション・テーブル等で指定します。下図はUSBを使用する場合(KI-VISAの例)です。

KI-VISA以外のVISAを使用している場合には、ご使用のVISAマニュアルを参照してください。

機器の制御

次に、Read、Writeなどを使用して機器を制御します。コマンド文字列には改行コードが必要です。

例:

msg.WriteString ("VOLT 110" & vbLF)      'AC電圧値を110 Vに設定

msg.WriteString ("FREQ 60" & vbLF)    '周波数を60.0 Hzに設定 

msg.WriteString ("OUTP 1" & vbLF)              '出力オン

VISAのクローズ

最後にVISAをクローズします。

VISAのオープン、クローズは一連の処理の中で1回実行すれば大丈夫です。

msg.Close

サンプルプログラム

Imports Ivi.Visa.Interop

 

Public Class Form1

 

   Dim rm As ResourceManager

   Dim msg As IMessage

 

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

      rm = CreateObject("VISA.GlobalRM")

      msg = rm.Open("GPIB0::1::INSTR", AccessMode.NO_LOCK, 0, "")     'GPIBの書き方例

      'msg = rm.Open("MYDEV1", AccessMode.NO_LOCK, 0, "")  'VISAエイリアスを使用した例

      'msg = rm.Open("USB0::0x0B3E::0x1024::00000001::INSTR", AccessMode.NO_LOCK, 0, "")  'USBを使用した例

      'msg = rm.Open("TCPIP::169.254.178.141::INSTR", AccessMode.NO_LOCK, 0, "")  'LANを使用した例

      msg.TerminationCharacterEnabled = True

   End Sub

 

   'IDの問い合わせ

   Private Sub cmdIdn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdIdn.Click

      msg.WriteString("*IDN?" & vbLF)

      TextBox1.Text = msg.ReadString(256)

   End Sub

 

   '電圧設定、周波数設定

   Private Sub cmdCurr_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCurr.Click

      msg.WriteString("OUTP 0" & vbLF)

      msg.WriteString("VOLT 110" & vbLF)

      msg.WriteString("FREQ 60" & vbLF)

      msg.WriteString("OUTP 1" & vbLF)

   End Sub

 

   '電圧測定値の問い合わせ

   Private Sub cmdMeas_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdMeas.Click

      msg.WriteString("MEAS:VOLT:DC?" & vbLF)

      TextBox1.Text = msg.ReadString(256)

   End Sub

 

   Private Sub Form1_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed

      msg.Close()

   End Sub

 

END CLASS

>top

コマンド(機能別)

コマンド(ABC別)

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

レジスタ

付録

チュートリアル

AC power supply  PCR-M series交流電源 PCR-LEシリーズ
通信インターフェースマニュアル

AC power supply  PCR-M series交流電源 PCR-LE2シリーズ
通信インターフェースマニュアル

AC power supply  PCR-M series交流電源 PCR-Mシリーズ
通信インターフェースマニュアル

AC power supply  PCR-WE series交流電源 PCR-WEシリーズ
通信インターフェースマニュアル