Arrays touching on front panel slows down VI.

I have written a VI which downloads and displays 2 Arrays of Spacecraft Telemetry packets. If I arrange the arrays on the front panel so that they are touching (to look neater), the VI slows to a fraction of its original speed. Why is this? I wasted 3 days trying to understand what had gone wrong with my code, when it turned out to be a cosmetic problem. I can send you a copy of the VI along with instructions on how to reproduce the problem if you like.

As with CapeFl, I also have been able to duplicate your problem (LV 6.0.2 on Win95). However, once the arrays are touching, if I select one and tell it to "move to front" by highlighting it, selecting the Reorder drop-down from the toolbar and select "move to front", the problem disappears. Evidently has something to do with 2 arrays on the same level overlapping, and trying to update. Therefore, you can have your front panel the way you want it.
Mark

Similar Messages

  • Is there a way to rotate an array on the front panel?

    Is there a way to rotate an array on the front panel?  For example, I want element [0] to be at the bottom of an array that's expanded to show the elements vertically.
    Thanks in advance.

    I do not think that there is any way to make an array control or indicator display that way.
    You might be able to reverse the array, creating an upside down display. If you also need the user to index it, then it gets trickier.  Hide the array index display.  Create another numeric control to look like the index control.  When the value of the new control is changed, subtract the value from the last index of the array and use the difference to index the array.  You may need to adjust by +/-1, so try it to be sure.
    Lynn

  • I have a VI and an attched .txt data file. Now I want to read the data from the .txt file and display it as an array in the front panel. But the result is not right. Any help?

    I have a VI and an attched .txt data file. Now I want to read the data from the .txt file and display it as an array in the front panel. But the result is not right. Any help?
    Attachments:
    try2.txt ‏2 KB
    read_array.vi ‏21 KB

    The problem is in the delimiters in your text file. By default, Read From Spreadsheet File.vi expects a tab delimited file. You can specify a delimiter (like a space), but Read From Spreadsheet File.vi has a problem with repeated delimiters: if you specify a single space as a delimiter and Read From Spreadsheet File.vi finds two spaces back-to-back, it stops reading that line. Your file (as I got it from your earlier post) is delimited by 4 spaces.
    Here are some of your choices to fix your problem.
    1. Change the source file to a tab delimited file. Your VI will then run as is.
    2. Change the source file to be delimited by a single space (rather than 4), then wire a string constant containing one space to the delimiter input of Read From Spreadsheet File.vi.
    3. Wire a string constant containing 4 spaces to the delimiter input of Read From Spreadsheet File.vi. Then your text file will run as is.
    Depending on where your text file comes from (see more comments below), I'd vote for choice 1: a tab delimited text file. It's the most common text output of spreadsheet programs.
    Comments for choices 1 and 2: Where does the text file come from? Is it automatically generated or manually generated? Will it be generated multiple times or just once? If it's manually generated or generated just once, you can use any text editor to change 4 spaces to a tab or to a single space. Note: if you want to change it to a tab delimited file, you can't enter a tab directly into a box in the search & replace dialog of many programs like notepad, but you can do a cut and paste. Before you start your search and replace (just in the text window of the editor), press tab. A tab character will be entered. Press Shift-LeftArrow (not Backspace) to highlight the tab character. Press Ctrl-X to cut the tab character. Start your search and replace (Ctrl-H in notepad in Windows 2000). Click into the Find What box. Enter four spaces. Click into the Replace With box. Press Ctrl-V to paste the tab character. And another thing: older versions of notepad don't have search and replace. Use any editor or word processor that does.

  • Is it possible for the processor in the iPod touch 5th gen to slow down? Or even any type of handheld apple device? If so what is it? Please help.

    It feels like my iPod touch 5 has been a bit slow lately. All my apps are closed, I think there has been a day I don't use my iPod for like a week or two. Please help. Thanks so much for the help in advance.

    Basics from the manual are restart, reset, restore

  • How does one empty an array during runtime with a front panel switch

    I can 'empty array' from the front panel during runtime but I want to empty all arrays (20) from my vi with a front panel switch (see screenshot). I have used replace array subset and reshape array with no success. Any help would be appreciated
    Attachments:
    TempScan_screenshot.JPG ‏26 KB

    Hmm... You can empty an array by reshaping it or by assigning a constant empty array - using local variables or properies of the original control (see attached example... hmmm... not the best one ). May be you can attach a part of your code to see what is better to do in the given case.
    Attachments:
    reset_table.vi ‏20 KB

  • Mobile VI Front Panel Display issue

    I am not sure whether I should report this as a big of Mobile Module, so post it here and see if anybody else encounters the same issue. 
    When create a mobile VI, if you put a TCP Connection control and String array on the front panel the same time, it won't run. It compiles and deploys all fine, but when you try to run it, it doesn't. And if you put it as a subVI, it will stuck when it is called. 
    Guess I am lucky. Just so happened that I needed to put both controls on the front panel and ran it as a subVI. Every time this subVI was called, the whole program stopped. It is a simple subVI call, but maybe it is so simple that it becomes so hard to debug. I started to check if the memory was full, then subVI property, and then put all kinds of breakpoints to debug. Finally, just when I ran out of debugging ideas, I was looking at all the controls on the front panel. Is it possible that one of those controls has some sort of conflicts with others, or the mobile module simply cannot load the type of control(s). So, I took one out at a time.
    It took me a whole morning, but that's how I found this bug. I hope after I post it here, it can save your time to debug this type of bugs.  
    Attachments:
    TCP Control.vi ‏10 KB

    Hi, Paul, 
    This could be another bug of Mobile Module if you can repeat what I did. 
    Here is the issue. When I transfer time stamp from PC (time stamp flattened to string) to the palm (then unflattened back to time stamp), the time stamp on the palm is always plus one hour. Don't know if this is a bug or a programming error?
    Thanks. 

  • Too many docked ScriptUI panels bog down interface?

    Has anyone else run into this problem? I have about 10 ScriptUI panels docked around my AE interface. It seems like when I select a layer, it can take 3-5 seconds for the Effect control palette to appear.
    Do Script UI panels slow down the entire AE CS4 interface?

    Navarro:
    Having 10-12 ScriptUI panels docked is not known to cause a bog down of the application per se.
    But it could be good performing a couple of tests.
    For example, if you switch to a different workspace (also with the panels docked), do you still get this?
    Does this happen with an empty (or nearly empty) project as well? Or it only happens when you have a lot of comps/viewers open?
    If you switch to the "All panels" workspace (forget ScriptUI for a second), is it still slow?

  • Example program forces front panel screen size

    I am somewhat of a novice at LabView programming.  I used an example program as the starting point.  I expanded the front panel, added buttons and displays, and added code to do additional things.  But when the program gets to the example code, it forces the front panel screen down to its original (example) size.  The help messages talk about going to File > VI properties > screen size but none of the settings solve the problem.  The code that I wrote starts with a full screen front panel and runs fine until the program gets to the example code then the front panel shrinks.  There must be something in that portion of the code that is setting the properties.  Anyone know what is happening?

    Hi Gary,
    Anyone know what is happening?
    You already answered that on your own:
    There must be something in that portion of the code that is setting the properties.
    All you have to do is find that part of code!
    Start searching using breakpoints and step-by-step execution (aka basic debugging techniques)…
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Picture Indicator slows down front panel

    Hello folks,
    I would like to use the picture functions vi's to draw alot of dots on a bitmap.
    Problem is, that after a certain amount of dots (>10k) the vi starts to slow down if I show the indicator of the picture.
    However when I use a picture to pixmap and then redraw the picture from the pixmap the front panel indicator doesn't slow down the vi at all.
    I would be very grateful for a more elegant solution to this problem other than redrawing the picture from a pixmap.
    Best regards,
    Mark
    Attachments:
    DotDrawing.vi ‏12 KB

    Mark,
    When the image has more datapoints than the image has pixels or when the new image overlaps part of the old image, things can slow down.
    But I suspect that the real problem is the re-allocation of memory as the picture string grows.  Open the Draw Point.vi and Set Pen State.vi block diagrams and you will see that each of them does a Concatenate String operation.  Strings are stored in memory as a 4-byte length and an array of characters. Like any other array, the string elements must be in contiguous memory locations. So, as the string grows, frequent memory re-allocations must occur.  This can slow things dramatically.  The way those picture VIs are built there is no way to effectively pre-allocate the memory.
    I do not know how effective it might be, but you could rewrite those VIs to use arrays of U8, Initialize Array, and Replace Array Subset, followed by Byte Array to String.  Then only one memory allocation wold be required.
    Lynn

  • Can I have an array of controls without having them in the array front panel holder?

    I would like to link a number of boolean control buttons in an array without grouping them on the front panel the way it does when you make an array and then put in a boolean control.
    Here's the background:
    I have 8 linear motors controlled by CANbus, and so each button type (Move, Stop, Home, etc) is duplicated 8 fold.  I have an event structure that is currently triggered with a separate case for EVERY button with only a very small difference in the code inside each case.  Ideally I could have the buttons in arrays and then check the new array value against the old value on a value change event.  The alternative for me is to have each case handle the 8 buttons (with a Mouse Down? filter event) and then use the Boolean.Text value from the CtlRef and search an array of all Boolean.Text Values for the 8 buttons to see which name matches and process accordingly.  I have something like 200 buttons, so making the arrays of Boolean.Text values from the reference nodes is WAY too time consuming as I have to go through like 5 levels of right click menus.  Any suggestions?  

    Mark,
    You might consider using clusters on the front panel.  Create a type def'd cluster that has all the boolean controls for 1 channel.  You can drop 8 of these on the front panel and the event structure can detect a change in a cluster.  Easy to convert cluster to array behind the scenes.  Remember that order of cluster determines index of value in array.
    Message Edited by Wayne.C on 04-09-2010 05:19 PM

  • Dynamic cluster/array follow up question - front panel

    Thanks for the responses to my last question - they were great and fast!
    I'm still stumped on how to create the front panel. It doesn't really matter whether it is an array or cluster. It sounds like either way, once I have it I can autoindex through it. The basic application here is that I have a VI that will store one XY plot to our database. I'd like to wrap that in a VI that will take N XY plots and store them all in our database regardless of what N actually is. So in terms of creating the front panel, I tried to create an array control and drop a XY graph in it, but it doesn't seem to like that. It said that I hadn't added an element to the array. I also tried to drop a XY graph into a cluster control and that cleared the broken run arrow, but wouldn't I have to know how many XY graphs are being passed in? It seems like I'd have to put one graph in the cluster control for each graph coming which defeats my purpose? Remember I won't know how many XY graphs are coming into my VI in the array or cluster. Anybody know how I can set up the front panel?
    Again thanks for the quick replies!!!
    Best Regards,
    Steve

    Look at the attached VI.
    It has a single XY graph inside a cluster container, and that is inside an array container.
    With this setup, it wouldn't matter how many graphs you pass to the subVI since it's an array, it will take whatever is passed to it.
    Ed
    Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
    Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.
    Attachments:
    XY Graph in Array.vi ‏13 KB

  • How can I display only the Data Logging pull down menu on my LV front panel?

    Is it possible to hide all unused pull down menu on my front panel vi like File, Edit, View etc.. and only
    display the pull down menu for the Data logging?!
    best regards
                          Norick

    Hey,
    You can build your own runtime menu (Edit>runtime menu) and then e.g. only display the application items you want to.
    Christian

  • Front Panel binding of shared variables very slow initialization / start

    Hello @ all,
    I am using a server running Windows2000 and LV 8 DSC RTS for datalogging. All shared variables are deployed on that server.
    I am now facing the problem, that all front panels running on the clients using the network shared variables on the server take very long to sync on startup. First the flags on the controls bind to the shared variables turn red, after up to ten minutes they start to turn green. The panels use up to 40 controls bind to the shared variables.
    All firewalls are turned off. I tried to connect the client to the same switch the server is connected to. Same problem. Does anybody have a clue?
    Thx for your quick answers.
    Carsten 

    While I can't offer any solution to your problem, I am having a similar issue running LV8.0 and shared variables on my block diagram (no DSC installed).
    When using network published shared variables, it takes anywhere from 30 sec to 4 min from the vi start for any updates to be seen. Given enough time, they will all update normally, however this 4 minute time lag is somewhat troublesome.
    I have confirmed the issue to be present when running the shared variable engine on windows and RT platforms, with exactly the same results.
    In my case, the worst offenders are a couple of double precision arrays (4 elements each). They will normally exhibit similar "spurty" behavior on startup, and eventually work their way up to continuous and normal update rates. Interestingly enough there are no errors generated by the shared variables on the block diagram.

  • On my Ipod touch 4g all of a sudden all my music sounds as if they were slowed down. What's wrong with my audio?

    On my Ipod touch 4g all of a sudden all my music sounds as if they were slowed down. What's wrong with my audio?

    You need to turn off the Zoom accessibility feature.  Tap the screen twice with three fingers to get to normal screen. Then go to Settings>General>Accessibility and turn Zoom off.  You can also do that by connect the computer to iTunes and going to the Summary pane for the iPod and go to Configure Universal Access.
    For more info see:
    iPhone and iPod touch: Home screen icons are magnified or large

  • Can I Bind a Front Panel LED to a specific element in an array of booleans?

    In LabVIEW 2010 I have a string of LEDs. I have and array of boolean values that contain the values that the LEDs should indicate.
    What is the best way to connect the LEDs to elements in the array of booleans?
    Can I Bind a Front Panel LED to a specific element in an array of booleans?
    How is this done?
    Can anyone show sample code?
    Solved!
    Go to Solution.

    Imagine that you have an I/O card that provides 128, 256 or 1024 digital inputs and the requirement is to have an LED on the front panel to represent the state of each digital input. This frequently occurs.
    Wiring that many digital inputs individually is a royal pain and then some !
    It would make sense to have one shared variable as an array of Booleans that represents the status of all inputs and then use data binding instead of wiring each individually. The individually wiring would violate all recommendations on diagram size and fan out.
    Frequently scanned For loops to update all of the LEDS would take alot of CPU time.
    Wouldn't it be MUCH better if PSP could be used to update the LEDs whenever the data changed (as it is supposed to do) ?
    In my case I have a LabVIEW Yaskawa servo driver that provides me information about 16 servo drives that may be connected. I have LEDs on the front panel to represent some of that status for each individual drive. But Yaskawa provides the information on the drives as an array of clusters of information for each drive, which I perform some business logic on and turn into shared array of Booleans to feed the LEDs (and some banks of switches as well).
    Unfortunately LabVIEW does not seem to have any way to bind the LEDs (and Switches) to individual elements in the shared array of Booleans. It is just not that smart. Even with only several banks of 16 LEDs and Switches, wiring them individually using Decimate Array of Index Array functions is a royal pain and makes the block diagrams very large. It would be much worse and almost unreasonable to do if the size of the information was much larger.

Maybe you are looking for