LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Does "TotalSampPerChannelGenerated" roll over?

Quick question:

 

I have created a DO task in DQmx.  It outputs a digital waveform at 6 kHz. 

 

Then I am using the "TotalSampPerChannelGenerated" property to monitor how many waveforms have been output.

 

What is weird, is that it appears my running total will roll over.  So it increments for X minutes ... and then roll over and restarts.

 

Can onyone out there confirm this?  And do you have any ideas on how to work around this issue?

http://www.medicollector.com
0 Kudos
Message 1 of 10
(2,673 Views)

Since data is returned as a floating point number, I wouldn't expect to see roll over within minutes... What hardware are you using?

 

Dan

0 Kudos
Message 2 of 10
(2,666 Views)

I'm using a USB-6366.

 

And my DO task is running for many hours.

 

So I I've noticed the roll over sometime around 24-72 hours.  Haven't tested it very thoroughly, though.  With a little effort, I could find out exactly when it happens, but then I'll have to starty my application and wait a number of days again for it to happen.

 

 

I think I will just have to do that, though.

http://www.medicollector.com
0 Kudos
Message 3 of 10
(2,663 Views)

I'll see if I can reproduce something similar here... I'm hoping that if I up the rate, I'll be able to see the behavior is less time.

 

Dan

0 Kudos
Message 4 of 10
(2,661 Views)

Thanks!

 

I am doing the same thing here.  I upped my output frequency to 50 kHz and the counter appears to stop at 61273783.

 

I'll try again to see if it is repeatable.

http://www.medicollector.com
0 Kudos
Message 5 of 10
(2,657 Views)

Hmmmm....  wait a minute.

 

I think something else is going on here.  This may be a triggering bug in my code.  I might be inadvertantly receiving a pause trigger.

http://www.medicollector.com
0 Kudos
Message 6 of 10
(2,651 Views)

I ran at 5 MHz, and rolled over at 4.29 G... This sounds like a u32 roll-over.

 

In the short term, you may want to work around this by adding n*2^32 (where n=number of roll overs) to the value returned by TotalSampPerChannelGenerated if you detect that 'TotalSampPerChannelGenerated' has decreased.  I'll dig through our code and verify that what we're seeing is indeed a u32 roll-over.  I've filed CAR 353282 to track the issue.

 

Dan

0 Kudos
Message 7 of 10
(2,648 Views)

Check that... I was running on the wrong device (a PCIe X Series device).  I'm re-running my test with the USB version now.

 

Dan

0 Kudos
Message 8 of 10
(2,643 Views)

Thanks, McDan.

 

I have tried to isolate the code so that I could upload a simple example of this issue.  But now I can't seem to reproduce it.

 

However, I am reproducing another strange issue which has been plaguing me.  Perhaps the two issues are somehow related.

 

Because it is a different issue, I will create a new post here:

 

http://forums.ni.com/t5/LabVIEW/DO-task-randomly-stops-no-errors-generated/td-p/1980915

 

Any chance you could have a look at it for me?

 

http://www.medicollector.com
0 Kudos
Message 9 of 10
(2,638 Views)

OK.  Also just reproduced the roll over issue.

 

This doesn't seem to be a big deal.  I can implement a workaround in my code. 

http://www.medicollector.com
0 Kudos
Message 10 of 10
(2,631 Views)