type of data repository more quick vi

I inherited a large application LV that, in some cases runs VERY slowly. It is almost exclusively due to the transfer of data between the application and the database or between a few screws to access the data in the repository live. First time data are necessary, it is read from the data base (via ODBC) and stuck in a LV repository with an identification number associated with (i.e., it is a version stripped of a class of porridge). This repository was written to be as simple (and effective?) as possible and is essentially a reentrant vi with a shift uninitialized register which contains an array of clusters. You can create, delete, read and write data in the repository as a Variant. Some of the groups of data are quite large (> 100 controls) and may contain subgroups or tables of channels and telephone numbers (I know, I know...).

There are about 10 different repositories running. Each folder can contain data for items up to 30. The repositories as a whole are available on 1000 times and the 200 times database for a given operation (which therefore ends up taking about 20 seconds!)

Because I don't have the luxury of rewriting the entire application from scratch, I need ideas on how to speed things up. So: Is there a quicker way to store/retrieve data as the repository I described? Are the massive parallelism and a 8-core chip my only Savior?

I am running LV 7.1 on XP. I have attached a JPEG of the repository.

Thanks for any ideas


Tags: NI Software

Similar Questions

  • How to periodically send various types of data via the Serial Port?

    Hello! Everyone

    I have to send data to LabVIEW to my device on the Serial Port.

    I know how to send data on serial port in LABVIEW, I already have this part.

    Now the problem is that I have several types of data I need to question my embedded device, if I want to send the query periodically command.

    So lets say that my four Op Codes are the following, which will send four different types of query command to my device on the serial port.

    (To be honest only OP_LED and OP_SENSOR is used now)

    0, OP_SYNC

    1, OP_LED

    2, OP_SENSOR

    3, OP_FUTURE

    Structure of basic package is as follows:

    Header (0x2C), Checksum, length of the data (n bytes), Op_Code (1 byte), length (length of Code + data Op)

    For OP_LED, I need to send the package as follows:

    0x2c 0x02 0x01 0 x 00 0x2F (0x2F being the XOR checksum) (calculation of Checksum part is done and SUB Vi form)

    Length of the package this is 0x02

    0x01 is Op Code for OP_LED

    In the same way

    For OP_SENSORi need to send the package as follows:

    0x2c 0x03 0x02 0x00 0 x 00 0x2D (0x2D being the XOR checksum) (calculation of Checksum part is done and SUB Vi form)

    0x03 is length of packet here

    0x02 is Op Code for OP_SENSOR

    So, how can I do this periodically in labview, in such sort that period can be adjusted whenever necessary.

    Is there something in LabVIEW to do.

    I had done the reception and decoding part and working properly.

    http://forums.NI.com/T5/LabVIEW/store-data-coming-from-serial-port-in-buffer-and-then-take/m-p/32722...

    So I must implement read and write the part of same while loop?

    Do not insert in the table if you put data in an array at index 0.  Just use array to build.

    No need to have Visa to write don't be a part of wire to the wire of reference and error VISA go in the upper part.  These wires should go THROUGH the entry VISA.

    Don't your checksum requires all the bytes up through data?  Righ now, you only put the checksum on data bytes and forget the opcode and length bytes.

    Your sending is not the opcode for Opsync or Opfuture.  You just send the empty tables.  At the same time for the other two, you put the opcode in the data table.  All your original opcode in the table build thread.  Get the data out of these structures in case item which is supposed to represent the opcode.

    xpress_embedo wrote:

    Now it works but I have now two problems.

    (1) OP_SYNC and OP_FUTURE do not data, but still receive its data on serial port, can I do something here as I have nothing when the table is empty in the structure of the case.

    I do not understand this statement.  Perhaps my answer above will fix any issue you have here.

    (2) how can selection operation Code to be send is done using control façade but real application, this task should be automated to a certain frequency, like OP_LED package must go out to the serial port to 100msec and packet OP_SENSOR must go out to 1000msec, I do this.

    Now you agree a little more architecture.  I would encapsulate the code that is in the while loop as a Subvi.  Then with the hand of your program while loop, use two time Express VI, a game for 100 msec, the other for 1000 msec.  When an express VI is true, run the Subvi with a command set waiting for the answer.  When the other VI Express is true, have it run the Subvi with the other set of commands.

    The device responds with anything when you send these commands?  You only send data.  I see no VISA Read to be able to recover all the data.

  • Update a primary key of type char data

    Hello
    Not a guy to oracle technology. but am forced to work on a query that is a basic requirement.

    I have a table that has a composite primary key values (6 columns).
    Of these, I've updated 1 specific column, which is a char data type.

    I tested after writing my logic as a query, threw it [the Unique constraint violated schema.tablename];

    So I gave it a query simple base to test it yet, still get the same error.

    Query such as:

    Update table_name set Column1 = "100000" where column2 = 'BOMBAY '; (Column1 is the primary key of type char)

    Even if it did not work.
    Now a doubt arises, a column is a primary key of type Char can be modified? or is it not possible at all to do?

    Note: I made sure only am not updated with a duplicate value;


    Thank you.

    Published by: 966353 on October 18, 2012 12:01

    While you never need to update a primary key (regardless of the type of data), it is possible to do. If you get an error ORA-00001 indicating that a unique constraint has been violated and the unique constraint that is violated is associated with the primary key of the table (I'm guessing that this is the case according to your description of the error), implying strongly that the update would result in duplicate rows. Your UPDATE statement updates more than 1 row? If so, how do you determine when the update is complete there will be no duplicate lines?

    Justin

  • determine the type of data

    Hi all

    I've got procedure of inserting data in table1 value1 column.
    My need is to determine the type of data entered by the user.
    If the data type is not number user should error.
    How can I make it?

    The easier and more reliable way would be to declare the formal parameter as a number, such as:

    SQL> create procedure p (p_num in number) as
      2  begin
      3     null;
      4  end;
      5  /
    
    Procedure created.
    
    SQL> exec p('a');
    BEGIN p('a'); END;
    
    *
    ERROR at line 1:
    ORA-06502: PL/SQL: numeric or value error: character to number conversion error
    ORA-06512: at line 1
    

    If you cannot do this, or want to be more "user friendly", so the only alternative is to test and trigger an error like:

    SQL> create procedure p (p_str in varchar2) is
      2     l_num number;
      3  begin
      4     l_num := to_number(p_str);
      5  exception
      6     when value_error then
      7        raise_application_error(-20001, 'I know I said it was a string, but I really want a number');
      8  end;
      9  /
    
    Procedure created.
    
    SQL> exec p('a');
    BEGIN p('a'); END;
    *
    ERROR at line 1:
    ORA-20001: I know I said it was a string, but I really want a number
    ORA-06512: at "OPS$ORACLE.P", line 7
    ORA-06512: at line 1
    

    John

  • I want to know if the activation of bluetooth in your iPhone setings drains your battery more quickly.

    I want to know if the activation of bluetooth in your iPhone setings drains your battery more quickly.

    Should be is a method of additional broadcast, constantly looking for devices. Although should not be unreasonable excessive. Don't think that I ever disabled my bluetooth.

  • Is iMac without retina k 4 at 2.8 GHz with more quickly than the iMac retina 4 k with 3.1 GHz?

    Is iMac without retina k 4 at 2.8 GHz with more quickly than the iMac retina 4 k with 3.1 GHz?

    In most cases you won't see much difference in performance using CPUs unless you do very intensive CPU.

    Maybe you can tell what your needs are for the computer, what you intend to use applications and then we can help suggest some configurations, you might want.

    In today's computers, which makes the greatest performance increases for typical users are (in this order):

    • SSD instead of a Fusion or rotation HD.
    • RAM
    • GPU
    • CENTRAL PROCESSING UNIT
  • Initializing the elements of the array to different types of data

    Hello!

    Receiving data sring and write it in the table. Shot data consist of different types of data, so now I have to initialize my element of berries somehow to correct the data type. Table example:

    char

    char

    int

    int

    float

    float

    Is it possible somehow? Or should I use the formula node or something like?

    Thank you! (new)

    These data resembles a cluster to create a cluster, you can create a constant of cluster on the comic book and use the cast function to fill in the cluster. Some things you need to be aware of:

    What is the size of the Int?

    What is the size of the float?

    What is SSE-endian data.

    Here are two examples:

    Tone

  • How can insert different types of data in the table?

    Hello
    How can I insert different types of data in the table, (e.g., numeric and string) in the same index of a table.

    example:
    index0 car 10 green

    car red 11 index1
    Index2 car Blue 12

    where green car red and blue car as string and 10, 11 and 12 in the numeric form.
    then I extracted 10, 11 and 12 a digital table

    and, the green car, red car, blue car in a string array

    Help!

    Use 'Analysis of the chain' as in the picture as an attachment.  This will extract the number and color that you can add tables later.

  • DLL in VC ++ with several types of data

    Hello world

    I'm new on the Forum of Labview and Labview fairly new as well.

    I have some errors in my VI and I can't quite understand what I'm doing wrong. I have a DLL written in VC ++. There is a function in the DLL that I'm shouting in VI, but the function contains variables that are composed of multiple data types.

    These are my variables in the code for VC ++:

    typedef struct
    {
    Double depth;
    Double dWidth;
    Double dHeight;

    float fVolume;
    float fSurfArea;

    int iGood;
    int iBad;
    } box_t

    Then I have my function that calls these variables:

    _declspec (dllexport) int _cdecl ACL_GetData_Array(void *dataArray)
    {
    arrayStructure-> rockia = (array_t *) dataArray.
    PrintGeneral ("table pointer value to retrieve data. ("\n new address.");
    PrintAddr ((int) arrayStructure-> rockia);
    arrayStructure-> Philippe-> depth = 30.3;
    arrayStructure-> Philippe-> dHeight = 40.4;
    arrayStructure-> Philippe-> dWidth = 50.5;
    arrayStructure-> Philippe-> fSurfArea = 60.6f;
    arrayStructure-> Philippe-> fVolume = 70.7f;
    arrayStructure-> Philippe-> iBad = 80;
    arrayStructure-> Philippe-> iGood = 90;
     
    Return (int) arrayStructure-> Philippe;
    }

    Now my question is if I just want to read these variables and display them in Labview, how can I do? So far, I can get double appears correctly, but I did have a success with floats and integers (ints). If this has been posted by another user, I'm sorry to ask the same question. I searched for a few days now and have not encountered any useful information.

    Thank you

    George

    ghatz85 wrote:

    If possible, can you save the VI changed in version 8.5.1? LabVIEW won't let me open the files attached to the forum.

    I'm sorry. For some reason, I thought that the originals were in 2009 LV. Version 8.5 is attached.

    Insofar as the structure of data in the DLL, the programmer had rearranged the types of data to go from the largest to the smallest.

    I was talking of having a structure within a structure and call it a "table".

  • In the attached VI why looping force the type of data while the other does not?

    In the attached VI why looping force the type of data while the other does not?

    I'm guessing that you have created the Enum on the front panel.  If you right click and create an indicator, it corresponds to the type and be an enum.  LabVIEW represents enums as U16, but because the types are not the same (for example, your enum has 3 values, but a U16's 65 536 values), LabVIEW automatically converts value (or converts) the smallest representation (enum) in the largest value (U16).

  • Multimedia player that allows some of my WAV files to be played in a more quick read but other WAV files are NOT allowed to read at a faster speed.

    original title WAV file: windows media player

    Multimedia player that allows some of my WAV files to be played in a more quick read but other WAV files are NOT allowed to read at a faster speed.  Any suggestions on how to fix?

    Thank you

    Hello
    1 did you change on your computer before this problem?
    2. what happens when you try to play?
    3. what operating system is running on your computer?

    What version of the operating system Windows am I running?
    http://Windows.Microsoft.com/en-us/Windows7/help/which-version-of-the-Windows-operating-system-am-i-running
    Follow the suggestions and see if it helps.

    Method 1

    You can run Windows Media Player settings convenience store.
    Open the troubleshooting Windows Media Player settings Troubleshooter
    http://Windows.Microsoft.com/en-us/Windows7/open-the-Windows-Media-Player-settings-Troubleshooter

    Method 2
    You can read the article and then check.
    Change playback speed in Windows Media Player
    http://Windows.Microsoft.com/en-us/Windows7/change-playback-speed-in-Windows-Media-Player

    See also:
    Play an audio or video file: frequently asked questions
    http://Windows.Microsoft.com/en-us/Windows7/play-an-audio-or-video-file-frequently-asked-questions
    Play an audio or video file
    http://Windows.Microsoft.com/en-us/Windows7/play-an-audio-or-video-file

     
  • a lot of programs at startup. Can I get rid of some of them while my computer will start more quickly?

    a lot of programs at startup. Can I get rid of some of them while my computer will start more quickly?

    To identify what loads when you start using Autoruns (freeware from Microsoft).

    http://www.Microsoft.com/technet/sysinternals/ProcessesAndThreads/Autoruns.mspx

    With Autoruns, you can deselect an item which disables startup, or you can click with the right button on an item, then remove it. If you clear the check box that you can check back for re - activate the element. It is an approach much safer than editing the registry and better than using msconfig.

    Another useful feature of the program is that you can click with the right button on an item and select search online to get information about the selected item.

  • How can I make my adodc more quickly connect my SqlServer?, its takes a minute before that I can view thousands of record in my listview.

    How can I make my adodc more quickly connect my SqlServer?, its takes a minute (so long) before I can view thousands of record in my listview.please someone help me.

    I'm using...

    Public Class McheckpaymentNew
    Cn as New ADODB. Connection
    Private RS As New ADODB. Recordset

    Private Sub McheckpaymentNew_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    Try

    CN. ConnectionString = "DSN = database; UID = user; PWD = password"
    CN. Open()

    RS. CursorLocation = ADODB. CursorLocationEnum.adUseClient
    RS. CursorType = ADODB. CursorTypeEnum.adOpenStatic
    RS. LockType = ADODB. LockTypeEnum.adLockBatchOptimistic

    Catch ex As Exception
    MsgBox ("could not connect!, please check your network connections, or Contact MIS Dept. for assistance.", vbCritical, "Error connecting to the database...")
    End
    End Try

    End Sub

    Please correct if I wrong use, causing the delay.please someone help me...


    This issue is beyond the scope of this site and must be placed on Technet or MSDN

    http://social.msdn.Microsoft.com/forums/en-us/home

  • type of Blackberry support more large int. what? What is long int?

    type of Blackberry support more large int. what?  is this type of long int?  65536?


  • What is the range of values of type of data accepted by prepareBulk file?

    In the Oracle documentation under "bulk 7.12 load graphics Using RDF Semantic support for Apache Jena", I see the code example for perpareBulk. The third parameter is documented as "type of data file: can be RDF/XML, N-TRIPLE, etc.". I found a thread code example that uses "TTL." as a value as well. It seems that "TTL" is accepted but not documented. What is the range of accepted values for the type parameter of data to prepareBulk file?

    Hello

    You can use the triple data serialization format following as string values:

    "RDF/XML", "N-TRIPLE", "TURTLE" (or "TTL") and "N3".  "RDF/XML-ABBREV" is a synonym for "RDF/XML".

    For the quads, you can use either "N-QUADS" or "TRIG".

    Thank you

    Zhe Wu

Maybe you are looking for

  • Font size in safari

    Download Safari 10.0 and os 10.12 size police and the darkness of the police do I have very difficult for me to see.  Is there a way to change this?

  • How to hide or lock a favorite/bookmark folder?

    I imported my bookmarks from Chrome folder, but it contains far too many bookmarks to sort/tidy, them (it contains other unorganized folders too) so I was wondering if there is a way to 'hide' or 'lock' the folder so it's always there in the bookmark

  • Another site will try to contact you to update your browser.

    When you run firefox, another window is growing (I don't think it's a popup) to the following address: "http://www.browser-fast.com/Firefox/." I said that the 24 version is not updated etc and to download and run an .exe file. It's very confusing bec

  • MacBook Pro fn key locked somehow WE

    I managed to make my Macbook Pro 9.1 behave as if the fn button is LIT. I pressed the fn key to make the keyboard to behave normally, is not a viable solution. I tried different combinations of fn, control, option, and command keys (well, all, really

  • Tecra A5-145: RAM upgrade

    Hello I want to improve my Tecra A5-145 to 1 GB of RAM. Of memory should what type of bars I buy? I heard it supports dual channel 533 MHz RAM? I want the maximum memory performance, so I need to buy two 512 MB modules each to get the fashion channel