-
Posts
3,432 -
Joined
-
Last visited
-
Days Won
289
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by hooovahh
-
I'm also wondering what controls you're talking about. There are a bunch of things I don't like about Windows 7 (removal of up button, highlight whole row in explorer, unintuitive search, sorting windows constantly) but I didn't find anything wrong with the new controls.
-
If there is no pop-up asking for a password when you press "CTRL + E" then my guess is they removed the block diagram. In some versions of LabVIEW you could choose to save without block diagrams, but later I think you have to do it through scripting, or a Build Specification in a project. Try opening the VI in another version of LabVIEW. I think you won't be able to open it if there is no block diagram. If this is the case then there is no hope in getting source code out of that file. You'll need to get an original copy or recreate the functionality.
-
Wow thanks, there are some really neat examples in there. I think alot of engineers struggle with UI design (myself included). This is probably why it is so easy to spot a LabVIEW program from other programs, the controls and indicators tend to look all the same without much effort going into the UI.
-
Okay a couple things. Regarding your error, I usually see that error when I have MAX running an forgot to stop the task, then run LabVIEW and it can't get a hold of that resource. Not sure if you're familiar with MAX (Measurement & Automation Explorer) but if it's not running then this isn't your problem. Secondly I'm not a big fan of the Express VIs and am not sure how they work. But I believe you can simply get rid of the two express VIs on the left, and replace their output with a string constant (wiring into the DAQmx read), with the name of the virtual channel, or task you want to sample. Obviously the two string constants will need to be different, or else you will try to run the same task twice, and you will get the resource error you have. Also you may want to add a DAQmx Clear operation after each of your Stop operations. Another minor issue I see is you have 2 indicators for each output. You can right click the POT 1 Reading dial and go to Visible Items and choose Digital Display. With this I believe you can get rid of the extra indicators. Have you ran a NI example on your channels? If you go to the Help menu then Find Examples. I'd recommend searching for DAQmx and finding a Continuous Read example then use your virtual channel name (made in MAX) and see if the NI example reads your AI.
-
Personally I would send the reference to the sub VI and manipulate it there, but there are many ways to do what you want, and I'm not sure what is the most efficient way.
-
I might be wrong but I think 8.2 was the first to take advantage of multicore PCs and only up to 4 cores. Then in the next major release of LabVIEW they supported more cores, I think 16 or 32, some number much greater than I was concerned with.
-
I remember someone mentioning a similar problem, where their code was running fine, but a broken arrow in the build. They said the issue was that during the build process it looks at all the VIs that are dependencies and determines if the code is broken. He had a test VI that was broken in a disabled diagram structure, so the code would run just fine in development, but the VI was still a dependency. I hope I'm not re-telling his story wrong but I would suggest searching for the disabled diagram structure and see if there is any broken code in any of them. Just a thought.
-
LabVIEW Development System Has Stopped Working
hooovahh replied to BobHamburger's topic in LabVIEW General
Not sure how I missed this thread for so long but yeah I was going to say that with Windows 7, Virtual PC is installed and you can run in XP mode, which is basically a free XP environment that doesn't have any licensing issues. This is convienient because you can copy your virtual hard drive make a new virtual machine, and not have to deal with licensing or network naming conflics as long as you only start one at a time. Don't get me wrong I think I like VMWare more but it's not the standard at my company. Also you should know that there is a free version of VMWare that allows you to create virtual machines, it is VMWare Player. Despite the name you can make virtual machines as well but the motherboard it emulates might not meet all your needs. (ie no USB booting support) The other thing I was going to mention was licensing issues with Windows 7. For that reason I don't know many people here that run a virtual machine of Windows 7 but I know some do. I think we get away with it because of our site license of Windows. Again I'm not in IT but they make it work for us. A good percentage of our customers still prefer XP, so for us it makes sense to have a virtual machine in the same environment. -
You know that the Office didn't invent that right? Also when I read the title of the post I imagined someone dying trying to get to lava.
-
One option is to just have a image constant of your text. Very hack job I know. I did also find this post that shows how to rotate an image, but again I don't think that's what you are going for either but it seemed related to what crelf said about rotating images. http://forums.ni.com/ni/board/message?board.id=170&message.id=491856#M491856
-
Okay I found a site that helped me kill some time while I was stuck in the airport due to weather yesterday. http://clientsfromhell.net/ It's kinda hit and miss for me some are funny some are lame, and some seem fake but even so I made it through about 30 pages of them. Most are website design, or photoshop related but I think programmers can appreciate them too. Here's a few of my favorites.
-
I may get excited easily, but that is the coolest thing I've seen today...okay maybe even this week. I want to ask you a bunch more questions but I guess I'll just wait until something is announced or released by NI.
-
I'm not one to question wikipedia, but I don't believe a Wiimote can detect depth by any means other than looking at how far away the two points are. Maybe that's what they meant. The Wiimote is just an IR camera that can track up to 4 points. I think what it meant by saying it can detect depth, is that if you have two points of light, and you know they are 2 feet, and you know that 2 feet is approximately X number of pixels in the IR camera, then you can calculate how far away you are from the two points of light, by how close the two points of light are away from each other. (hope that makes sense it is kinda wordy) I know that some people use this technique to adjust for their projector which may have the sensor bar farther away than most TVs. The problem is that the two points of light are too close to each other and it has a tough time detecting them independently, so people will make their own sensor bar where the points of light are farther apart, there by allowing them to be farther away from them.
-
Thanks, I did searching before posting but couldn't find that thread for some reason. I tested it on Windows 7 32 and 64 and it worked as expected.
-
I did some searching and I couldn't find the function I needed. I wanted to know if my EXE (which was built on 32-bit LabVIEW) is running in a 64 Bit operating system. The Conditional Disabled structure has Bitness, but that reffers to the bitness of the code (is this being built on LabVIEW 32 or 64 bit), not what operating system am I running in. There is also a property node that is Application.TargetOS, but this also only returns the OS it was designed to run on. So I wrote a VI to do this, but I wanted to know if there was a better way, a more native way to tell if the operating system I am running in is 64 bit or 32 bit. Right now it reads the registry, and looks at environment variables which seems cheap to me. I'd like the solution to be universal among all operating systems, but my VI only works on Windows. It has been tested on Windows 7 32-bit, and 64-bit, and Windows XP 32-bit. I'd like to know if there are any issues with it running in XP 64-bit, and Vista 32 and 64. Is OS 64 Bit.vi
-
I recently found out that LabVIEW can read the registry without needing higher privileges. When you do your first Registry Open there is a method enum which by default is Write and Read. If you only need to read set it to Read and you won't get permission errors. But yeah since you will likely need to write the registry you will need to run the program with higher privileges.
-
Are you talking about using LabVIEW FPGA talking to a host LabVIEW program running on Windows? Or are you talking about a generic FPGA talking to a host LabVIEW program running on Windows? If you are programming an FPGA with LabVIEW, talking to your Windows based LabVIEW program is very easy using a DMA buffer. If you have the FPGA toolkit for LabVIEW installed, then you should have the examples in Example Finder, that shows how to setup and use a DMA buffer of data. Just search for DMA.. The other normal way of getting data from LabVIEW FPGA to a host us from reading the indicators on the front panel of the FPGA code. This is slower and is a single shot read so I don't think this is what you are looking for. If you are talking about a generic FPGA talking to LabVIEW, I have no input because I've never needed to do that.
-
Put your LabVIEW in the Tray -- Once and for all
hooovahh replied to Stinus Olsen's topic in Code In-Development
Sweet, I'll definitely check it out. I've been interested in this kind of functionality for personal reasons and always wanted to spend time wrapping some VB code with LabVIEW to get the functionality I wanted. -
That was part of it. The other reason was because if you have something like this as your string 1234, 5678 And then use the Spreadsheet String to Array function using comma character you will have the first element be 1234 And the second element be \s5678 (Note the space before the 5678), I just recommended the remove white space so that your array is simply the numbers. If farther down the line you wanted to do something with the string representation, say transmit it over RS232, you would transmit the space character then 5678. For your use it may not be necessary.
-
I would use the Spreadsheet String to Array function converting the whole thing to a 1D array using the comma character as a delimiter. I'd then remove white space from each element in the array from the front and back. This will give you a 1D array, where every even index is real, every odd index is imaginary. Then you can use the Decimate 1D Array function getting a 1D array of real, and 1D array of imaginary. Then you can take these two 1D arrays, and make a 2D array (using Build Array) which will make a 2D array with two columns (or two rows using transpose 2D array). Hope this helps.
-
Programs that are 32 bit but in a 64 bit environment will be in the Program Files (x86) folder. So while LabVIEW.exe may be a 64 bit program (and so installed in "Program Files") Some other programs that NI installs may not be 64 bit. So if MAX was still 32 bit (not sure if it is or not) then it would be installed in the (x86) folder while LabVIEW it self would be in the normal "Program Files" folder.
-
What are the *real* system requirements for LabVIEW?
hooovahh replied to Justin Goeres's topic in LabVIEW General
I can't answer for neBulus, but I read that to mean using the Defer Front Panels property, then do stuff, then enable front panel updates (using the same property) I've seen alot of improvements using this with trees, and UIs that have alot of changes (control properties and such). In my experience RAM is a big part of it. LabVIEW can eat up alot of RAM, and Windows will do funky things with virtual memory and may allocate LabVIEW to use page file RAM even when there is several hundred MB of physical RAM available. The more physical RAM available the less likely it is for Windows to use the page file. There are ways to not use any page file (or make it smaller) but it's there for a reason, like when you run out of physical RAM, I just wish Windows managed it a little better. -
Statechart Module Tips and Tricks
hooovahh replied to AlexH's topic in Application Design & Architecture
I totally get the same impression, but have never used it my self. I guess advanced programmers just think they can do it faster and better by them selves. I'm not sure how well my charts would look anyway because large applications tend of have alot of cases for performing specific operations, and I would assume that would make the chart took very cluttered. Like I may have a case for Defer Front Panel, then a case for Get Data, then Write Data to controls, then maybe Change Properties, then Defer Front Panel again, but if I made my own chart for documentation I would make one bubble for Update UI. As for passing data in and out. Some people use Queues which work well, or functional VIGs, or a combination of a Queue inside a functional VIG with wrappers, or user events, I've never used the Global Variables for such a task because it's hard to track it and find out who is reading or writing to the global at any time. At least with a VIG you can build in some logging to know who is making the writes and reads and setup break points. -
Best solution for Ethernet or Serial communication
hooovahh replied to machyaer's topic in Application Design & Architecture
If you're looking for architecture suggestions, what's wrong with the standard queue driven state machine? You can have an Init case, and close case that can be used to restart the driver if there is an unexpected crash. With a sequence architecture like both of your examples, there isn't any way to perform a close and restart operation (maybe in the bottom one but I still don't like it). If you want to stick with simple I would suggest using the top option, but replace the while loop with a while loop and an event structure in it, so there doesn't need to be polling for controls, but you also have a timeout for reading if desired.