I just got "bitten" by the -808 Timing Loop error, namely one loop refusing to run because there is another loop with the same (random-looking) name, L364350956. What confused me was that an earlier version of the code, with the same timing loop, worked just fine! However, I subsequently added several VIs, one of which included another Timing Loop, which was also given the name given the name L364350956.
I'd like to suggest that names such as this that can be "randomly assigned" be generated more "randomly", for example, as L<# seconds since midnight>. This scheme would make it vanishingly-unlikely that the same name would be generated twice (eliminating the -808 error, unless the user deliberately chose the same name), and would be particularly useful for structures such as the Timed Loop where the name is generally not visible, and has little meaning to the user (except, as in my case, when it causes an error).
This way it's a pain to "copy past" image from one to the other control. It should be possible to customize two controls at a time
Using the 3D Surface Plot in LV2011 it is possible to switch on or off either "Surface", Mesh" or "Normal".
Being in the need of the surface normal angle for some calculation I was told that this data is not accessible through property nodes.
I would really prefer accessing this data instead of calculating it twice!!!
And by the way: Displaying large data arrays in 3D Plots takes computing power running on one core only. Wouldn't it be possible to have a parallelizing option here...
I'm using Key Down? and Key Up events to turn the keyboard into a series of switches for a behavioral experiment. For example, I want the user to push down Caps Lock with the left hand, Return with the right, then use the appropriate hand to do a specified task. By monitoring Key Down and Key Up events, I can capture the timing of the user's "button sequences" (to the accuracy of Window's clock).
Key Down? provides three indicators of what key is pressed -- Char, which is an I16 representation of the Ascii character (and hence can be "converted" easily into a string one could test, e.g. is this "A"?), VKey, an enum saying if the key is an Ascii character or a "special" key (such as Caps or Return), and ScanCode, which is another I16 that corresponds (somehow) to each key on the keyboard. There are also boolean indicators that can tell you if Ctrl, Shift, or Alt are being simultaneously pressed. Of these, the least "transparent" is ScanCode, as there is no obvious way (other than placing a comment on your code) to know that 58 corresponds to CapsLock.
Unfortunately, Key Up only provides ScanCode! So while I can write "nice" code that can more-or-less self-document that I'm testing for Caps Lock or Return (simply wire VKey to a Case statement, which will allow me to have a case labelled "Caps", pretty obvious, no?), I don't have such functionality with the Key Up event.
Suggestion -- add Char and VKey inputs to the Key Up event! This will make it "symmetrical" with respect to Key Down?, and will enable producing Key Up code that doesn't need to rely on "magic numbers" (Scan Codes) for specific keys.
One of the frustrating (and mystifying) things about Labview is that it doesn't seem to know what libraries it needs to compile an installer. I have to try and guess what libraries I am accessing and if I don't realise that one of the sub vis I used has used a function from the Math Kernel Library then I have to recompile the whole thing and do another test install. Depending on the size of the project and the machines that you are using, this can take a considerable chunk of time (on my machine that can be half an hour or more). It also selects a set of "standard" libraries to install, many of which I'm not using but I must take a guess as to which I don't need. Again, I won't know if a sub vi is accessing one of them until I actually try installing it.
Wouldn't it be great if Labview could look at it's own vi hierarchy and automatically include the libraries it accesses when you do a build - or at least tell you what you need like most other languages do. (Is there any others that don't?)
It will be really cool, and handy, if the string constant automagically switches to appropriate predefined String Constants from the functions palette.
Example: Space Constant, Carriage Return Constant, Line Feed Constant, End of Line Constant, Tab Constant. http://screencast.com/t/GdydME7v
On the other hand, it will be very convenient if clicking inside those string constants switches to regular string constant and allows you to enter the text in it.
Pretty self explanatory subject. I would like the ability to open a VI directly from the QD dialog.
There is already a QD plugin that performs this action (Open from QD), however this seems like something that should be native to QD.
The new icon editor is much better than the old one, however it would be a nice improvement if the user could restrict the number of fonts that are shown in the dropdown list for the text selection.
Realisticly most developers use what, maybe 2 different fonts when designing icons? Why not allow the developer to choose the fonts they want in the list instead of listing every font installed on the system.
Seriously, has anybody ever used "Script" for their icons?
I have searched but couldn't find any idea about that. At block diagram, if we ctrl+drag any variable Labview creates a new copy of the same object but when we ctrl+drag any terminal it creates a new object (terminal). I rarely create a copy of the terminal from block diagram. Sometimes if the code is really huge and you put a terminal inside the code without being noticed when you drag that code it becomes hard to clear new terminals. I think it would be better if Labview creates the local variables of the dragged terminals. Front panel action and ctrl+C - ctrl+V should stay same.
If you are using Global Variables in a project, and you drag the control from the Global VI's front panel to the block diagram of another VI, the item gets placed on the BD as a constant. It is more desirable that this action drop as a global variable node associated with the dragged control. If either the global VI in the project or the global VI's icon is dragged to a diagram then the result is a global variable node, but then always defaults to the first control in the global so you have to manually change it (this default choice is natural as LV would have no clue which control you wanted, fair enough).
This idea is to create some way of moving a control from the front panel of the global VI to the block diagram of another VI in such a way that LabVIEW knows to drop a global variable node instead of a constant. Because changing the standard behavior for dragging a control from any panel to any diagram would result in user interface inconsistencies, the suggestion is that ctrl+alt+drag be used to indicate that the user is performing a special drag, and when this drag is from the FP of the global VI to the diagram of another VI, LabVIEW should drop a global variable node.
Note: before I get people commenting that GVs are bad bad bad and should be removed, this idea does not attempt to rationalise the need for (or hatred of ) GVs, lets try and leave that for a different thread.
The current plot legend shows the Text (plot name) on the left and the plot color preview to the right. A good feature would be the ability to switch these too. So the be able to move the plot color preview to the left and the plot name to the right.
Actually if you have a vi in a Xctrl library and you want that code to be a property or method of that Xctrl you must create create a blank property or method and copy that code into the new property or method vis. I think it would be a really nice to have, if we would be able with a simple right click in the subvi of the subvi if we had a option that allows us to "Make subvi to property" or "Make subvi to method".
It would be nice when Folder Auto-populating will populate VIs to LV Class (.lvclass) and to LV library (.lvlib).
When we use Folder Auto-populating in projects then project hierarchy match disk hierarchy. It would be great when class and lvlibrary hierarchy match too.
Names says it all really.
Once I am happy-ish with the performance of a VI I usually tidy up wiring etc.
Now that I have started to use Class Property Nodes very often you wish to re-order them just to make the wiring more efficient (you know, the shorter the wire the quicker the code executes).
It would be really great if we could use the switcheroo tool to swap positions of two elements in a property node. I would be satisfied if it did nothing with the wiring, because I would likely tidy it up immediately after anyway.
Not sure this idea will get much traction due to rather limited appear to most, but vote it up anyway!