Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

NI488 gpib board not detected by matlab

Hello,
 
I would like to use Matlab 7.0 (R14) to control an Universal Radio Communication Tester CMU200 via a GPIB-PCI board (NI488.2).
I've used the MAX tool to communicate with the CMU and it worked fine.
 
Has anyone tried to control the GPIB board with matlab and couldn't see it??
 
I have installed the driver 2.4 for the GPIB board and the NI-VISA 3.2...
 
I've run the tmtool in matlab and it told me that the GPIB board was not found...
I've also asked for Matlab support, but I was wondering if it could be a bug from NI...
 
Thanks
 
Franck
0 Kudos
Message 1 of 9
(6,079 Views)
Can you get a capture using NI-Spy to see what MATLAB is trying to do to open up a GPIB handle?  This could help shed light on problems on either end.

-Craig A.
National Instruments Engineer
0 Kudos
Message 2 of 9
(6,069 Views)
thanks for replying,
 
i've tried to use the NI-SPY tool to see what happens when Matlab is communicating with the GPIB board.
I'm not very familiar with NI instruments and especially with NI-SPY, but when I typed an instruction in Matlab to display informations about the hardware (NI GPIB board) there some properties that don't appear. In parallel in NI-SPY there are 348 messages that appeared... almost half of them are red.
But I don't really know what they mean...
 
Do you have any idea what I could try next??
 
thanks
0 Kudos
Message 3 of 9
(6,061 Views)
Can you post the spy log here?  I may be able to tell what is happening with the initialization.

Craig A.
National Instruments Engineer
0 Kudos
Message 4 of 9
(6,049 Views)
here are the 10 first log messages :
 
> 1.  ibfind(gpib)
> Process ID: 0x00000898         Thread ID: 0x0000087C
> Start Time: 17:02:02.022       Call Duration: 00:00:00.015
> ibsta: 0x8000       iberr: 0             ibcntl: -535560139(0xe0140035)
 
> 2.  ibrsc(?board?, 1)
> Process ID: 0x00000898         Thread ID: 0x0000087C
> Start Time: 17:02:02.037       Call Duration: 00:00:00.000
> ibsta: 0x8000       iberr: 23             ibcntl: 0(0x0)
 
> 3.  ibsic(?board?)
> Process ID: 0x00000898         Thread ID: 0x0000087C
> Start Time: 17:02:02.037       Call Duration: 00:00:00.000
> ibsta: 0x8000       iberr: 23             ibcntl: 0(0x0)
 
> 4.  ibsre(?board?, 1)
> Process ID: 0x00000898         Thread ID: 0x0000087C
> Start Time: 17:02:02.037       Call Duration: 00:00:00.000
> ibsta: 0x8000       iberr: 23             ibcntl: 0(0x0)
 
> 5.  ibeos(?board?, 0x0000)
> Process ID: 0x00000898         Thread ID: 0x0000087C
> Start Time: 17:02:02.037       Call Duration: 00:00:00.000
> ibsta: 0x8000       iberr: 23             ibcntl: 0(0x0)
 
> 6.  ibeot(?board?, 1)
> Process ID: 0x00000898         Thread ID: 0x0000087C
> Start Time: 17:02:02.037       Call Duration: 00:00:00.000
> ibsta: 0x8000       iberr: 23             ibcntl: 0(0x0)
 
> 7.  ibpad(?board?, 0)
> Process ID: 0x00000898         Thread ID: 0x0000087C
> Start Time: 17:02:02.037       Call Duration: 00:00:00.000
> ibsta: 0x8000       iberr: 23             ibcntl: 0(0x0)
 
> 8.  ibsad(?board?, 0 (0x0))
> Process ID: 0x00000898         Thread ID: 0x0000087C
> Start Time: 17:02:02.037       Call Duration: 00:00:00.000
> ibsta: 0x8000       iberr: 23             ibcntl: 0(0x0)
 
> 9.  ibconfig(?board?, IbcREADDR (0x0006), 1 (0x1))
> Process ID: 0x00000898         Thread ID: 0x0000087C
> Start Time: 17:02:02.037       Call Duration: 00:00:00.000
> ibsta: 0x8000       iberr: 23             ibcntl: 0(0x0)
 
10.  ibdev(0, 1, 0 (0x0), T300ms (10), 1, 0x0000)
Process ID: 0x00000898         Thread ID: 0x0000087C
Start Time: 17:02:02.037       Call Duration: 00:00:00.016
ibsta: 0x100       iberr: 0             ibcntl: 0(0x0)
 
 
To do this I wasn't using the VISA tool, and after trying using it, with the NI-SPY tool I didn't get any error messages... So I was wondering if I absolutely need to use VISA to control the board with Matlab??
Because Matlab allows us to choose between either options.
 
Another question, can we manually configure the NRFD (Not ready for data) property or is it just a read-only flag??
My porblem is that I can not communicate with the board because this flag is not asserted...
 
thanks
0 Kudos
Message 5 of 9
(6,047 Views)
It looks like the first call to ibfind is failing.  Typically, one would do ibfind("gpib0").  Because of this initial failure, the remainder of the calls also fail.  It looks like MATLAB is leaving off the board number part of the ibfind.  Is there a board number parameter that you can specify somewhere in MATLAB?

As far as NRFD is concerned, that line is primarily controlled by hardware-level state machines.  This should not cause a problem talking to the board.  What is leading you to believe that NRFD is causing you problems?

Craig A.
National Instruments Engineer
0 Kudos
Message 6 of 9
(6,041 Views)

hi,

i just wanted to tell you that my problem has been fixed. And it was mainly

0 Kudos
Message 7 of 9
(6,021 Views)

hi,

i just wanted to tell you that my problem has been fixed. And it was mainly due to Matlab's drivers.

Now the GPIB board is detected, and it is working perfectly.

 

Thanks for your help.

 

Franck

Message Edité par franck_l le 06-20-2006 08:59 AM

0 Kudos
Message 8 of 9
(6,022 Views)
I had the same problem as you. Could you tell me more detail how do you fix the problem?
Thanks.
 
-Charlie
0 Kudos
Message 9 of 9
(5,206 Views)