Process of waveform data (accumulated results)

Hi all

I am currently treating a waveform data that I read of DAQ card. Data are digital waveforms, so first I convert it to table DBL and then put the table in a block of prcessing (see attachment). Since I expect to get a report and indeed I got what I want at the first time. However, when I re - run the program, obtained results. for example the first time I got 0.5, then when I re - run the program, I expect to get another 0.5, however what I have is 1. If I keep running again, he continue to accumulate.

Can someone tell me what's wrong with my program? I have attached a screenshot of the code and also the vi that I used to do the processing.

Thanks in advance for your help.

Main program:

You have an uninitialized enter your last registry FOR loop to shift.  Initialize to 0 and you should be good to go.

Tags: NI Hardware

Similar Questions

  • Access waveform data passed in a DLL

    Hello

    I'm working on a LabVIEW application that processes the continuous stream, 2 ms/s, 32 analog input channels, each channel. This application has a DLL built in order to improve the table great handling performance in LabVIEW. Initially, I fed the DLL with a double 2D array returned by DAQmx Read VI and worked on a controller embedded high performance. However, the new requirement is, I need to treat timestamps as well as each Read call to HAVE him, and that's why I need to feed the DLL with the waveform data returned by DAQmx Read. Output waveform contains the timestamps I need.

    The problem is, I don't see an easy way to access the data of waveform within the DLL (developed using Visual Studio C++). The type of waveform data seems to be a C++ class, and who looks like I need to add a considerable amount of code to retrieve the data within the class of waveform.

    My question is, LabVIEW naturally does support access to waveform data in a DLL and if there are examples of code? I understand, I can you can also process outside the DLL waveform data and feed the DLL with the array element in the waveform data. However, I have concerns about whether if performance will be significantly affected.

    Thank you!

    Donghui Yin

    Doy says:

    Sorry for the incomplete design details. If you are interested, I have used high cards, not PXI. This is why I don't have a problem of bandwidth PXI. Special assistance, I need right now is the note, 'External Code in LabVIEW using' manual on Page 2-7:

    "Note waveforms, digital signals and digital tables can be passed through shared
    "libraries, but access to the data inside shared libraries is not supported at this time."

    Thank you.

    I think that the text is clear enough! There is no documented API for access to international it data waveform within an external code module. The generated data type the node in library call for such a parameter is HWAVE or something, indicating that it is an opaque handle whose implementation details are deprived of LabVIEW. Since there is no documented API for access to her international of such data there is simply no way to access it.

    And I didn't know all the functions that are exported in the LabVIEW executable that I could easily connect with the waveform dataype. Even if I had, we still do not know the prototype (aka list of parameters and types) of these functions.

    Your only viable solution is to work with the data types supported. Your C code, or possibly the LabVIEW (table handles) native data type, either passing data in table C. else pointer would require reverse engineering of disassembly, a legally questionable approach, but also a lot of your time. And everything you would find this way I would be very hesitant to use in what feels, walks or crawls like a real-world application, since you can't be sure that your conclusions will work for any situation. It is also likely that your results will depend on some attributes may change between versions of LabVIEW.

  • Filter for waveform data

    Hello world

    I'm trying to filter the noisy analog inputs of 10 channels (DC). I'm sampling of 100 samples/channel at 1000 Hz. My idea is to filter the data with a low pass filter (cut to 10 Hz 3rd order butterworth low freq) and then to calculate the average of each package of 100 samples. Finally, I would like to receive values at a rate of 10 Hz, which can be displayed on the front panel and be written in a file of measures.

    My problem is the following:

    The Express filter VI does not filter continuously after that the VI began. It seems to reset each time the loop runs. The table of 100 samples (white) before and after (red), the filter appear in the image "filterResponse". If I take the average of this table, it is of course less without the filter due to the transitory values between 0 and 0.025 s. I built a simplified version of my VI with only one channel using the VI "Simulate signal" and my concept seems to work well which is permanently (see "filterMeanExample.vi"). I get the idea that it might have to with the kind of dynamic data that is supported by many express VI. But since I'm on the VI KEITHLEY, I do not use the type of dynamic data. In fact, I had to convert a waveform data type to get a vehicle appropriate for the file of the measurement of its release.

    I wonder how to keep the filter VI of reset each time that the loop runs.

    My VI is rather large and contains the KEITHLEY 'Acquire signals' VI which most people do not have in their libraries, so I decided to show only the images.

    Thanks for your help!

    Phil

    System: WinXP, LabVIEW 8.2.1 Professional

    Thanks for the tips, I am set!

    I used the VI of butterworth filter in the tool box to filter on the Panel of the Signal processing that accepts the type of table data. I put the variable ' init/cont' true to prevent the filter to reset its initial States to 0. I guess, it was my real problem before. The Express filter VI doesn't have this option, so I wasn't aware of this feature.

    However, an image of the current value is attached.

    Thanks again,

    Phil

  • Foreground of Oracle process to access data under Linux files

    As far as I know, processes user in an Oracle database running the application code, but the processes of database running Oracle database server code (server process analyze and execute the SQL statements issued through the app, read data of data files blocks and return the results to the application.) Background treats the archive logs, update the headers of all the data files to save the details of the control point, written content of the buffers of data files, runs the recovery if necessary, etc.)

    However, I could see the oracle user processes to access data files in my Oracle database. When I look for the processes to access data belonging to the tablespace files "recprov", I get the following:

    [root@ymir ~] # lsof | grep recprov
    Oracle Oracle 465 11u REG 8.18 6291464192 /ora2/oradata/essepr3/recprov_tb_01.dbf 48496658
    Oracle Oracle 465 13u REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659
    Oracle Oracle 465 15u REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659
    Oracle Oracle 964 11u REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659
    Oracle Oracle 964 13u REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659
    Oracle Oracle 964 14u REG 8.18 6291464192 /ora2/oradata/essepr3/recprov_tb_01.dbf 48496658
    Oracle Oracle 13364 14u REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659
    Oracle Oracle 13364 76u REG 8.18 6291464192 /ora2/oradata/essepr3/recprov_tb_01.dbf 48496658
    Oracle Oracle 16445 17u REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659
    Oracle Oracle 16445 18u REG 8.18 6291464192 /ora2/oradata/essepr3/recprov_tb_01.dbf 48496658
    Oracle Oracle 20522 REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659 82uW
    Oracle Oracle 20522 REG 8.18 6291464192 /ora2/oradata/essepr3/recprov_tb_01.dbf 48496658 122uW
    Oracle Oracle 20532 44u REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659
    Oracle Oracle 20532 75u REG 8.18 6291464192 /ora2/oradata/essepr3/recprov_tb_01.dbf 48496658
    Oracle Oracle 20534 17u REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659
    Oracle Oracle 20534 79u REG 8.18 6291464192 /ora2/oradata/essepr3/recprov_tb_01.dbf 48496658

    As you can see, there are 7 oracle processes that access data files: 4 processes user and 3 background processes:

    [root@ymir ~] # ps - ef
    ...
    Oracle 465 1 Jan27 0? 00:00:23 oracleessepr3 (LOCAL = NO)
    Oracle 964 1 Jan27 0? 00:00:25 oracleessepr3 (LOCAL = NO)
    Oracle 13364 1 0 Jan13? 02:45:02 oracleessepr3 (LOCAL = NO)
    Oracle 16445 1 0 Jan21? 00:00:05 oracleessepr3 (LOCAL = NO)
    20522 1 0 2009 Oracle? 00:09:59 ora_dbw0_essepr3
    20532 1 0 2009 Oracle? 00:04:24 ora_ckpt_essepr3
    20534 1 0 2009 Oracle? 00:04:10 ora_smon_essepr3
    ...

    And I confirmed this information from the data base repository:

    SQL > select p.SPID, SSE. TYPE, SSE. Username, SSE. MACHINE, SSE. PROGRAM
    session $ v ESS, v$ process p
    where p.SPID (465, 964, 13364, 16445, 20522, 20532, 20534) and SES. PADDR = p.ADDR;

    USER NAME OF TYPE SPID MACHINE PROGRAM
    ----- ----------- --------------- --------------- ---------------------------------------------------------
    20522 BACKGROUND dbserver (DBW0) oracle@dbserver
    20532 BACKGROUND dbserver oracle@dbserver (CKPT)
    20534 BACKGROUND dbserver oracle@dbserver (SMON)
    13364 USER DBSNMP dbserver emagent@dbserver (TNS V1 - V3)
    964 RECPROV USER appserver JDBC Thin Client
    16445 USER SYSTEM userPC PlSqlDev.exe
    465 RECPROV USER appserver JDBC Thin Client

    * RECPROV is the name of the user of the application database.

    My question is, why are there user processes to access data files? I think that it does not match the process architecture defined by Oracle. And most importantly, it does not mean a security leak in the database?

    DB version: 10.2.0.3, dedicated
    The Linux Version: Linux 2.6.18 - 53.el5xen #1 SMP Sat Nov 10 19:46:06 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux

    Thanks in advance

    Hello

    There seems to be some confusion, even in the Oracle documentation, in terms of nomenclature.

    Think of it this way. There is the client program that connects to Oracle, such as SQL * Plus, Toad, custom, etc. written application. This program runs on the client. This may or may not be on the database server.

    Then there's the Oracle database server process. They run always on the database server. These processes are of two types, the USER and the background.

    You can see:

    SQL> select background,count(*) from v$process group by background;
    
    B   COUNT(*)
    - ----------
              65
    1         37
    

    Here are copies of the file binary oracle attach directly to the SGA and interact with database files. The binary oracle works with several different "personalities" based on the different purposes, he is currently serving. The type of background process, are divided into different specific methods for specific purposes.
    Yet once, observe:

    SQL> select pname from v$process where background = 1;
    
    PNAME
    -----
    PMON
    VKTM
    GEN0
    DIAG
    DBRM
    PING
    PSP0
    ACMS
    DIA0
    LMON
    LMD0
    
    PNAME
    -----
    LMS0
    LMS1
    RMS0
    LMHB
    MMAN
    DBW0
    DBW1
    LGWR
    CKPT
    SMON
    RECO
    
    PNAME
    -----
    RBAL
    ASMB
    MMON
    MMNL
    MARK
    LCK0
    RSMN
    GTX0
    SMCO
    W000
    RCBG
    
    PNAME
    -----
    QMNC
    Q001
    CJQ0
    Q005
    
    37 rows selected.
    

    Thus, each background process serves a different purpose. For example. DBW0 concerns only to write data from the buffer cache data files and maintaining all data structures associated with it. Each background process above serves a different purpose, I will not go into all. Generally, the background processes start up time of instance startup, even though some may be started on demand, at a certain time after the start of the proceeding.

    Now, consider a dedicated server model. When you connect to the database by using SQL * Plus, for example, you run the binary "sqlplus". Assume that you are connected via SQL * Net. In this case, sqlplus connects to the listener, the listener creates an oracle server process, type 'USER '. This process always runs on the database server. It runs under the user 'oracle', and it provides your real and direct interface to the database. This user can interact with the database and read the database files directly.

    Mainly, your server processes the USER will read the data from the cache buffers and, in the case of an absence of cache, will read the data in the data files and loading into the buffer cache. In addition, according to the code path, it can directly read or write to the datafiles, bypassing the buffer cache.

    So, the bottom line, all server (USER and BOTTOM) processes, interact with the database and associated files. The code of client program (sqlplus, Toad, etc.) NEVER directly interacts with the database.

    Hope that things cleared up.

    -Mark

  • problem with the history of EEG waveform data

    Hello world:

    I use SIT to create a user interface in Labview to communicate with a simulink model. After I configure the SIT connection manager and run the vi, the output was displayed in waveform graph.

    Now, I want to get all the data in the history of the map of waveform. I tried to use the graphic story property node to access the whole of the historydat. But nothing copied in the part of Y in the front of the cluster of waveform...

    Can someone give me a helping hand on what is the problem? or has anyone encounter the same problem when you use SIT.  I am really confussed...

    I've attached the vi, but to run the vi, you must have a simulink model corressponding and SIT, so I'm really sorry that you can not run it

    And thanks a lot a lot a lot for that.

    / Shangning

    I just realized this data is a 2D waveform table, which contains the waveform 2000 * 1, and each waveform data contains only 1 value of Y.

  • get the timestamp of waveform data

    Hi all

    I'm coming out of the timestamp from waveform data if this is possible. I am writing to file, but the express vi does not allow for fractions of a second and when I write a string waveform data for use with writing to the worksheet, the data of time is lost.

    any suggestions?

    Use Get waveform components. What part of VI? Writing to a file of measure written fractions of a second.

  • How to extract a D 1 waveform data in different channels to use for calculations on a page of data in real time

    Hi all

    I am a fairly new user to Labview and am trying to create a program that: watching the entries in different modules (9213, 9217) CompactDAQ sensors check errors and then uses data from some final calculations like averaging etc.  I've set up a small piece of code that includes the main functions that I am trying to accomplish.  Now I'm rather uncomfortable with getting set up and assigned channels, then pass these data in a while loop that continuously pulls the data from these sensors.

    I have the vi calculations complete and complement the inputs of channel UI, now, I'm working on the side of data manipulation and reading things.  The waveform D 1 who comes to read function is currently divided into components I want (given String Name and Y).  He then transmit this information out of the loop via a queue which transmits to the parallel loop below that will perform the verification errors and calculations of average.  There are some things that make it difficult. I showed the 2 sensors in my example, but in the actual program, there may be up to 400 entries.  The problem is that not all of these sensors will be used on all the tests that the software is used for.  To use the entries in the VI test for example: if I'm trying to the average of these 2 entries to create a common value, but then on a test, sensor 2 is not there, it must be recognized that fact and not use it in the service average.

    So to get down to it, I want to create something that can look through the D 1 waveform data groups, determine what these values are, then perform the functions necessary for these numbers once they are identified, then pass on the calculations of VI where it displays then usable for user information.  I think I'm having a problem with the finding in sorting than what I thought at makes me think that there must be an easier way.

    If someone has encountered this?  What is my explanation of what I'm trying to make sense?  Let me know and I can clarify.

    In terms of features, I don't see anything wrong. with respect to the effectiveness we must remember some general indications. These issues that I bring to the top will not affect your code now since your stack sizes are very small but can start to create the fragmentation of memory and slow down the software if your stack sizes are much larger and the software runs for a long period of time.

    1. try not to use the table to build. Whenever you use a table built labview creates a copy in memory. Try to initilized your berries and replace subsets.

    2. as much as you can try not index tables or unbundle cluster several times. try to perform as many tasks as possbile in one shot. (what was obvious in your second loop)

    In addition, he's looking good.

    I made a few changes to your code and attached to it. I wanted to give you a different on her opinion as it relates to being able to control entry and exit of programitically, if you had a look up table. I do not have the same changes to your second loop but I can guide you through what to do if you do not want to go in that direction. Yet once your original code is well done for someone who is new to labview, so don't feel you need to follow the new design of VI. Just try to remove the table construction and multiple indexing as a good habbit programming.

  • Question on waveform data

    What is the difference between waveform data and common digital data? Whenever I have do analog data acquisition, the Board always wonder if I want to put the data acquired as a waveform or DBL type. For a specific data source, there is large difference for the two choices? If I chose to acquire waveform data, how to set the sampling frequency? I mean what I will get in a "waveform sample? Will it be a number or a set of numbers that contributes to a "wave"?

    Thank you!

    Right. A waveform data type can also have attributes assigned as the channel name. Read the help for a complete description.

  • Detection of peaks of waveform data

    Hi people.

    It is probably obvious, but I can't understand it. In the attached VI sine wave detector summits are determined from a simulated signal. I want to be able to do the same thing with a waveform data (DBL), but it won't let me. How can I extract the signal of the LDM to feed the rest and make the waveform work VI right Ridge detector?

    Thank you

    Select this option.

    Use of DDT, found in the range of Signal handling, to change the dynamic thread in a waveform.

    Bob Schor

  • determination of the sampling rate and the frequency waveform data record

    Hello

    I write a simple program that collect data from a triaxial accelerometer input, convert it to a frequency spectrum, and then save the time domain and the frequency of the waveforms in an external file separated.  I don't understand how to set the sampling frequency, however.  On the DAQ Assistant, I updated the acquisition mode "Samples continues" and read samples is 2 k, which corresponds to the total number of data points that are collected.  How can I program sampling for awhile, it 30 seconds, for example?  Wouldn't be better to set up a trigger, as it will continue to collect data up to what I told it to stop?

    I also want to save waveform data in a separate file that can be easily seen by other computers that have not installed Labview.  I have currently the program put in place to convert a text string of the waveform of the time domain and then save it in a text file or a spreadsheet.  It works fine, but I would also like to record the frequency wave, which is a different type of data.  How can I do this or is there a better way?

    My program is attached.  Thanks for your help!

    Here's how you can use the shift register to build the table, and also where you can choose to play exactly 100 samples per while the loop iteration.

    Brian

  • Writing of continuous waveform data

    Hey,.

    I can't change the continues writing data to the worksheet found code here.  I modified the code to write data to a spreadsheet so I can get a timestamp to the data that I collect.

    My problem is this: whenever I run the code it rewrites the header of waveform information in the spreadsheet, so I could get 100 rows of data, good timestamp and then 4 rows of header information more than 100 lines of timestamp and then 4 header lines and so on.  I have been using the feature to add the entry in the spreadsheet, which I think is part of the problem.

    How can I get waveform data to write continuously in the spreadsheet and write only once the header information?

    I have attached my code and an example of the header several write the problem.

    Thank you!

    He removed a + 1 function after that loop to the bottom left of the VI.

    This is the VI saved at 8.0 LV.

  • How can you save waveform data w / an iteration variable?

    No one responds to my messages, three Ive packed in the last hour, no one knows how to do this? I don't think that's the problem.

    Please help me, I need to save waveform data, however several times a second the user said, I have one already done 'iteration timer' but it does nothing.

    Please, if you can help me, I use LV8.5.1.

    Thank you

    (I am a very new user.)


  • How to automate the process of loading data using load file & Task Scheduler

    Hello

    I do the automated processes to load the data into Hyperion Planning application using the file data_Load.bat & Scheduler of tasks.

    I created Data_Load.bat file, but the rest of the process, I cannot complete.

    Could help you me, how to automate the process of loading data using the file Data_load.bat & task Scheduler or what are the rest of the file is require it to achieve.

    Thank you

    In response to your question using the maxl for loading scripts?

    If Yes, I've seen and deliver in the batch (ex: load_data.bat) that is you do not have the path of the maxl script complete with a batch when passing through the event the task scheduler will work, but the log file and / or error will not be created. Which means lots claims it linked task scheduler, although he did not do what you need to.

    If you use maxl use this as the batch

    "essmsh C:\data\DataLoad.mxl" or you can also use the full path for the maxl or work elsewhere. The only reason why I think that the maxl can then not work is if you do not have the updated batch updated to call on all LANE changes maxl or if you need to update your environment variables to correct the command essmsh to work in a command prompt.

  • There is no process to read data written to a pipe

    09/11/01 15:01:39.31 html: there is no process to read data written to a pipe.
    09/11/01 15:01:39.31 html: Servlet error
    java.io.IOException: there is no process to read data written to a pipe.
    at sun.nio.ch.FileDispatcher.write0 (Native Method)
    at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:132)
    at sun.nio.ch.IOUtil.write(IOUtil.java:103)
    at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:329)
    at java.nio.channels.Channels.write(Channels.java:74)
    to java.nio.channels.Channels.access$ 000(Channels.java:61)
    to java.nio.channels.Channels$ 1.write(Channels.java:148)
    at com.evermind.server.http.AJPOutputStream.endRequest(AJPOutputStream.java:117)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:306)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)
    to oracle.oc4j.network.ServerSocketReadHandler$ SafeRunnable.run (ServerSocketReadHandler.java:260)
    to com.evermind.util.ReleasableResourcePooledExecutor$ MyWorker.run (ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:810)

    How to solve this problem?

    Thank you
    Jackie

    Jackie,

    It's the alert_in the .log file.

    SQL > show the background_dump_dest parameter

    Thank you
    Hussein

  • Disable "start a new process with the data of this task.

    Hi all

    As the title says, I would like to disable "start a new process with the data of this task.

    Because I find that it will not work with form preparation process has data, I understand that you can fix by some changes to the procedure of data preparation, but I don't have time at the moment.

    Here is the screenshot to show what is a function 'Start a new process with this task data' in the workspace.

    new_process.JPG

    Concerning

    Bill

    I think your only option is to customize the Worksapce interface.

    I'm sorry.

    Jasmine

Maybe you are looking for

  • Equium M50-216: I am unable to mount the module memory

    I could not (physically) to fit more memory Ram DDR2 PC2-4300 (200 pin SODIMM to 533 MHz). Can you confirm that this is the correct memory of the standard. Thank you

  • Hp250g4: Code disabled

    Hi can anyone help me please I have a hp250g4 with the good old disabled code (85919277) I would be so grateful to anyone who could help me please there my computer to school and IV been kicked out coz of not in contact with them, everything is on th

  • Slate 21: shortcut keys

    I'm new on the slate of 21 and I am currently working on how to use shortcut keys. For example if I want to print the entire screen, on my old desk top I used to use control P or if I wanted to stress that I used the command A, it does not for me on

  • How can I fix the problem when another computer is using the same IP address with me?

    My computer has proven to me that there is another computer using my IP address. He said I need to contact the administrator. I don't know how to do in this regard. Help, please.

  • HP Pavilion 15-n043ee network driver

    team HP good day I have HP Pavilion n043ee 15, after I formatted the laptop I can not install the driver of network again. Windows 7-64 bit, contains the ralink RT 3290 radio model. could you please send me a link to download the network driver, beca