Jump to content

Justin Goeres

Members
  • Posts

    691
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by Justin Goeres

  1. QUOTE(george seifert @ Mar 7 2008, 08:24 AM) I'm in the same boat. If I had a nickel for everything I've forgotten, I could pay people to remember things for me. There might be some magic in a MathScript node that you could bring to bear on it? Meanwhile, I worked it out by hand and it doesn't seem terribly complicated. Since x1, x2, x3, etc., are all known, those terms collapse into a constant in each equation. From there you can write a matrix equation and it all falls out pretty easily. Obviously you could do the last part with LabVIEW's matrix tools, but the gymnastics of expanding the original equation are something you might have to help LabVIEW with? VB VISA.zip EDIT: On second thought, now that I've written all that out I'm not convinced that the system is fully determined. If x^2+y^2-r^2 equals c1, c2, AND c3, doesn't it follow that c1==c2==c3? But if at least two of c1, c2, c3 are equal to each other, then your system isn't determined.
  2. I grabbed it while it was still up, but I'm disinclined to install it until it's official.
  3. QUOTE(JDave @ Mar 6 2008, 01:09 PM) Is there a difference? I'm inclined to believe that the sum total of "knowledge" I've gained in the last 5 years consists entirely not of things I have learned, but rather things I have bookmarked after Googling them. P.S. When I was first getting to know my wife, she told me that I'd score big points with her if I could guess why a particular series of concepts were important to her. So I typed them into Google. BAM! The answer was the first hit. "I'm feeling lucky," indeed.
  4. Someone with more m@d sk1llz and time than I should Photoshop that to replace "Software Simian" with "Certified LabVIEW Architect" . I kid, I kid...
  5. QUOTE(neB @ Mar 5 2008, 07:55 AM) I don't think it would encourage bad coding style. I frequently wish for Grouping on the block diagram so I can move bits of code around together without doing a multi-step select-an-area-then-deselect-individual-items-that-I-don't-want-to-move gymnastic. There are plenty of times when I'd use that functionality to improve the layout of code. Besides, if LabVIEW is a graphical dataflow programming environment, and we have standard tools for Grouping on the front panel, why wouldn't we have the same tools on the block diagram? I've often wondered, though, if there's some technical or usability reason why Grouping isn't available on the block diagram. It's reasonable to think that it's been explored at some point by NI. I'd be interested to know if there's an inside story behind it. QUOTE(T_Schott @ Mar 5 2008, 06:34 AM) what about creating sub vis for each "block diagramm group"making the code more readable There are scenarios where that isn't enough. Example 1: Virtually every subVI I create has Error In/Error Out terminals, and an Error Case Structure surrounding the code of the subVI. I would really like to be able to group the Error In/Error Out terminals with their tunnels on the Case Structure, so that I can easily move them up or down. This is a routine I go through for almost every subVI I create. Example 2: I might have a series of LVOOP class VIs that happen one after the other. In this case, I might not want to create a subVI containing methods from all those classes because it would (A) have a ton of terminals, and/or (B) create a subVI with a lot of class dependencies that I don't want. Creating a subVI also won't work if the VIs you want to Group are located both inside and outside some structures, but you don't want the structure to be part of the group. You're right, however, that creating a subVI is a solution some of the time.
  6. QUOTE(billings11 @ Mar 4 2008, 11:54 AM) One way I've done this for LVOOP-based instrument drivers is to create a "simulation" class as a child of my instrument class. So I would have something like.... MyInstrument.lvclassRead Current Value.vi (dynamic dispatch) [*]MyInstrument (simulated).lvclass (child of MyInstrument.lvclass) Read Current Value.vi (override) The simulated-instrument child class contains only VIs that override hardware-dependent methods in the original class. Back in the main app, I add some logic (probably in a Create Instrument state or some such) that checks a flag to see if it's supposed to be simulating the hardware or not. That flag determines which class instance I use for my instrument: either the "real" one or the simulated one. Then any method calls to the instrument in the app automagically go to the "simulated" instrument methods when necessary. This doesn't give you an exact answer to your problem, but you might be able to do something similar. Bonus: By using this method, you can add Private Data to just the simulated instrument, to track its state and do a better "simulation" of the hardware than you would get by just disabling the offending functionality in the parent class, and it doesn't pollute the design of the original class.
  7. QUOTE(crelf @ Mar 4 2008, 11:38 AM) Although if we were talking about Ben abandoning the email-subscription model, I would point out that it's easy to have RSS feeds http://www.rssfwd.com/' target="_blank">forwarded to your inbox. Disclaimer: I haven't tried the above-linked service; I've just heard that it's useful.
  8. Seconded. I barely even use the web anymore except through RSS, so anything that undergoes periodic updates is likely to go completely under my radar unless it shows up in my RSS feeds. EDIT: Now that I've watched the first TipJar episode, I can unabashedly admit that I'm a frequent visitor to the Example Finder, too. I think it's a great tool that's too frequently overlooked.
  9. QUOTE(PaulG. @ Feb 29 2008, 09:25 AM) A friend of mine recently took the CLAD exam, and there's a question floating around on it that has to do with when a For Loop will stop executing. One of the (supposedly wrong) answers is something to the effect of "when the value at its Stop terminal is true." Of course, starting with LabVIEW 8.5 that's a perfectly correct answer. So now the (multiple-choice, computer-based) test has two choices that are correct. :headbang: I was relating that story to my wife the other day, and she said, "Why doesn't NI get the community involved in writing/revising the exam questions?"
  10. QUOTE(crelf @ Feb 28 2008, 05:01 PM) I agree. More proper choices would be: The one near the top of the block diagram. The one near the bottom of the block diagram. No reason to care. :thumbup:
  11. QUOTE(crelf @ Feb 28 2008, 02:00 PM) In practice that's true, but is it guaranteed to be that way? I think the compiler could generate code so that the bottom one runs first, and everything would still be formally valid. My answer would be C, but at the same time I'd bet you all a round of beers at NI Week that the top one actually executes first, by the same reasoning as crelf.
  12. QUOTE(alfa @ Feb 27 2008, 11:27 PM) I'm going to start using that phrase as a generic assessment of people. E.g. I tried for a couple hours a crelf last year in November and I got headache; crelf can't do a good diagnostic.
  13. QUOTE(dbyers3 @ Feb 25 2008, 08:44 AM) I think that's a vast overreach. "Dealing with strings" probably wouldn't make the Top 5 in my list of "Worst Things About LabVIEW." I agree that string handling can take up a lot of screen real estate, but this can be mitigated a great deal by encapsulating more of your code into subVIs to hide (or at least contain) the messy parts. I also question whether you "have to use a lot of local variables". I used to think I had to use a lot of local variables, too. I didn't -- it was my general approach to coding that was wrong. And once I started using better G coding styles & techniques, a lot of other problems went away, too. All that having been said, I do sometimes wish the Local Variable node was smaller. In the (exceedingly rare) cases where I do actually need to use one, I find myself wondering if NI made them absurdly large to discourage their use .
  14. QUOTE(Zalon @ Feb 25 2008, 07:14 AM) One way to clean up your diagram in this case is to create the constant as ned recommended, then select the constant on the block diagram and do Edit >> Create SubVI. This will encapsulate the (potentially ugly) constant into a nice clean subVI. You can then make an informative icon for the subVI and save it with a descriptive name, like "Empty Array Constant.vi". I do this regularly for situations where I need a structure constant on the block diagram because I hate having ugly clusters or arrays clogging up my mojo. EDIT: Hey, look, jlokanis & I think the same things at the same time!
  15. I've been running Ubuntu 6.06 (Dapper Drake) for my server needs (SVN, email, webserver, etc.) for the last 2 years and I've been really pleased with it. For one thing, I've found their forums to be really responsive on the couple occasions I've had to ask a question (more often a forum search yields a result and saves me the trouble). However, I've never tried LabVIEW on it, so I can't speak to that.
  16. QUOTE(george seifert @ Feb 12 2008, 01:41 PM) I second the http://curl.haxx.se/' target="_blank">cURL recommendation. It's really great. It can handle logins/forms/cookies/redirects/etc. It's a little tricky to get used to unless you're accustomed to lots of Unix-style command line switches (even on Windows), but it's a great Swiss Army knife tool.
  17. QUOTE(Norm Kirchner @ Feb 11 2008, 08:18 AM) Well, they really didn't have the wave function until comparatively recently. It seems to be human nature to search for higher truth. But each society conducts their search in the context of the time they live in. The Greeks had mountains, chariots, and four elements. The Renaissance had telescopes. Alfa has wave functions. So it's mostly just a notational difference .
  18. QUOTE(alfa @ Feb 11 2008, 12:22 AM) That does not surprise me.
  19. QUOTE(Morten Pedersen @ Feb 8 2008, 03:24 AM) That's my setup (everything but PushOK), and I've been very happy with it. No problems at all.
  20. QUOTE(crelf @ Feb 6 2008, 03:29 PM) Bah. When I brought up a similar idea (admittedly, in a different context ) I got made fun of. My thrashing around in the linked thread led me to believe the important bits were stored somewhere near the end of the file, but once I realized I was chasing a flea with an elephant gun I stopped looking. Semi-seriously, if you have an old (pre-OS X or Classic-enabled) Mac lying around you might be able to figure it out pretty quickly using good ol' ResEdit. That's just the kind of waste of time I could get behind, if my old Mac wasn't broken.
  21. QUOTE(Michael_Aivaliotis @ Feb 5 2008, 11:57 PM) The forum software seems to have screwed up the text of your post somehow. I fixed it for you. :thumbup: And while we're on the subject, can I get an Amen from the choir, for The Internet? EDIT: In all seriousness, can someone translate the text?
  22. QUOTE(dblk22vball @ Feb 5 2008, 01:06 PM) Yeah, but try reversing the direction of your foot when you do that .
  23. QUOTE(sara @ Feb 3 2008, 12:37 PM) What's the error code, and what does the source text say?
  24. It doesn't work for me on my right side -- I can do the '6' and the circles without much trouble. Sometimes I have to think about it and my foot jerks a little, but it pretty much works. But I can't do it at all with my left hand/left foot. I'm one of those weird left-right (mostly left) hybrid people, though. Do any of you righties find it easier with your left side? EDIT: I also can't do it very well on my right side if I switch the directions (foot counterclockwise / make the '6' backwards). But that's still better than my left side, which is a complete failure.
×
×
  • Create New...

Important Information

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