Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Possible driver/configuration issue

Hi, I was recently given the job of upgrading some old LabView 5.1 software to LabView 8.6.  I was able to get the code over onto the new Windows XP machine and running on 8.6.  The computer has two cards 1) a PCI-GPIB card responsible for recieving data from a couple of probes and 2) a PCI-6023E card responsible for sending data to a signal generator.  My problem is that I do not seem to be receiving any output from the probes since my indicators in LabView always read 0.00 (V/M).  I know the problem is not with the probes or the cable coming from them since they work fine with the old machine.  I am also assuming that it is not a problem with the code itself since I'm using the same code that was on the old machine, except updated to LabView 8.6.  Also, I am able to send data to the function generator just fine, so I know there wasn't a problem in converting to the newer version of LabView.  This leads me to believe there is a driver problem or a configuration issue somewhere.  However, I've installed both drivers from the "NI Device Driver DVD" that came with 8.6 and they both show up as installed in device manager.

 

If I disconnect either cable from the cards, I get the runtime error "Error - 10845 occurred at AI SingleScan...".  When I first installed the cards in the new PC, I ran the Measurement & Automation tool to "scan for instruments connected to GPIB hardware" which fixed a problem I was having at the time but now when I select PCIB device 0  under "devices and interfaces" it says "This device did not respond to a *IDN? query."  Is there something else I need to do after the scan-for-instruments step?  In addition when I try to close the program it pops up with an error that says "Error 1073807338 occurred at VISA close in...".

 

I know I'm not giving you guys much to go on but I'm really new to LabView so even if you could just point me in the right direction of what to look at, it would be very helpful.  My searches of the internet and these forums have been fruitless (possibly because I just don't know what to search for).  Thanks for any help you can offer!
0 Kudos
Message 1 of 14
(5,773 Views)

Some of your statements are a bit confusing. Normally, a DAQ card such as the PCI-6023E sould be used to read voltages from some probes and the GPIB board would be used to control a signal generator. Are you really sure you have it the opposite way?

 

Also, what do you mean by 'both drivers'? There are actually quite a few drivers that ship with LabVIEW. In order to use the GPIB board, you need to have NI-488 and NI-VISA. In order to use the DAQ board with unmodified code from 5.1, you need to have the traditional DAQ driver installed. Confirm that this is actually installed. The default driver that gets installed with LabVIEW 8.6 is one called DAQmx. If the traditional DAQ driver is installed and active, then the old program may have relied on some settings in MAX (and not in the program itself). You might have to dig into the settings on the old pc.

 

And, what do you mean by PCIB device 0? Do you mean GPIB device 0? That should be the controller and will not respond to the *IDN? command and MAX will not try to send this command to the controller. If you get this message for the instrument connected to the GPIB controller, all it usually means is that the instrument is old and does not support the command. It can usually be ignored.

Message 2 of 14
(5,770 Views)

Yes, I think you're right on the cards, I mixed the two up.

 

When I said 'both drivers', I was referring to one driver for each card, which sounds wrong according to your response.   It sounds like this could be the source of my problem, but I'm a bit confused on terminology (488, VISA, MAX... are these just different drivers?).  I recall seeing all of these things on the supplied device driver DVD that came with 8.6, but it sounds like I haven't installed everything correctly.  I am able to communicate with the signal generator so I think I have the NI-488 and NI-VISA drivers installed correctly.  I also have the Traditional DAQ driver installed (just double checked to make sure).  Could you maybe explain the last two sentences of your second paragraph a little further?  Does the Traditional DAQ completely replace the MAX (=DAQmx?) drivers?  Also, what kind of settings might I have to dig into on the old PC/code?  Would it just be finding what sort of dependencies the old program has?  If so how would I go about that?

 

You're right again about GPIB device 0... my appologies for the mistake.  This sounds like something I can ignore though.

 

Thanks again for lending me your expertise Dennis, I really appreciate it!

0 Kudos
Message 3 of 14
(5,740 Views)

Traditional DAQ does not replace DAQmx. They can both be installed on your pc. They just can't both run at the same time.

 

MAX stands for Measurement and Automation Explorer. It's a utility program for configuring NI hardware. Since you confirmed that traditional DAQ is installed, I would assume that you used MAX to confirm this. MAX will list the installed software. MAX can also be used to store settings for a DAQ board. This is not something I ever liked to do. I prefer to setup the DAQ board in my programs. You can open MAX on the old pc and look to see if there is anything there that sets up DAQ channels. It has been a very long time since I've used traditional DAQ that I do not remember the names of the headings but expand everything in the old MAX and look for things thatset input configuration (i.e. differential, RSE, NRSE, etc.) Look for channel names that are created. Look for custom scales. With MAX, you can also test your DAQ board. 

Message 4 of 14
(5,728 Views)

Just to clarify, NI-488.2 is a GPIB driver.  NI-VISA is also a driver that you can use with many different devices/instruments, namely the instrument you are trying to communicate with.  NI-DAQ (a.k.a. Traditional DAQ) is another driver used for some National Instruments data acquistion devices, which, as Dennis noted, seems to be your case coming from LabVIEW 5.1. 

 

Measurement & Automation Explorer (a.k.a. MAX) is not a driver, rather an environment to configure your National Instruments hardware, perform basic communication with instruments, and set up communication to non-NI devices--and more.

 

Hope this helps.

 

Cheers!

--
Tyler C

Message 5 of 14
(5,725 Views)

Okay things are making a little more sense now... I did indeed use the Measurement and Automation Explorer to verify that the Traditional DAQ was installed, I just didn't realize that you guys shortened that to MAX.  Thanks for the clarification.  I want to get this project done but it's also nice to learn this stuff along the way.

 

So I opened up the MAX on the old computer which only had three categories: Data Neighborhood, Devices and Interfaces, and Scales.  Neither 'Data Neighborhood' nor 'Scales' had any sub-categories and 'Devices and Interfaces' had both the GPIB0 and PCI-6023E (Device 1) devices listed.  The only thing under PCI-6023E was a device number and serial number... nothing about input configuration, RSE/NRSE, differential or any of that.  Am I missing something here?

0 Kudos
Message 6 of 14
(5,720 Views)

No, you are probably not missing anything. Since it seems your old code runs without an error and you are not getting the results you expect, it was just something I thought you could check on.

 

Since you have the source code, you are going to have to do some throubleshooting. Find the subVI that does the acquisition and use the probe tool to check the data being returned. It's also possible that there could be an error being generated at a low level and not being handled. It's very hard to say what might be wrong without seeing the code. And please try the test panel in MAX to see if you are getting the data you expect with the configuration that is in the program.

Message 7 of 14
(5,716 Views)

Well, I started tracing things back in the code to find the vi responsible for data acquisition from the sensors but after going down one level I encountered a vi where "Show Block Diagram" was grayed out and couldn't be selected.  I read on the forums that this is something you can do to hide the code but still enable execution.  Is this the case?  I'm trying to figure out why this might be because as far as I know, when it was originally written this was just supposed to be something internal for our company that another intern wrote.  If this is the case does that mean I would have to rewrite this vi?  I was hoping that wouldn't be the case since I've only got a week left at this job before school starts and I've never coded anything significant in LabView before!  Anyways, thanks for all your help guys!

 

P.S. The vi in question is called SMLcontrols.vi... has anybody else ever used this or is it as I suspect, a vi unique to my code?  Google didn't yield anything promising.

0 Kudos
Message 8 of 14
(5,706 Views)

In the VI properties window (CTRL-I) you can lock a VI (Protection page).

If the VI uses a password you have a problem.

 

Ton

Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas

LabVIEW, programming like it should be!
0 Kudos
Message 9 of 14
(5,669 Views)

Thanks for the heads up TonP, but when I checked this it says "Unlocked (no password), any user can view and edit the front panel and block diagram of this VI" but this is clearly not the case since I'm still unable to view/edit the block diagram for this vi.  It does appear however that I can edit the front panel as usual.  Is there something else that could be causing this problem?

 

Edit: Could it possibly be a difference in the passwording scheme between 5.1 and 8.6 that's confusing it into thinking there is no password?

Message Edited by Capmaster on 01-13-2009 10:51 AM
0 Kudos
Message 10 of 14
(5,646 Views)