LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

problem initializing DIO for PXI-6713

Hello,

Several years ago I wrote a very large RT program in LV 6.1 which has run without problems for 3 years.  While adding some new features, I decided to upgrade to LV 7.1 (it was too scary to take it all the way to LV 8.0).

I am using 18 bits of DIO (6 groups of 3 bits) to drive some external divider circuitry, 12 bits from a PXI-6602 and 6 bits from the PXI-6713.  I am also using 6 counters from the 6602 and 6 Analog outs from the 6713.    After the upgrade, it will no longer initialize the digital output of the PXI-6713, even though it worked fine in LV 6.1

Later in the program, I use each group of 3 bit DIO to determine the divisor of each circuit.  After power-up, I have to go into MAX and use the 6713 DIO test panel to "jump start" the DIO outputs, and then it works from there.  Luckily, we run continuously and power down only once every few months. 

The problem is the same in 5 different PXI systems.

Attached is a condensed version of the DIO inits for both cards.

Thanks for any help I can get,

mcsynth



0 Kudos
Message 1 of 5
(3,614 Views)
 

Hi McSynth,

A couple questions and a couple things to try:

--  When you say that it will not initialize the DO, do you mean that the power-up states are not what you expect? 

--  What happens when you run your program without "jump starting" in MAX Test Panels?  What are the pre-run and post-run port values? Does it give you any errors? (if so please indicate) 

-- Try using the Device Reset.vi (which can be found on the Calibration and Configuration palatte) before the Port Configure.vi

-- Also, did you upgrade your NI-DAQ driver when you upgraded from LabVIEW 6.1 to 7.1?  If not, I would recommend upgrading to NI-DAQ 7.4.2 (for Win2000/XP).

Regards,

Nicholas B, National Instruments

0 Kudos
Message 2 of 5
(3,600 Views)
Nicolas,

Thanks for your reply,

< When you say that it will not initialize the DO, do you mean that the power-up states are not what you expect? >

After the initialization, the DO is all zeros, and the periodic updates do not create anything other than zeros.  I don't record any errors, but the DO updates do not respond to any commands.  Basically, the 1st 6 bits should be able to output in groups of 3 bits (typically 00_110_101 or 00_101_101.  The result is that the output of my divider circuit  is always divide by 1, rather than 60, 40, 30, 24, 20, or 15.

Once I "jump start' in MAX, the outputs will update normally for months afterwards, until the system has to be powered up again.

< Try using the Device Reset.vi (which can be found on the Calibration and Configuration palatte) before the Port Configure.vi>
I won't be able to try anything until the next shutdown, which could be months from now, but I will be sure to try it then.

< Also, did you upgrade your NI-DAQ driver when you upgraded from LabVIEW 6.1 to 7.1? >
Yes, it's been upgraded to NI-DAQ 7.2.0

I'm attaching an extract of the VI which updates the output, although it always works correctly once the initialization is good.

Thanks again,

McSynth

0 Kudos
Message 3 of 5
(3,558 Views)

Hi McSynth,

When you get a chance to modify the program, I would recommend inserting the 'Device Reset.vi' and upgrading to NI-DAQ 7.4.2.  Please keep me updated, as I will continue to look into what kind of actions Test Panels perform that your program does not. 

Regards,

Nicholas B, National Instruments

0 Kudos
Message 4 of 5
(3,530 Views)
Nicolas,

I had the opportunity to install the "device reset" in the code of one of the PXI sub-systems, and it seemed to do the trick.  I'll eventually get all the systems on the same page, and that will be the final confirmation that the problem is solved.

It puzzles me, though, why a device reset would be necessary after powering the system up from an unpowered state.  I guess it's like that cup of coffee on a Monday morning.

Thanks for you help,
McSynth
0 Kudos
Message 5 of 5
(3,457 Views)