Tutorial > Visual basic 2005/2008

Visual Basic 2005/2008

Communicate with the PIA4800 series using VISA through GPIB, RS232C or USB.

Setting the "Project"

At first, set the communication driver (VISA liabrary) for the "Project".

 

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

TOP

Communication through GPIB, RS232C or USB

After setting the communication driver, it enables to communicate by GPIB, RS232C or USB.

The following describes the communication procedure for via VISA.

Open the VISA

To communicate with the device of GPIB, RS232C or USB via VISA, it requires to open the VISA first. When opening the VISA, specify the I/O resource.

 

Example : To open VISA by using USB

Set rm = CreateObject("VISA.GlobalRM")

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

 

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

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

GPIB

GPIB[board]::PrimaryAddress[::SecondaryAddress][::INSTR]

Example : The primary address 3 of the measurering instrument connected to GPIB0.

GPIB0::3::INSTR

Serial
(RS232C)

ASRL[board][::INSTR]

Example : The measurering instrument connected to the serial port COM1.

ASRL1::INSTR

USB

USB[board]::VendorID::ProductID::SerialNumber[::InterfaceNumber][::INSTR]

Example : The USNTMC measurering instrument having with the vendor ID (VID)2878, Product ID(PID)4116 and serial number "00000001".

USB0::0x0B3E::0x1014::00000001::INSTR

 

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

When using the alias for the I/O resource, even the alias name to be hard coating directly in the application, it can be easily converted to the appropriate I/O resource name.

 

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

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

 

When the alias is used, the actual I/O resource is specified by such an external configuration table.

 When using the USB (example for KI-VISA)

 

In case of using VISA other than KI-VISA, please refer to the applied VISA manual.

TOP

Controlling the devices

Next, using such a "Read", "Write" to control the devices.

 

Example:

   msg.WriteString ("NODE 5")      'Specify a node address.
msg.WriteString ("CH 1")        'Specify a channel.
msg.WriteString ("VSET 10.0")   'Set 10V.
msg.WriteString ("ISET 1.0")    'Set 1A.
msg.WriteString ("OUT 1")       'Output ON. 

Closing the VISA.

Close the VISA at the end.

A command for "Open" and "Close" of the VISA is required only once in the program.

 

msg.Close

Sample program

Imports Ivi.Visa.Interop

 

Public Class Form1

 

   Dim rm As ResourceManager

   Dim msg As IMessage

 

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

      msg.WriteString ("NODE 5")                             'Specify a node address.

      msg.WriteString("CH 1")                                'Specify CH1. 

     'msg.WriteString("REM 1")                               'Example: OP01-PIA

      msg.WriteString ("VSET 10")                            'Set 10V.

      msg.WriteString ("ISET 1.0")                           'Set 1A.

      msg.WriteString ("OUT 1")                              'Turn output ON.

   End Sub

   

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

      msg.WriteString ("NODE 5")                             'Specify a node address.

      msg.WriteString("CH 1")                                'Specify CH1. 

      msg.WriteString ("VSET 10")                            'Set 10V.

      msg.WriteString ("VOUT?")                              'Specify a measured voltage value.

      TextBox1.Text = msg.ReadString(256)                    'Read from PIA.

      txtVolt.Text = strBuff                                 'Display the voltage value in the text box.

   

      msg.WriteString ("IOUT?")                              'Specify a measured current value.

      strBuff = msg.ReadString(256)                          'Read from PIA.

   End Sub

   

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

                                                             'Open the VISA

      rm = CreateObject("VISA.GlobalRM")

      'msg = rm.Open("GPIB0::1::INSTR", NO_LOCK, 0, "")      'Example: GPIB

      'msg = rm.Open("MYDEV1", AccessMode.NO_LOCK, 0, "")    'Example: Using a alias

      msg = rm.Open("USB0::0x0B3E::0x1014::00000001::INSTR", AccessMode.NO_LOCK, 0, "")

   End Sub

   

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

                                                             'Close the VISA

      msg.Close()

   End Sub

 

END CLASS

TOP