LabVIEW Idea Exchange

Community Browser
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea

Many languages have that, why not LabVIEW?

 

See here for implementation details.

 

This would help me out loads to solve Project Euler's problem faster, at this moment LabVIEW is ranked 53, it would be nice if we had tools that help us improve that.

It would be great if LabVIEW supported the Python language, including any of its various packages such as numpy. Such computations would be much more transparent and easier to support than calling code in DLLs. They would also be much more open and flexible than the existing built-in computational solutions in LabVIEW, e.g., expression/formula nodes. Currently, I have to call Python scripts via System Exec.vi, which complicates data exchange. (NOTE: I am using an older version of LabVIEW: 2009 SP1.)

I use fixed point values quite a bit, and i do find myself splitting and joining them quite often when I have to roll my own low-level, optimized operations. 

 

The fixed point type is (generally) treated as an arithmetic type (e.g. floating point) rather than a logical type (e.g. integers). The (default) configuration should maintain this behavior.

 

split.png

What I would have found most useful is having Split cut the value in half and return the two properly configured fixed point values. Join would take two adjacent fixed point types and glue them together into one value. This definition would actually make Join equivalent to adding the two values.

 

Split could take an optional split location which dictates the binary point at which the values are split apart. I suggest defining the value as the location of the lsb (least significant bit) of the high part. In the example, the value would be 0 to get the equivalent behavior. This terminal would require a (immediately computable) constant wired to it since the fixed point output types can't be computed until this value is known.

 

 


Labview has a way of creating the equivalent of static variables in a VI similar to static variables in OO languages or function-scoped static variables in C. This way is through the use of uninitialized shift-registers in single-iteration loops (i.e dummy loops).

If multiple instances of a VI is created and the VI contains such a static variable, the value of the static variable persists from one instance to the next. I can see why this is useful, but I think it would also be useful if there was an option to make static variables of different instances of a VI separate.

Static variables are primarily useful for VIs that have some concept of state and you don't want to explicitly create a state variable or cluster that the user has to manually feedback with outside signals. For example, if you created a VI for a PID controller or a state machine, and you wanted to use an uninitialized shift register to store that state, you can not create multiple instances of that VI with out having the two instances intefere with each other. The two instances cannot maintain independent state.

I ran into this problem while creating a VI to implement a moving window of values. (as a side not, it would be useful to have a moving window VI)

It would be nice if we could programmatically set the inclusion of the upper and lower limits in "In Range and Coerce" function by having two additional input terminals in this function. This two extra terminals should be optional. With a value connected, the context menu option should be override.

 

Now it's possible to do it with a case structure. We may need to have up to 4 cases to cover all possibilities.

Hi,

 

for a complete validation of a software, it is mandatory to perform tests. When testing, we differ between two major tasks:

- static code analysis

- dynamic code analysis

 

For static code analysis, we got the VI Analyzer toolkit. It automates the task of looking into the sources (front panel and block diagram) and compare the current layout against recommended layout (style guide). Additionally, it detects known sources of issues for lack in performance or even crashes and misbehavior during runtime.

 

So it makes perfect sense, to define requirements that static code analysis has to be performed before proceeding to dynamic (runtime) code analysis.

Yet, VI Analyzer tasks have no option for creating such a link as a field "comment" or "description" is missing for the configuration!

 

I suggest to add such a field in the cfg-file level (exported VI Analyzer configuration) where we can add strings like [Covers: <req_ID>] as we are used to in LV code.

 

Norbert

Hi this is the first time a summit an idea, if there is anything else I would need to add to make the idea clearer I am open to suggestions. My idea is:

 

In the LabVIEW Core 1 - The Software Development Method it is mentioned among the design steps is the use of a flowchart and a state transition diagram. I believe it would be a great idea for the the LabVIEW project file (*.lvpj) to have a special type of file where we can create said charts or diagrams and develop them in an special environment all inside the LabVIEW IDE

Granted that I’am a new user of LabVIEW 8.2, I wonder if you could define the parameters skweness and curtosis not only using moments but also using K-statistics (there’s a bit difference).

 

I apologize for my English.

Luca De Vecchi

There needs to be a LabVIEW API for Requirements Gateway.  API functions would be

 

1. Open/Create Requirements Gateway Project

2. Add/Remove Requirement Document

3. Add/Remove LabVIEW VI 

4. Get Code coverage

5. Create Report

etc

 

I think this would be extremely useful with trying to dynamically get code coverage, and really extend functionality

The Logical Shift, Rotate, Boolean Array to number and Number to Boolean Array primatives should work with 64 bit values. Currently they are restricted to 32 bit values.

Match regular expression will return sub matches for any groups in your expression. So this expression: (\w+)_(\w+) would be sub match 1 and 2.

 

temp.png

 

However, LabVIEW only returns the string of the sub match, not its offset and length. This makes doing replacements on sub matches difficult and technically impossible because you then have to do a search and replace on the sub match and hope there isn't an identical string somewhere in the full string (causing an incorrect replace).

 

Other languages deal with this easily by addressing sub matches by slash codes. For example the first sub match is \1 and the second is \2. So you can say... search for this and replace \1 with that.

 

So I propose:

temp2.png

Currently the Labview Database Tool Kit doesn't support returning or working with temp tables in a stored procedure.  This makes a SQL/Labview developer have to make complete hacks (such as returning tables in comma delimited form) to return results that take multiple table manipulations to generate.

 

See this thread for an example:

 

http://forums.ni.com/t5/LabVIEW/SQL-Query-Works-in-MS-SQL-Server-2008-but-not-when-using/m-p/2151492

 

The second element in the ROI cluster is an array of Contours yet many sub vis will only act on the first contour in the array. Both the required contour descriptors(line and annulus) are available in the example image, but since the first element is a line, the circular edge find - which wants the annulus - throws an error. 

 

All it would take would be a simple index and logical test to fix this issue.

The lack of 64-bit Labview support has been fustrating. Having the availability of Labview 64-bit for so long now but still limited by the features that are not supported (slow to recieve toolkit support, mathscript, etc.)

 

I am in need of accessing common data types such as HDF5 and EDF. Discovering that these formats are avaialble in dataplugins was exciting, however to find that they dont work in 64-bit Labview was dissapointing.,

 

 

Regards,

Brian

This is being discussed lots.. There are replies like, each and every element can't be assigned with property of its own and it may require a huge memory..!! But, there is a property called Index Value which when written with Zero, it returns the Value of the Active element ( The Element visible or last edited element).. And this will be very helpful if just the Index Value can be assigned by us and we get the necessary Value we require..

 

array element reference.png

 

This will be of huge help and save a lot of time when working with Referencing and array whose Data Type is a Variant (Unknown)., Eg: Unknown Cluster..

 

I personally believe that this will be possible.. Because, if Memory and all such matters, there wont be a property like Index Value and get its Value alone. We just need to Extend this.. It will be useful in lots and lots of projects.. :):)

Following Robbob's advice from the end of this http://forums.ni.com/t5/LabVIEW/LV-2009-error-bar-plots-suggestions/m-p/987381/highlight/true#M441998 thread, I'd like to "bump", and extend, X.'s idea posted there:

 

A true, built-in, native (not x-control) error bar option on a standard fully-fledged X-Y graph- perhaps implemented simply as a different bundling of arrays to the graph indicator- eg bundle(Xvals, Xerrs, Yvals, Yerrs) or bundle(Xvals,SD(X), Yvals, SD(Y)). In the latter case, the depiction of each data "point" as a gaussian intensity "blob" would be the answer to a years-old dream of mine...!

 

Thanks for considering....

It will be good to have a option like "Close all but this" in File Menu; which will be very useful to close all the sub Vis after debugging and just run the main Vi with all sub vis closed. i feel it would be very good to have this feature.

 

This is similar to the one in Notepad++.

Many of the Mathematics and SIgnal Processing VIs retain state, rendering them unusable inside reentrant VIs: http://digital.ni.com/public.nsf/allkb/543589DF37BA48CF8625744A00543FF3

 

Many of the VIs in this list (all those in my current application, unfortunately) can only work with single-channel data. When manipulating multi-channel data, you can work around that fact by running the channels serially through the VI you need, but that (1) takes much longer for large data sets or several channels, and (2) is not an option when performing live manipulation of streaming data block-by-block.

 

I ran into this problem while developing code in the Actor Framework, where Do.vi and Actor Core.vi (the two main framework methods) are both Shared Reentrant. Now that AF is a native feature in LV, I expect that more people will run into problems with these VIs.

 

We need stateless versions of these VIs so we can use multiple copies in on a multichannel data set. You can probably keep backward compatibility by pushing the core logic to a new stateless subVI and keeping the shift register or feedback node on the main VI's diagram.

Ich hätte gerne die Möglichkeit, in einem Diagramm mit 2 Y-Achsen 2 Graphen darzustellen,

die unterschiedliche Einheiten haben, z.B.: Spannung[V] und Volumen[m^3]

This is really just a small time-and-space-saver...

 

It would be nice if the * Array Elements functions found in the Numeric and Boolean palettes would work directly on clusters:

bd.png

Yes, the names would probably need to be changed ... but on the positive side, these functions do not even reside in the Array palette!! (Maybe they were destined for better polymorphism from the start Smiley Wink)

 

addmult.pngandor.png

 

 

It would be an added bonus if Darin's complementary idea was implemented at the same time.