Replace the subset of table w/Shift Register too slow for my Application

This is similar to other posts, but I have not found one that addresses the limitations of an approach of shift register.

I have a part of an application that I'm turning to 500-1, 000Hz.  The process extracts a block of data from the ADC, and I need to store this data, then collects more of the ADC.

I've set up what seems to be the bottleneck of the present in the attached .zip file.  When I run the attached code with profiling (see. PNG file), it tells me that it takes on average 3.8ms for the Subvi to run.  At this rate, I can only run around 260 Hz.  I have a Subvi similar to this in my code and the code can run at 1000 Hz without this Subvi, but slows down to about 160 Hz when it is activated.

Is it possible that I may collect data about 1.7 KB tables and run at the speed I need?  Any input would be appreciated.

For purposes of reference. Debugging should be disabled on the sub - vi.

Looking at the code you provided - don't just disable debugging -! you have some other options of "exécution" to reset.

This should speed up the Sub - vi SR will be your friend again!

Tags: NI Software

Similar Questions

  • Replace the subset of table operation

    I have a code to a key VI event down that toggles the visibility of some indicators in response to press the function keys. Records using Boolean shift, the code worked with a few indicators.

    To scale to a large number of indicators, I decided that I would need convert a registry to offset single Boolean array.

    With the shift table Boolean register, for a given function key, the code reverse the Boolean value of the table for the property node Visible, then replaces the same item in the table of Boolean with the inverted Boolean value. The code does not work. Once the indicator is visible, he won't go invisible on the next push of button.

    I watched the execution, display values. Looks like that replace it table subset VI is not replace the Boolean value with the updated value. In the attached screenshot, you can see where I got the element of the array once it has been "updated" to replace table VI of subset. Impossible to find all the bugs in the list of bug LV2013.

    See the attached screenshot. What's wrong with this code? My apologies for the resolution of the screen capture. If necessary, I'll go back to the lab and try to capture a screenshot of higher resolution.

    On-screen turned your empty Boolean arrayis, in other words, it has no elements. Subset of the table Replace does not work with an empty array.

    See you soon,.

    McDuff

  • Replace the subset of table does not not for me

    I have a loop IN which I want to use a 1-d output Boolean of the comparison table.  There is a one-to-one correspondence between the index of the loop AND array index, so the number of loops and the size of the table are the same.  I first tried using the function insert in the table, which worked well, except that the table kept gaining in size.  Once I understood that, I replaced it by the function replace table subset, which seemed more appropriate.  However, this does not work: nothing ever appears in the table.  I tried using numbers instead of Boolean values, as an experiment, but that no longer works.  I am at a loss as to what I'm doing wrong or not understand and would appreciate suggestions.  I have attached a picture of the relevant part of the VI.

    Thank you

    Scott

    Note to admin - attachment deleted by user request - 14/04/16

    The shift to your table register is so empty and unitialized.  You can't replace an elmenent that does not exist so that the table remains empty.  You must initialize an array before the loop with the appropriate size and he lead the shift register.

  • replace the subset of table

    I have a problem that I can't solve.  I have a table of 6 valves that are a def type.  I want to tell those who are on the use of a loop for.  The for loop count is a wiring number of valves that are put to the test.  I expected indicators 1 to 5 to turn it on in the example, but only 5 shows on.  Can you tell me what I am doing wrong?

    I just thought of it, sorry to bother you.  I changed the entry to a shift register tunnel and left the tunnel to exit as last value is always connected to the indicator of the valve.

    Thank you.

    Metzler wrote: I don't think that your diagram without the loop will work - the original valves begin by the status of the led off.  This is part of a machine to States that tests up to six valves.  County of the Terminal loop is used to iterate the loop many times according to the number of valves tested.

    Then use the array to initialize.

  • How to replace the subset of table nd with table 1 d to i, j

    Hello

    I am trying to replace a range of values in an array multidimensional, beginning with the cell i, j, both greater than 0, that is to say a square inside the Bay of nD. The new values which replace older ones come from a 1 d table. However, when I provide two indexes to replace table subset block I get a bad wire... I guess it is due to the fact that labview does not know which direction to replace data? Is there a solution to this? I enclose an example vi of what I'm trying to do.

    Thank you very much.

    This should do the same thing without all the extra steps.

  • How do the function of table 1 d search case-insensitive for the array of strings

    How do the function of table 1 d search case-insensitive for the array of strings

    Hi Karine,.

    convert the two (table and search for the string) to lowercase before using this feature...

  • Sudden problem with replacement of subset of table

    Hello

    I was working on my project when suddenly a strange problem appeared.

    I have a graph of intensity with 2 sliders that determine the coordinates of my area of interest. I created a simple solution to get these details and store them in table 1 d (x 0, y0, x 1, y1), hence I take them more later to perform some calculations. Now: it's all working fine and dandy that came out of nowhere share the table stopped storing the coords correctly. I put some sensors and index of the sliders and coordinates the eye to be acquired properly. But, for some reason, the function replace subset table stopped their storage in the appropriate cells. Whenever I move a cursor, its coordinates are now stored in the first two cells of a table. I'm pretty sure that I has not changed anything in the code, so what could be the cause?

    Screenshot attached.

    Oficmajster wrote:

    Yep, I added new cases of events previously: cursor type? It was empty, until he did change and why?

    If you don't the wiring of the table in the new case, the table in the shift register will be transformed into a table empty if running new cases. Once the array is empty, replacement of certain elements will not increase the size of the array, it will remain empty.

    Solution: wire the table across all new cases (if you create tunnels of entry-related, it will be automatically )

  • Table of shift register

    I need to create a program that takes an array of six elements and the use of shift registers if he pulled out a table that maintains the first element of the same thing, and then adds the second and third elements together, and then adds the second to the 6 ° element.  So if the input array is 2, 12, 10, 5, 20 and 25, the output array is 2, 22 and 72.  I think that using shift registers and a loop would work, but I can't make it work.

    Thanks for any help

    Ok.  Given that it is for a class, I will do more than any code.

    Comments.

    1. a shift register is a local memory form. So, ask yourself what this problem needs to be recalled?

    2. entry and exit tables are different sizes. No sense to wire the table via the shift register because the shift register will 'remember' how the input array is large.

    3. Reflection on comment 1, how you will get the information in the table to put it in the register shift?

    4. what happens if apply you the same rules but allowed the input array having a size greater than or equal to 6?  That's what is meant by an evolutionary approach to a problem. The code I posted works for length 6.  For any other length program must be changed. A scalable program work without modification for any input of size.

    It is often very useful to begin with a series of conditions, which you said we now clear. Then plan how you would the problem with pencil and paper. Then implement this plan in the software.

    Lynn

  • Replace several subsets of table

    I have a 1 d table that I want to manipulate.

    I want to replace the n-th element to the nth + j with zero element... and repeat this replacement to an integer multiple of n.

    So, for example if n = 5 and j = 2, beginning with an array of 1s and then manipulation table might look like:

    1,1,1,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1, etc.

    So n = 5 to n = 7, n = 12, n = 15 n = 17 n = 10... etc is equal to zero.

    I if the value of n and j with controls on the front panel.

    I'm coming from a background of Matlab and slowly get into Labview.

    Appreciate the help!

    Joe_Le wrote:

    I'd appreciate really indications at this point, I solution mathscript work and would really like to know the 'labview solution '.

    As you will see, a LabVIEW solution will be much simpler. The most important part would be to learn more about the shift registers. This is one of the basic tools.

    Here's a very rough draft of 2 minutes. Modify if needed. Of course replace you your real table and allows to get the size of the array size. See how far you get.

  • ORA-02374: error loading conversion table / ORA-12899: value too large for column

    Hi all.

    Yesterday I got a dump of a database that I don't have access and Production is not under my administration. This release was delivered to me because it was necessary to update a database of development with some new records of the Production tables.

    The Production database has NLS_CHARACTERSET = WE8ISO8859P1 and development database a NLS_CHARACTERSET = AL32UTF8 and it must be in that CHARACTER set because of the Application requirements.

    During the import of this discharge, two tables you have a problem with ORA-02374 and ORA-12899. The results were that six records failed because of this conversion problem. I list the errors below in this thread.

    Read the note ID 1922020.1 (import and insert with ORA-12899 questions: value too large for column) I could see that Oracle gives an alternative and a workaround that is to create a file .sql with content metadata and then modifying the columns that you have the problem with the TANK, instead of BYTE value. So, as a result of the document, I done the workaround and generated a discharge .sql file. Read the contents of the file after completing the import that I saw that the columns were already in the CHAR value.

    Does anyone have an alternative workaround for these cases? Because I can't change the CHARACTER set of the database the database of development and Production, and is not a good idea to keep these missing documents.

    Errors received import the dump: (the two columns listed below are VARCHAR2 (4000))

    ORA-02374: error loading «PPM» conversion table "" KNTA_SAVED_SEARCH_FILTERS ".

    ORA-12899: value too large for column FILTER_HIDDEN_VALUE (real: 3929, maximum: 4000)

    "ORA-02372: row data: FILTER_HIDDEN_VALUE: 5.93.44667. (NET. (UNO) - NET BI. UNO - Ambiente tests '

    . . imported "PPM". "' KNTA_SAVED_SEARCH_FILTERS ' 5,492 MB 42221 42225-offline

    ORA-02374: error loading «PPM» conversion table "" KDSH_DATA_SOURCES_NLS ".

    ORA-12899: value too large for column BASE_FROM_CLAUSE (real: 3988, maximum: 4000)

    ORA-02372: row data: BASE_FROM_CLAUSE: 0 X '46524F4D20706D5F70726F6A6563747320700A494E4E455220 '.

    . . imported "PPM". "' KDSH_DATA_SOURCES_NLS ' lines 229 of the 230 308.4 KB

    Thank you very much

    Bruno Palma

    Even with the semantics of TANK, the bytes for a column VARCHAR2 max length is 4000 (pre 12 c)

    OLA Yehia makes reference to the support doc that explains your options - but essentially, in this case with a VARCHAR2 (4000), you need either to lose data or change your data type of VARCHAR2 (4000) to CLOB.

    Suggest you read the note.

  • Several problems with a simple replacement of the subset of table

    I'm new to LabVIEW and I try to teach me how to use it.  As you can imagine, I'm running into a few barriers.  The code that I'm including embodies many of my problems.  If someone can explain to me how to improve this code, I would be grateful.

    Copy the following code is a simplified version of a more complex code, that I'm writing.  In the simplified code, I have a control ('VALUE') that I would like to register at different locations in my table of 5 x 3.  To do this, I tried to make a 5 x 3 constant I could replace it with the value of the control.  The code does not work as expected and this is my specific problems:

    1. I can't initialize the array constant (the one I intend to crush).  I can only initialize the first row.  Based on the help files, I thought I should be able to initialize it by clicking on the boxes in the chart on the block diagram and entering values.  But it doesn't seem to let me do this.  Don't know if there is a special way to open when more than 1 dimension is involved?

    2. my slider controls are intended to establish where in the table to place the element.  But is not no longer works.

    3. I can't understand how properly to a code which has a while loop integrated in a while loop.  Someone recommended using a structure of the event, but as a beginner, I will have trouble to know how I would enact who.  I tried to play with the settings of locking/switching the button stop, but that did not work, either. The problem seems to be that, if I am inside the while loop, the program does not see my stop command.  Is there a way to connect as the stop button works, regardless if I'm inside the another while loop?  If not, is there a way to accomplish what I want in the smallest loop without using a while loop?  If I used a structure of the event, how would I created an 'event' to tell the program to store a new data point in the array?

    Thank you.

    Jessica

    Jessica,

    Also note that in LabVIEW array indices are zero-based.  If the values of the row index can be 0, 1, or 2.  If you want your users to see 1, 2, and 3, then put a function decrement between the terminals of the cursor and the function replace table subset.

    Lynn

  • TouchSmart 520-1070UK: if I can replace the 802.11n wireless card in my 1070UK 520 for a dual band

    I've been updated by my cable company to a router to speed broadband to 200 'up to '. My old iPad connects to new 5G

    band but the HP Touchsmart is the single band 802.11n equipped Ralink card.

    Can I physically replace or add anything to connect to 5G?

    Hi there @tiggerchris

    Welcome to the Forums of HP Support! It's a good place to find the help you need, other users, the HP experts and other members of the support staff. I understand that you are looking for help on how to replace your existing wireless network adapter or add something to support the 5 GHz band. I'm happy to help you with this.

    Service and maintenance guides available and put at level of guides for this system offer no wireless adapters. The simplest solution I can suggest would be an adapter USB dual band WLAN.  There are many benefits to this choice. It is easier to install, it's easy to transfer to another device if necessary, and they can be very economical.

    I'd say a bit of research online for this type of device, to see what is available.

    I hope this helps.

  • ALTER table drop column is too slow on the big table

    Hi all
    the user has run after a command in oracle 10 G: - >
    ALTER table < table name > Delete column (< cloumn list >); table in question is of a size 41GB.

    the results of the command to cancel space filled.
    Tips of even trace file cancel segemnts.

    query failed for hours.
    Why cancel is linked to this
    and what would the resolution for this.

    Unused help set...


    Thanks in advance,
    Rock

    Would it be useful to assign unused columns?
    What about dbms_redefinition?

  • Insertion of one table to another is too slow

    I have 129975 records in a table. I'm trying to transfer to another table. It was 50 minutes, and the process is still ongoing. What could be the problem? Index can solve this problem? Please give me the code.
    Thank you

    What awaits the session? Don't know how to check it

    Your DBA knows how to check: a TRACE/TKPROF with wait events (10046 level)

    SQL and PL/SQL FAQ
    Read the explanations of these links:
    -When your query takes too long...
    -How to send a SQL tuning request

  • After updating Firefox, the font on my screen size has been reduced for all applications. How can I increase the size of the font on my screen?

    After the update, the next screen shows all the letters in smaller characters, with fewer pixels. All screens are like that now, and I found nothing in Firefox Help content. It is a problem because I have vision problems. So, how can I increase the font size that had it before? My screen is approximately 20 inches wide.

       Also, any chance I can change all the font to Arial instead of Times New Roman?
    

    Hi shbuzz2001,

    Have you tried to increase the amount of zoom by pressing on CTRL and + a few times? This article will show you how to use the Zoom.

    You can also check out the Knowledge Base article on the accessibility in Firefox - make Firefox and work of content for all users. It deals with default fonts and other options that may interest you.

    Hope this helps!

Maybe you are looking for