View or process data acquired by NI 5732

Hi all

I have a scanner high-speed NI 5732 works with NI SMU 7962R. I need to acquire data at high frequency and the process/view it online if possible. I think the problem is that the while loop in the high acceptance of the VI page is too slow to read the data sent by the FPGA. I can see clealy waveform when the input frequency is low, but when the frequency is high the ugly looks of waveform. Is there a way I can see the waveform clealy high frequency in real time? Or I can use somethig like a FIFO to store data and view it later?

Thank you

Tong

Hi Jeff,

Thank you for your answer and I've already found the solution by myself.

I did the FPGA and host screws by myself according to the example of "Getting started". I use the internal clock of 80 MHz in the FPGA VI. I'm trying to use NI 5732 to acquire the signal with a frequency of several MHz, so I think that the acquisition rate is fast enough.

I solved the problem by using a target-to-host FIFO. The maximum size of the FIFO seemed to be 32767, so I put this value. Also, host VI, I put the number of items to be read from the FIFO to 10000. So I can view the MHz signal at the host VI.

Best,

Tong

Tags: NI Hardware

Similar Questions

  • Display or process the data acquired by NI 5732

    Hi all

    I have a scanner high-speed NI 5732 works with NI SMU 7962R. I need to acquire data at high frequency and the process/view it online if possible. I think the problem is that the while loop in the high acceptance of the VI page is too slow to read the data sent by the FPGA. I can see clealy waveform when the input frequency is low, but when the frequency is high the ugly looks of waveform. Is there a way I can see the waveform clealy high frequency in real time? Or I can use somethig like a FIFO to store data and view it later?

    Thank you

    Tong

    Hi Matthew,

    Thank you for your answer and I've already found the solution by myself.

    I did the FPGA and host screws by myself according to the example of "Getting started". I use the internal clock of 80 MHz in the FPGA VI. I'm trying to use NI 5732 to acquire the signal with a frequency of several MHz, so I think that the acquisition rate is fast enough.

    I solved the problem by using a target-to-host FIFO. The maximum size of the FIFO seemed to be 32767, so I put this value. Also, host VI, I put the number of items to be read from the FIFO to 10000. So I can view the MHz signal at the host VI.

    Best,

    Tong

  • Organize a multiplexer of data acquired in a spreadsheet of a column field order file

    I am a novice user of Labview, but I managed to make increment of an index from 0 to 15 operating VI to interface with a multiplexer, while ensuring a time predetermined between each cycle of 16 iterations. I just imitated this case study prior to its practical implementation by building a VI saving analog data acquired from a two entry ports analog to each running index value in a txt file (file: Multiplexer_Output_Data_Test.pdf). The challenge is how otherwise store that data in a spreadsheet excellent file in which each line has a thirty-three cells, or in other words, the first cell has the time stamp, while the then sixteen cells contain the analog data of the first port covering all sixteen running index values, and the same approach applies to the eighth cells associated with the second track analog input. The process repeats after the predetermined in successive lines. In the attached VI, I would replace my desired in the last image of savings in text form file in excel sheet.

    Any help would be much appreciated

    Hi Diallo,

    I found This example and I think that applies to your needs. You can find more information on the dynamic exchange of data here.

    Kind regards

  • Save all data acquired by data acquisition

    Hi all

    I have a problem when I tried to record all the data acquired by the DAQ card. My DAQ is NEITHER 6259, and the version of Labview is 2009.

    Basically, what I do use several channels to get different point tensions, then subtract values of both channels (V + and V-) to get the value of the voltage between two points. In my vi, the method of sampling is continuous and the rate is 100 KHz, DAQmx reading is within a while loop and the number of samples per channel is set at 100. After each execution of the loop, I'd get 100 data.  I just use the format in the file to write the data to a .txt file. It seems from that 1 loop only the last data is saved instead of 100.  Previously, I have averaged 100 data inside the acquisition loop for a given, so the write function is OK, but it really slows the program. So I want to write all the raw data in a txt file so later I can treat in Matlab.  Is there a way to do this? Thank you very much.

    The seal is the my vi for 2-channel voltage and current source code control under vi. I am new to Labview so the issue really bugs me even after I read a few similar topics in the forum.

    Kind regards

    Audrey

    When you set the number of samples per channel-1, it will read all the values available in the buffer.  A good benchmark would be to read about 1/10th of your sampling rate.  That is to say. If you read at 100 Hz, read 10 samples per channel.

    Best,

  • How to connect hour as well as data acquired in a binary file

    I want to record some data acquired with the time it was acquired in a binary file. Later I should be able to reproduce the waveform with the same time, with which it was acquired. Can someone help me with an example vi.

    Kind regards

    Here is a player for your burner. Just change the Boolean constant that you have wired to the "Prepend array or string size?" true. (post the VI, but I do not know which version you use)

    Best regards

    David

  • How to view NTUSER. DAT file as to the registry without using it?

    How to view NTUSER. DAT file as to the registry without using it?

    The file is from a different Windows instalation!
    I have Win 7 but it comes from my old Windows xp.

    Hi Leonnis,

    There are many ways to read the registry file without using regedit.
    Some ways:
    RegLookup: RegLookup project is dedicated to the direct analysis of Windows NT registry files. RegLookup is distributed under the GNU GPL license and is implemented in ANSI C. RegLookup provides a C API, a Python module and command line tools to access registry data structures.
    Download here: http://projects.sentinelchicken.org/reglookup/
    RegViewer: Is GTK 2.2 based registry Windows GUI file browser. It is platform-independent for the review of the files of Windows registry from any platform. Particularly useful in forensics files Windows of * nix systems.
    Download here: http://regviewer.sourceforge.net

    RegRipper:

    RegRipper is an application of forensics software open source developed by Harlan Carvey. RegRipper, written in Perl, is a tool for extracting data from Windows registry.
    Download here: http://regviewer.sourceforge.net
    KRegedit:
    kregedit is a KDE utility for the visualization of the native Windows registry files. It is similar to the regedt32 utility that is found on most Windows platforms. Only the format of the NT (NT4/2000/XP) registry is supported.
    Paulo Breim
    Centro Brasileiro Pericia

    Help, please!

  • How to view the anticipated date of 3 days bb

    Greetings

    How to view the early date to 3 days with bb.

    I was able to view the current in bb, but can not able to display the date fututre.

    Help, please

    concerning

    Anthony singh

    Hello

    Add 3 days to the current date.

    days3 long = (3 * 24 * 60 * 60 * 1000);   MS

    TimeFormat SimpleDateFormat = new SimpleDateFormat ("YYYY/MM/DD HH: mm: EEE");
    timeString = «"+ timeFormat.formatLocal (System.currentTimeMillis () + Days3);»

    Thank you

    Stephenson

  • Control of process data HFM

    Hello

    I use HFM 11.1.2.3 requests. I have a question about the control of process data HFM.

    For example, Japan entity has 3 Level0 member (A, B, C). I would like to present the data for only two members (A and B). Is it possible to start the process to ensure that the members of A and B. I want to ignore C member.

    I've known of all members of the child must be at the same level to promote at the level of the examination. But I need to know if there are no opportunities.

    Thank you

    Michel k

    Yes, you can start only A and B, but when you are finished with your consolidation and want to submit, to publish and to lock the parent (Japan) entity, you will also need to submit, to publish and to lock the C entity (for example, disabling his account of validation)

  • Zero-view fixed year date do?

    Zero-view fixed year date do?

    Refer to this link, which explain the zero display feature for example.

    Hyperion Financial Management: Zero display and default display settings. Edgewater Ranzal Weblog

    Let us know if you more details.

    Thank you

    ~ KKT ~.

  • Install PT8.53 with Linux question: connection process Data Mover and application designer

    People,

    Hello. I install PeopleTools 8,53 Internet Architecture.

    Server database is the database Oracle 11 GR 1 material.

    Operating system is Oracle Linux 5.

    I installed successfully JDK7, WebLogic Tuxedo 11 GR 1 material and PeopleTools 8,53 10.3.6, in Oracle Linux 5.


    I've been setting up of database PeopleTools8.53. Because the Wizard installation problem, I created PeopleTools 8,53 database manually by using starter PT853 Oracle database instance. I have run the following scripts:
    (1) utlspace.sql
    (2) dbowner.sql
    (3) ptddl.sql
    (4) psadmin.sql
    (5) psroles.sql
    (6) connect.sql


    Then, we perform Data Mover script in a Windows XP Client computer to fill the PeopleTools PT853 database machine Linux Sever instance.

    I installed Oracle Database 11 g 2 client for 32-bit Windows XP 64 - bit Windows virtual machine and run it successfully.

    In Oracle Linux 5 Server Machine Net Manager:

    Service name: PT853
    Connection type: default database
    "TCP/IP Protocol".
    Host name: 192.168.196.102
    Port name: 1521

    Listener: LISTENER
    Protocol: TCP/IP
    Host: 192.168.196.102
    Port: 1521


    I test the Service PT853 with "SYSADM" username and password "SYSADM". The connection is successful.

    In the Windows XP Client computer, the information in the Net Manager is the same, and the connection is successful as well. Its details are as below:


    NET Service Name: PT853
    Protocol: TCP/IP
    The host of the database Machine name: 192.168.196.102
    Port number: 1521
    Name of the Basic Service: PT853
    Connection type: default database


    This means that Windows XP can connect to Oracle Linux 5 successfully. But in the computer Windows XP Client, Data Mover and application designer cannot open a session in PT853 Instance of database in the Linux Server machine. Its details are below:

    Configuration manager:
    Type of database: Oracle
    The database name: PT853
    User ID: SYSADM
    Connect ID: people
    Connect password: people

    Data Mover:
    Type of database: Oracle
    User ID: SYSADM
    Password: SYSADM

    Application Designer:
    Type of database: Oracle
    User ID: SYSADM
    Password: SYSADM

    When connect Data Mover and application designer, I got the same error:

    ORA - 12154:TNS: can not resolve the connect identifier specified. Invalid user ID and password for the access code.

    According to my understanding, process connection Data Mover and the application designer requires 3 tables in SQL Server: PSOPRDEFN, PSACCESSPRFL, PSSTATUS. I'm not sure the process of connecting to the Oracle database. I checked the database PT853 instance in Linux, and there is only one table "PSDBOWNER" created by the scripts.

    My question is:

    Can any folk tell me the connection process Data Mover and Oracle database application designer? Requires only one table "PSDBOWNER"?

    Thank you.

    Oh my, many mistakes action here. If PSDBOWNER doesn't have a line, it must be solved at the time that the error came out. The replacement by SYSADM first why? Why is complaining already existing SYSADM? Most likely, you HAVE created manually, where you shouldn't.

    Again and again the same story. And again, sorry to say but you should take the basics of Linux training, Oracle training bases and sorry to be hard but reading training as well to read correctly the Peopletools Installation Guide where all required steps are really described in details.

    I don't think anyone can help you across the network in this respect,

    Nicolas.

  • Conversion in failure "the reconfiguration of processing data store.

    I'm trying to convert a Windows XP SP3 machine that has one partition D:. When I try to convert, it fails to stage "Transformation of the reconfiguration data store" with an error indicating "FAILURE: unable to find the system volume, reconfiguration is not possible." I checked the boot.ini file and it seems to be ok, however when I run a Spotmau CD to try to make some recovery/survey to see what the problem is, it shows Windows is on C:, and in the conversion process step that says "Drive to update for the layout of the destination volume letters" goes and comes without error , so I guess that converter is changing the drive letter, that is all pipe up. Can I prevent converter to change the drive letter, or can I change afterwards?

    Thanks in advance for any help.

    xp is the easiest Converter 3.0.3

    that sets up work correctly

    with 4.3 you MUST order the buslogic controller

    Von meinem iPhone gesendet

    Am the 07.07.2011 um 22:19 wrote mmillington [email protected]<>[email protected]>:

    Http://communities.vmware.com/index.jspaVMware communities >

    Conversion in failure "the reconfiguration of processing data store.

    mmillingtonhttp://communities.vmware.com/people/mmillingtonresponse > converter - see complete discussion onhttp://communities.vmware.com/message/1786568#1786568

  • Dynamically aqcuired of process data

    Hello

    what I'm trying to do is: I want to read a signal from two channels for a period of 10 s e.g..

    Now during this Acquisition, I want to check every 100 or 200 ms if the signal is always 'correct', so, otherwise I'd be able to do something.

    I do not know how to handle this task, because on the one hand, in the end, I need the signal together and on the other hand, during the process, I need the 'chunks' of 100/200ms to check something.

    I tried to use a for loop (see downloaded pic) but I waste too much time at each iteration, because I have to add the signals, the entire signal has missing parts.

    I also need to get data on the loop after iteration of tannins, but which also does not seem possible.

    Someone has any other ideo how to approach this task?

    Hi Andy,.

    Please take a look at the example comes in the Finder of Labview example

    -> Input-output hardware-> DAQmx-> analog measurement-> power-> Cont Acq & chart voltage - Int Clk

    In this example, you acquire continuous data in blocks of 1000 values. Then you can check the values of every 1,000 if

    the data is always accurate. If not, you can stop the while loop for example.

    But you won't miss any data because the sample mode is "continuous" with a specified sampling rate.

  • view the json data in the custom list field

    Hi, I did analysis json and I created the custom list field. Now, I want to display only the data analyzed in my custom list field. I'll post my analyzed data from json and here is the code for my custom list field
    data analyzed.
    I have THREE channels of json and I want to show content tittle and date in the list filed. I'll post the screenshot of my list.

    JSONArray jsnarry = new JSONArray(responce);
                System.out.println("\n--length----- "+jsnarry.length());
                //System.out.println("....................................................=");
                for (int i = 0; i < jsnarry.length(); i++){
    
                    JSONArray inerarray = jsnarry.getJSONArray(i);
                        //System.out.println("\n-inerarray-values----- "+inerarray.getString(i1));
                        String TITTLE = inerarray.getString(1);
                        String CONTENT = inerarray.getString(2);
                        String DATE = inerarray.getString(3);
                                                           System.out.println("TITTLE= "+TITTLE);
                        System.out.println("CONTENT= "+CONTENT);
                        System.out.println("DATE= "+DATE);
    
    }
    

    output

    [0.0] --length----- 2
    [0.0]
    [0.0] -innerarray-length----- 6
    
    [0.0] TITTLE= BJP State President Sanjay Tandon's visit to Amita Shukla's Home
    [0.0] CONTENT=  BJP President Chandigarh Sanjay Tandon at Amita Shukla's Home
    [0.0] DATE= 2013-01-04
    [0.0] ................................................
    [0.0] TITTLE= Sanjay Tandon at mahasamadhi of Satya Shri Sai baba.
    [0.0] CONTENT= BJP Chandigarh President, Sanjay Tandon mahasmadhi of Sri Satya Sai Baba.(Andhra Pradesh)
    [0.0] DATE= 2013-01-13
    

    and my custom list field

           super(NO_VERTICAL_SCROLL);
    
             String TITTLE="TITTLE";
             String CONTENT = "CONTENT";
             String DATE = "DATE";
    
             v.addElement(new ListRander(listThumb, TITTLE, CONTENT,DATE, navBar));
    
             myListView = new CustomListField(v){
    
                 protected boolean navigationClick(int status, int time) {
                     //Dialog.alert(" time in milisec :" + time);
                     return true;
                 }
             };
    

    CustomListField.java

    public class CustomListField extends ListField implements ListFieldCallback {
    
        private Vector _listData;
        private int _MAX_ROW_HEIGHT = 100;
    
        public CustomListField (Vector data) {
    
            _listData = data;
            setSize(_listData.size());
            setSearchable(true);
            setCallback(this);
            setRowHeight(_MAX_ROW_HEIGHT);
    
        }
    
        public int moveFocus (int amount, int status, int time) {
    
            this.invalidate(this.getSelectedIndex());
            return super.moveFocus(amount, status, time);
    
        }
    
        public void onFocus (int direction) {
    
            super.onFocus(direction);
    
        }
    
        protected void onUnFocus () {
    
            this.invalidate(this.getSelectedIndex());
    
        }
    
        public void refresh () {
    
            this.getManager().invalidate();
    
        }
    
        public void drawListRow (ListField listField, Graphics graphics, int index, int y, int w) {
    
            ListRander listRander = (ListRander)_listData.elementAt(index);
            graphics.setGlobalAlpha(255);
            graphics.setFont(Font.getDefault().getFontFamily().getFont(Font.PLAIN, 24));
            final int margin =5;
    
            final Bitmap thumb= listRander.getListThumb();
            final String listHeading = listRander.getListTitle();
            final String listDesc= listRander.getListDesc();
            final String listDesc2= listRander.getListDesc2();
            final Bitmap nevBar = listRander.getNavBar();
    
            //list border
            graphics.setColor(Color.BLACK);
            graphics.drawRect(0, y, w, _MAX_ROW_HEIGHT);
    
            graphics.drawBitmap(margin, y+margin+10, thumb.getWidth(), thumb.getHeight(), thumb, 0, 0);
    
            graphics.drawText(listHeading, 3*margin+thumb.getWidth(), y+margin);
            graphics.setColor(Color.BLACK);
    
            graphics.drawText(listDesc, 3*margin+thumb.getWidth(), y+ margin+30);
            graphics.drawText(listDesc2, 3*margin+thumb.getWidth(), y+ margin+60);
    
        }
    
        public Object get(ListField listField, int index) {
    
            String rowString = (String) _listData.elementAt(index);
            return rowString;
    
        }
    
        public int indexOfList (ListField listField, String prefix, int start) {
    
            for (Enumeration e = _listData.elements(); e.hasMoreElements(); ) {
    
                String rowString = (String) e.nextElement();
                if (rowString.startsWith(prefix)) {
    
                    return _listData.indexOf(rowString);
    
                }
    
            }
    
            return 0;
    
        }
    
        public int getPreferredWidth(ListField listField) {
    
            return 3 * listField.getRowHeight();
    
        }
    
    }
    

    Listrander.Java

    public class ListRander {}

    private bitmap listThumb = null;
    incognito bar Bitmap = null;
    private String listTitle = null;
    private String listDesc = null;
    private String listDesc2 = null;

    public ListRander (Bitmap listThumb, String listTitle, String listDesc, String listDesc2, Bitmap navBar) {}
    this.listDesc = listDesc;
    this.listDesc2 = listDesc2;
    this.listThumb = listThumb;
    this.listTitle = listTitle;
    this.navBar = bar navigation;
    }
    public getListThumb() {Bitmap image
    Return listThumb;
    }
    {} public void setListThumb (listThumb Bitmap)
    this.listThumb = listThumb;
    }
    public getNavBar() {Bitmap image
    return the navigation bar;
    }
    {} public void setNavBar (navigation bar of the Bitmap)
    this.navBar = bar navigation;
    }
    public String getListTitle() {}
    Return listTitle;
    }
    {} public void setListTitle (String listTitle)
    this.listTitle = listTitle;
    }
    public String getListDesc() {}
    Return listDesc;
    }
    {} public void setListDesc (String listDesc)
    this.listDesc = listDesc;
    }
    public String getListDesc2() {}
    Return listDesc2;
    }
    public void setListDesc2 (String listDesc2) {}
    this.listDesc2 = listDesc2;
    }
    }

    You seem to have two problems here and are confusing them.  You must break the problem into two parts

    (1) extract the data from the entry and create the objects you want to display

    2) display in a list, a set of objects.

    Let's get the sorted first premiera.

    I will suggest what to do here, but in practice, you might actually think about this yourself as part of the design phase of your application.  You should do this, not me, because then you will have all the information available.  At the present time, I have just what you said, which is not much.  So maybe what I'm telling you is not correct for your application.  Only you can decide that.  And be blunt here, you should have decided this before you start coding.  Do you want you could lead down the wrong path.  You must think of your application as a home - as the architect must design all the rooms, and how they will be built, before you start building the House.  You do not, then we are building the rooms on the fly.  Who knows if they will be fit at home?

    In this case, I think you need to create an object that represents each of the elements in the internal array of new data.  call this object

    NewsItem

    This object will have attributes, such as its title, content, date, the linked image and so on, each of whom have will get and set methods.  While you treat each inner element fetch you the associated entry and update the object.

    When you have finished the inner loop of processing, you now have a complete

    NewsItem

    Object, so you will add it to a collection, an array of NewsItem objects, call this _newsItems.  You will create it at the beginning - you know how many entries it takes because it is the number of entries in your outdoor table.

    So before you start to deal with JSON, create your table and the 'index' value of 0.

    Once you have created your Newsitem, add this in the table to the position 'index' and increment "index".

    And once you have analyzed all the JSON, you will have a complete picture.  This is part 1 finished!

    And note in your drawListRow, you are given a clue - that is the index in your tables in _newsItems.  So you can easily find which entry to view and display it correctly.  But it is part 2 and is a separate issue.

  • Why isn't list view &gt; arrange by &gt; date modified, accurate?

    am new on el capitan and I noticed that the list view > arrange by > update is not correct.

    I modified just a folder on my hard drive by adding new things, but it's showing a date of last modified August 6, No 11.

    what constitutes 'Edit' a folder? I'm doing something wrong?

    Thank you for advice or suggestions.

    Abstractman23 wrote:

    I just modified a folder on my hard drive with new things...

    What does it mean exactly 'stuff' above means?

    This means that you have added new files directly under the folder (and not a subfolder level)?  That would be a change.

  • Recovery of the DAQ Assistant data acquired

    Hello

    I'm currently dealing with a continuous data using NOR cDAQ-9174 proposed acquisition and recording of analog input signals of a built-in three-measuring probe.

    I built a simple vi using DAQ Assistant to acquire data and write to an output .txt - rather than .tdms using Signal Express.

    On a day 10 cycle of data acquisition computer was mistakenly turned off - leaving the empty output .txt file.  LabView recovered the VI cut and I wonder if there is a way I can access the data that has been saved by the DAQ Assistant which can be saved in temporary files etc..

    I have no idea where that might be, since you cannot delve deeper down into the 'levels' of DAQ assistant as you would a sub - vi.

    Just as a note aside to apologize my stupidity - I realize that all the data at the end of the writing task is stupid and completely avoidable... but I worked for a date limit.

    Thanks in advance for any help you can provide.

    Dan

    The most likely answer is not, unfortunately. It looks like you were a table of data at every point of the construction and then measure he writes at the end. In this case, unless you have explicitly recorded data in a temporary file, it is located right in volatile memory, waiting for you to do something with it.

    I realize that this isn't what you want to hear, as it comes to the time of submission of draft / year...

    If you post your VI (preferably version LV2012 or below), I can have a look to see if there is anything obvious.

Maybe you are looking for