Jump to content

BenD

Members
  • Posts

    22
  • Joined

  • Last visited

    Never

Everything posted by BenD

  1. QUOTE (menghuihantang @ Apr 9 2009, 10:39 PM) Sort of off-topic, but does the DAQ assistant give you any kind of timing control, or is this loop gonna run as fast as possible? I've never used LV for DAQ, so I guess it depends on your application (maybe you WANT to acquire that fast) but I've always been taught that running loops without paying attention to timing was bad. And look at all those avoidable wire kinks!!!
  2. QUOTE (Ic3Knight @ Apr 10 2009, 11:10 AM) Paul, I don't have an active license at this machine so I haven't been able to look at your code but I'll give you a couple of tips from my *unsuccessful* CLD attempt. Without going into the specifics, my exam was much more involved and greater in complexity than any of the sample exams. However, my "unsuccessfulness" was mostly due to the fact that I haven't been coding regularly over the last year. I did very well in style (14/15) and missed a couple of documentation points, but getting everything implemented was a BEAST. I have full confidence that if I had taken the exam la year ago (when I was coding full-time) I wouldn't have had much trouble getting most of the basic functionality implemented and had a better approach to architecting the solution. What I took from it is that I should have focused on smaller pieces (hard to explain without violating the NDA!) rather than trying to implement the entire architecture at once (the example problems are definitely far easier to fully implement) because it was overwhelming. Others may have input on this but I don't think you need 100% functionality if your style and documentation is well done. I was only a few points away from passing and wasn't close to meeting all the requirements. When the time was up, my architecture was solid but I simply couldn't get everything implemented and I was rushed trying to get the "pieces" functioning. I'm curious if those who have taken the CLD were broadsided by the complexity after doing the practice exams. It seems like LV has evolved quite a bit since those practice exams were posted and they [practice exams] may not be quite as representative of what NI wants to see in a CLD as they once were.
  3. QUOTE (Kubo @ Mar 20 2009, 12:12 PM) Here's a timer functional global that I whipped up not too long ago: http://forums.lavag.org/Timer-with-Pause-v...bal-t13420.html
  4. QUOTE (jyang72211 @ Mar 3 2009, 01:12 AM) Thanks for the example, although I think I've finally nailed it! I think I have some redundant wires in there, but it's simply for showing the exact elapsed time when the timer is paused. I think this is a pretty nice solution that allows for fairly accurate software timing and that's a pretty handy thing to have for the CLD. Any comments or critiques would be greatly appreciated!
  5. QUOTE (Antoine Châlons @ Mar 6 2009, 10:08 AM) Thanks for the tip - I lost track of the forum I'd posted it in. I was sure I'd put it in the Applications discussion! What was bugging me is that there seems to be no way to track your posts from within My Controls. I'd think that somewhere in there should be a listing of your posts. Although your method works just fine, you'd think you'd be able to access it from there and I don't see it. On a side note, if I click on my profile and select the "Posts" tab, it claims that I have no posts! The drop-down menu works just fine though.
  6. Where did my post go? I posted on Feb 27 about doing a functional global that is a timer with pause, it appears to be gone now although the VI I uploaded is showing up in My Controls. What gives?
  7. Hey guys, I'm prepping for the CLD in a couple weeks and running through the sample exams to brush up on my techniques since I haven't been doing LV actively for almost a year. One thing that I know is crucial to the CLD is proper timing. I'd run through the exams a couple years ago but never followed through with the official exam, and during the course of completing these I'd come up with a really nice, elegantly simple timer with pause that was implemented via a functional global. Trouble is, I can't seem to find my code anywhere and for some reason the logic to complete this is elusive at the moment. Have a look at my code - you'll see that I have a normal Get Date/Time in Seconds timing method, I'm just having trouble remembering what I did to implement the pause case. Anyone have any suggestions? Maybe it's just Friday and my brain has already checked out for the weekend... I know it was *something* like what I've attached, but more complicated. I'm pretty sure I'm missing something insanely simple... maybe a shift register tracking the states to determine when the pause case is first entered? - Ben
  8. Congrats! I've been putting off my CLD forever, even though I could probably pass it in my sleep - need to get it done before my CLAD expires!
  9. Thanks for all the advice everyone! After messing around with the command set (the website drivers used a different command set but it was easy enough to see what was going on to make my own) I've got a pretty well-functioning driver for the relay portion of the board. The only thing that was sort of tricky was coding up the part to read the status of a relay (open/closed). Turns out that the controller sends ASCII 85 ("U") back after every single command for acknowledgment so I had to read all of those from the receive buffer before reading the result from the relay status command. As far as the device goes, it functions as expected but has quality issues. It randomly stopped receiving commands - looking the board over the SMT work is pretty shoddy and after getting our SMT people to reflow the COM chip and fixing some cold solder points, it's working fine. The board itself is pretty big so hopefully this fall when they are supposed to release some solid-state relays they can cut down on the form factor and maybe offer some standard DB connection options as well.
  10. QUOTE (AnalogKid2DigitalMan @ Jul 31 2008, 02:26 PM) It *looks* pretty straightforward but we'll see. Looks like the commands used in the driver VI are the same as what's in their documentation so I'll just need to modify it some for my 24-channel version. I'll keep y'all posted as to how it turns out. Right now the board doesn't want to talk via the company's interface but their customer support is pretty accessible. I've got a feeling that it may actually be a problem on the board. The communication chip looks to be poorly soldered onto the board and could be why it's having some issues. Other than that, the board seems pretty well built and with the A/D version it has a little added functionality that I didn't even know I needed when I ordered it! :thumbup:
  11. QUOTE (pallen @ Jul 31 2008, 11:49 AM) Thanks so much! Saves me from having to install 7.1!
  12. Funny you should ask - I discovered them about 5 minutes after I posted my original message! I don't know if we have LV7.1 kicking around, couldn't it be imported in 8.5, or do I need to install 7.1 to see what's going on?
  13. Hey everyone, Just wondering if anyone has worked with relay boards from www.controlanything.com. I've gotten a 24-channel ProXR relay that I'm using for some automated testing and I'm having a little trouble with their somewhat esoteric command set. I've downloaded the latest USB Serial Port emulation drivers and I can easily control the relays using the company's software, but I'm not familiar enough with serial protocol to get through the next step. I think the issue is with the fact that the command set for the relays uses ASCII *codes* and the LabVIEW example (just the serial write and read example from the LV examples) I'm trying to use is sending characters. Does this mean I then have to take an ASCII table and figure out what characters equate to the ASCII code I need to send to actuate the relays, or something else? Is there a way I can just send the raw ASCII code from LabVIEW? The documentation on the command set is found at http://www.controlanything.com/manuals/ProXR.pdf Any insight would be greatly appreciated!
  14. I ended up going with the Key Focus method for simplicity's sake, although I do see the benefits of using the event structure as well. If I need to implement more complex functionality, that will definitely be the way to go! I also didn't realize that the use of the arrow keys were inferred when the slider control has focus, makes a lot of sense the way Aristos explained it. Thanks for the tips everyone!
  15. QUOTE (ASTDan @ Mar 25 2008, 10:53 AM) Thanks for the replies, folks! Looks like I'm going to be stuck using an event structure, it just mystifies me as to why LV doesn't have the arrow keys as an option for the decrement action. I'll also try the key focus method as well. - Ben
  16. Hi all, I'm working on a VI that requires a user to decrement a horizontal slider control, and my customer wants the decrement action to be tied to the left arrow key. The arrow keys aren't directly listed in the list of keys that can be bound to the decrement action - are they tied to other keys that are listed, or are they just not available. Page Down seems like the closest thing but they'd really like it to be the arrow key and I agree since it makes the most user-friendly sense. I haven't looked at using an event structure yet to see if I can capture the left arrow value change event, but this seems like a very non-trivial way to do it and I'd think there should be an easier way to map the arrow keys. Any ideas? - Ben
  17. QUOTE(Michael_Aivaliotis @ Jan 28 2008, 02:16 PM) Thanks so much for the replies folks, that was exactly what I was looking for! - Ben
  18. Hello all, I'm looking for a resource (besides the included documentation) that would have some basic projects that a 12-year-old could understand. I bought the Mindstorms NXT for my brothers for Christmas and being that I don't live near them I'd like to send them some projects from time to time. A cursory google search only brought up sites selling educational materials and I'm not really interested in that, I'm just a bit too busy to come up with a project for them to do on my own. Any advice/links would be greatly appreciated! - Ben
  19. Thanks for all the responses, and it looks like I've found a solution: ditch 8.2 and go back to 8.0.1. The previous build works just fine with this architecture but as soon as you pull it into 8.2, recompile and rebuild, it breaks down again. We'll just have to roll back our work since we upgraded and move forward with 8.0.1. Turns out this is a known issue with no real fix if you read through the upgrade issues when going from 8.x to 8.2: http://digital.ni.com/public.nsf/websearch...DE?OpenDocument Thanks again!
  20. QUOTE(chrisdavis @ Mar 22 2007, 08:49 AM) Thanks for the clarification - this is exactly what I've been thinking the problem was, it's just that I know for a fact that there's a way around it but it's not easy!
  21. QUOTE(Neville D @ Mar 21 2007, 03:35 PM) Thanks for the quick replies! As far as the paths go, they're relative to the location of the exe. What I'm seeing is that it looks like the exe finds the plugin VIs just fine, but for some reason the VIs are not seeing some/all of their subVIs and controls. This is strange to me, because if I run the VIs on their own without the exe they work just fine. I'll take up your suggestion of using the debug feature - I saw this during the build but have yet to look into it more. Thanks again! QUOTE(PJM_labview @ Mar 21 2007, 04:37 PM) I have and this is a nifty feature that can save you a lot of times (an it is perfect for this kind of situation when everything work in the IDE but not in the deployed build). Of course this assume that you are trying to build in LV >= 8.0. Did you import this project from another LV version? If so NI might have inserted some compatibility VI in your plugins and when invoked from the build framework, they fail. Also, are your plugins "build" (for example as an llb) separately? Anyway, please give us more info. PJM This project was imported from 8.0 to 8.2, so you may have something there. I'll do some more digging and play with the debug feature a bit. My plugins are just normal VIs (not llb) and not "built" at all. In the IDE, everything runs smooth as butter so there's definitely something funky going on with the exe that I'm not seeing.
  22. Hi everyone, I'm building an application with a plug-in architecture that calls VIs not built with the application dynamically. The app builds and runs just fine, but when I get to the part of the executable that starts calling the VIs, the application seems to choke on opening them and spits back an "Error 1003" from the Open VI By Reference.vi (I think that's the name, anyway) This architecture has worked fine in the past but I've inherited this code and it's the first time I've tried to build the application as there have been some minor changes to the VI that the executable is built from. These small changes are also not ones that would cause this error to occur. I do remember the previous owner of the code going through considerable trouble getting it to work as an exe but I'm not finding their notes to be enough of a help to get it up and running. Has anyone worked with this kind of architecture before? Thanks!
×
×
  • Create New...

Important Information

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