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!
Attachments:
Chamber VI.vi ‏789 KB
Cycle Analysis.vi ‏300 KB

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?
Attachments:
TimedWriteMeasurements.vi ‏84 KB

Similar Messages

  • I am receiving the data through the rs232 in labview and i have to store the data in to the word file only if there is a change in the data and we have to scan the data continuasly how can i do that.

    i am receiving the data through the rs232 in labview and i have to store the data in to the word or text file only if there is a change in the data. I have to scan the data continuasly. how can i do that. I was able to store the data into the text or word file but could not be able to do it.  I am gettting the data from rs232 interms of 0 or 1.  and i have to print it only if thereis a change in data from 0 to 1. if i use if-loop , each as much time there is 0 or 1 is there that much time the data gets printed. i dont know how to do this program please help me if anybody knows the answer

    I have attatched the vi.  Here in this it receives the data from rs232 as string and converted into binery. and indicated in led also normally if the data 1 comes then the led's will be off.  suppose if 0 comes the corresponding data status is wrtten into the text file.  But here the problem is the same data will be printed many number of times.  so i have to make it like if there is a transition from 1 to o then only print it once.  how to do it.  I am doing this from few weeks please reply if you know the answer immediatly
    thanking you 
    Attachments:
    MOTORTESTJIG.vi ‏729 KB

  • Different output of DST function in labview and matlab

    I am passing a 1D array of size 1550 as input to DST function. I have also calculated DST of same array in matlab using 'dst' function. I got approximately same answer till 1399th element but after that answers of two varies abruptly. I tried hard but I am unable to find the solution. I am attaching the data file in which it can be clearly seen that at 1530th element there is a difference of sign also.
    Attachments:
    data file1.txt ‏37 KB

    Out of curiosity, have you tried another software, like Octave? When you have two software that is different, which one is incorrect?
    Also, have you tried to use the DST function in LabVIEW directly?
    Another think to keep in mind... When you try to run a sequence for so long, small round-off errors could be cummulative and show later on the analysis. Also, it depends on how you load the data into each software. Hopefully when moving the platforms, the string conversion would not truncate the number. The best is not using string, but some kind of binary format...
    These are some ideas to check...
    Barp - Control and Simulation Group - LabVIEW R&D - National Instruments

  • Data to sql server using labview and labview sql toolkit

    Hello everyone,
    I am using mssqlserver 7.0, labview 6.1 and labview sql toolkit.
    I am getting error while i try to store (large) data of size more than 4000bytes. Has anyone come accross such problem .
    Looking for your solutions or suggestion for the
    above said problem.

    Check if the threshold is actual 4095 or 4096.
    If so it is probably a default size of the field you are trying to write. If so, change table properties.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • How do I control a data log session with period and sample time?

    I need a data logging system where the operator can select 2 logging parameters: Log Period and Sample Time. I also need a START and STOP button to control the logging session. For example, set the log period for 1 hour and the sampling time for 1 second. (I may be using the wrong jargon here.) In this case when the START button is clicked, the system starts logging for 1 second. An hour later, it logs data for another second, and so on until the operator clicks the STOP button. (I will also include a time limit so the logging session will automatically stop after a certain amount of time has elapsed.)
    It’s important that when the STOP button is clicked, that the system promptly stops logging. I cannot have the operator wait for up to an hour.
    Note that a logging session could last for several days. The application here involves a ship towing a barge at sea where they want to monitor and data log tow line tension. While the system is logging, I need the graph X-axis (autoscaled) to show the date and time. (I’m having trouble getting the graph to show the correct date and time.) For this application, I also need the system to promptly start data logging at a continuous high rate during alarm conditions.
    Of course I need to archive the data and retrieve it later for analysis. I think this part I can handle.
    Please make a recommendation for program control and provide sample code if you can. It’s the program control concepts that I think I mostly need help here. I also wish to use the Strip Chart Update Mode so the operator can easily view the entire logging session.
    DAQ Hardware: Not Selected Yet
    LabVIEW Version: 6.1 (Feel free to recommend a v7 solution because I need to soon get it anyway.)
    Operating System: Win 2000
    In summary:
    How do I control a graphing (data log) session for both period and sample time?
    How do I stop the session without having to wait for the period to end?
    How do I automatically interrupt and control a session during alarm conditions?
    Does it make a difference if there is more than one graph (or chart) involved where there are variable sample rates?
    Thanks,
    Dave

    Hello Dave,
    Sounds like you have quite the system to set up here. It doesn�t look like you are doing anything terribly complicated. You should be able to modify different examples for the different parts of your application. Examples are always the best place to start.
    For analog input, the �Cont Acq&Chart (buffered).vi� example is a great place to start. You can set the scan rate (scans/second) and how many different input channels you want to acquire. This example has its own stop button; it should be a simple matter to add a manual start button. To manually set how long the application runs, you could add a 100 ms delay to each iteration of the while loop (recommended anyway to allow processor to multi-task) and add a control that sets the number
    of iterations of the while loop.
    For logging data, a great example is the �Cont Acq to File (binary).vi� example.
    For different sample rate for different input lines, you could use two parallel loops both running the first example mentioned above. The data would not be able to be displayed on the same graph, however.
    If you have more specific questions about any of the different parts of your application, let me know and I�ll b happy to look further into it.
    Have a nice day!
    Robert M
    Applications Engineer
    National Instruments
    Robert Mortensen
    Software Engineer
    National Instruments

  • Without NI DAQ device- how to get data from MSP into labVIEW and process it

    Hi,
    I do not have an NI DAQ device. I have an MSP430 and my sensor is an ADXL335 Accelerometer. How do I get data from my MSP into labVIEW and process it?
    Just looking for a nudge in the right direction. I'm having a hard time finding resources on labVIEW that don't involve NI specific DAQs. 
    Thanks in advance,
    Aziz

    There are many ways to get data into LabVIEW that do not involve NI-DAQ devices.
    I think your easiest option would be to stream it via serial port if the data rate isn't too fast.
    Troy
    CLDEach snowflake in an avalanche pleads not guilty. - Stanislaw J. Lec
    I haven't failed, I've found 10,000 ways that don't work - Thomas Edison
    Beware of the man who won't be bothered with details. - William Feather
    The greatest of faults is to be conscious of none. - Thomas Carlyle

  • Can not find size_t during import a dll and calling a function crash labview

    Hello, experts
    I need to use FingerLakeInstrument  DLL ( see the attached) inside Labview to talk to a CCD camera. it is built from microsoft visual studio C++
    I unzip FLI dll in my D:\proj\...\linfli-32 and import dll from there. created a c:\FLIDBG.txt as FLI dll needs to write debug message to it if FLISetDebugLevel() or others are called.
    During importing the dll, first thing I got is <sys/types.h>  ( ie size_t ) cannot be found. I have installed free version of microsoft visual studio C++
    but can not find "typedef unsigned int size_t"
    at the end, I just added
     typedef unsigned int size_t;
    in the libfli.h. Having done that, I am able to import all functions into Labview and have a user library called libfli.
    However, as soon as I start calling a simple function in a test.vi, such as FLIGetLibVersion(char* ver, size_t len), which involves nothing other than the library, the labview will crash.
    I created a simple C test.exe which calls many functions without any problem
    any suggstion?
    regards
    xiaofeng
    Solved!
    Go to Solution.
    Attachments:
    libfli-32.zip ‏93 KB

    Hi, Smercurio_fc
    thanks for your reply. Yes, you are pointing to the right place.  I have solved the crash problem.
    when importing DLL into Labview using Tools\import\Shared Library (.dll), Labview automatically set the calling convention as C not as stdcall (WINAPI).  it is this that later the labview crashes when a function is called.  as soon as I manually re-selecte calling convention as stdcall, my test.vi works OK (see attached).
    I tried Call Library Function too to call libfli.dll, as long as I select stdcall as call convetion. the test.vi works.
    How do I know which Call convention I need to choose if  there is no infomation from DLL provider?
    as for the size_t,
    I add   #include <crtdefs.h> in libfli.h and 
     add additional include path as
    C:\Program Files\Microsoft Visual Studio 10.0\VC\include.  this  solved the "not found" issue.
    for this case I know that the DLL is built from VC++,  is this right way? 
    again, thanks for your time.
    xiaofeng
    Attachments:
    test.vi ‏13 KB

  • Why does my data logging program slow down after a while?

    A data logging program created with Labview 5.1. Slows down after a few weeks and creates files in the Temp. directory.Computer is Siemens Scenic pro 124 MB ram and AT-MIO-16XE50 Data acquisition board. Also using Solartron Dig. probes and Fieldpoint units.

    Any chance that you are using Win 95/88/ME? Those OS's have well documented
    memory leaks which will consume all your available memory if an application
    is run long enough. Also there are some issues of memory management within
    LabView in the allocation of memory.
    The solution to the first is to switch to WinNT/2K. The second will be much
    more difficult.
    On Thu, 22 Feb 2001 03:19:12 -0800 (PST), Freek wrote:
    >A data logging program created with Labview 5.1. Slows down after a
    >few weeks and creates files in the Temp. directory.Computer is Siemens
    >Scenic pro 124 MB ram and AT-MIO-16XE50 Data acquisition board. Also
    >using Solartron Dig. probes and Fieldpoint units.
    ===========================================================================
    SolidW
    orks Research Partner National Instruments Alliance Member
    Christopher Dubea Phone: (504) 847-2280
    Vice President of Engineering Fax: (504) 847-2282
    Moving Parts L.L.C. email: [email protected]
    P. O. Box 6117 URL: http://www.movingpart.com
    Slidell, LA 70469-6117

  • Has someone installed some kind of data logging *SPYWARE*  on my iMac?

    I found a file I don't recognize sitting in my ~/Library/Preferences folder called "HOME Preferences".
    This 4K file contains this:
    UserLocale=en_US
    LastUsedDeviceTypeName=go720
    UserPatchFeedback=0
    UserPatchFeedbackAddress=
    ConfirmedAnonymousDataLogging=1
    HaveSendAnonymousDataloggingReply=1
    BackupPromptDevices=M64048D01413
    StartUpWindowBounds=-7,22,1816,999
    .. and that's all. IS this a symptom of some kind of spyware installed or attempted to be installed without my knowledge by someone else who had access to my machine? The datalogging settings bother me as does a setting for user feedback of 0 which sounds like a setting to keep the presence of a datalogger quiet from popping up or showing. How can I figure out using unix commands in the terminal or something more convenient what application this preference file belongs to? This file has an install date of late 2008, so if someone is spying on me, they've been doing it over a year without my knowledge--that disturbs me a bit. I was nosing around trying to figure out why this G4 macMini which is supposed to be recording my two household security cameras has been running so poorly. I have no idea what this file installed on it is all about. I don't believe it to be related at all to the Security Spy software I use for recording the cameras feeds to hard disk.

    First off, don't panic.
    'Data logging' can mean many things, and take many forms - not all of which are nefarious.
    If you think about it, it would to be a pretty dumb hacker who infiltrates your machine to install a logger and leaves such a big, bold footprint behind.
    That said, I don't know what this relates to, specifically, but a quick google on some of those keywords (especially the LastUsedDeviceTypeName) hints at something to do with a TomTom GPS unit. Did you install/attach a TomTom GPS back in 2008 when this preference file was attached?
    Data logging is often used in GPS terms to track paths/routes, so it would seem to make sense.

  • I have an optical sensor and two hall effect how can I data log?

    I have built a test rig which consists of a gyroscope.  The gyro is spun up by and electric motor.
    I need to measure the speed of rotation.  I’m using an optical sensor and two Hall
    Effect sensors.  I would like to record the
    output of these and I would like to build in some redundancy because there will
    be another bigger rig that will require more measurement.  E.g. vibration.
    I’m new to data logging so I’m not sure which hardware I
    should be getting.
    Thanks

    analog inputs are the most universal.  with software such as the functions included in the Sound and Vibration Measurement Suite, you can analyze the analog input channel which is connected to your hall effect and optical sensors for frequency and speed.  Vibration specific input cards will power accelerometers.  with the speed and angular position sensors (hall effect and optical) you can combine this information with your vibration sensors to determine the movement of the device with respect to position and speed.  These order analysis functions are part of the Sound and Vibration Measurement Suite. 
    What is more is that the Suite includes an assistant.  The assistant allows for the capture and datalogging of all analog and digital inputs as well as frequency and vibration analysis.  This is all configurable and does not require any LabVIEW programming.  If you decide you want LabVIEW programming, all the functions are there to support LabVIEW as well. 
    Here is the link:
    http://www.ni.com/soundandvibration/
    Preston Johnson
    Principal Sales Engineer
    Condition Monitoring Systems
    Vibration Analyst III - www.vibinst.org, www.mobiusinstitute.com
    National Instruments
    [email protected]
    www.ni.com/mcm
    www.ni.com/soundandvibration
    www.ni.com/biganalogdata
    512-683-5444

  • Plc data logging using Labview

    I am trying to communicate with PACSystem RX3i using Labview in order to log
    data from PLC. Is this possible?
    If it is possible, how could I implement it?

    Hi mber,
    Thanks for posting at NI forums. I looked into the supported device & driver plug-in list for NI OPC Servers, and the PACSystem RX3i is supported. To configure the OPC server to communicate with this PLC, you can follow the steps given in this article. In the LabVIEW side, you can configure an I/O server as an OPC client to communicate with the server.
    In order to configure the I/O server you will require the Datalogging and Supervisory Control (DSC) module installed for LabVIEW. In the article I just referenced, it shows how to configure bound variables to communicate with the PLC tags to retrieve data. The DSC module installs a Citadel database, so when you are configuring the bound variable, you can choose to log data depending on events, alarms or a historical log. This article describes the data logging options using the DSC module. You can also choose to read and display the data in a VI by dragging the bound variables to the block diagram and then log to a file using logging functions.
    Best Regards,
    Alina M
    Applications Engineering
    National Instruments

  • Tcp data b/w labview and c++

    Hi
     i am trying to establish TCP connection b/w LABVIEW and C++ program. Server is established in C++ while client is implemented in labview.Although connection is successfully establish b/w server and client, both are unable to correctly understand data send/receive among them. Forexample if i want to send an int type send_array from server, i use standard WINSOCK function "send" like that:
    send(AcceptSocket,(char*)send_array,129*4,0);
    but when client in labview receive this array, it shows unexpected values.As a client, I used "simple data client.vi"  with one modification i.e. as sent data size(129*4 bytes) was fixed, only one TCP read was used . 
    Same problem exists if i send data from client to server.
    Kindly help me
    Best Regards
    Solved!
    Go to Solution.

    It's probably an big/little edian problem. If you are using the Flatten/Unflatten from String functions, you can specify which to use.

  • How do I retrieve call history from my iPhone 4S? It only seems to log for about a month and I need an earlier date?

    How do I retrieve call history from my iPhone 4S? It only seems to log for about a month and I need an earlier date?

    If you have backup of your files, you can get your call history back as long as you sync iPhone with iTunes frequently.
    OK, the first thing you are required to do is close the function of "prevent iPhone from syncing automatically." in iTunes, avoiding to sync iPhone again.
    Now, connect your iPhone to pc and open iTunes.
    iTunes> preferences> devices
    All the backup data in iTunes will be displayed.
    Then,click the File menu and select Devices > Restore from Back up
    your iPhone will restart and you can find them back.
    This method only can find back the latest history, to get back the old, you should turn to a third party program for help.

  • Logging Data from USB 6000 without Labview

    Greetings all.
    I am sure this questions is buried somewhere, so I apologize if I am repeating a question that has already been posed and addressed. If this is a redundant question, simply pointing me to the relavent post will help.
    I've got a USB 6000. I've got it set up and working just fine in a MAX test panel. Is there any way to log acquired data to any sort of file without Labview, measurment studio, signal express, or lab windows/cvi? In a similar note, being able to acquire and log data without a different programming routine like .Net or C++. Maybe there is a way to create a task and call it from an excel macro?
    I know I've dug my own grave by getting the bottom of the like USB DAQ. However, even with the USB-6000, there must be a way to log the data being acquired without needing to make additional investments in development software. Not trying to do anything fancy like triggering or data manipulation, I'm just looking to log measured voltages to file and do post processing in Excel.
    Again, I am sure this (or at least a similar) question has been posed before. Any help would be appreciated.
    Thanks,
    Ben

    I think Signal Express is what you really want to use here.  It was designed for the very high level, simple measurement acquisition.
    In MAX, you can set up the task to log to a TDMS file.  With that enabled, you should be able to just let Signal Express run your task and then tell it to stop whenever you want it to and the data will be logged.

  • Is there any function like malloc and free in labview?

    Im writing a vi that will handle my memory request.
    Im doing a very high speed video record sessions , and the frames cant be saves on hardisk in realtime), so im saving the frames on memory, and i want to use memory as
    much as i can(~2GB) and to save the maximum frames that i can save (and it depends on bit depth, height, width, total memory).
    VI Operations={
    Allocate Memory (frame width, frame height,TotalMemorySize) ,
    Add Frame(index) ,
    Get Frame (index),
    Free Memory
    In each record session, there will be a different FrameWidth and Height, so the maximum frame that i can save in memory may be different and equal to
    IndexMax=TotalMemorySize/(FrameWidth*FrameHeight)
    Im doing this by allocating a 3D array [FrameIndex , row , column]
    The fact that the width and height change in different sessions indicate  that i need an ability to free the previous allocated 3D array memory and allocate a new one.
    (lets say that i have 2GB total memory..)

    This request really takes the system and the programmer to the limits....
    First of all:
    LabVIEW does not have any functions like malloc and free. LV wants to prevent the user to have to think about stuff like this. On the other hand, the memory management in LV is therefore hard to do or even impossible, at least to such an extend as you request.
    Some thoughts about your application:
    1. If you want to have about 2GB of framedata in RAM during runtime, you will need the large memory awareness active. Otherwise, a 32 bit OS will give you "out of memory" messages. Refer to the LV help "VI memory usage".
    2. Storing the data in an array could be a difficult task. Arrays have to be in memory without any gap. Therefore, you'd encounter "out of memory" messages even if your RAM totals enough free memory (theoretical).
    3. The idea of linked-lists does not compy in LV since you cannot store pointers to structs (since those are abstracted from the user).
    4. Maybe you should take a look into vision. 
    hope this helps,
    Norbert 
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

Maybe you are looking for

  • Automatic Reservation at the time of process order creation

    Hi Experts, As you are aware, when we create a process order and save, system automatically generates the reservation and the reservation will be for movement type 261. My requirement is like this. When system creates reservation, system should consi

  • Down Payment Process - Make Payment on Sales Order

    Hi experts We are looking at implementing the down payment process.  We should be able to record a down payment whilst creating the sales order.  However, whilst in the Sales Order, the Payment Means icon is not available (greyed out).  I have checke

  • Black background in iTunes store

    Ever since i upgraded to iTunes 9 my background in the musicstore is totally black, cant see anything. Anyone who has a clue what to do? I´m using Windows XP

  • Airplay can not detect apple tv

    Airplay mirroring can not detect apple TV. I upgraded to mountain lion this morning and the air play icon appears on my macbook pro but it can not detect my apple tv. Apple tv is running 4.4.4 gen 2. Any ideas? Here's the interesting part, when I dis

  • Created Domain failed, Forms 11.1.2.1 on Win7

    Hi Hope to hear any advice. Trying to install WLS10.3.6 + Forms11.1.2.1 on Windows7 32bit. But facing error and failed to Create Domain. Please let me know cause of this error. Total Physical Memory:     3,255 MB Available Physical Memory: 2,065 MB V