Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

The emission of a PXI6534 stops after a random delay

I work with a PXI6534 for emission and a PXI6533 for reception. If I only do an emission with the 6534, everything works well. If I only do a reception with the 6533, everything works well. But when I create a thread for the reception on the 6533 followed by an emission on the 6534, it works well at the beginning but the emission stops after a random delay (between 5s and 15 min depending using the same .exe). The NIDAQ functions we use are very basic (configuration functions, DIG_Block_In, DIG_Block_Out,DIG_Block_Check...).
We tried to change the frequency of the emission (about 1MHz) but it doesn't change anything; I think it's not a problem of time.
We tried to change the priority of the main thread but it's the same. We also tried to use the function NIDAQYield.
I send you the code, could you please help me to find the origin of the problem and to solve it.

Thanks
0 Kudos
Message 1 of 3
(3,238 Views)
Hello,

Look at the example attached below. This program uses the 653x boards to output data using pattern generation on ports 0 and 1 and input data using pattern acquisition on ports 2 and 3. The program is designed to test looping from output to input using a shared clock. The output generates on the rising edge of the clock and the input acquires on the falling edge of the clock.

Hope this helps.

Matthieu G.
National Instruments
0 Kudos
Message 2 of 3
(3,226 Views)
Thank you for your help but I think I didn't explained the problem I have correctly:
- I can do cyclic emissions with the PXI6534 card using a LabWindows timer (4Hz) at a frequency between 1MHz and 13.3MHz, the system can work during hours.
- I can do cyclic receptions (4Hz) with the PXI6533 card using a thread at a low frequency (39KHz), the system can work during hours.
The aim of our testbench is to do an emission at high frequency (between 1MHz and 13.3MHz) after each reception (every 250ms). When we do this, everything works well during a certain time, but finally the emission stops until a random delay(5s one time, 10 min the other time...) and no error message is sent. I don't think that our code is bad since emission and reception works well separatly. The code you send me use double buffers for reception but we need not this. It also use interrupts whereas I use DMA. The difference of frequency (we work at high frequency for the emission can also modify the behaviour of the system).

Please could you analyse my code source and tell me what seems to be wrong. Could it be a problem of system ressources? The project I work for is very urgent so I need a solution as soon as possible. Is it possible for you to test our code on a pxi equipment?

I hope you can help me.

Best regards.
0 Kudos
Message 3 of 3
(3,220 Views)