Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Agilent 82350A and Visual Basic software developed for NI GPIB boards

Hi, my task is to upgrade our production machine which is using a ISA NI GPIB board. All the software was written for this system. The machine I am to use to replace the old one has a 82350A PCI Board. I have tried Agilent IO drivers and all that I can think of, but the software always displays errors. The software is using NI .dll files and functions which obtain the GPIB variables in the system. I believe the software does not work because the NI Getting Started Wizard does not locate our GPIB board (Thus it is invisible to the NI .dll's and their functions?)? Any help is appreciated!
0 Kudos
Message 1 of 5
(4,805 Views)
If you are using GPIB functions (ibwrt, ibwrd) as opposed to VISA, then your app will not work with an Agilent board. You can replace all of the calls to NI functions with calls to Agilent functions or replace all of the calls with VISA functions. The VISA api allows for portability. The lower level stuff is hardware dependent. The NI Getting Started Wizard is just for NI hardware just as Agilent
s installation software is just for Agilent hardware.
Message 2 of 5
(4,805 Views)
And that proves to be the case, the VB code indeed consists of such functions (ibwrt, ibwrd and others). Now I suggested that we obtain a NI PCI card for the machine. Is there any differences between the NI Cards regarding the use of these functions? Our objective is to replace a running production machine which has a ISA NI card with a newer machine that only has PCI bus. Any info appreciated!
0 Kudos
Message 3 of 5
(4,805 Views)
Ahha, we will not be getting an NI PCI card. We must convert the software to work on Agilent cards. Nice. Would the NI functions even work on Windows XP? Do they address hardware directly? How do we use the VISA so next time there will be no problems upgrading the hardware?
0 Kudos
Message 4 of 5
(4,805 Views)
I've never used the lower level GPIB functions of an Agilent board so I don't know what commands to use to replace ibwrt and ibrd, etc. You might want to go ahead and just replace them with the equivalent VISA calls. When you get the Agilent card, you should install the VISA libraries and it should also come with documentation explaing VISA calls. From the NI manual, the command to write to the bus is called viWrite and has the VB syntax of "viWrite&(ByVal vi&, ByVal buf$, ByVal count&, retCount&)". The biggest difference is that instead of just using a GPIB address (2,3,etc.) you use a reference to a VISA session(the vi& part of the command. A VISA session is opened by using a VISA Resource Name such as GPIB::3 for an instrument
with an address of 3. VISA is designed to be compatible with GPIB, USB, VXI, PXI, Serial, TCP/IP so that the same instrument driver can be used interchangeably. For example, if you developed a GPIB driver and then wanted to use the same instrument but a VXI version, changing the name to VXI::3 would be all that you would have to do. VISA also accepts aliases as resource names so you can for example open a session to "DMM" and not have to worry about remembering the actual address. It makes for lot more portable and flexible code and less dependent on the actual hardware.
0 Kudos
Message 5 of 5
(4,805 Views)