LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

question about SYSFAIL*

I have developed a VXI card,When I pragram the VXI driver ,I find a strange
question.
Usualy,when we pragram for a VXI card,we write below code.
status = viOpenDefaultRM (&defaultRM);
if (status < VI_SUCCESS)
{
...
exit (EXIT_SUCCESS);
}

status = viOpen (defaultRM, "VXI::0::INSTR", VI_NULL, VI_NULL, &instr);
if (status < VI_SUCCESS)
{
...
viClose (defaultRM);
exit (EXIT_SUCCESS);
}

And these code have no error when run ,but when I run the ViIn16 or other
I/O code,will occur a error such as "bus error when transfer data".

After run the NI tool "T&M Explorer" And Refresh the explorer,The code will
have no error even access I/O function.I donot know why.I have noticed that
when refresh the explorer,It seems that somet
hing was done for SYSFAIL.And
How to do this??

Any Advice I will say thanks 🙂
0 Kudos
Message 1 of 2
(2,935 Views)
Hi,

Here are a couple of suggestions about how to troubleshoot this. If this does not solve the problem or you would like more specific help please contact Support at www.ni.com/ask

First, just refreshing Explorer will not clear a SYSFAIL. Something else may be happening to make it appear that refreshing is solving the problem, but the Explorer code cannot clear the SYSFAIL. This raises another question: How are you refreshing T&M Explorer? You can refresh our newer configuration software, Measurement & Automation Explorer (MAX), but not T&M. If you are in fact using T&M, and therefore NI-VXI 2.1.1 or earlier, you might want to consider upgrading to NI-VXI 3.2. NI-VXI 3.2 is a more stable driver and installs MAX, which is used by all of our other hardwa
re and software. It is available on the Drivers and Updates page off of www.ni.com.

Second, have you tried using NI-SPY to capture a log of your VXI and VISA calls? This will help pinpoint where the error is occurring.

Third, try using the VISA Interactive Control to make the calls and see if the error occurs. This will help you to narrow down where the mistake is: in the functions or your code.

Forth, in the sample of code you posted it looks like you are trying to open a session to the controller, not an instrument. You will only be able to do an In if memory has been shared correctly on the controller.

Hope this helps. If you have any further questions, please contact Support at www.ni.com/ask.

Thank you,

Katie Shiels
National Instruments
0 Kudos
Message 2 of 2
(2,935 Views)