LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

VXI Move problem...?

Hi,
I am currently having a problem with The VXI move function under
Labview 6i.

We have two systems set up:

1 Intel machine with MXI-2 card in PCI slot, connected to VME MXI-2
controller in VME crate.

2 Intel machine with MXI-3 card in PCI slot, connected to PXI crate.
8320 MXI-2 card in PXI crate, connected to VME MXI-2 controller in VME
crate.

On the first system, we can use a VI to do a memory test on a card in
the VME crate, using VXI move functions. One to write 8Mb of data and
one to read the data back then compare.

This works with no problems on the first system.

On the second system it does not work, sometimes the write cycle does
nothing at all, others it waits for a while then writes some data. The
read cycle does the same. The dat
a read does not match up with the
data written.

If the VXI move is replaced with a loop containing single writes or
reads, the system works, although very slowly, thus proving the
address and data translations are ok through the busses.

Does anyone have any ideas why the VXI move VI does not work on the
second machine?

Any help appriciated!

Ta,
Joe.
0 Kudos
Message 1 of 4
(3,086 Views)
Hello Joe!

What OS and version of NI-VXI do you have installed on your systems? Are they the same versions on both of the systems? Have you installed the MXI-3 Optimization software? Just so you know, using a PXI-MXI-2 across a MXI-3 link is expected to work, and we have tested this successfully outside of the LabVIEW environment.

It sounds like you might be experiencing a retry issue. As a test to see if this is the case, you can use Programmed I/O instead of DMA for the transfer. How to do this depends on what version of the NI-VXI driver you have:

NI-VXI 3.x - Right click on the PCI-MXI-2 entry in Measurement & Automation Explorer (MAX) and select Hardware Configuration. Under the PCI tab, there is a pull down menu at the bottom of the
window titled DMA Setting where you can select "Disable DMA on the controller".

NI-VXI 2.x - In the registry, go to HKEY_LOCAL_MACHINE\Software\National Instruments\NI-VXI for Win32 There is a register for DisableMiteDMA. Set this register value to 2 to disable DMA and use Programmed I/O.

After disabling DMA, try running your program again to see if you get the same errors. If you don't see the same errors, I would recommend upgrading to NI-VXI 3.2. If you are already running NI-VXI 3.2 or disabling the DMA does not resolve the problem, please let me know!

Julianna Forrest
Applications Engineer
National Instruments
http://www.ni.com/support
0 Kudos
Message 2 of 4
(3,086 Views)
Hi Julianna,

Thanks for the help. I was using NI VXI 2.1 I think, but have now
upgraded to 3.2, with labview 6.0.2. The OS is NT 4.0.

Changing to programmed I/O with the old version of NI VXI resulted in
the error code changing for -3601 to 3600 for the block move.

Under the new setup, I am getting error -3699 (NI VIX Library system
error).

The data read back has on occasion matched the data written, but it is
not reliable (while the same card in the other system mentioned in my
previous post works ok).

I will try removing and reinstalling the VXI 3.2 drivers.

Are there any other things I should try?

Many thanks,
Joe
0 Kudos
Message 3 of 4
(3,086 Views)
Joe,

It's interesting that you are getting a different error after switching to Programmed I/O. I looked up the error (-3600), and it doesn't seem to have a VXI error correlation.

There are a few things to try to pinpoint the trouble:
First, I would check what versions of NI-VISA are on your machine. LabVIEW automatically installs a version of VISA as does NI-VXI/NI-VISA. If there are two different versions, the two could be conflicting. If this is the case, I would recommend uninstalling NI-VXI/NI-VISA and then run the LabVIEW installer to uninstall NI-VISA which was installed by LabVIEW (from Add/Remove Programs, select LabVIEW 6, then from the LabVIEW dialog select Add/Remove, set NI-VISA to not be installed on the machi
ne). Reboot, then you can reinstall NI-VXI/NI-VISA 3.2.

You can also use the Interactive Control Utilities to try the move outside of the LabVIEW Environment. I would try both the VISA Interactive Control and VXI Interactive Control Utilities. VXI IC doesn't install automatically with the NI-VXI driver, but if you do a custom install, you can select to install these debugging utilities. By testing the move here, we can determine whether it's an issue with the driver itself or LabVIEW communicating with the driver.

Could you try to install the PCI-MXI-3 card into the system that works? You would want to remove the PCI-MXI-2 card in the PC, and replace it with the PCI-MXI-3. I would like to see if it works without changing any of the software on that system. Possibly something is somehow configured incorrectly on the other machine.

Finally, you could use the NI-Spy utility to log the calls to the VISA and VXI libraries from your LabVIEW program. This would give us more
information about the functions and errors that are being returned. http://www.ni.com/support/vxi/spy/spy.htm
0 Kudos
Message 4 of 4
(3,086 Views)