LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Data logging optimization function in LabVIEW and SignalExpress

Hello, everyone!  I and a colleague have assembled the attached VI, which is used to control a plant growth chamber, and I could use some advice.  I would like to add data logging capabilities, ideally to note (1) environmental conditions, such as temp and CO2 level and (2) when certain situations occur, such as high CO2 or low pressure (which results in a change to the “Case Structure for CO2 and Pressure”).

 

The chamber runs for weeks at a time, though, so I have a constraint. Instead of continuously logging all the environmental data (which would yield giant file sizes), I want to be able to take “snapshots”, say every 5 minutes, so I can examine the chamber’s condition over a long period of time.

 

I attempted to use the Time Delay function to control the Write Measurements function (as in LabVIEW’s Cycle Analysis example, which I’ve also attached), but Time Delay halted my entire program.  I also tried the Wait (ms) function, but had no success.

 

I recently discovered the powerful data review and reporting tools that SignalExpress has to offer.  Ideally, I would like to use a SignalExpress express VI to record the measurements instead of the more primative Write Measurements, but, I’m not sure how to implement this in my VI.  For example, would I make a data acquisition VI in SignalExpress for all my sensors, export to LabVIEW, and use that to replace the current DAQ structure in my VI?  (Because the chamber VI is interactive, I'm pretty sure that porting the LabVIEW VI to SignalExpress wouldn't work out well.)  And I’m still not sure how to control how often it records measurements.

 

Any advice would be much appreciated!

 

 

 

Download All
0 Kudos
Message 1 of 4
(2,536 Views)

Hi basepear,

 

I would highly recommend trying to use LabVIEW for this application rather than SignalExpress.  If you are attracted to the appearance of the data in SignalExpress, you can always configure a graph or a chart to display you data.  In LabVIEW you can set up a timer that could trigger a case structure to log your data every 5 minutes (or your desired time period) and it would be much simplier than trying to export your SignalExpress vi into LabVIEW. 

Sarah Yost
Senior Product Marketing Manager
0 Kudos
Message 2 of 4
(2,519 Views)

Hi, Sarah.  Yes I definitely plan to use LabVIEW for the majority of my data acquisition and logging.  I apologize, I think I probably should have broken my post into two separate posts for clarity, as my major concern is being able to set how often LabVIEW logs the environmental data (viewing the logged data in SignalExpress would be nice, but not a requirement).

As I explained before, I'd really like to be able to set up a system that records the environmental condtions at regular time intervals, say every 30 minutes, or if my "Case Structure for CO2 and Pressure" status changes (such as from "Normal Conditions" to "High CO2".

As an example, attached is a boolean structure (TimedWritedMeasurements.vi) that I came up with to record a simulated signal every 5 seconds (5000 ms).  Once I can get it to work, I would connect the boolean to my environmental sensor outputs and CO2 and Pressure case structure in my Chamber VI.vi that I attached in my first post.

My problem is I can't seem to get the Trigger and Gate function to work the way I'd like.  I'd like the Wait (ms) function to trigger the Trigger and Gate function every 5 seconds to change the case structure in the TimedWriteMeasurements.vi to "True", thereby causing the Write Measurement function to record the environmental conditions.  Then I'd like the case structure reset to false, until it's triggered to true in another five seconds.  Can anyone point me in the right direction?

0 Kudos
Message 3 of 4
(2,503 Views)

Why not try something like the attached .vi?

 

I left the wait in there to simulate some overhead in the system, but remember if you use a wait for ms .vi than it will pause your entire loop. Better to use the Elapsed Time express .vi.

0 Kudos
Message 4 of 4
(2,496 Views)