timed transmission of serial data

I need to send transmissions series continuously at different periods and between transmissions, I also need to search for received data.

For the moment, I had things works affecting first to the top of my serial port Comms and then that feeds 3 separate loops while where the data are sent to different times. Running at 80ms loop 1 loop 2 to 160ms and loop 3 to 340ms. Data are read in loop 2 after a waiting period of 20ms.

This config works sort of ok, but sometimes I lose data on the reading.

Is there a better way to do this?

Hello

Indeed, you don't have to reset the starttime.

And only if you are running more than 49 days according to me you should take care of the reset of the moment.

And make sure that all messages are sent in multiple related to waiting time.

better yet take the gmd (in this case 20ms) to have as much time to sent stuff.

Tags: NI Hardware

Similar Questions

  • Satellite L100-120: Wlan does not allow the transmission of large data packets

    Satellite L100-120, Intel 3945ABG.
    Router Wi - fi is 3COM OfficeConnect Wireless, same problem with Dlink DI-524.

    By default my wi - fi card does not allow the transmission of packets of data.

    I use ping-f-l 1464 192.168.1.1 to check if it is possible to send a large package. All packages more then 600 large fail to be sent.

    It is tragically wireless performance and I almost cannot use internet at all. I solved the problem partially by setting the MTU to map wi - fi at 548. Connection is now stable, although I can not yet send massive emails. Anyway, it is not a good situation to have such a low MTU value.

    Everybody respected this problem?

    I think you will find the solution in this announcement:
    http://forums.computers.Toshiba-Europe.com/forums/thread.jspa?threadID=15101

    I think the secret is the update of the BIOS!

  • VISA do not read serial data in the right order

    Hi all

    I'm working on a project, when I need sample data at point A, it passes these (zigbee) wireless data to point B and here rs232 connection to the laptop.

    I'm using labview 2011 to view sampled data, but I have a little problem, data are not entered into labview in the right order and this is quite crucial in my application. I have attached some photos and my vi to describe the problem in detail.

    Data are packaged in the following form: AS:number1:number2:...:number49:\r - where is the beginning, followed by the values of the sample character separated by: and the last is followed by a return at the end of the cart package.

    When I view the data in different terminals (PuTTY, tera term ect.) then the data is in the correct order.

    To make the most obvious problem, I place the sampling to count an integer of 16-bit instead of the real samling

    The png sample of teraterm is how it is supposed to look like. The vi_sample.png is the string of labview, which is false, I've highlighted a few errors in the visample. When using the VI, I noticed that all the data is collected, but not in the right order.

    The missing Subvi is a few small VI that reads the input rs232 string and control the various indicators of this.

    I hope that you are able to help me with my problem.

    Concerning

    Tommy

    In the structure of case where read you the serial port you are adding at the beginning of the string rather than allow the addition. In other words, you build the answer backwards.

    Your method of reading is contradictory. You have configured the VISA session to stop playing when he sees a carriage return, but you do not actually. You have configured it so tell some bytes are on the serial port. Maybe it's not the set of bytes, since you have no delay between writing and reading, so you can be is only half of the message. If you use the method of termination, then reading VISA should have great value wired to the bytes to be read. Then, when VISA Read see the stop character, it will stop automatically. If you use the bytes available, then you need a mini loop to keep reading until you see the end of the response. Choose one or the other - don't try to play both ways.

  • Serial data read using RS 232

    Hi guys,.

    I try to read data using Arduino. these are data am passing my arduino. When I pass these data, only is treated in my labview where is ignored.

    What are the different types of data, I'll spend my arduino

    where XXXX is the binary value based on the State of the component attached to my arduino.

    Please, help me to fix this guy. I have attached my certificate program for your guide. Thank you in advance.

    If you do not use a newline as a termination character.  That's fine, since you can use the > as a termination character.  Then turn on your character of termination on the VISA to set up the Serial Port and set the stop character to be ' > ' (62 decimal, 0x3E).  Then get rid of the bytes to the Port and cable and use a number greater than your maximum message size.  I would go with something like 20.  So what will happen here is the VISA read will read all the bytes up until one of the following occurs: 1) the number of bytes you have provided has been read, 2) the stop character is met, 3) the designated timeout has occurred (the default is 10 seconds).  So use the stop character to get a whole message.  This will allow you to significantly reduce your logic.

    In addition, use a real button instead of a toggle button default to TRUE (which means that you will iterate only your loop once).

  • Gauge serial data, tracing and logging

    Is anyone able to point me to an example of project to read 3 data values in a series flow and spread them out on a gauge and a graphic.

    Logging would be nice as well, but gauge and chart are more important.

    My data is reflected in the format below, but I have complete control over it.

    R: 0, P:-210.15, F:173.191
    R: 0, P:-210.65, F:173.191
    R: 0, P:-210.78, F:173.191
    R: 0, P:-210.67, F:173.191

    Have basically left me short way no time for that one, and try to understand the example files to put me in a spin.

    May be interested to pay for the assistance of an expert, if it's not trivial.

    Any help gratefully received!

    Duncan

    Read data one line at a time and use Scan string to break up into 3 values.

  • Problem of transmission of the data of the object of the table via an IF statement

    I have problems with a data member of an object passing a table via an IF statement.  In my function, if I just display the type of an object selected in the list, it will return trip or Fill-Up on the screen, which is correct.

    If I use an IF statement to check the type first to see if it matches a string, it always by default the first game.  Suite of the code below, "it is a journey" always gets selected, even if the type matches "fill."

    What I am doing wrong?

    public void showEntry(e:ListEvent):void {}

    clearWindow();

    drawManageWindow();

    If (e.data.type = "Trip")

    {

    clearWindow();

    drawManageWindow();

    var showtype:Label = newLabel();

    ShowType.Text =

    "Show trip."

    ShowType.x = 500;

    ShowType.y = 40;

    ShowType.Height = 30;

    ShowType.Width = 485;

    addChild (showtype);

    }

    else if (e.data.type = "gas Fill-Up")

    {

    clearWindow();

    drawManageWindow();

    var showtype:Label = newLabel();

    ShowType.Text =

    "Show the Fill-Up."

    ShowType.x = 500;

    ShowType.y = 40;

    ShowType.Height = 30;

    ShowType.Width = 485;

    addChild (showtype);

    }

    }

    I'm surprised that the compiler is run, did disable strict mode?

    For compare equality using ==

  • ESXi 4.1 supports the transmission of serial port?

    I'm having a bit to find this information...

    My ESXi server has a serial port that I want to be available to a virtual machine (guest).  Is this possible?

    I don't want to share the serial port or do anything "fancy".  I just want it to be accessible.

    Thank you!

    Starting with ESXi 4.1, you can go through a serial port.  Simply add a port series to virtual hardware for the virtual machine and choose the option 'Use the physical serial port'.

  • Problem with transmission of the data in table between a driver and a method.

    I'm having a problem with a project for school. We want to take the data in a table, we create in our driver, pass it to the method, do something for her and return the data to the driver. Well, I still get the same error message and after looking at dozens of sites, it seems that I think that I have the correct code... but I still get the same error message. Here is the error message that I've been doing.
    * ola1driver.java:35: get() in ola1method may apply to (char [] [])
    x.get (Dar);
    (upwards arrow pointing between x and get) *.

    I'd appreciate any help I'm leaving research to simply looking at my code to try to find the error. My wife things I'm going nuts at the moment.

    Here are my two files, the first is the driver and the second method

    Take a 2D array and send the data to a method, and then put it back
    import java.util.Scanner;
    class ola1driver
    {
    Public Shared Sub main (string args [])
    {
    Entrance to the parser = new Scanner (System.in);
    ola1method x = new ola1method();
    Char [] [] dar = new char [10] [100];
    char dat_input;

    Set up the loop at the entrance a table of 10 x 100 with data imported from a dat file
    for (int i = 0; i < 10; i ++)
    {
    for (int j = 0; j < 100; j ++)
    {
    dat_input = input.next () .charAt (0);
    Dar [i] [j] = dat_input;
    }
    }
    Send the array to the method and displays the original table to compare the return data
    x.Set (Dar);
    for (ip int = 0; ip < 10; ip ++)
    {
    for (int jp = 0; jp jp; < 100 ++)
    {
    System.out.printf ("%n", dar [ip] [jp]);
    }
    }

    To get the data of the method and then print the data in the table opposite
    x.get (Dar);

    for (int r = 0; r < 10; r ++)
    {
    for (int c = 0; c < 100; c ++)
    {
    System.out.printf ("%n", dar [r] [c]);
    }
    }
    }
    }

    Now the method;

    Method to receive a 2D painting, reverse the data and then put it back
    class ola1method
    {
    Char [] [] ar = new char [10] [100];
    Char [] [] rar = new char [10] [100];

    public void set (char [] [] ar)
    {
    / * To reverse the entries in the table
    to prove that real return
    data was transferred between the driver
    and the method * /
    IR int = 0;
    for (int i = 9; I have > 0; i-)
    {
    for (int j = 100; j > 0; j-)
    {
    int jr = 0;
    RAR [ir] [Jr.] is ar [i] [j];.
    Jr ++;
    }

    IR ++;
    }
    }
    Return the data to the driver
    public char [] [] get()
    {
    return of rar;
    }
    }

    Published by: Seamus on February 20, 2011 08:25

    Published by: Seamus on February 20, 2011 08:26

    Seamus wrote:
    I thought that I sent my method by using the x.set table, and then by calling the reversed with the x.get table.

    x.Set (someArray) in fact to 'send an array to the method '.

    And if x.get () is declared to return an array, then, Yes, it indeed 'retrieve a table. "

    However, these are two completely different methods. The get method doesn't know something on the table sent via the set method unless the game puts a place who knows himself. For example, something like this:

    public class X {
      private int[] arr;
    
      public void set(int[] arr) {
        this.arr = arr;
      }
    
      public int[] get() {
        reverse arr and return it
      }
    }
    
    public class Main {
      public static void main(String[] args) {
        int[] arr1 = {1, 2, 3};
        X x = new X();
        x.set(arr);
        int[] arr2 = x.get();
      }
    }
    

    However, this seems a bit unusual. It is not clear from your initial post, but looks like it is supposed to be a single method that takes the array and it reverses. If so, you could either simply invert the table and returns nothing, since the variable of the appellant and the parameter of the method will all be pointing to the same table object, or you could return a reference to the table that you have received and reversed, or you can copy the table, reverse the copy and return a reference to that.

    I don't know what your needs are, but the point is that it is more common to call a single method to do something like that, rather than separate set() and get() methods.

    Edited by: jverd February 20, 2011 09:36

    Edited by: jverd February 20, 2011 09:37

  • Transmission of text data

    The web page (navigation) loading sequence is

    www.ABC.com/main.html > www.abc.com/subpage1.html > www.abc.com/subpage2.html

    QUESTION:

    How to pass text data that is in a dynamic text box ("I want to fly") from www.abc.com/main.html to www.abc.com/subpage2.html

    If you use getURL() to navigate from one to another html page, use a query string to add the data.  (you should be an expert in that).

  • Using the Serial Port for data acquisition Non-Serial

    I searched the forums and can't find anything on this topic.

    I saw that it was possible to use the parallel port for e/s digital single and I was hoping that the serial port can be configured the same. It seems all VI VISA only to use the serial port to receive ASCII characters at a given flow rate, but is it possible to simply query the status of the line series at my own speed to see if it is high or low, kind of like a single pin DAQ?

    It seems that it would be possible until the serial data are read and controlled by labview, not Windows. Let me know if you have ideas of how to approach this problem, or any comment as to why it is not possible.

    Thank you all!

    Select the property > settings series > Modem of the line parameters. For example, the State of the CTS is an entry to the pc.

    With the help of these lines is a very poor substitute for a scope or map DAQ. The only things you can return is Asserted, Unknown or Unasserted. The range of acceptable signals is important enough. Anything between + 3 and -3 is an unknown state. Your other signals is + / 3 to 15 volts. What type of signals do you really want to capture?

    Edit: there is no such thing as a visa so I have no idea of what you actually use.

  • Using include data for a sequence

    All-

    I do not know my terminology is bad here so let me explain what I want to do. I would like to follow a com port and when the data flow happens things like analyze, draw, send to the indicators and write the data to a file. I built a series of cases to make each of the tasks in sequence. I need neatly nice to start the sequence when the data are finished coming and then wait for the next data transmission. The data are coming about once per minute. Unfortunately, for the moment, data will not come to 1200 bps, so transmission takes about 3 seconds. I think that an event structure would work, but I have no idea how create/use dataflow on the experiences to start the sequence. Thanks in advance for the help.

    [email protected] (Scott)

    ssmith490D wrote:

    I tried to use the time-out on the vi "Set up the Serial Port" but it did not work very well. The example uses a property with playback function node. How this time-out period differs from the Config Ser port. "time-out feature? Thank you.

    Scott

    I don't know what example you speak here or what property with playback function node you are talking about.

    How is it, you have 60 000 cable for the node property for the data bits?  The setting is valid only for who is 5-8.  And the only probable parameters would be 8 or 7.  I think you have that the definition of confused with the timeout.

    I would recommend opening your port configuration settings only once during the initialization of your state machine and series.  Close the port that once in a framework which occurs once only when you stop the program.  In the meantime, you simply wear the VISA reference through the loop through records shift.

    (Actually you should use much more shift registers.  You rely too heavily on local variables to get data from one State to another.  It could possibly cause problems on the road).

    Your architecture is now technically a state machine, but basically just a step above a structure plate sequence.  You can use decisions to determine what code to run then.  See the attached screenshot.

  • Why are sometimes has data from WriteMeas Read zero instrument drivers?

    I have a labview program to control the motorized turntable to rotate and measure the light intensity using photometer Konica Minolta CS - 100a.

    Photometer is connected to the PC via RS - 232.

    Program works great again, data are zero in the decusse format (see table below), the ok status shows error all the time, for line with zero data error code is nothing, and for lines with data, there is a "107367629" error code

    I also enclose the program and a few photos, could someone help?

    Angle Intensity x There   error code
    0 340.1 0,443 0,405   107367629
    10 0 0 0   0
    20 345.99 0,443 0,405   107367629
    30 0 0 0   0
    40 343.33 0,443 0,406   107367629
    50 0 0 0   0
    60 335.73 0,443 0,406   107367629
    70 0 0 0   0
    80 323 0,443 0,406   107367629
    90 0 0 0   0

    YBU wrote:

    Hi all

    Could someone suggest a solution for this problem?

    Thank you very much

    Sorry man, you know most of us here have jobs and help people on this forum for our time free nothing expected in return.

    The first question is how the serial data is formatted? Have a stop character? IE is the data sent by the device always ends with a return character or new transmission line? Device series more for this.

  • DASYLab how to write data to a file every 15 minutes

    Hi all

    I use dasylab and datashuttle/3000 to record data. What I want to do is to write data to a file every 15 minutes. I use the milti-file, which can write data to the file diffenret, but how do I control the timing, as the journal data every 15 minutes automatically.

    The other problem is that I use FFT analysis of the frequency spectrum. How can I determine the value of frequency where the peaks that happens.

    Thank you

    Write less data in the file that you have collected requires the reduction of certain data.

    There are three techniques to consider.

    With an average or an average of block - both reduce the data by using a function of averaging, defined in the module. To accomplish the reduction of data, choose block or RHM mode in the dialog box properties, and then enter the number of samples/data values that you want to reach on average.

    Average - when you reduce the data, you also should reblock data using the block length of the change in the output parameter. For example if you enjoy at 100 samples/second with a block size of 64, the average module configured on average, more than 10 samples will take 10 times longer to fill a block. The initial block represent 0.64 seconds, the output block represent 6.4 seconds at a sampling rate of 10 samples/second. If you change the size of output in one block, the program remains sensitive.

    Average block - average values in a block against each subsequent block, where the average is based position. The first samples are averaged, all second samples are average... etc. The output is a block of data, where each position has been averaged over the previous blocks. This is how you will be an average data FFT or histogram, for example, because the x-axis has been transformed in Hz or bins.

    Second technique - separate module. This allows to reduce the data and the effective sampling rate jumping blocks or samples. For example, to reduce the data in 1000 samples / second to 100 samples per second, configure the module to keep a sample, jumping 9, keep one, jumping 9, etc. If you configure to skip blocks, you will not reduce the sampling frequency, but will reduce the overall amount of data in a single block 9, for example. It is appropriate for the FFT data or histogram, for example, to have the context of the correct data.

    Finally, you can use a relay and a synchronization module module to control. For example, to reduce a sample data every 15 seconds, configure a generator module of TTL pulses for a cycle of 15 seconds of time. Connect it to a Combi trigger module and configure it to trigger on rising and stop the outbreak directly, with a trigger value after 1. The trigger output connects to the X of the relay command input.

    In addition to these techniques, you can change the third technique to allow a variable duration using a combination of other modules.

    Many of these techniques are covered in the help-tutorial-Quickstart, as the data reduction is one of the most frequently asked questions.

    In regards to the FFT... use the module of statistical values in order to obtain the Maximum and the Max Position. The Position of Max will be the value of the frequency associated with the Maximum value. The output of the statistics module is a single sample per block. Look at the different FFT sample installed in the worksheet calculation/examples folder.

  • Can I change the default settings for the latency time Serial Windows with LabVIEW

    I have a wireless data collection device that my business is that I am using for the test one of our other wireless products. The device sends data series to a PC via a USB port. I wrote an automated LabVIEW program to test all the functions of my new product. However, after firing in the data, I realized that the serial data coming very fast and requires me to change latency of Windows by default for the port COM 16ms 2ms Miss not nothing. It's pretty easy for me to do locally on my machine, but much more difficult for me to spec for an off-site CM.

    Is it possible to have my LabVIEW program change the latency time of the COM Windows port of 16 ms to 2 ms automatically?

    Are you talking about the FTDI driver? I know that they allow these changes through registry settings. Thus the approach would probably be to have a small registry script that updates the parameter of function. Most likely, this will have to be run with elevated privileges, as these parameters resident generally in the HKLM or HKCR rather than the HKCU one hive.

  • Manipulation of data series

    I don't know how to handle the serial data I receive from a touch panel.

    What I want to do is view the two sets of coordinates, which are made up of two 4-digit.

    What I am struggling with, is the return of cart/line feed (Cr/Lf).

    For example, I get,

    TP TP CrLf = hurry touchscreen

    CrLf 0100 0100 = first game X coordinates where these values can be anything from 0000 to 4,000 and as wise as all coordinates

    0200 0200 first = CrLf series Y coordinates

    TR CrLf TR = touchscreen released

    CrLf 0100 0100 = last set of coordinates X

    0200 0200 CrLf = last set of coordinates Y

    If you drag the stylus on the touch screen, then I may receive many TP CrLf more details before final output all touchscreen.

    If I had all the CrLf but just a CrLf "after TP nnnn nnnn it wouldn't be problem.

    I had a discount using shift registers, but I'm not sure of the best way to go.

    Some advice would be most appreciated.

    Something like that?

Maybe you are looking for

  • 5.6.2 pages will not open Documents

    Basic problem: I got iWork 5.6.2 for some time now without any problem, but, recently, I have reproduced a 233 KB word document and after it froze the application. I waited for about 10 minutes, but there is no determination to force the application

  • How to activate Aero?

    ORIGINAL TITLE: Where should I go for? To display Aero, I need to update my graphics compatible with the Windows driver Display Driver model (WDDM).How can I find out what it is that I and where do I go to update the software or upgrade the hardware

  • Jacks of majic device receive 401 error after backup

    See above

  • HP SUPPORT ASSISTANT "CASLExec" PROBLEM

    Hello. Try to use HP SUPPORT ASSISTANT, I get the message "CASLExec has stopped working" and windows trying to solve the problem (without result). Also, the application can not be improved. Thank you.

  • all programs open with Wordpad

    OK, so I was opening a file and was told to open in Word Pad. When I did I forgot to uncheck the box 'Always use' and now all my programs are open in wordpad. help with this?