LabVIEW Idea Exchange

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

Hi,

 

I want to find warnings in an opened VI. For example, a function has moved outside the case or loop structure and is not visible anymore. I call the error list STRG +L and give the show warnings a TRUE. I double click on the specific warning and I get the invisible VI or function highlighted, so I can move it back into the visible area by keys. The problem is, I always have to find the VI in a list of approx. 1000 VIs, which have a warning. It would be great if I would have a search by name function, or I could see the warning/errors of the active VI window. 

I have attached an example picture of what I mean (I use a german version) 

 

Cheers 

RogerG

 

I need "something" that is flexible and not necessarily defined during development... can be expanded or superseded over versions without breaking VIs.

 

currently using map, with main VI setting the keys and values and called VIs/subVIs processes only the keys specified (with default values) within the called VI itself. additional checks are required to prevent illogical or erroneous conversions during execution

 

something simpler/more elegant would be nice... the current ones are too "predefined" or "required to be defined'

 

any ideas?

When a folder is copied that contains (subfolders with links), the folders are not copied OK.

The copy command follows the shortcut/link and tries to copy that target.

 

https://forums.ni.com/t5/LabVIEW/Copy-a-shortcut-to-a-file-using-LabVIEW/td-p/97097?profile.language=en

 

(did not test it in detail yet, but I get a 'error 7' when copying a shortcut pointing to a no longer existing target. If the same behavior also is happening on 'move' or 'delete', following the shortcut may lead to very *unpleasant* suprises...)

It would be really helpful if we could specify a unique "friend" or group of "friends" for each method in a class, rather than a setting that applies to all members of that class.

Provide a way to save and recall sets of probes for a running application.  A developer could then provide sets of various probes that would help the end user.  The superprobe would remember the VI paths and locations in the block diagrams of the application's SubVIs and automatically load VIs from disk or monitor existing re-entrant copies in memory.  The superprobe would have a front panel layout, like a global VI, to look like a custom dashboard of important data values in the applicaton.

We use Queued Message Stage Machines a lot and often send messages through API calls. In a state machine I prefer using enums to determine the state and in the QMSM that would be useful too because sometimes a typo in a message in an API call stops it from working. 

 

However, the Message Queue functions accept string only. 

 

 

image.png

 

Even if we make changes to the message cluster or make the VI polymorphic but we would then need to do it every time we are setting up a new machine with LabVIEW. Would this be useful for anybody else? 

image.png

 

 

 

 

Report Writer BEFORE WIndows 10 was SUPER ROBUST! Now that Windows 10 came along there exist many "turds" left in the Registry when folks UPGRADE from Office 7 to Office 10.

What happens is the Registry NEVER NEEDED to be kept clean of extra junk because NOBODY EVER UPDATED Office.

 

Now every Joe on the planet updates their Windows 10 with the latest Office 10..


What happens if they do NOT FIRST UNINSTALL, is the Registry is left with "turds"


When Report Writer uses ActiveX to make calls to use Word, in the old days, there was a SINGLE key in the registry to allow the calling program to gracefully start Word or Excel, or whatever.


NOW< with Windows 10 there are FREQUENTLY multiple "keys" in a Registry that causxe the LabVIEW Report Writer to "Gag" and "Hang up" doing nothing.


The SOLUTION is for the Report Writer to PARSE the Registry for valid keys and allow the request to be passed to the propper called process.

 

If this is not clear, please look up the SR below. There are a TON of examples and videos explaining how to fix it.

 

I have been working with LV since Dr. G was roaming the halls on LV 3...

 

This is the FIRST TIME Report Writer has gotten "sick".


This is an EASY FIX for the devs and since Report Writer is a purchased plugin they sould be able to update it so it works well.

 

Currently, they have us fiddling with the Registry or telling customers to uninstall and reinstall Office. That is a BIG FAT NO-NO to big companies because Office WORKS COMPLETELY for them and even programs like SolidWorks and DXP that use Word and Excel for stuff.

 

My number 831-455-0418

 

DEVS:

Please see: Request #: 00994109] Can not get EXE BUilder to run on WIn 10

 

The code below will execute without error or warning. The value returned will be 127 in this case.

 

Why is that? I understand the error 91 is returned if the typedefs are incompatible but if the type is different but compatible I would expect a warning maybe?

 

Cheers,

Jimmy

 

var.png

Being able to initialize arrays as empty sets would be handy - not just as 0 or NaN.

I would like to watch the series of videos from 2012 about learning Advanced Architecture.  I would like to follow industry standards to ensure that I am building an architecture that will be understood by developers. 

 

I did a bit of research and somehow I managed to unlock the course as a student.  I went back to finish the course today and it switched to "you are not entitled to training courses".  I mean fair, but I feel pretty entitled to steer people away from LabVIEW if they come to me with interest in it...  

 

I'm not understanding how this model can possibly make more money than having more LabVIEW developers.  Easy access to training = more developers = more hardware purchases and certification puurchases right?  Am I missing something or is this model as bad for share holders.

 

 

Hi community

 

"propose to extend hashing function to include string for hashing sensitive information (1-way)"

 

currently hash function is polymorphic and accepts only path as input, perhaps:

- input terminal can accept both string and path, determining type internally and change accordingly, and

- instead of polymorphic, enum terminal instead?

When debugging a program, I'd love to have a node similar to the "abort vi" node that programmatically pauses execution instead of stops it completely.  You might say this is the place for a conditional breakpoint, but unless I create my own custom ones, it's hard to make something that breaks on, say, the third time an error of this type occurs.

 

I have places in the code where I throw an error that is fatal(-ish), but it isn't caught until much further downstream.  In order to find which of the many calling vis triggered this error, I have a few options:

 

1) I can list the call chain.  This works, but still takes until the point the error is caught by my error handler popup to actually list the full problem, and due to either programmer error or bad design, can sometimes be overwritten by other errors thrown and badly merged further down the line.

 

2)  I can delete the error wires throughout the program and ensure automatic error handling is enabled.  This pops up the problem immediately, but often I don't have enough context to know if the error is the one I'm trying to track down, and my only options are to continue or stop.

 

3) I can throw multiple conditional error probes or breakpoints throughout the program, which works, but both are ephemeral as most of the time they're cleared using the "delete all breakpoints" button, and probes are lost when you close the window.  I'd like a more permanent and preventative solution.

A Diagram Disable structure lets all the code that isn't inside of it execute but not what is inside of it. I think it would be helpful to put a structure around a snippet of code and execute only what is inside the structure. I usually copy and paste it into a new vi but it would be helpful to have that functionality within the vi i'm working on. 

If I create a zip file for my build distribution in a LabVIEW project, I can choose "Zip entire project" for Source Files.  In this case, the lvproj file is included.  However, if I don't check that box and instead pick specific files to include, the lvproj file is not included.  

 

Sometimes, there may be installers and other drivers included in the project that I don't always want to include for size reasons during development. 

 

I'd like to be able to choose whether or not to include the lvproj file when making a zip.

When you use Sort 1D array function, it sorts items but does not output sorted index numbers. This is a problem especially if a particular 1D subarray is used to sort an 2D array and if subarray has identical items in it. It makes it hard to rebuild the 2D array based on the sorted 1D subarray. If sorted index numbers are provided, 2D array can easily be rebuilt.

I want to suggest Case Structure Selector comparison to dynamically changeable values.

Now Case Structure Selector compared to constant Boolean/eNum/Numeric/String values.

I suggest to compare the Selector input to External Inputs, for Example:

If String control wired to selector equal to C control then do the C tab content.

vladgu_0-1576400089344.png

 

I have experienced similar problems many times when I need to compare the selector to a dynamically changeable variable.

Of course, there are other solutions but I think my solution may be useful.

Please add to AF:

Ability to Get Actor Enqueuer by Path through hierarchy of actors e.g. /root/pactor/chactor could be used to get the enqueuer to chactor. This would probably require actors to have unique paths pointing to them. Having a system manager keeping all enqueuers on local system is not a bad thing. It is a good thing.

 

In Java, any errors/exceptions that a function can throw (to its caller) are listed directly in its signature/declaration.  This would be nice functionality to have in LabVIEW.  Otherwise, the only way to determine which errors a VI can return is to either:

  • examine the code manually, recursing through all its subVIs or
  • brute-force exercise the VI until you have observed all errors that it might throw in your particular application. 

Neither of these options seems particularly robust or efficient.

 

It may even be possible for LabVIEW to determine the throwable errors automatically, although at least having the ability to declare them manually would be a good start.  They could be registered through the development environment such that they are stored in the VI file itself.  In this way LabVIEW could summarize all the errors a given VI throws based on those declared within it and its subVIs. I acknowledge that this would likely require a more sophisticated error system than the current error codes (since these may not be known at compile time).  But, I would be surprised if it couldn't be achieved in a similar fashion to Java where all errors are classes that inherit from a common "error" class.

 

If I'm missing some methodical, pragmatic approach for achieving the same result, please let me know.

hello forum

 

thanks NI for the new features in LabVIEW 2019, so far I am liking most of the things you have done; except for that 1 item, context menu change

 

Why change the context menu (on right-clicking wires)?

2010-2018 1..3: clean up wire, create wire branch, delete wire branch (7.1...7.3: create constant, create control, create indicator)

2019 1..3: create constant, create control, create indicator (4..6: clean up wire, create wire branch, delete wire branch)

 

surely NI have reasons, but can try implementing a customizable context menu as a feature instead? I used to be able to write or edit my codes with muscle memory, but now I spend more time undoing things... Smiley Indifferent

 

maybe the next patch? Smiley Wink