LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Clock reset ??

Hi All

 

I have a large vi which consists of a sequence of frames which execute one after another following data entry.

 

In the first few frames I set the instrument up and in the second last frame , I give the instrument a command to start doing a task.

 

In the last frame .....a timed loop ( 1 kHz clock option) is present which acquires the data every so often and exits when all the data is acquired.

 

A strange thing is happening...there seems to be a some kind of ''hidden' timer or clock which starts at the very beginning of the VI on the start of the first frame....by the time I get to my 'data acquire loop' frame ...the timing seems to be off for my data acquisition .....depending on how much time I take to enter the data.

 

Is there some way of starting the 'timing' when my 'data acquire loop' frame is initiated ?

 

Regards

 

B

 

 

0 Kudos
Message 1 of 16
(3,798 Views)

Attach your code.  

------------------------------------------------------------------

Kudos and Accepted as Solution are welcome!
0 Kudos
Message 2 of 16
(3,792 Views)

Its far too big mate 

 

It is really a sequence of frames ...second last frame has a timed loop inside it which terminates when a certain number of data points have been acquired.

 

The only timing in the whole VI is the timed loop......I need time=0 (whatever that can mean) when the timed loop is intiated.

 

Each frame before the timed loop frame has a while loop which terminates on recieving a boolean signal (such as true or false) and then moves immediately onto the next frame.

 

I noticed the data acqusition depends on how fast it takes me to get through to the 'timed loop' frame ........Does some timing start with the While loops ?

 

regards

 

B

0 Kudos
Message 3 of 16
(3,789 Views)

If you don't want to attach your VI, you can attach a picture.  It is kind of difficult without looking at the code at all.  I am suspecting that ran into a race condition.

------------------------------------------------------------------

Kudos and Accepted as Solution are welcome!
0 Kudos
Message 4 of 16
(3,786 Views)

Ok ...I will try and attach a picture when I get to the office tomorrow..

 

what is a race condition btw ?

 

B

0 Kudos
Message 5 of 16
(3,781 Views)

There are way too many open questions to solve this without seeing some code.

 

  • How do you determine that the timing is off???
  • Are you running on the plain development computer or on a RT or FPGA system?
  • Why the timed loop? Are you doing single point acquisition? Why not do hardware timed acquisition? What is the loop rate?

In any case, a simple state machine would probably be much more appropriate than a rigid train of sequence frames. Who wrote the code?

0 Kudos
Message 6 of 16
(3,774 Views)

barrys wrote:

what is a race condition btw ?


http://en.wikipedia.org/wiki/Race_condition

 

You're spewing out a lot of "timing" statements, with very vague explanations. There is no "hidden" timer that starts at the beginning of a VI. There is no relationship with "timing starting" with while loops somewhere else in the code. I have no idea why you would think that a while loop and a timing loop would have any connection as far as "timing starting". You also state that your "timing is off" in your timed loop. Yet you said that you're supposed to run the loop until you receive all of your data. What is the criteria for this? Time or quantity? If it's quantity why are you using a timed loop?  You also said "the timing seems to be off for my data acquisition .....depending on how much time I take to enter the data.". OK, so are you entering the data, or is the data coming from the instrument?

 

As noted, unless you provide a better explanation of what you are doing, you're going to need to show us some code. It's very confusing as to what you are actually doing.

0 Kudos
Message 7 of 16
(3,772 Views)

Your explanation is confusing. You say the loop terminates on number of samples acquired and yet you are concerned about having t=0. I don't see how any sort of clock can affect a sample count.

0 Kudos
Message 8 of 16
(3,767 Views)

I will try and answer each response and post the code tomorrow 

 

@altenbach

 

1.I know the timing is off because the instrument starts spitting out NaN. If I enter all my 'set up' parameters quickly enough the data is acquired with little or no NaN. I found the NaN to be due to the loop overunning the instrument.

2. I think I am running on the plain development computer.

3. I use a timed loop because the instrument is a potentiostat which acquires data at a set rate depending on the scan rate ...the loop is timed according to the scan rate and therefore is a few timeframes just behind the instrument as the potentiostat is an old one.

 

I wrote the code , the rigid frame is due to my inexperience , but for this application it just needs to work and not look pretty. I enter my instrument set-up parameters sequentially (in sections) and thus a rigid sequence fits well (in this case)

 

0 Kudos
Message 9 of 16
(3,756 Views)

@ smercurio_fc

 

The 'data acquisiton loop' terminates when the last data point #  (as a number) is acquired. Off the instrument the string is composed of 3 numbers ...the data point #, the current , the potential...I know how many data points in a scan and thus I terminate the loop when total # iterations = total number of data points.

 

I set the instrument up first , with scan parameters ( a potentiostat) , current levels, define the potential scan e.t.c. and then I tell the instrument to 'run' the defined scan. The data is acquired by asking the instrument for the last data point taken , to which it replies with the 3 number string as above. As the instrument is old I have found it a lot safer to be a few data point numbers behind the actual data point acquired otherwise the instrument times out and spits out NaN.

 

Wil post code tomorrow.

0 Kudos
Message 10 of 16
(3,755 Views)