Jump to content

jb1592

Members
  • Content Count

    7
  • Joined

  • Last visited

Community Reputation

2 Neutral
  1. Yes, I use the in-line execution mode on all the "constant" VIs that I generate as well. I tried out a quick POC performance test... There doesn't seem to be any real difference when using constants. I also tried the same LUT VI with the in-line execution switched off... that does make a HUGE difference. The in-line version is ~11x faster than the same VI with it turned off, and the VI that only contains a constant gets hit just as hard. Call overhead on such a tiny operation = ouch. I'm thinking the improved maintainability makes the LUT concept a winner. Thanks so much for the suggestion... now to rework my code conversion scripts and delete a lot of VIs I don't need anymore. 😅
  2. Maybe... weird that nothing else seemed to be affected at all though. Not a major concern, just thought it was curious. That's a pretty good idea... Certainly easier to maintain, although I wonder how well Labview optimizes code like that. I'm thinking it would be less efficient since there would be the external VI call to index the look-up table, but in most cases it would be a constant enum indexing an constant array... I wonder if the compiler is smart enough to just evaluate that to constant value when I build the application for deployment. One again, mostly just a point of curiosity. It's not like that anything I'm doing is that performance sensitive anyway. Thanks for the suggestion. I may do that. 😄 Edit: I read the link after commenting on the suggestion; I assumed pushing every value into an array constant and indexing, but that example is using a case structure. I wonder if there's any significant difference/benefit to one way over the other. I guess the array based LUT could have a share of space allocated to undefined values, but it shouldn't really be that much.
  3. I have a few libraries that contain a number of typedefs that I would like to insert on the function palette so they can be used to create constants on the block diagram, and I typically keep them all in a single typedefs folder while building my library. It would be great for quickly building the palette if the Add Folder of Controls option was available in the right-click menu for the Functions Palette.
  4. It would be useful for quickly building palettes if the file dialog that appears after selecting the Add Control or VI option allowed multiple files to be selected. This would be especially useful if a folder contains a mix of CTLs and VIs, or a mix of items that are wanted on the palette and ones that are not.
  5. Thanks, I'll do that. Option 2 would be nice, but I've wished a few times that the Add Control or VI option allowed multiple selections as well. That seems like the more versatile option if only implementing one of the two is feasible. Side question: Any idea why Chrome freezes will VIPM is processing a (very) large package? Background: This package I'm working on is actually a message dictionary for one of my company's products that has 27 different communication nodes and over 1200 defined messages. Since LabVIEW does not support sparse enums, the best strategy I've found to convert this into a LabVIEW library so far is using VI scripting to convert all the #DEFINES into individual VIs that are simply numeric constants wired to an indicator. Essentially, these are "constant" VIs. The end result is the library ends up having ~1450 files in it by the time all is said and done. LabVIEW has generally handled this library fine as a local library I've copied into my projects, but I wanted to package it to make it more easily distributed and easier to keep up to date when our R&D engineers release new product software. Understandably, it takes a while for VIPM to process all these files and build a package, and after installing it takes a while to update the package list. I suppose all of that is to be expected, but what's interesting is that Chrome freezes while a few of these steps are occurring. Every other application on my computer is responsive.
  6. I am trying to figure out if there is a way to easily add a folder full of typedefs to the function palette more easily than adding them one at a time. I've taken to the habit of organizing my library into folders that mirror the palette structure I want. This makes palette building using the Insert>Folder of VIs... function very easy. Unfortunately, that function doesn't seem to include CTL files. Any tips?
  7. Sorry to post in an old topic, but since this is a top Google hit... Is there a way to include 32 and 64 bit versions of the same DLL? I have a library that serves as an API interface to a USB adapter and I have two dll files with the same name. One of them belongs in System32, the other in SysWOW64.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.