LabVIEW Idea Exchange

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

When logging errors to a text file, I would like to see the latest error that occurred rather then the first error to ever happen and have to scroll to the bottom of the file and view the latest error (I know first world problems).  If there was a way to place the cursor at the start of the first line on a text file and enter the data shifting all the original data over/down, that would be helpful.  Currently when the cursor is placed at the start of the file it deletes the data as it is overwritten, if 25 characters is being written, then the first 25 characters of the text file is overwritten.

 

It is possible to read the entire file and concatenate the new data at string 0 with the old data at string 1, but if the file gets large (we don't clean our files / want to remove error data) this can become cumbersome and CPU consuming.

 

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019RNsSAM&l=en-US - Dated 7 July 2022, states that prepend can not happen the way I would like.

It would be useful if you could change the numeric (FXP) information (signed, word length, integer word length) of a data type during run time.

Since all diagram types must be known at compile time, there is no way to dynamically decide the type of a wire. Variants are the only way to handle dynamic types at runtime. However, variants do not expose any way to take data of one type and convert it to a different type within the variant.

 

This functionality would be useful for example, if you use the 'Get Fixed-Point Information - NI VI' to extract fixed-point numeric (FXP) information from a data type stored in a variant, and then could use that information to caste it into a variant. This is solved in the image attached using a case structure, but this is not a very elegant solution. 

 

image003.png

"<LabVIEW 20XX>\project\procmphier.llb\CMP Compare two VIs.vi" is an excellent VI that lets us develop tools to address some shortcomings of "raw" LVCompare.exe.

 

There should be a similar VI to open the LVMerge dialog.

 

The part of "CMP Compare two VIs.vi" that I find most useful and would be invaluable for LVMerge is the option to pass in different AppRefs, which lets us load different versions of VIs with the same name and compare them, thus providing a path to eliminate all the breakages associated with renaming files (eg "claims to be part of library," "could not find class with this name...").

 

There are some tantalizing VIs in "project\_promergevis.llb\NI_promergevis.lvlib" but there doesn't seem to be a public means to open the VIs in different application instances.

It would be helpful to add an option like "Digital Value" in the DAQmx Trigger.vi (comparable to Analog Window).
Background: when missing the edge of a digital trigger signal (due to being late in code execution after eg. waveform reconfiguration), the trigger event does not happen. With this new option it is possible to execute the trg event asap after missing the edge. 

Increase priority of Correct Action Request (CAR) #109501 created in ~2008 about sorting events alphabetically. Use cases include finding events quicker and simplifying comparison results.

 

c.f. https://forums.ni.com/t5/LabVIEW/Case-order-of-EVENT-structure/m-p/782114

Many times, at least in my codes, it's necessary to act only on a rising / falling or changed edge of a boolean signal.

Probably this option can be added for CASE-structures with a boolean-type case selector of cause. 

When you open a .lvproj,

and then open the "Dependencies" folder,

and then right-click on an item,

and then select "Why is this item in Dependencies?"

LabVIEW always crashes.  It's been like this for many years.

My idea is to change the "Why is this item in Dependencies?" so that it works instead of cras

Only method to verify time of the Time Stamp indicator is to go Properties of the Time Stamp>> Display format>>Select Advanced editing mode and see the Format String display.

MMargaryan_0-1686132778472.png

The Idea is to add Format String Display in the Display Format Default editing mode to make it easier for users identify if the time is local, UTC or other.

 

Hi

While working with LabVIEW I would suggest that there are broken arrow that shows that the code is not complete if we left to wire any input or output.

I would suggest that there should be an option in the block diagram that we can select the active region (it could be as to draw box) and LabVIEW should only consider code that is inside the box and outside of the box if any unwired input  or output should be ignored.

 

I hope  I made my idea clear.

 

Thanks

Asif 

Suggest adding features to the Intensity Graph as shown in the posted example code:

 

Intensity Graph - Cursor Slicing - NI Community

 

so that the Intensity Graph natively has the ability to display cursor slices as adjacent graphs.

If you want to animate a loading/waiting animation, you can make a series of pictures. But if you want background free pictures, you can use png. However, the quality of transparent png in LabVIEW is not good. Also in case of using picture ring, you can not make it smaller or bigger as well.

I suggest using graph and plot a circle showing circle points. Then make the graph background transparent.

You can set each point with different color, and change their color in a step/ramp using a loop (to show animation of circulation). You can also set number of points, points shape, size, and position.

Now you can make it as a subVI and use it wherever you want. Just remember to send the reference of the VI graph to the subVI and set the attribute and property of the subVI graph the same as the main graph.

It would be a good idea to leave the Control's appearance to be more flexible for modifications. For example, at the moment we can only modify the size and colors, it would be good to be able to modify the shape of them. This can enhance the experience to customize the Controls of LabVIEW. 

 

It would be a good option to be able to change the shape and color of Controls from within LabVIEW, not having to use third-party software to achieve this. 

The idea of this VI is making a function of remove data repetad in 1D but in 2D array, this function is not added yet in Array panel and I think can be usefull at the moment for operations request a segregations of data in 2D arrays.

 

The function consist in put in the control of the VI the column we want to search and compare the data repeated.

 

Also this VI give you the data was deleted from the 2D array.

to transform existing VI to be integrated into PA flows, the drop-in should be populate all controls and indicators to be used as connector variables. 

The "Call Chain" primitive: 

srlm_1-1656360156440.png

Sometimes I want it to behave exactly as it does today. But sometimes, like when I'm generating error logs and trying to only write down one copy of an error, I'd like it to give me the edit-time name of VIs instead of the run-time name of VIs. That means that reentrant clones would not include the trailing number.

 

I would like there to be an input (bool or enum) to specify the naming of clones in the call chain. 

good day forum

 

propose the above, simply for:

 

- automatically building the web panel by populating the control types on the original referenced VI, adding and styling it with the GWeb control style

- automatically linking the referenced vi's and gviweb's controls

- execution mode: clone per session (default, specified connection limit), & single login session; to prevent race

- if VI reference stopped running, broken, missing or irrecoverable error, return 404

 

to reduce recoding works

 

*cannot find appropriate labels in "additional idea" thread, kindly relocate post to appropriate thread, TQ

It makes no sense to write the channel name every time with TDMS write. You could easily improve write performance and disk utilization if you stored the channel names once and used a smaller alias to them (see example below). There are other work arounds including buffering

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P9reSAC&l=en-US

But the downside of buffering is that the data is stored in memory so if you lost power, you would potentially be missing a large chunk of data. Also, this solution is compatible with the buffering idea in that this would make the files even smaller.

In my example even after just 100 writes, the example using the lookup table is 20% smaller.

We can also get even bigger gains if instead of using hex-ascii strings for the short names, we used an integer.

 

TDMS long name lookup.png

It has been needed for a very long time to have web accessible front panels.  During the development of NXG this problem was solved with the web module.  I am not sure why they stopped development with NXG because was an extremely nice upgrade and was making Labview more future-proof.  NXG was then turned into G web development software.  Personally, I think the web portion should be an addon and native to Labview as eventually, that is where it will need to go anyway.  In the meantime, the only solution we would have is to possibly use G Web Development software as a front end development and regular labview as a backend.  To do this cleanly we would really need the shared variables available in G web development environment.  This would open back up doors that were closed once NXG was not supported anymore and would offer a solution until something native is added to Labview.  In my world, every customer wants and expects web-accessible applications.  I get the response all the time "Your software can do all of this control but isn't accessible from a browser on our LAN - my residential doorbell can even do that".  If I am missing some method to implement this currently (other than SystemLink) please reach out and I appreciate you considering some kind of solution to fill this very large need.

 

PS - I still don't understand why NXG support stopped if anybody knows.  Took a little getting used to but I saw big potential with that development software.   

I really like the option to use indicators (connected to the connector pane) as the output for webservice methods. By default, Labview will serialize it to JSON, but text and xml are also options. It works quite well and it saves a lot of coding writing your own serialisation.
I have some suggestions for the serialize functionality:

 

1. order the JSON output by tabbing order when there are multiple output indicators. This prevents that you end up always clustering all controls into one, just to enforce order.

 

2. it would be nice if an enum could be represented by its string instead of its index.

 

3. support for maps