Data logging using queues

Hello

I'm constantly measure data (i.e. a voltage signal) using DAQmx and storing data.

In an old facility, I stored the data in a table, and whenever the table reaches a certain size, I recorded it in a file. However, this resulted in the loss of data during storage.

Then I read on the use of queues, had a look at the examples, read a few tutorials and thought I understood the principle.

However, I can't get my example works.

Thanks for any help.

Kind regards

Jack

If the 2nd so that the loop is executed then it means that the local variable always keeps the old true value even if every time that you run the code, the local variable stops the 2nd loop. Clear the local at the beginning of the code and run it and check variable with the vi I joined.

Tags: NI Software

Similar Questions

  • Using the data logged in an interface with the aggragate function

    Hello

    I'm trying to use logged data from a source table in one of my interfaces in ODI. The problem is that one of the mappings on the columns target implies a function (sum) overall. When I run the interface, I get an error saying not "a group by expression. I checked the code and found that the columns jrn_subscriber, jrn_flag, and jrn_date are included in the select statement, but not in the group by statement (the statement group contains only remiaining two columns of the target table).

    Is there a way to get around this? I have to manually change the km? If so how would I go to do it?

    Also I'm using Oracle GoldenGate JKM (OGG oracle for oracle).

    Thanks and really appreciate the help

    Ajay

    "ORA-00979"when the CDC feature (logging) using ODI with Modules of knowledge including the aggregate SQL function works [ID 424344.1]
    Updated 11 March 2009 Type status MODERATE PROBLEM

    In this Document
    Symptoms
    Cause
    Solution
    Alternatives:

    This document is available to you through process of rapid visibility (RaV) of the Oracle's Support and therefore was not subject to an independent technical review.

    Applies to:
    Oracle Data Integrator - Version: 3.2.03.01
    This problem can occur on any platform.
    Symptoms
    After successfully testing UI integration ODI using a function of aggregation such as MIN, MAX, SUM, it is necessary to implement change using tables of Journalized Data Capture operations.

    However, during the execution of the integration Interface to retrieve only records from Journalized, has problems to step load module loading knowledge data and the following message appears in the log of ODI:

    ORA-00979: not a GROUP BY expression
    Cause
    Using the two CDC - logging and functions of aggregation gives rise to complex problems.
    Solution

    Technically, there is a work around for this problem (see below).
    WARNING: Problem of engineers Oracle a severe cautioned that such a type of establishment may give results that are not what could be expected. This is related to how ODI logging is applied in the form of specific logging tables. In this case, the aggregate function works only on the subset that is stored (referenced) in the table of logging and on completeness of the Source table.

    We recommend that you avoid this type of integration set ups Interface.
    Alternatives:

    1. the problem is due to the JRN_ * missing columns in the clause of "group by" SQL generated.

    The work around is to duplicate the knowledge (LKM) loading Module and the clone, change step "Load Data" by editing the tab 'Source on command' and substituting the following statement:
    <%=odiRef.getGrpBy()%>

    with
    <%=odiRef.getGrpBy()%>
    <%if ((odiRef.getGrpBy().length() > 0) && (odiRef.getPop("HAS_JRN").equals("1"))) {%>
    JRN_FLAG, JRN_SUBSCRIBER, JRN_DATE
    <%}%>

    2. it is possible to develop two alternative solutions:

    (a) develop two separate and distinct integration Interfaces:

    * The first integration Interface loads the data into a temporary Table and specify aggregate functions to use in this initial integration Interface.
    * The second integration Interfaces uses the temporary Table as Source. Note that if you create the Table in the Interface, it is necessary to drag and drop Interface for integration into the Source Panel.

    (b) define the two connections to the database so that separate and distinct references to the Interface of two integration server Data Sources (one for the newspaper, one of the other Tables). In this case, the aggregate function will be executed on the schema of the Source.

    Display related information regarding
    Products

    * Middleware > Business Intelligence > Oracle Data Integrator (ODI) > Oracle Data Integrator

    Keywords
    ODI; AGGREGATE; ORACLE DATA INTEGRATOR; KNOWLEDGE MODULES; CDC; SUNOPSIS
    Errors
    ORA-979

    Please find above the content of the RTO.
    It should show you this if you search this ID in the Search Knowledge Base

    See you soon
    Sachin

  • Scope of data logging

    Hello

    I'm trying to create a scope that will record a data section so that it can be consulted at a later date... I use a queue to store the data that I log on, although when the section of my code is run that stores the data in the queue, no data ends here and no error is produced. I really don't see what I'm doing wrong. Is it possible someone could have a look att the attached vi (recorded for LabVIEW 8.0) and see what I'm doing wrong, it would be greatly appreciated!

    Thank you, Alec

    You AND-ing, the event to place of Capture with a FALSE constant, which will always give you false and you'll never go to the "Stored update" event. Remove this piece of code and it will work as you can hear.

    The best way to determine which button was pressed would be to use a structure of the event. In addition, it would be better to have a one Stop button that stops all the loops. See this post for options on how to do it: http://forums.ni.com/t5/LabVIEW/What-is-the-preferred-way-to-stop-multiple-loops/m-p/1035851

  • Reading data from a queue - store quick loop, slow loop display

    Here's my BD below.  I'm data queues in a loop faster (100 ms or 50 ms) and by sending this data to a loop of 250 ms.  I need to be able to view the data in the slower loop (so that the public Service only is updated every 50 ms).

    Problem I have: How can I dump the data?  It builds and builds, and finally I'm looking at a chart that contains data that is old in 1 minute.  I tried to write my own code RAS (attached).  I tried to use variables to pass data and use a table to analyze... does not.  Any help would be appreciated.

    If you need all the data into the table, I use the RAS queue and write on the Blackboard in a loop FOR (autoindexing with the array of items in the queue RAS).  You can set the front reporter Panel updated before the loop FOR and reset it after, but I don't know who's going to buy you a lot.

  • Design pattern using queues and notifiers and problem with sync

    Hello

    I'm rearchitecturing a 4-channel data acquisition system which includes data acquisition, indexing of data between four channels, signal processing and recording of data.

    All processes are placed in a single loop, and I have subdivided by the following in a producer and consumer two loop (or master with both loops slave), use a queue to manage orders and send the actual data through a notification list. I'm new to this, so I don't know how to go for rearhitecturing but am trying to move several loops. Instead of placing each channel in its own loop, I used only 2 to save duty all architecture. The acquired data are also indexed in the two loops (loop1, loop2):

    Main loop: data acquisition (DAQ Assistant) where Notifier sends data to consumers loops, queue for General commands

    Loop1: bed (table 2D index), addresses and records the data for channels 1 and 2

    Loop2: bed (table 2D index), addresses and records the data for channels 3 and 4

    Question 1: Is it ok to use Notifier and queue in the artchiture (best practices)? I would use two queues, but I find that the program may have a lag (although it lacks all data) and who interrupts the acquisition for the user and I don't want that. I prefer the program to retrieve data in real time and then decided to use the authors of notifications to send data to loops1 & 2. What are the caveats of this? Given that I am gaining at the rate of 1 s/s, maybe it will be enough.

    With respect to the orders queue, this is done and two commands are queued in order to activate loops1 & 2. Using multiple loops slave/consumer, how we manage several channels? the user can choose to acquire all the channels simultaneously or one at a time. I am able to activate the four channels. In this case, because loops can not run in order, how do you ensure that the item is read by the right loop?

    I'm running into a few problems:
    Question 2: synchronizing data - use 'wait on ms' synchronize all loops (main loop and loop1, loop2)
    -data doesn't seem to be very good sync - why is - this? consumer of treatment<>
    -what I'm missing?
    Question 3: processing loss data - because using filers is frozen and using queues is not, I did so that orders of the so-called 'turn on' the two loops is done using a queue. I compared it with the notifiers
    Question 4: Errors - I made loops 1 & 2 output on the notifier error error - they throw an error when the program stops so happy so I was testing for. I read some ni.forums he's talking about is enough, but what are the other types of error monitoring (error reporting)? Thank you very much for reading!

    I programmed so far and it can read all or individual channels but I want check against all cases, that's why I ask these questions to check. I know that architecture may not be the best, so any suggestions would be welcome. I try to get the synchronization of the time and I don't want any data with loss. I guess that the use of queues to send data and commands is ok?

    Thank you in advance for your help!


  • How to increase the write speed using queues

    Hello

    I use a vi to read in the two sets of data on a serial port.  I can write the data to a spreadsheet.  I got this by sending data to a queue when I press a button to record data on the vi.  The queue and then writes the data to a file in another loop.  I have this based on an architecture of the producer consumer.  The installer works fine, but I have noticed that during the recording of data for long periods of time (2 minutes or more), it takes an extremely long time after I stopped recording data for the information to be written to a file.  Is in any way to improve my writing at speed of files?  Thanks for all your help and I am attatching my VI.


  • data flow problem, queuing Subvi primary VI

    Ive stuck on a very simple data flow problem here, I would like to convey the data queued in the Subvi and dequeue in the main loop of the vi consumer. Ive attached the vi, since im already stuck on this problem, I was hoping I could learn a few things, especially implementation action engine in this situation

    Thank you.

    Your Subvi makes no sense since your loop will always leave after the first iteration and you always initialize your counter to 0 whenever run you it. This is a problem.

    Your code also suffers from several places that are made by the queue data. You will get undeterministic behavior since you do not know which dequeue will get the first data. In general, for a producer/consumer using the architecture queued one or more loops loops should be given enqueueing to the queue. A single loop must be made of data. These loops shuold run in parallel to each other. In your code, you can only run your Subvi whenever you press the Start button and as said you will always show the value 1 to the queue. What you need to do, is to have your Subvi managed independently once it is started. Use "Start Asychronous CAll" to start your Subvi when the Start button is pressed then let it just run. Have it post the meter to the queue. Your lower loop in main VI should remove the values and display them. You need not wait in this lower loop since it is the purpose of the dequeue. This loop will be inactive if there is no current data and run only when the data is in the queue.

    In the upper loop of your VI main remove the dequeue and the queue. You don't need them as the Subvi is all that is necessary to validate the data in the queue.

    Try this:

  • from the data varying in queues, error code 91

    Task:

    pass data varying in a cluster as a data type of queue, i.e. the bundle a boolean and a string (the string is converted to a Variant).  Create two while loops (producer + consumer).

    Everything works fine the consumer using variant of the Labview if timeout for the dequeue is - 1 service data function.  Then when the data is sent (in response to a press of button in the producer) data are received and displayed correctly.

    However to modify the time-out of the consumer to say 500ms and then each time-out time that 91 error as shown in the attachment.

    I would like to know what I'm doing wrong, because it is not completely clear to me why it works with the infinite time-out but not the time 500 ms.

    Hello

    When "wait" wait times the function provides an empty cluster as output.  When you try to convert a white to a string type, it generates an error.

    Just do not transmit data to the conversion operation when the dequeue tiimeouts.

  • Access ntuser.dat.log in NETWORK services folder refused even in safe MODE

    I try to accessntuser.dat.log in the file services NETWORK even in safe MODE but not private.  I am logged in as ADMINISTRATOR.  I guess that's the case as well if I connected any other user?

    I looked in the MGR TASK to try and identify what process this block, but I am at a loss.  Anyone know which circles I need to pass through power to life this file?

    Guessing that you mean this file:

    c:\Documents and Settings\NetworkService

    You cannot open the file because XP is running and the file is in use and the Task Manager will not help you indicate what (s) blocking process your effort to open the file (it is not what is the Task Manager for).

    Sometimes, you can copy a file open and then open the copy, but it will not work with ntuser.dat.log and your efforts to access the file will give results like:

    If you want to open the file, you can open a session under a different name and access the file of ntuser.dat.log of another user in this way (since the other user will not in use).

    For example, if I am logged on as user ElderK I can't access my ntuser.dat.log file but I can access the file owned by another user as Jose in looking here:

    c:\Documents and Settings\Jose

    Or, you can start on something like a Hiren Boot CD and access the file from there since your XP will not work.

    I see no reason to watch the ntuser.dat.log file is binary data, then maybe you can tell us what you're trying to do and why (or you just practice).

  • Ntuser.dat.LOG files are important to include in a backup to transfer files to a new computer?

    Ntuser.dat.LOG files are important to include in a backup that is used to transfer files to a new computer? When you try to backup or copy files I get the message that these files (there are 4 of them) cannot be saved or copied because they have already opened and used on the computer. A single file is 256 KB and another has 0 KB. Can not see the other two

    Hi MAnnetteFox,

    Thanks for posting the query on Microsoft Community.

    You do not need to take backup of these files and they are normal files that will be generated.

    In the future, if you have problems with Windows, get back to us. We will be happy to help you.

  • Unable to show the data logged in simple cdc?

    Hello

    I want to get the changed data only inserted into the target table.

    For this,.

    I create model & select JKM Oracle Simple.

    I create the data store (with data) source & target (empty) table.

    Next. I add source table to cdc and start log.

    again, I insert a row in the source table. After I check source table-> cdc > data logged--> "changed data are coming with success.


    cdc_err2.png


    I create interface for the changed data only inserted into the target table.

    I drag the Table logged as a source and the required target. On the data from the Source store, check the option box " JOURNALISÉ DATA ONLY " for this example I used IKM SQL update SQL command.

    I checked the source data after selecting " JOURNALISÉ DATA ONLY " option in the properties of the source. I have not logged data.

    cdc_err1.png

    Please help me,

    Thanks in advance,

    A.Kavya.


    You must define who subscribed using Jornalized data, in this case, 'CONTROLLER '.

  • The amount of data is used when you watch a movie online, a Wi - Fi connection?

    I have a MacBook Air, and I use a Wi - Fi sometimes connection for watching movies. I want to know how much data is used when I watch a movie of 2 hours to 720 p. I couldn't find a clear answer anywhere. Appreciate the answers. Thank you.

    15 MB/minute if you look at the video in 720 p, 34 MB/minute in 1080 p.

    3 GB per hour in HD.

  • Data recovery using Microsoft Money Standard bought in New Zealand

    I use Microsoft Money Standard bought in New Zealand.

    As a result of a malfunction of the hard drive, I installed a new and recovered all my data files.
    I reinstalled Microsoft Money, but Money files will not open.
    A message informs you that the file cannot be located or is read-only, I don't have the permission to open or it is write protected. None of this is true then I suspect it has something to do with Microsoft withdraws this product.
    I can see there are no version sunset for my version, so how I can I recover my data for use in Microsoft Money or importing to another product I need of course to buy at one time?

    Yay! Success.

    It's hotfix QFE, whatever they are, that became a problem when Microsoft has ceased to produce and support money.
    Users of the United States had a "Sunset Version" to allow them to continue to use the program, but international users have been left in the cold.
    Finally, Microsoft provided a download to help users with the UK or International English. Why they did not consider their international users from the very beginning, God alone knows that!
    For the Version of Money 2005 - published July 28, 2011
    For users of the International English Version of Money 2005 - published July 29, 2011
    I have downloaded and run the NASB and my Money file open immediately. Great!
    Now, I just need to look at what it takes to pass when I decide it is time to move from Microsoft Money.
  • the Ntuser.dat.log file size

    Hello

    I found this hidden file (located in the C:\Document and Settings\MyUsername\ folder) ntuser.dat.log , keeps changing itself... (every few seconds/minutes)
    its size is 1 KB to 400kb ~
    Is this normal?
    I thought that he should only updated when logging in or out, am I wrong?
    My OS is Windows XP SP3.

    Hello

    The NTUSER. DAT is a registry file. NTUSER each user. DAT file contains the registry settings to their individual account. The Windows registry, is a "central hierarchical database" that contains information about user profiles, hardware and software contained on a computer. Does Windows constantly reference registry throughout its operation of its files. The configuration of the "HKEY_CURRENT_USER" of the registry branch is supported by NTUSER the current user. DAT file.

    Note: this section, method, or task contains steps that tell you how to modify the registry. However, serious problems can occur if you modify the registry incorrectly. Therefore, make sure that you proceed with caution. For added protection, back up the registry before you edit it. Then you can restore the registry if a problem occurs. For more information about how to back up and restore the registry. Check out the following link.
    http://support.Microsoft.com/kb/322756

  • copy of a dvd/data disc using vista

    I have a HP desktop computer and an operating system vista Home premium I tried unsuccessfully to copy a dvd/data disc using windows media player 11 and Windows media center... Nothing works. I thought I have to first transfer the files from the dvd to my hard drive and then burn a copy. Please give me instructions on how to do it.
    Thank you, whoever you are helping me with that.
    Freddie

    I have a HP desktop computer and an operating system vista Home premium I tried unsuccessfully to copy a dvd/data disc using windows media player 11 and Windows media center... Nothing works. I thought I have to first transfer the files from the dvd to my hard drive and then burn a copy. Please give me instructions on how to do it.
    Thank you, whoever you are helping me with that.
    Freddie

    ==================================
    Here's an easy way to create a copy of your DVD.

    The following freeware can create an ISO Image
    your DVD and then burn it to a blank dvd.

    (FWIW... it's always a good idea to create a system)
    Restore point before installing software or updates)

    Download ImgBurn:
    http://www.Digital-Digest.com/software/download.php?sid=470&SSID=0&did=1

    How to create an image file of a disc with ImgBurn
    http://Forum.ImgBurn.com/index.php?showtopic=6379

    How to write an image file to a disc with ImgBurn
    http://Forum.ImgBurn.com/index.php?showtopic=61

    John Inzer - MS - MVP - Digital Media Experience - Notice_This is not tech support_I'm volunteer - Solutions that work for me may not work for you - * proceed at your own risk *.

Maybe you are looking for