Reading and processing high freq data in different processes

I am trying to create a program to receive raw data from UDP - EGD protocol, process the raw data then write data to file. The max transfer rate is 100 Hz and when running at this frequency the program cannot seem to process the data quicly enough to maintain a constant timestep ie the interval between data samples is not constant. Any suggestions how I can overcome this problem? I can post the VI if it will help...
Thanks

This is an example of how you can use a queue to move data from one loop to another. I created it from the producer/consumer template in labview. While this solution may work for you right now, I would suggest reading more on the forums about good architecture.
Attachments:
UDP_EGD producer consumer design.vi ‏15 KB

Similar Messages

  • I cant seem to download and install the latest iphone software update. I have tried since the release and have been unsuccessful on more than 7 occasions and lost all the data on the process. Anyone have that problem an how do I fix this problem?

    I cant seem to download and install the latest iphone software update. I have tried since the release and have been unsuccessful on more than 7 occasions and lost all the data on the process. Anyone have that problem an how do I fix this problem?

    Hi
    Thanks but I have tried doing the above - when I said 7 times I was modest, its more like 15 times.
    And I am referring to the 5.1 software update. I dont have wifi so I guess I will have to try that seeing that my husband also has the same problem - he has also tried downloading several times. It always times out en says that the connection is lost but yet there are always an internet connection and a decent signal once it stopped. Think it said error 32052 or something!
    I am disappointed because the update includes inprovement on the battery life - did you guys notice any difference?

  • Read and write excel sheet data from uploded file in sharepoint site programmatically 2013

    hi team,
    I am working on sharepoint 2013.I want to read and write data in excel sheet (micrsoft excel) from stored file in shrepoint docoumnt library .please suggest me
    vijay

    Hi
    Vijay,
    check those links
    http://www.sharepointwithattitude.com/archives/61
    https://social.technet.microsoft.com/Forums/en-US/e760051b-a92f-473c-9ec9-0f0c36c99e40/read-and-write-excel-sheet-data-from-uploded-file-in-sharepoint-site-programmatically-2013?forum=sharepointdevelopment
    Kind Regards, John Naguib Technical Consultant/Architect MCITP, MCPD, MCTS, MCT, TOGAF 9 Foundation. Please remember to mark the reply as answer if it helps.

  • Reading and saving real time data

    Hi,
    I would like to read and save real time data using DAQ card 6004 with my PDA device. There is no problem with reading real time data, I can see it on the PDA's screen successfully. But, when I'm trying to save this real time data, I have the following problem:
    -It continuosly asks for file name.
    -It only saves the data instaneously,i.e. it only saves the data at the moment.
    I'm stuck with this problem, could you please help me?  I attached my vi doc.
    By the way, I'm using Labview PDA 8.5 version. 
    Attachments:
    Acq&Graph&Save Voltage-Int Clk.vi ‏32 KB

    oozdemir,
    >> -It continuosly asks for file name.
    You are prompting the user for a file name each time through the loop.  Do this before you enter the loop and pass that file ref in.
    >> -It only saves the data instaneously,i.e. it only saves the data at the moment.
    By this, I am going to assume you want to append to the file as you go.  Two problems, 1.  you are saving an array to the file and additional info about the array structure is being saved.  You would essentially be creating a binary file filled with array "records" (for lack of a better term) appended one after another.  2.  If you want to append to the file, you will need to use the "Set File Position.vi" to locate the file pointer to the end of the file.
    This task looks like it runs once per second until the stop button is pressed.  You could build an array of all acquired data in the loop and then write it when the loop exits.  Just a thought.  This app could create a lot of data though.
    -cb

  • Reading and Wrting CSV format data

    I am trying to read in a file in CSV form and to store the data separately in a set of arrays, and by using the ordinary System.out output, print out to screen a summary report of the form. Can anybody please assist me in this please...any help would be very much appreciated.

    don't understand your question.
    Just read the file, using StringTokenizer to create tokens, .... print out what you want

  • Java XML-Reader (SAX)--How to read and display xml-element-data???

    hello all,
    i would like to display just some xml-data
    Which methods in java should i use to select just one character-data of this (for example: "deu" from the element <Language> or the attribut "version" of the element <catalog>).
    Here is the XML-document i want to parse and display it with System.out.print() :
    <BMECAT version="1.2">
         <HEADER>
              <GENERATOR_INFO>
                   e-proCat 2.1, e-pro solutions GmbH
              </GENERATOR_INFO>
              <CATALOG>
                   <LANGUAGE>deu</LANGUAGE>
                   <CATALOG_ID>Katalog 01</CATALOG_ID>
                   <CATALOG_VERSION>001.000</CATALOG_VERSION>
                   <CATALOG_NAME>ETIM</CATALOG_NAME>
                   <DATETIME type="generation_date">
                        <DATE>2002-05-22</DATE>
                   </DATETIME>
                   <TERRITORY>DE</TERRITORY>
                   <CURRENCY>EUR</CURRENCY>
                   <MIME_ROOT>ETIM-Daten</MIME_ROOT>
              </CATALOG>
    </HEADER>
    </BMECAT>
    Here is the java application i wrote and which doesn t work:
    import org.apache.xerces.parsers.SAXParser;
    import org.xml.sax.Attributes;
    import org.xml.sax.ContentHandler;
    import org.xml.sax.Locator;
    import org.xml.sax.SAXException;
    import org.xml.sax.XMLReader;
         public class XmlLeser implements ContentHandler {
    public XmlLeser(String fileName) {
    try {
    XMLReader myParser = new SAXParser(); // SAXParser (Xerces)
    myParser.setContentHandler(this);           
    myParser.parse(fileName);      } catch (Exception e) {
         System.out.println("Erreur " + e);     }
    }// End of constructor
    public void startDocument() {
         System.out.println(" start to parse " );
    } // startDocument()
    public void endDocument() {
    System.out.println(" End of Parse ");
    } // endDocument()
    public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
         System.out.println(localName) ;
    public void endElement(String namespaceURI, String localName, String qName) throws SAXException {           
    }// Endelement()
    public void characters(char ch[], int start, int length) {
    } // endCharacters(char[],int,int);
    public void processingInstruction(String target, String data) {
    } // processingInstruction(String,String)
    public void ignorableWhitespace(char ch[], int start, int length) {
              characters(ch, start, length);
    } // ignorableWhitespace(char[],int,int);
    public static void main(String args[]) {
    String xmlFileName = "";
    if (args.length == 0) {               
    System.out.println("Usage::java XmlLeser path/xmlFilename");
    System.exit(0);      } else {
    xmlFileName = args[0];
    XmlLeser pux = new XmlLeser(xmlFileName);
    }// end main()
    }//endClass

    You need to pass your filename String as a parameter to your functionality. It depends how you're currently set up though. We can't really see the top of your call so it's difficult to determine what you are calling and we don't really know from where you're calling either.
    If you're running standalone, then on launch of the application, you can feed in a file name as an argument that you can read in in String args[] in the main function and pass down to your XML splitter.
    If you're a method in a class that's part of a bigger pile, you can feed the file name as a String to the method from wherever you call from if it makes sense architecturally.
    You might also want to pass down a File object if that makes sense in your current code (i.e. if you're using your file for other purposes prior to the split, to avoid recreating closing/opening for no reason).
    Depends what you're trying to do. If I put together a piece like this, I would probably create an <yourcurrentrootpackage>.xml.splitter package.
    Also, on a side note, you're problem isn't really reading and writing XML in java, but seems more to be making your functionality generic so that any XML file can be split with your code.
    Regards
    JFM

  • Tool to export and import high volume data from/to Oracle and MS Excel

    We are using certain reports (developed in XLS and CSV) to extract more than 500K to 1M records in single report. There around 1000 reports generated daily. The business users review those reports and apply certain rules to identify exceptions then they apply those corrections back to the system through XL upload.
    The XL reports are developed in TIBCO BW and deployed in AMX platform. The user interface is running on TIBCO GI.
    Database Version: Oracle 11.2.0.3.0 (RAC - 2 node)
    The inputs around following points will be of great help:
    1) Recommendation to handle such higher volumes reports and mechanism to apply bulk correction back to system?
    2) Suggestions for any Oracle tool or third party tool

    If you were to install Oracle client software on the PC where EXCEL is installed,
    then you can utilize ODBC such that Excel can connect directly to the DB & issue SQL.

  • Application to Read and Write the Configuration Data from a xml file

    Hi,
    I have to develop a Webdynpro application that will do the following:
    Read the Configuration data from an xml file
    If stored in a file , and the file is not found, prompt the user to provide the file location.
    Pre-Populate the screen(table) with the configuration data
    Allow the user to edit the data
    Store the configuration data when the user hits the Save button
    The config xml file details are as follows:
    Regardless of the location of the configuration data, the following fields will be stored
    Application (string) will always contain u201CSFA_EDOCSu201D
    Key (string) eg LDAP_USER, DB_PREFIX, etc.
    Type (character)  u201CPu201D = Plain Text, u201CEu201D = Encrypted
    Value (string)
    Since I am new to WD, I would require help on this.
    Please help.Its Urgent.
    Regards,
    Vaishali.
    Edited by: vaishali dhayalan on Sep 19, 2008 8:29 AM

    Hi,
    I have to develop a Webdynpro application that will do the following:
    Read the Configuration data from an xml file
    If stored in a file , and the file is not found, prompt the user to provide the file location.
    Pre-Populate the screen(table) with the configuration data
    Allow the user to edit the data
    Store the configuration data when the user hits the Save button
    The config xml file details are as follows:
    Regardless of the location of the configuration data, the following fields will be stored
    Application (string) will always contain u201CSFA_EDOCSu201D
    Key (string) eg LDAP_USER, DB_PREFIX, etc.
    Type (character)  u201CPu201D = Plain Text, u201CEu201D = Encrypted
    Value (string)
    Since I am new to WD, I would require help on this.
    Please help.Its Urgent.
    Regards,
    Vaishali.
    Edited by: vaishali dhayalan on Sep 19, 2008 8:29 AM

  • Read and Write files to data base throught Oracle Forms 6i

    Hello, please help me!
    How to attach or insert file into DB throught Oracle Forms and later open it ?
    Is there any possibilities to do that?
    Would be very appresiative!
    Solveiga

    Sorry forgot to add, Below is the code
    BEGIN
      A:=:EXP.D_DIR||'\'||'ACTIVITYS.TXT';
       hFile := Text_IO.Fopen(A, 'w');
      iCount := 1;
      OPEN cData;
      LOOP
    FETCH cData
      INTO  F1;
    EXIT WHEN cData%NOTFOUND;
      IF iCount <> 1 THEN
      Text_IO.New_Line(hFile, 1);
      END IF;
      Text_IO.Put(hFile, F1 );
      SYNCHRONIZE;
      message(to_char(iCount)||' Of '||TO_CHAR(:B1.CCOUNT),no_Acknowledge);
      set_item_property('spin.pro',width,2*round((iCount*100)/NVL(:B1.CCOUNT,1)));
      iCount := iCount + 1;
      END LOOP;
    CLOSE cData;
      Text_IO.Fclose (hFile);
    END;

  • Process using Webservice in Reader and Writer becomes slow while connecting processors

    Hi,
    I have a process that reads from a web service and writes to a web service. When I try to modify the code(after stopping the running process) by adding new processors or change the current connections, the connecting arrows take forever to connect and sometimes the director hangs for a long time. There is no issue in other processes where I read and write from staged data.
    How to overcome this isue?
    Appreciate the help!
    Regards,
    Ravi

    Hi Nick,
    Thanks for the advice. In the scenario where upgrade is not an option, is there any workaround to this issue?
    What I've found is if I strip the next processor of all its connections, then it gets connected to the previous processor pretty quick.
    EDQ hangs if the processor has other input/output connections and I try to connect it to another processor)
    P1>---<P2>    <P3 ---------- P2 to P3 connects fast as P3 is standalone
    P1>---<P2>    <P3>---<P4> ---------- In this case,  when I try to connect P2 to P3, it hangs forever.
    I've a complex process and just for adding a few processors in between, I will not be able to connect the rest of the processors all over.
    Regards,
    Ravi

  • Difference between LV 6.1 and LV 7.0 - Date\Time Format

    I found different behviour of numeric controls in Date/Time format, or
    in "Seconds to Date\Time String" function in LV6.1 and LV7.0
    In LV 6.1:
    Absolute time in seconds is formated in control with date/time format,
    output depends on local time format on computer, where this VI runs.
    So if I start LabView on machine with specific time zone, and for
    example DST on, the output was changed by these settings. ANY number
    of second is handled by this settings.
    In LV 7.0:
    Output still depends on specific time zone, but the use of the DST
    on/off depends on absolute time value. So if the number represents
    absolute time which fits period when DST was off, the output is
    wihtout DST, even if the DST is on when this vi runs.
    The solution in LV 7.0 is much more better than in LV 6.1, but ...
    If data are measured and stored (store of absoulte time DBL) in one
    time zone, and if they are processed in different time zone (for
    exapmle where DST change is in different time), the data
    representation is wrong.
    In LV 6.1 it was not correct too, but anyway there was a way how to
    solve this problem:
    I stored absolute time DBL and GMT delta for every time stamp. When I
    process this stored data on different computer with different time
    zone, I recalculate time stamps in this way:
    absolute time + stored GMT delta - GMT delta of computer where data
    are presented.
    So in final I have correct time does not matter on time zone or any
    other settings which are on computer where are data presented.
    But on LV 7.0, the GMT delta is not constant for every data and this
    algorithm is useless. I can simply show correct time when data are
    from same time zone without any calculation, but it is almost
    imposible to correct show data
    from different time zone.
    My question is:
    Is there any "ini file item", which can tell LabView 7.0 to use time
    representation style as in LV 6.1 ?
    Thank you and best regards
    Jiri Hula

    Thanks for the well written question.
    Unfortunately, there is no ini token or any way of specifying LabVIEW use the LV 6.1 style.
    I am attaching a LabVIEW 7.0 VI that calculates the UTC Offset for a given time value (I don't think the same code would work correctly in LabVIEW 6.1). The VI comments are:
    The attached VI will take Daylight Saving and Time zone into account to compute the offset in seconds from UTC Time to the Local time (as specified by the computer). Note: This VI can aid in converting from Local Time to UTC time, but not in converting from one Timezone to another.
    I hope it helps. Basically, your data is in UTC (absolute time) as it has always been, but LabVIEW 7.0 changed the way it displays the UTC data (trying to be more correct). If you wish to display it the way it was in LabVIEW 6.1, things are going to get a little tricky. LabVIEW 6.1 displayed the same DBL absolute time differently depending on if the current computer time was in DST or not. To get this behavior in LabVIEW 7.0, the equation:
    absolute time + stored GMT delta - GMT delta of computer where data are presented
    is still correct, but for LabVIEW 7.0 the GMT deltas now vary depending on whether the absolute time is in DST or not. It may be possible to convert the GMT offset you have saved from LabVIEW 6.1 into a set or pair of UTC Offsets. This would require a knowledge of what the DST state was for each of the data points in question.
    The DST state or GMT/UTC offset that the computer currently is using may be obtained from the attached VI.
    The absolute time is stored in GMT/UTC so that in different time zones it will still equate to the same time, even though it will be displayed differently. Another data format (such as storing the Hour, Minute, Second, Day, Month, Year; or storing the date as a string) might be more appropriate if the time should be displayed as the same local time regardless of the time zone.
    I hope this helps. Please respond if you have any comments or questions.
    Shawn Walpole
    Attachments:
    GetUTCOffset.vi ‏52 KB

  • Load Process needs to break into two Processes

    Hi friends
    I have a Process Of Load data in my Process chain. This Load Data is loading into two targets(PSA and then into Data Target, Package by Package). The two targets are:
    0MATERIAL$T, Material (Texts)
    ZE_MATERL$T, Euro Material (Texts)
    Now i have to break this process into two processes. First process should load into PSA and the secound process should load through the PSA to Data Targets.
    I have done for the PSA Know the problem is how i should do the same for two Data Targets because at a time in 'Read PSA and Update Data Target' process only one process can be updated. Please suggest.
    Thanks and Regards
    Vismark Tiwari

    hi,
    which version u r in?
    if 3.x
    choose the third option in the infopack PSA and update to target. and save the infopack. use this infopack in process chain this will generate the two process that loads upto PSA then to target with next process.
    if 7.0
    use infopack to load upto PSA.
    create transformation for the datasource used each from both the infoobject. create independent DTPs to load both the infoobject.
    use, the infopack to load upto PSA and use the 2 DTPs after the infopack load process.
    Ramesh

  • How can read and process data uploded from a datalogger on a network with labview

    hello evryone.
    i have a agilent datalogger 34972a data acquire temperature reading and makes them availlable on a network. i would like to acess this data on a pc running labview, analyse and prsent them. my problem is that i am not quite sure how to tell labview acquire this specific data.
    any help would really help me getting started.
    thanks already.
    Yann

    Are you
    Running the Agilent stand alone (or using Benchlink) and writing data to a file on the network ?
    Do you want to use LabView to control the networked data logger and aquire data? 
    If you are doing #1 then you can not use LabView because the Agilent (and Benchlink) strores data in a proparitary format.
    You have to use Benchlink to export the data to a CSV file before any other program besides Benchlink can read it.
    If you want to do #2 then you simply access the Agilent through VISA just like if it were connected using USB, Serial, or GPIB. 

  • High Speed Streaming with Multiple FPGA FIFOs and TDMS Advanced Asynchronous (Data Ref)

    I am using an FPGA with adapter card (7962 with 5751) for data acquisition and signal processing. I have adapted the FlexRio example "High Throughput Streaming," which works very well for a transferring data from the FPGA via a single FIFO. This example uses the TDMS Advanced Asynchronous Write (Data Ref). The "High Throughput Streaming" example is similar to "Streaming External Data to a TDMS File (Windows)" but includes more code to prep the FIFO buffer size and TDMS size.
    My question is how can I adapt this code to incorporate multiple FIFOs that write data to different channels in the TDMS file? Can I use multiple instances of  TDMS Advanced Asynchronous Write (Data Ref) in a single VI for each FIFO Acquire Read Region? If so, how do I insure that the correct data is written to the correct channel in the TDMS file?

    Thank you DeppSu for your explanation, I will look into that.
    But first, I want to be sure that the FPGA and the Hot general designs are correct, which for the moment I am not sure. So I have included my code.
    I tried the Host vi several times, and it seems that it works sometimes and sometimes not, like there are some communication problems between the fpga and the host on the "read acquire region" method which is not executed. I managed to make it work randomly before, but not now. Maybe it is because of the reset that I added?
    If someone could check my code and help me, I would really appreciate it since nobody in my workplace has the expertise to do so :-) If you see some obvious mistake, please share with me, I also added some comment boxes in the code with questions.
    Delphine
    Attachments:
    thoughput.zip ‏1261 KB

  • Creating pocess intance of a different process and passing arguments

    Creating Process instance of a different process:
    I have two different process: Main_Flow (id: MainFlow) and Second_Flow (id: SecondFlow). In the first process I am reading a csv file. Each line of the file has four columns. After reading each line I have to initiate Second_Flow and pass the read data from the file. (Pls find the code below for the whole process):
         fileReader = FileReader(arg1 : fullFileName);//filename is of file type and have file name and path
         Java.Io.BufferedReader reader = BufferedReader(arg1 : fileReader);
         String str;
         int countLines = 0;
         while ((str = reader.readLine()) != null)
              strColumn = str.split(delim : ",");
                   int ColumnCnt = 0;
                   while (ColumnCnt < 4)
                        //defining variables
                        String appNo;
                        String custNo;
                        String loanAmm;
                        String loanDate;
                        //logMessage("Value at Column: " + ColumnCnt + " is " + strColumn[ColumnCnt]);
                        if (ColumnCnt == 0)
                             arrLoanData["appNo"] = strColumn[ColumnCnt];
                        else if (ColumnCnt == 1)
                             arrLoanData["custNo"] = strColumn[ColumnCnt];
                        else if (ColumnCnt == 2)
                             arrLoanData["loanAmm"] = strColumn[ColumnCnt];
                        else if (ColumnCnt == 3)
                             arrLoanData["loanDate"] = strColumn[ColumnCnt];
                        arrLoanData["descriptionArg"] = "AutoInstance: " + formatTime('now', timeStyle : Time.SHORT);
                        arrLoanData["genByArg"] = "Automatic";
                        ProcessInstance.create(processId : "/SecondFlow", arguments : arrLoanData, argumentsSetName : "BeginIn");
                        ColumnCnt = ColumnCnt + 1;
              countLines = countLines + 1;     
    (“The code is in Java and not in PBL”)
    I have to pass appNo, custNo, loanAmm and loanDate as the arguments. The Argument will be of Any[String] type. The argument set name of Second_Flow is “BeginIn”. But I am not getting anything in Second_Flow.
    What can I do in the argument mapping of begin of Second_Flow to get the passed argument (array)?

    the argument 'arguments' for the method ProcessInstance.create receives a map of the arguments that the 'argumentSetName' argument set will receive.
    so for example if your second flow has 2 arguments, String name, Decimal value and String[] content your method invocation would be:
    ProcessInstance.create(processId : "/SecondFlow", arguments : {"name": strNameFromCsv, "value": valueFromCsv, "content": ["a","b","c","d"]}, argumentsSetName : "BeginIn");

Maybe you are looking for

  • Why does Back To My Mac work for my Time Capsule, but not my MacBook?

    I'm having problems using Back To My Mac from work to my home network. Initially, I thought it was something to do with the way the work network had been set up, but recently I realised that I have no problems connecting to my Time Capsule- It's just

  • Info Callable Object of type SAP R/3?

    Hi Friends, I have designed a Business Process using CAF GP, in which, in one of the actions I have inserted an Info Callable Object of type SAP Transaction, though the callable object is working fine with the process, I can see callable object in a

  • Transmiting video captured from a webcam to another system on Intranet

    Hi Everybody, Need your help. I have created an application in SWINGS which transmit my live webcam video to client in the intranet and the clients receive the live webcam Video. Now I have modified my code to run the same thing in Applets i.e. in fo

  • Write java prog

    Hello everone, I am new to java. Can anyone tell me what program should i download if i want to write & compile small java programs. please provide me link if you can. Thanks

  • Material Revaluation with negative stock

    Good Afternoon, Iu2019m working with negative stock, standard valuation method and item cost by warehouse in SAP B1 2007 SP01 PL08. I need to update the standard cost of all items and I'm trying to do that using the Stock Revaluation Transaction but