Tutorial

Visual Basic 2008

Communicate with the PMX series using VISA through RS232C, USB, or LAN.

Setting the "Project"

First, set the communication driver (VISA library) for the "Project."

Click "Project" on the menu bar, then select "Add Reference" to refer to "VISA COM 3.0 Type Library."

 

Communication through RS232C, USB, or LAN

After setting the communication driver, you can communicate with the PMX through RS232C, USB, or LAN.

The following describes the communication procedure using VISA.

Open the VISA

To communicate with an RS232C, USB, or LAN device using VISA, you have to first open VISA. When you open VISA, specify the I/O resource.

Example : To open VISA by using USB

Set rm = CreateObject("VISA.GlobalRM")

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

"USB::0x0B3E::0x1029::00000001::INSTR" is the I/O resource.

The I/O resource is specified by the following constructions. The part indicated with [ ] can be omitted. Enter the appropriate values in the parts specified in oblique characters.

Serial
(RS232C)
ASRL[board][::INSTR]
Example : The measuring instrument connected to the serial port COM1.
   ASRL1::INSTR
USB USB[board]::VendorID::ProductID::SerialNumber[::InterfaceNumber][::INSTR]
Example: The USNTMC measuring instrument having vendor ID (VID) 2878, Product ID (PID) 4137 and serial number "00000001."
   USB0::0x0B3E::0x1029::00000001::INSTR
LAN*1 VXI-11 TCPIP[board]::hostname[::inst0][::INSTR]
Example :The measuring instrument whose IP address (hostname) is 169.254.7.8.
   TCPIP::169.254.7.8::INSTR
You can also set the LAN device name using the host name.
HiSLIP TCPIP[board]::hostname::hislip0[::INSTR]
Example :The measuring instrument whose IP address (hostname) is 169.254.7.8.
   TCPIP::169.254.7.8::hislip0::INSTR
You can also set the LAN device name using the host name.
SCPI-RAW TCPIP[board]::hostname::portno::SOCKET
Example :The measuring instrument whose IP address (hostname) is 169.254.7.8. (The "portno" setting of the PMX is always 5025.)
   TCPIP::169.254.7.8::5025::SOCKET
You can also set the LAN device name using the host name.

*1: The hostname must be a valid mDNS hostname (a Bonjour hostname that ends in ".local") or a DNS hostname that is managed by an external DNS server (a full-qualified domain name—FQDN). If you are using an mDNS hostname, Apple Bonjour (alternatively, iTunes or Safari) must be installed on your PC.

For VISA, the alias can be used for the I/O resource.

When using the alias for the I/O resource, even if the alias name is hard-coded directly in the application, the alias name can be easily converted to the appropriate I/O resource name.

Example : When using the alias (MYDEV1) for the I/O resource.

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

When the alias is used, the actual I/O resource is specified by an external configuration table. When using USB (example for KI-VISA):

If you are using a VISA implementation other than KI-VISA, please refer to the applicable VISA manual.

Controlling the devices

Next, use "Read" and "Write" commands to control devices. You must include line-feed codes in the command strings.

Example:

msg.WriteString ("VOLT 18" & vbLF)        'Set the voltage to 18 V

msg.WriteString ("CURR 5" & vbLF;)       'Set the current to 5 A

msg.WriteString ("OUTP 1" & vbLF)           'Turn the output on

Closing the VISA

Close the VISA at the end.

You only need to include one "open" VISA command and one "close" VISA command in the program.

msg.Close

Sample program

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("MYDEV1", AccessMode.NO_LOCK, 0, "")  'Example: Using an alias

      'msg = rm.Open("USB0::0x0B3E::0x1029::00000001::INSTR", AccessMode.NO_LOCK, 0, "")  'Example: USB

      'msg = rm.Open("TCPIP::169.254.7.8::INSTR", AccessMode.NO_LOCK, 0, "")  'Example: LAN

      msg.TerminationCharacterEnabled = Truemsg.TerminationCharacterEnabled = True

   End Sub

 

   'Query the instrument identity

   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

 

   'Set the operation mode and voltage

   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 18" & vbLF)

      msg.WriteString("CURR 5" & vbLF)

      msg.WriteString("OUTP 1" & vbLF)

   End Sub

 

   'Query the instrument identity

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

      msg.WriteString("MEAS:CURR?" & 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