LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Temperature cycle counting

Hello experts,

I need to develop an application that monitors the temperature changes experienced by a petri dish  in an oven in one minute intervals. (typically temperature gradients and temperature cycles). A colleague has suggested labview for the purpose. Ive written a VI in labview 8.2 that computes gradients. (Highly inefficient probably! but it still does what i want it to do!) I also wish to display a cycle count on the front panel using a histogram or chart display.

Gradients shown in my VI (attached) are those exhibited over 1 min. (1Cel/min 2Cel/min 3Cel/min etc...)

 

Examples of Cycle definitions

1degree Cycle: 45->46->45 or 45->44->45

2degree Cycle: 52->54->52 or 52->50->52

3degree Cycle: 63->66->63 or 63->60->63

4degree Cycle: 44->48->44 or 44->40->44

etc...

 

Is there any way a display for temperature cycles can be implemented in a similar fashion to the temperature gradient  display that i have attached? (im thinking sorting an array that contains the temperature gradients maybe!)

Any help with this will be very much appreciated.

A data text file and my VI for computing gradient counts is attached.

Stuart

 

0 Kudos
Message 1 of 14
(4,688 Views)

Hi,

You can extract  numbers of your file then you will have an array of number and you will display its on a chart diagram. In attachment an example to do that.



Message Edité par BenjaminR le 03-17-2008 06:08 AM

    Benjamin R.


Senior LabVIEW Developer @Neosoft


0 Kudos
Message 2 of 14
(4,657 Views)
If all you want to do is record how many times it cycles between two values, the following should do the trick
and then you'd obviously have other cases for "If it doesn't fall in range, pass the values through" and for the 54 In Range
 
 
Also, this bit of code is completely unnecessary


Message Edited by JeffOverton on 03-17-2008 08:09 AM
Download All
0 Kudos
Message 3 of 14
(4,646 Views)
Thank you very much for your replies. Sorry... my question was not clear on what i want to achieve.

I want to take the difference value i.e. "the difference between the current temperature value and a  subsequent temperature value" (This difference value was converted to an absolute value in my example "Compute_Gradients.vi")

Firstly, I want to insert all these difference values into an array.

Then I want to pair the positive and negative difference values (gradients) within this array to give cycles (or half cycles) of specific amplitude.

Difference Values (or gradients) of  +1 and -1 will be paired together to give a single cycle amplitude of 1
        '         '                                       +2 and -2 will be paired together to give a single cycle amplitude of 2
        '         '                                       +3 and -3 will be paired together to give a single cycle amplitude of 3
                                                          etc....



For example..an array of difference values  +5, +4, +3, +2, +1, 0, -1, -2, -3, -4, -5 would be converted to 1, 2, 3, 4, 5
(Both Input and Output needn't be specifically in that order, they can be in any order)


For example..an array of difference values  +3, +3, +2, +2, +2, +1 , 0, 0, -1, -2,-2 -2, -3, -3, would be converted to 1, 2, 2, 2, 3, 3

For example..an array of difference values  +5, +4, +3, +2, +1, 0, -1, -2, -3, -4,    would be converted to 1, 2, 3, 4
(there's no corresponding match for the +5 difference value in the last example therefore its not counted as a full cycle)



Once the data is manipulated to a format as shown in the examples, cycles can be displayed using the histogram chart  showing accumulated cycles.

Is this sort of array manipulation even possible in labview?
0 Kudos
Message 4 of 14
(4,622 Views)

Hi Stewert, sounds like a very interesting application your working on. I have a couple of ideas, which should be able to solve your problem... but unfortunately, I also have a couple of questions.

 

Basically, once you have an array of temperature differences, what exactly constitutes as a thermal cycle.

 

For example, I understand that 40>38>40 would be concidered as a 2 degree cycle. As would 40>42>40.

 

However, what would happen in the follwoing case... 40>38>38>38>38>40? The array of temperature differences would obviously be 2, 0, 0, 0, 2. But would this be considered as a be considered a 2 degree cycle?  Or would you just look at the "0 degree cycle" in the middle?

 

Furthermore, what if the following happens… 40>42>42>42>43>42>40? The difference array would be 2, 0, 0, 1, 1, 2. Your sample will have been thermally cycled from 40 to 43 and back to 40, but would this be considered as a cycle?

 

As I say, I should be able to help you if I can completely understand your rather complicated problem.

 

I look forward to your reply.

Best wishes,

Rich

Rich Roberts
Senior Marketing Engineer, National Instruments
Connect on LinkedIn: https://www.linkedin.com/in/richard-roberts-4176a27b/
0 Kudos
Message 5 of 14
(4,590 Views)
Hi Rich,

Thank you very much for your interest.


To clarify my cycle definitions

40>38>38>38>38>40 with corresponding difference values of -2, 0, 0, 0, +2, would be considered as a "2 degree cycle" The zeros would be
ignored.

Also

40>42>42>42>43>42>40? with difference array +2, 0, 0, +1, -1, -2. would be considered as a "2 degree cycle" plus a "one degree cycle" Again the zeros would be ignored.



In relation to your example "40>42>42>42>43>42>40" being considered a "3 degree cycle".. I imagine this type of cycle definition would be extremely difficult to implement. For my application I would need to cater for a "1 degree cycle", "2 degree Cycle" "3 degree cycle"..... posssibly up to even a "10 degree cycle" But then again being a complete novice, I have no idea of the capabilies of labview! If it is possible to define a cycle in the fashion you have defined it by all means i would be delighted for information/sample code  on how to achieve this. If not, any help with implementing my proposed cycle definitions would more than suffice and be extremely appreciated.

Thanking you.

Stewert



0 Kudos
Message 6 of 14
(4,578 Views)

Just one more quick question, Stewert.  Say the temperature were to fluctuate as follows:

42, 43, 42, 43, 44

The temperature changes would be +1,-1,+1,+1.    Obviously the first three readings are a "1 degree cycle," but the second through fourth readings could also be a "1 degree cycle" and you may have overlapping data.  Also, if you are only looking at temperature change (i.e. the +1s and -1s), the second through fifth could be a "1 degree cycle" if you set a starting point and look for a match from the end coming in.

If you could clarify your rules and definitions for temperature cycles, I think it would not only help explain your project to us, but it would probably also make your coding much easier.  I know every time I set out to define specifically how I want something to work, the structure of the implementation usually ends up clarified as well, and then the code just falls into place.



Message Edited by JeffOverton on 03-19-2008 08:33 AM
0 Kudos
Message 7 of 14
(4,571 Views)
Hi Jeff,


Taking your example with the temperature series 42, 43, 42, 43, 44 with difference array  +1,-1,+1,+1

If the +1 gradient has been matched with corresponding -1 gradient and computed as "1 degree Cycle". How would there
be overlapping? Sorry! Im lost!

Stewert


0 Kudos
Message 8 of 14
(4,560 Views)
Maybe overlapping data was the wrong phrase.  The meaning of what I was trying to say is that you have to be very careful with the window of data you are looking at to compare degree cycles to avoid using the same data point more than once.
0 Kudos
Message 9 of 14
(4,551 Views)
Thanks for the clarification. This is proving a lot more difficult than i initially thought!

Stewert
0 Kudos
Message 10 of 14
(4,540 Views)