How to synchronize two ports data series at different frequencies of sampling?

I have a .vi I'm reading two different sensors that operate at different sampling rates high.  I am able to read these two, however, there seems to be some problems of synchronization/strange offset with the devices.  The first device is a device running at 5 Hz GPS.  This is convenient because the time GPS is included in the data that I read.  The other device is a sensor operating at 6 Hz.  Ideally, I am recording the data of these two devices in the same file.  An example is attached.  It seems he collects GPS data, although it seems to write at much lower rates.  Strangely, as it is written to the file, it will slowly store 'blocks' of data in order to a much lower rate.  It seems that a lot of the GET of a buffer, and then it jumps ahead by about 5 seconds (see lines 214-220 of the attached file).  Meanwhile, the data from the sensor 6 Hz are get recorded normally.  I'm puzzled.  Would it not be better to connect these as separate sets of data in separate files?  Creating two executions of read/write "parallel" within the same .vi?

Any help or examples, would be much appreciated!


Tags: NI Software

Similar Questions

  • How to synchronize two chassis

    Dear all,

    I want to synchronize two chassis, chassis first has RFSG 5673E (S) and other chassis a DAMA (S) 5663E, they are connected via MXI, is there anyone who has this experience and can support me to apply it. I know that he used NI-Tclk to synchronize in a single chassis and there is another kit of tools for mult chasis, but I have no idea on how to use it!  Thanks in advance

    Best regards

    Al-Rawachy

    So I did a little research and to allow you to synchronize the two chassis together you must use a map of timing and synchronization in each frame so that you can share Tclk. This is for several reasons: first of all, as well as terminals IN CLK and CLK OUT, several PFI lines are required for the export of various signals used by T - CLK (i.e. Start, Stop and Sync triggers). In addition, the map of timing and synchronization is also necessary to replace clock background basket of 10 MHz, on the chassis of the slave with the master clock. It is essential for the two hunts reference the same clock synchronization. In addition, using a more stable clock source, as provided for in the calendar and map of synchronization, improve synchronization significantly.

    From there, a chassis are sync'd up, TCLKing la 5665 and 5673E should be simple enough. It should be simply a matter of configuration tasks the DAA and RFSG, with a single trigger configured, before feeding the two tasks of the TCLK vi. Here is an example for you to study what explains this:

    http://www.NI.com/example/30254/en/

    I hope this helps.

  • How to extract an XML data that have different namespace prefixes?

    Hello

    I have inserted XMLs in an XMLTYPE column which are based on a common XSD that allows different namespaces.

    How can I extract some data from these XMLs using extractvalue when will be preceded different namespaces for this node?

    Thank you and best regards,
    A

    Hello

    You can use XPath:

    //*[local-name()="node_name"]
    

    For example:

    with t as (
     select xmltype(
     '
      mark
      del
     '
     ) doc
     from dual union all
     select xmltype(
     '
      john
      mum
     '
     )
     from dual
    )
    select extractvalue(t.doc,'//*[local-name()="name"]') as name,
           extractvalue(t.doc,'//*[local-name()="place"]') as place
    from t;
    

    or,

    with t as (
     select xmltype(
     '
      mark
      del
     '
     ) doc
     from dual union all
     select xmltype(
     '
      john
      mum
     '
     )
     from dual
    )
    select x.*
    from t, XMLTable(
    '
     {
      element name { //*[local-name()="name"] },
      element place { //*[local-name()="place"] }
     }
     '
    passing t.doc
    columns
     place varchar2(30) path 'place',
     name  varchar2(30) path 'name'
    ) x;
    
  • How to synchronize two timers that send data?

    Hi, I have a problem:

    I have a thread in which I have two timers with timerTask. two of them will send data on the server. the first 5 sec every one and the all other the 1 sec the problem is that when I run the defective computer application (disconnection with an IOException error) after 3-4 sec, I think it's probalby because in an instant, both of them are trying to send data and can only be in one second. I tried to create both a dataOutputStreams but this is not enough. Here is my code:

    //in my thread, run method:
    
    public void run(){
    
     synchronized(_firstTimer){
    
    //send data every 5 sec
    _firstTimer.scheduleAtFixedRate(new TimerTask(){
    
     public void run(){
       sendData(_data1);
    }
    },0, 5000);
    }
    
    while(true){
    
      synchronized(_secondTimer){
    
    //send data every second
      _secondTimer.scheduleAtFixedRate(newTimerTask(){
    
            public void run(){
    
         sendData(_data2);
    }
    
    }, 0, 1000);
    }
    
    }//end of while
    
    }//end of run()
    
    //and sendData() method:
    
         public boolean sendData(byte[] _b){
                int length = _b.length;
    
                try{
                    _os.write(_b, 0, length);
                    _os.flush();
    
                    return true;
                } catch(Exception e){   return false;   }
    
            }//end of sendData method
    
    //where before in the code i've got:
    SocketConnection _s = (SocketConnection)Connector.open(_address);
    _os = _s.openDataOutputStream();
    

    can someone please provide all my advice how to fix this?

    Kind regards

    a solution would be a 'executable queue", a vector that contains objects that implement the runnable interface and executes one by one.
    the two timertasks add their treatment to the queue (synchronized) and directs the queue.

    It is a lot of material on threads synchronization available on the net because it is one of the most basic problems of treatment / distributed computing.
    I'm sure you can find detailed examples to sun.com and many other java sites.

  • How to connect the port device series to the Blackberry without Martin Simulator

    Is there a program that can interface with the Blackberry Simulator to connect to a device connected to the serial port of the computer to simulate a Bluetooth connection?  I can't believe that Martin is the only way to do it.  Martin offers a free demo version sort of their program?  I searched everywhere but found no one.  I don't need a bluetooth receiver real but just the software in order to supply data from serial port to the Simulator (and I guess that convince the Simulator data from serial port to a Bluetooth device).   Thanks for any help that anyone can provide.

    I'm not aware of any device that will help with this.

    Two suggestions:

    (a) you can write some sort of test, that will feed a data script as if it came from a Bluetooth device.  I got it done in the past - it does not test the treatment of Bluetooth, but it allows you to drive the application program.

    (b) it is not really difficult to test on the device.  Little painful to recompile and reload, but if you have a test drilling (a), then you are only testing the Bluetooth part, which you won't be able to test a connection series anyway.

  • How to synchronize two cards NI9215 DAQmx?

    Hello

    I use two NI9215 DAQmx cards (analog inputs sample simultaneous 4ch) in a cDAQ-9174 chassis type.

    Because I need to acquire 8 channels at the same time, I have two NI9215 cards.

    My question is how to configure these cards to be synchronized?

    I use LabVIEW2009 SP1 dev Suite.

    Thanks for the replies!

    One of the nice things about CompactDAQ is that you can put multiple modules of the same time (analog, digital, etc.) in the same spot and they are automatically synchronized.  Then, to synchronize the two modules, create an analog input task and reference strings like "cDAQ1Mod1 / ai0:3, cDAQ1Mod2 / ai0:3.  It automatically synchronizes the two modules together.

  • How to synchronize two profiles in firefox, everything except localstore.rdf

    Yesterday, I asked about the binding cache between two profiles in firefox:

    https://support.Mozilla.org/en-us/questions/925836

    And I got to thinking. The only reason why I'm even a second profile is to have two 'places saved window' for purposes of multi-monitor. I want that these profiles to be EXACTLY the same except for the location in which they are open (which is registered in localstore.rdf). It occurred to me that with my current setup in the thread above, even if the caches are now linked... I still have to change twice bookmarks. Have two different stories, saved passwords, etc. A minor inconvenience at best, but it would still be nice to avoid.

    As I said, I want these identical profiles, except for the locations in which they are open. I know there are extensions for synchronization of profiles, but they all seem to be 1 star performance that hinder the mess. I prefer to do it manually, as I did with the cache. Possible?

    Found an answer myself, mklink. I delete the places.sqlite (the file where the bookmarks are saved) my 2nd monitor profile. I then go to CMD and create and MKLINK by running the following:

    MKLINK C:\Path\to\Mozilla\Firefox\Profiles\monitor2\places.sqlite C:\Path\to\Mozilla\Firefox\Profiles\default\places.sqlite

    This creates a shortcut in my profile monitor2, redirecting to the profile folder of the monitor of my first for the file places.sqlite. TADA, the bookmarks are sync'd and the changes are saved to both directions. I developed this and created mklinks for formhistory.sqlite, cookies.sqlite and permissions.sqlite. Works perfectly and synchronizes both ways, as did places.sqlite.

  • How to store the ASO dat file in different location

    Hi all

    I have a requirement where I need to store the .dat (ASO) file in one location other than the folder where are stored the artifcats of enforcement. In OSB, we can right-click the database properties, edit, and in the storage tab, we can choose where the data files and indexes must be stored. We have a similar option of ASO too? because the space we have for the application files are limited and we have a separate drive of SAN for the storage of the data and index files, and this is where the BSO .pag files are stored. Since our ASO cube is more I want to move the data to a location where the data of the BSO, I mean for the player designated for data. Any suggestion will be highly appreciated.

    Thank you.

    Yes, ASO has the notion of 'spaces '. There are four (by default, temp, log and metadata), but you probably just want to pass the tablespaces 'default' and 'temp' in your location of SAN. Temp will look really small (i.e. empty) until you run a restructuring or consolidation, then it will explode to the size of the default storage space so it is important not to miss.

    See the section "Managing storage for ASO bases" here http://docs.oracle.com/cd/E17236_01/epm.1112/esb_dbag/asysadmn.html, or the MaxL "alter tablespace" command http://docs.oracle.com/cd/E17236_01/epm.1112/esb_tech_ref/maxl_alttabl.html here.

    EDIT: Actually, looking at the documentation, I see that you can't move the metadata or journal storage. But you're probably only going to worry about 'default' and 'temp' anyway.

  • Synchronization of several high at different frequencies of sampling DAQ cards.

    I'm having sync problems 3 high DAQ cards with different sampling frequencies. I use 2 cards PXI-6259 nec 10,000s samples and 1 PXI-6221 Board to interface for my SCXI modules in 10 samples/second. The problem that I discovered is the time related with the waveforms of the NI PXI-6221. When I run the code on a development computer using virtual devices in MAX, it works as expected. When I run the same code on real hardware, the stopwatch turns approximately 25 X faster than normal. I enclose the code and the config that I use.

    Any ideas?

    Hi NGNN CAD.

    First of all, let me say that your code is very nice!

    The problem is that you are using the fast sample for the device that is supposed to be slow clock:

    Even if you specify the rate as 10 Hz, the clock itself is still at 10 kHz (by specifying the right rate allows the DAQmx driver determine the size of buffer etc and don't actually change your external sample clock speed - however, it changes the rate of the simulated device).

    My recommendation to synchronize devices would use the built-in PLL and lock to the reference clock 10 MHz of your PXI chassis.  Your devices would always share a trigger to start, but each would generate its own sample clock based on its time base that is locked to 10 MHz reference.

    The code should look like this:

    I hope this helps, let me know if you have any questions!

    Best regards

  • Two ports in the NI 9401 module?

    Hi all

    I'm relatively new toLabView, but I have to say that I'm enjoying learnicg it. My problem is that I need to generate two independent signals with a connected NI 9401 module a OR cDAQ-9172.

    I need to generate a sequence of bits to control a demultiplexer, the sequence is 0000, 0001, 0010, 0011... 1111, 0000, 0001... So far, with the help of this great forum, I managed to generate the sequence, my problem is that I need to use the other bits to control the spindle enable (bit) of an another demutiplexers cascading.

    I read that the NOR-9401 is configurable nibble, so I understand that I could use bits 0:3 to generate the sequence and 4:7 bits to control bits allow for demultiplexers. But until now I could haven´t this task, I see all the 8 rows as a single port and I was not able to learn how to configure two ports as outputs time and generate different signals.

    I'm using LabView 8.6

    Could someone help me please in this task, I would appreciate any help really.

    Kind regards

    Joseph

    Hi Joseph,.

    I thought after studying the best way to do it, not with the crazy arry.

    Use the power level 2 - n = 4 and x being the u8. You can then wire the output for the upper nibble DAQ.

    Note: If you have placed a number of u8 to a data acquisition task configured for the 0 line - it will seek only to bit 0. It is the extension of what ever and the number of selected lines.

    Hope this helps

  • synchronize two exits of meter 6071E map

    Well, that's usually how to synchronize two problem of counters.

    I use the 6071E with DAQmx .NET 4.0. I set a task and attach to two channels with implicit synchronization and zero initial delay of meter output. When executing the program

    I catch the first edge with a single trigger to scope. There is always a delay between the first edge of ctr0 and the first edge of 16.3 microsecs ctr1. Is it possible, not to mention that affecting the initial delay of ctr0 16.3 microsecs to make meter always start together? What is the source of the delay(software/hardware) and must always remain constant.

    any help is welcome

    The source of the delay is that while he is in the same tasks that the counters are always started sequentially by software.  I'm surprised that the delay you see is constant.

    If you want the counters to start together, you must configure a start trigger.  As soon as you begin the tasks of meter in the software, issue the trigger to start to generate your pulse output.  Relaxation of beginning must be a signal of material - for example, you can configure a digital outputs in software timing and the lead back to one of the PFI lines.

    If you want to avoid any additional wiring, you could split the counters in two separate tasks.  Trigger a counter with the internal performance of the other (start the task that will be triggered everything first).  In doing so, instead of using an external trigger, I expect a delay between the order of 100 ns counters as the initial delay is at least 2 timebase tick.

    Best regards

  • How can I get the lines for the date between 2 different days

    Hi all,

    How can I get the lines for the date between 2 different days.

    Sample data:
    Table name: Articles
    Title start_date end_date
    Heading1 08-22-2011 2011-09-11
    2011-08-01-2011-09-01 Title2
    Title 3 2011-08-21 08-21-2011
    title4 2011-08-28 2011-09-11

    Result will be:
    Title start_date end_date
    Heading1 08-22-2011 2011-09-11
    2011-08-01-2011-09-01 Title2
    title4 2011-08-28 2011-09-11

    This is my example query:
    SELECT * FROM items WHERE trunc (es.date_start) > = TO_DATE('2011-08-22', 'YYYY-MM-DD') AND trunc (es.date_end) < = TO_DATE ('2011-08-28', 'YYYY-MM-DD')

    but I can not get the expected results. Any help would be much appreciated.

    Thanks in advance

    not read your question properly before...

    Please try this

    Select * FROM items
    WHERE (TO_DATE ('2011-08-22', 'YYYY-MM-DD') between TRUNC (es.date_start))
    AND TRUNC (es.date_end)) OR
    (TO_DATE ('2011-08-28', 'YYYY-MM-DD') between TRUNC (es.date_start))
    AND TRUNC (es.date_end))

  • Simultaneous release of digital waveform at different frequencies - cDAQ-9174 with two 9477 maps error-50103

    Hello

    I'm working on a project that requires two outputs digital signals at different frequencies. Frequency of the phase 1 is about 1 kHz and is modulated on and off to a pace that will change during the execution of the program. Wave 2 passes from 1 kHz to about 6 kHz while needing to be pretty accurate to the tenth of a Hertz.

    Initially, I tried to manage the simultaneous output of signals at different frequencies using a single task on a single 9477 daqmx in a cdaq-9174 chassis. As far as I know, the best way to get a specific frequency in a waveform output is to set the sampling frequency up to 2 times the frequency of the wave that is generated and generate a waveform that is given to each clock cycle. This works very well when it comes to a gesture, but I was unable to get the frequency of the modulated wave (wave 1) remains constant when the frequency of wave 2 modified or vice versa.

    I have a few other modules lying around (another 9477, 9403 and 9476) and I thought I would try another task running on a separate module. I find myself receive error-50103 message if I add these modules to my cdaq chassis and run one of the waveforms of a task set to run on the add-on. Is there a way to bypass this error? I guess it would cause by running two digital output on the cdaq-9174 tasks at the same time, but it seems to me that this wouldn't be a problem with an additional module.

    How can I have two outputs digital signals, running at the same time, maintaining their independent frequency frequency of the clock of the other sampling rate changes. In addition, because the wave 1 is enabled and disabled at a defined frequency, I use it to set the number of samples to write when you write a range of waveforms in the module (when generating these two waveforms on the same module).

    I'm sorry if the explanation was difficult to understand. I've attached an example of error 50103 lifting. This isn't really a part of my project as a whole, but it is the easiest way to reproduce the error.

    Thank you

    Hi awol.

    I have a follow up for you. You encounter the error because the cDAQ chassis has only a timing engine of. You will not be able to perform simultaneous tasks of the call by the hardware. Please see the following knowledge base: http://digital.ni.com/public.nsf/allkb/5E0B829E50ADE1BC86257AC50062B2D2

    Mike

  • HOW TO READ DATA SERIES WITH SYNCHRONIZATION

    I have a question about my application for the acquisition of data in series. In my application, I use visa read to acquire data series sent by an inertial measurement unit. When I first put the sensor, it sends data in the following one time format:

    1:0 x 8011 header followed 1 data word for Adler, 1 data word (each 16-bit word data).

    and the sensor then starts sending the data in the following format:

    2:0x7FFF header followed 1 data word for checksum, 9 data word (each 16-bit word data).

    (Note: checksum is defined as a 2s - complement of the sum of 16 bits of the rest of the entire message)

    In my application, to simplify the problem, I use a wait function to ensure that the initial data header 1 tag is sent. Then I start reading using VISA Read 20 bytes (header 2 more words of associated data are 20 bytes), as I'm mainly interested in the data header 2 tag words.

    However, when I do this, the data that I get do not begin by 7FFF character and, accordingly, my 20-byte data cannot be parsed correctly. My question is how can I do the "VISA read" block read the serial port when data are preceded by '7FFF '.  Once I have solve this part, my strategy will be assembled data read 20 bytes (including the header of 4 bytes) and analyzed accordingly.

    Another question, I wonder if you can tell me how to use the given checksum it is defined as "a s 2 - complement of the sum of 16 bits of the rest of the entire message". Note the data that contains the header 1 tag is 1 post.

    I would appreciate if you have responded to my request.

    Thank you!

    Serdar


  • How to synchronize a DSA Board (4496) with several S-series (6143) tips for PXI?

    I need to set up a data system that will require the measure to phase for accelerometers-locking and dynamic deformation signals.  How to synchronize my PXI-4496 Council with my PXI - 6143 s?

    I forgot that some DSA properties does not directly on the devices of the series S I have been able to find an article in the knowledge base that has addressed your specific issue.

    Synchronization Dynamic Signal Acquisition (DSA) with NOR-DAQmx products, this includes an example program synchronization a DSA device and MIO device to sample at the same pace.

Maybe you are looking for

  • Why doesn't Youtube Bandcamp and same link from Firefox's own comments, recognize that I indeed use the latest version of Firefox?

    I automatically update my Firefox, but some Internet sites say resolutely I use an "outdated browser", such as Youtube, Myspace, Bandcamp and even (I just discovered) Feedback of Firefox own link. They make an assumption based on the fact that I stil

  • Host controller USB Hi-Speed for Satellite S5200-903

    After the upgrade to Windows XP Professional, USB works at reduced speed - 2.0 is no longer recognized. Message says 'Hi-speed USB Controller installed. I have not found the driver on the Toshiba site. Then?

  • Partition too small BOOTCAMP?

    Hello world I have a small question about Boot Camp. Yesterday, I installed Boot Camp on a 500GB partition created with Boot Camp. I realized that on Windows, it says that my Windows disc is only 465 GB and even with the HARD of Macintosh disk that i

  • This error mean: "Channel DMA insufficient available" exactly?

    Hello I have a problem with a VI to send and receive requests. I have a Compact RIO 9022 with a module of 9870, that allow to connect my host of four boxes of gauges (who can give me pressure). For this, I create a target FPGA, because, I don't know

  • Problems with spyder solitare

    Use Vista for 2 years playing solitare spyder throughout. Tried today and a box comes up and says "the system has run out of memory." Try closing some applications and try again. "All other games work. I have no other applications open. What is the p