Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


hooovahh last won the day on June 10

hooovahh had the most liked content!

Community Reputation



About hooovahh

  • Rank
    Im no supervising technician Im a technical supervisor

Profile Information

  • Gender
  • Location
    Detroit MI

Contact Methods

LabVIEW Information

  • Version
    LabVIEW 2020
  • Since

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. So one thing I have done in the past is generate an installer using Application Builder, but not include any VIs or EXEs. Then you can call this NI installer silently from something else like InnoSetup.
  2. That's fine, it just helpful for others to know that a duplicate conversation is taking place elsewhere, so that we know not to suggest things already tried, or to suggest things that have been tried or won't work for some reason. Oh and in the past I have used this toolkit but have had issues with Windows picking the right printer in the past.
  3. In cases like these I assume (possibly incorrectly) that NI's compiler can handle these lower level operations better than me. They have more intimate knowledge about what is happening, and can make performance improvements to handle the delay and notification of data to dequeue better than me. Then again I know more about what my application needs than NI, and maybe I could write more specific software for a queue, and NI needs a more general purpose solution. I don't really have any more information on how NI implemented or handles queues and polling. I'm just glad that over the years it
  4. In a setup like this I might not even have a timeout or rather have a -1 timeout. This allows the dequeue function to just sit idle waiting for a request to take an action. That action might be to quit or something else. Another common thing you might see in examples is to use the error out of the dequeue and have it stop the loop. If the queue reference is destroyed while waiting, it will return an error and that can be a way to tell the loop to shutdown. A better method is to use a quit message of some kind but it is seen in several NI examples.
  5. The design choices of LabVIEW make it impossible to encrypt the entire file. The block diagram has to be readable at some point which means access to it will be possible in a variety of ways. I'm sure there's some kind of compromise between restricting VIs to a specific target and build of LabVIEW, and the current implementation. I just wanted to highlight the fact that the solution to protect the block diagram isn't a simple one.
  6. Yes there is no real native solution for this. NXG did tease a dynamic control creation but I'm not sure it made it far into development. Depending on your needs I would suggest different solutions. I have accomplished similar functions with picture controls in the past for creating a dynamic ribbon interface. Here a running VI can generate an image that looks like a set of group buttons, and tabs and allows for setting of various background colors. Another less polished solution revolves around parent and child relationships of windows, and dynamically running VIs. I called this the Mul
  7. I hope for that future too, however I get the feeling that with 35+ years of LabVIEW development, that parts of the system are in a state that open sourcing the project might take a larger effort then NI would want to put into it. Then there is the liability issue if some kind of exploit was found because the source was released. I'm lucky enough to work in an environment where my boss asks for work to get done, and is less interested in the means of getting it done. If I were making test systems for external customers I'd be more nervous, but internally I can just continue to use a legacy
  8. You don't need to hold your breath for the answer. There is a public beta, it can be downloaded right now for free, only requiring an NI.com account. It probably won't surprise you to know the answer to your question.
  9. Yes, I don't assume you use many new features of LabVIEW from the last 10 years if you still develop in LabVIEW 2009.
  10. LINX now is supported on commercial applications starting in 2020 BTW. Your opinion is valid, and you have reasons for it, but I think it might be a bit of forest from the trees situation here. LabVIEW tends to have a one or two major bullet points of new features with each release, with many smaller improvements that are less noteworthy. Some of these aren't very applicable to me and I don't see the benefit of the update, but I can still recognize that a bunch of effort was put into a making it into the release, and makes me think NI isn't sitting idle. I know I made a list like this
  11. Oh boy 2006, I think that predates the LAVA 1.0 migration issues, and then several other newer revamps. I certainly don't have this, and have no way of getting something so old. I can contact Michael if you'd like.
  12. Not sure if you are past this point or not, but be sure and take a VM snapshot at some point. Having a fresh VM for a semi-standard environment like LabVIEW 2017 SP1 with DAQmx, Vision, RT (or whatever is common for your industry) is super useful. Taking this another step you can have a snapshot for each project too. Sharing this with team members can be a pain, so I generally just go through this process at the end, or near the end of a project, then archive the VM somewhere on the network for safe keeping.
  13. I think combining that what PiDi gave, with a single column listbox, and an event structure that gets triggered on the Double Click, event would get you most of the way there. You can also try to capture a <CTRL> + G on the OS to go to the next. I think the Initialize Keyboard an Acquire input would work.
  14. Okay this is possible, but it may need extra work when making the file. TDMS data in channels by themselves are just 1D data. They have no way of knowing how much time is between each sample, or the start time. But you can write to the properties of a TDMS channel, and put in extra information like the start time, and time between samples. This works great for things like the Waveform data type, and when you write this data type to a channel, these properties are already written. So you can read the start time property, the dT (time between samples), and the number of samples in a channel
  15. I like TestStand but it is the one size fits all type of software. NI can't know what you'll prioritize in features in a sequencer and so it either has too few features and only can satisfy the simplest of projects, or it has everything thrown at it, in which case there are parts almost no one will use, and it might have a steep learning curve. That's why one of the justifications I agree with when it comes to a home grown sequencer, is that you know the types of features you need, and the types you don't. Now obviously requirements change, and you need to change with them, but high lev
  • Create New...

Important Information

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