Jump to content

hooovahh

Moderators
  • Posts

    3,450
  • Joined

  • Last visited

  • Days Won

    294

Everything posted by hooovahh

  1. So at NI Week the pricing mentioned was $500 for full version $400 for board only. Since then a NI rep has said $250 student, $500 University, and $1,000 for non-academic use. (all prices I assumed were US dollars). I've been keeping my eye on the MyRIO page, and signed up for updates but haven't seen or heard anything so I just emailed my sales rep to see what my options are. The detailed spec looks less impressive then I was hoping but still cool. One thing I noticed is the AO rate on the FPGA is the slowest that NI offers. Analog Input rate 500KS/s (aggregate?) and Analog Output 345KS/s. What is odd to me is I have never seen aggregate sampling rate on an FPGA before. Still I want to see what I can do with it. Add an LCD display, and a keypad and you have a good platform for making something.
  2. I think your speed test is a little flawed. You shouldn't be updating any UI indicators in states that you want to know how long it takes to execute, because these operations like updating the UI happen asynchronously and can effect the time a state takes to execute in an unpredictable way. I would also recommend removing debugging, and automatic error handling. That being said I still saw a large improvement using the example class you had. I don't have any other classes to test it with at the moment.
  3. I couldn't get your snippet to work, can someone else confirm that something was lost in the upload?
  4. It's low brow when compared to the sophisticated British humor. (I meant to link to the Simpsons episode that made fun of Benny Hill but I can't find it)
  5. To add to this, when a quick drop function runs, it runs in a different application instance. This may make debugging slightly more difficult. Once you get a break point to trigger you don't really need to worry about it but I'm guessing what the issue was is that you set a break point, but it was for the main application instance, and hasn't been resaved, so when the quick drop ran the break point wasn't called in the new application instance.
  6. I think you need to learn to ask questions a little clearer, but I think I see you problem and I would consider it a bug. In LabVIEW 2011 SP1 I made a button, then set it to Switch Until Released. In this state the user should will click the button, and when they release it it will return to the state it was in. So a user should only ever have a True state when the button is down, and when the mouse button is up it should always be False. What mojalan was trying to say is if you press and hold the center mouse button (button 3) the button will change to True as if the left mouse button had been used. Then while holding the center mouse button, hold the left mouse button. Now the button will change to False. Then release the center mouse button. Now the button will change to True. Now release the left mouse button, but this time the button remains True. There are many work arounds. The first that comes to mind is use an event structure and select the "Mouse Down?" event, and if the mouse button is button 3 then discard the request for a mouse down (wire a True to the discard terminal). This will then prevent the center button from doing anything.
  7. I often rename when a VI no longer means what the file name may suggest. I may have a VI that determines the pass/fail status of some DAQ measurements so I name it "Determine DAQ Pass Fail.vi", then I realize my software needs change and I now need to determine pass and fail status for many other mixed signals like CAN, I2C, calculated information, and other data, so I modify my VI to now handle determining Pass or Fail status for any data type but the VI name just states it works with DAQ. So I rename the VI to be "Determine Pass Fail.vi".
  8. Yeah you were a little unclear on what you wanted. What you want can be done with Invoke or Property Nodes. I've never done it before but it wasn't too hard. Attached is a VI that will make a VI, drop in an Invoke Node, change it to the VI type, then set it to Abort VI. Saved in 2010. Create VI With Abort Invoke Node.vi Create VI With Abort Invoke Node.vi
  9. An Invoke node can not be tied to a VI directly like it can to a control within that VI. But the easiest way would probably be to use a Static VI Reference, put your VI you want to reference into it, and then wire the reference to the invoke node method. You can also use the Open VI Reference if you know the VI Name or VI Path.
  10. I had similar issues with SVN. To resolve it I now use a SVN plugin to perform the rename for me, which renames it in SVN and in LabVIEW at once, so there is no issue. I wonder if the Mercurial API could help with this tool. http://lavag.org/files/file/162-mercurial-api/ That being said before using that API what I would do is a rename in LabVEW, then an update in SVN. This would cause both files to be there on disk. Then I did an SVN delete on the old one, and an SVN add on the new one.
  11. Yes but often I find my self performing the cleanup after scripting, and then adjusting the wire bends manually because the cleanup and auto wire route only go so far.
  12. I don't remember ever seeing this, but I tend to try to have unique names in my cluster (and master configurationcluster) so maybe that is why I've never heard of that issue. I wonder if the In Place structure does the same thing.
  13. When you select a file to be "Always Include" which isn't a LabVIEW file, it doesn't put it in the EXE. Go to the Destinations category and you'll likely see two things, your EXE and the "Support Directory" this is the location where files that don't go into the EXE will be when the build is done. So if I include a JPG file as Always Include it will go in the folder specified by the Support Directory. This is usually something like <folder where EXE exists>Support or data in older versions of LabVIEW. So what this all means is you can call "Motor Monitor.exe" from your top level EXE, but you will need to know the path relative to the main EXE which is defined by that Support Directory settings. You can also click the Preview category and choose Generate Preview to get an idea of the file structure that will exist after the build is made and it should show you where the Motor Monitor EXE will be.
  14. Well if you use an Invoke node instead of a Property Node you can get the "Text" from a comment. I have no idea how that will look if the comment is actually an image.
  15. We are all of the engineering mind set, and as a result I'm sure each of us can come up with an equally effective way of blocking the spam. Block users, have Report to Moderators temporarily remove the post, blocking by IP etc. But many of us don't know what tools the LAVA Admins have to combat this issue. Until told otherwise I will just keep doing as Michael has instructed, and continue to report spam using the Report to Moderator.
  16. I use the RSS, but I also go to the site and look at View New Content too. So while I notice RSS broke this morning, I just went to the site and clicked on all the new posts I was interested in. How can you rely on RSS alone anyway? Doesn't it only show new threads and not new posts?
  17. I think you could. I don't think you would want to but I think you could. The 6229 is nice that it has 32 digital lines on Port 0 because if you didn't know: Only DIO lines on Port 0 of a 'm' series card can perform buffered digital in or digital out. Search this page for "Port 0" and you'll see the catch http://sine.ni.com/ds/app/doc/p/id/ds-15/lang/en So we can read a buffered digital line on port 0. So this means we can setup the timing to read a digital line at 1MHz and read it for 1 second. Then you will get 1,000,000 values of 0 or 1. This can be done with finite or continuous reading like an analog input. Now when you get 1,000,000 you will likely have a difficult time understanding what that means as far as serial. You will need to look up RS-232 specifications to understand things like parity bits, and other communication layer things that will be in your read. If you can interpret that information correctly you will eventually get the ASCII representation of the message. I've never done this so I can't say if there are other issues that I didn't think of. But really is all this work worth less then the $13 USB to RS-323 adapter? Not all of these devices support talking to all serial devices, but they work for most applications.
  18. So this method is tricky in that it maybe harder to debug. You can get references to the control programatically so you don't need to create all those references and bundle them. Instead get all references on the front panel, then filter based on something. The attached demo uses the Label Text and says find all controls with the label that starts with the text "Boolean" Then it sorts the references then it sets them where everyother is a True and False. This same type of thing could be done but use some other attribute of the control to identify it. Maybe you look for controls that have a tip strip that start with "Cluster1:" and the full tip strip could be "Cluster1:1" for the first item and "Cluster1:2" for the second. Or maybe use the Control Description, or use the Label, but hide it and only show the Caption. Then you'll have an array of Control references that you can then convert to a Cluster of references. This issue I mentioned earlier with this technique is that a new developer may see the value of a control change, but when they right click and say Find >> There are no local variables or references. Get References to Controls.zip
  19. If you are on the front panel and CTRL+E CTRL+W then I just perform another CTRL+W. Like I said I think there could be a way to make CTRL+W close both front panel and block diagram when you are on the block diagram but the only method I know that would work would be hacky. Multimonitor setup here, so some times I don't even have a LabVIEW window active and press CTRL+E on accident, and you find what that key combination does in other programs (calculator brings up the date calculator, Explorer window brings up search, Chrome enters a ? in the URL). I also discovered the Project window behavior you this way.
  20. Uh...so...future of LAVA?
  21. What OS are you using? What .NET versions are installed? I've seen some kind of issues when on a fresh XP machine that has only a couple versions of .NET (say 1.0 and 1.5) but the NI installers require some first, and then you need several others that NI installs for things like MAX. I don't know if this will fix your issue or not but you can try to install all .NET components first separately and then try again. I'm guessing that's what the "Microsoft Run Time Engine" is referring to.
  22. Yeah I don't mind clicking report for all of these, I just hope the admins can sort by posts, so if they see the same post reported as spam 20 times they can just delete that post and remove the 20 reports they get. On a slightly different topic does LAVA need more volunteers for admins? I always get the feeling that there are only a few admins, and almost 20,000 members (most with 0 or 1 post but still)
  23. I hope this isn't some program Phillip wrote to post on Lava through a VI or something. That's what I always think of with these types of posts.
  24. Well I sure hope it doesn't go away. I wanted to celebrate my 1000 posts by buying it to support this community. It looks like the entire store is being worked on, hopefully this means some new revamp, instead of removing it. EDIT: Also has anyone bothered to email support@lavag.org? I haven't because I figured someone else has about this topic already.
  25. I suggest this: http://www.ni.com/white-paper/5241/en All of your while loops have a TRUE wired to the stop terminal, this means your VI will run for one execution, so changing the controls do nothing because the VI is no longer running. I also suggest looking into how to use the Waveform Graph and dealing with arrays. You need multiple points to be able to see a wave on a graph, but again you generate one data point in the top while loop and graph it instead of generating multiple data points and putting it on the graph.
×
×
  • Create New...

Important Information

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