LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Data acquisition skipping segment in time

Hello,

 

I made a program that essentially power cycles a vacuum pump for thousands of time and I record the vacuum from a transducer once every second.

 

When I ran the program, it stopped because the vacuum did not reach a certain set point within a certain amount of time.  I reviewed the text data file to see when this event occurred but noticed that the program did not record this event.  There is a 3 minutes segment in the data file that was not recording where I think the failure event occurred ( see screenshot below).

 

The way I have my program setup is, I have three loops running parallel.  One loop to acquire all the data, a state machine loop, and a data recording loop.  In the data recording loop, I just put a "wait" function in the loop so that it only loops once a second so that I can record only once a second.  Maybe this is the wrong technique. 

I have attached my project in a zip.

Anyone have any advise?  Thank you

 

 

 

 

 

timeskip.PNG

0 Kudos
Message 1 of 3
(2,087 Views)

@ANON12345 wrote:

Hello,

 

I made a program that essentially power cycles a vacuum pump for thousands of time and I record the vacuum from a transducer once every second.

 

When I ran the program, it stopped because the vacuum did not reach a certain set point within a certain amount of time.  I reviewed the text data file to see when this event occurred but noticed that the program did not record this event.  There is a 3 minutes segment in the data file that was not recording where I think the failure event occurred ( see screenshot below).


 

Haven't looked over your project in much detail, just guessing here. Does your failure/error event throw a dialog? If so, you may have a case where the "root" loop is preventing other loops from running or your dialog is waiting for a response and that is preventing your loop from running. (Google root loop and LabVIEW.)

 

I typically make my own dialogs and call them asynchronously to prevent any blocking conditions unless I explicitly want to freeze the loops waiting for a user response. For example, if there is an error, does the user want to ignore and continue or exit the program. This would be a blocking call. If I just want to inform the user that the disk is almost full, this may be a non-blocking call. (I turn off logging automatically when the a certain disk threshold is reached.)

 

mcduff

 

 

0 Kudos
Message 2 of 3
(2,066 Views)

Hi Anoon, 

 

I have a few questions on that.

  • Is the issue reproducible? A short video recording of the issue will be helpful.
  • Is the file data which you were showing is collected in a single run? If yes then one of the possible reason could be the record button wouldn't have been selected during the time when the data was missin.
  • Do you have any popups that were popping  out during that time?
0 Kudos
Message 3 of 3
(2,034 Views)