Jump to content

Neville D

Members
  • Posts

    752
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Neville D

  1. You can add a print button to your main VI that pops open a separate VI containing the data formatted for printing. It can be white so the print doesn't look grey (or disable greyscale printing in your print options of LV), and have whatever you need. Then print that VI. N.
  2. QUOTE (Pollux @ Apr 6 2009, 11:10 AM) Just add a 100ms or so wait function in the false cases of the loops. So all the loops aren't running full-tilt, blocking other threads when idling waiting for User input. Also, note, with independant loops there is no dependancy for the functions. A user can perform calibrate as the last step (instead of the first step usually..) And the exit is a bit harsh.. quitting out of labview at a button-press. No hardware cleanup (stop process, close/release resources) required? When you factor in all the above, it makes sense to use a Q-based State Machine with the event structure. Take a look at the templates already shipping with LabVIEW.. File>New> Frameworks>Design Patterns>Q'd Message Handler. N.
  3. QUOTE (shoneill @ Apr 3 2009, 12:37 PM) Heheh! The NI Vision examples show you how NOT to code in LabVIEW (or how to code in LabVIEW to fail your latest flavour of NI certification CLA and what have you..) N.
  4. QUOTE (Neville D @ Apr 3 2009, 09:19 AM) Sorry Justin, I meant Syah.
  5. Did you try another PC? A different USB port? A different USB cable? Check the power on the device? (Some USB devices need external power, some are bus-powered). I find the NI hardware very robust and have hardly come across failed DAQ cards in my experience. Usually its the associated interconnects that fail. I've had ground traces burnt out on the breakout boards (due to faulty wiring and large ground loops) to DAQ cards that make it look like the DAQ channel is "dead". N.
  6. QUOTE (Cat @ Apr 3 2009, 07:00 AM) You could make an Init SubVI with error clusters and then wire this up to the next Main program VI and then a Cleanup VI with error chaining.. no need for sequences at all. Or you could make a nice neat state machine with 3 states: Init, Main, End. It would all fit nicely onto your laptop screen. Seriously, once you get out of the "bad habit" of using sequences, you never go back. I seldom if ever use a sequence structure and in the few cases I do, its usually a single frame to force data flow. N.
  7. QUOTE (JustinReina @ Apr 2 2009, 11:13 PM) Maybe a quick reading of http://www.catb.org/%7Eesr/faqs/smart-questions.html' rel='nofollow' target="_blank">this would help him. N.
  8. QUOTE (ssteven121 @ Apr 1 2009, 04:18 PM) Yes, when it asks for the disks, point it to your downloaded files. Be sure to reboot when required. N.
  9. Have you tried "repairing" the install? Add/Remove Programs>National Instruments>NI-DAQmx>repair You will need the install disks though. If that fails, use msiblast to remove all entries that have "DAQ" in them. Then re-install NI-DAQmx. By the way, have you logged on as admin on your PC? maybe you don't have access rights to install/uninstall. N.
  10. QUOTE (Steen Schmidt @ Apr 1 2009, 01:08 PM) Hi Steen, sorry I was WRONG. I have two versions of my code which are essentially identical. One runs on the Desktop (Windows) and another on LV-RT. I had trouble-shot my re-entrant VI's by probing on the desktop version of the code. I just tried out what you said, and the re-entrant VI's on RT don't update their front panels or allow probing on the BD's. That being said, if you describe your problem, there might be other ways to debug your code.. tracking state transitions by logging to file, looking at the front panels of VI's or subVI's one level down, running on your RT code etc. You could even do what I did, have a version of the code running on windows and debug your re-entrant VI's there. Neville.
  11. You can run or application (not executable) currently on RT and you can open front panels and BD's of re-entrant VI's with no problem.. It is a bit slower since it has to download all the VI's but it still works. N.
  12. Guys, just a reminder, the original question was posted almost two years ago.. N.
  13. Very cool Norm! dunno what my co-workers in our cubicle-farm (all C guys) will think with me muttering commands all day..! Neville.
  14. QUOTE (GammageATX @ Mar 29 2009, 02:44 PM) Yes, quite a lot..! The stop case doesn't seem to actually stop the tasks, just the loop. The DutyCycle2 etc.. stuff doesn't seem to be going anywhere after the initial setup and run. Why don't you just simplify and try with a single counter and then add the next one later. Add changing freq+Duty cycle as another has posted. Put the Stop button INSIDE the event structure and feed the result out to the loop stop icon. Add a timeout event to stop the loop (instead of freezing it) in case there is a DAQ error. Look at my screen shots posted earlier about how to stop the code gracefully. N.
  15. QUOTE (lovemachinez @ Mar 26 2009, 09:03 PM) No, I did not play your VI. I don't have a USB camera nor the USB VI's installed on my machine. Probably your camera is not able to keep up with your loop. Slow the loop down with delays or go with a firewire camera. They are much more reliable. N.
  16. Do you need to poll the frequency and duty cycle changes so rapidly? Try using an event structure in a loop. If there is a value change event, write to the required property node. See below: There are additional Stop2 and Freq2 value change events that are dealt with similarly. The boolean Shift-reg stores whether either of the stop buttons has been depressed. If both have been pressed, then it exits. N.
  17. What do you mean "not stable" ? Isn't it there at every loop iteration? At every iteration the previous image will be replaced by a new one. N.
  18. You could AND your array with another 512x512 array of 1's which would give you boolean Zeroes or Ones, that you could just display in a 2-d array indicator. N.
  19. QUOTE (zmarcoz @ Mar 25 2009, 11:23 AM) I don't think its the NUMBER of resumes that really matters. I could apply for a million C programming jobs, but with absolutely no experience in C programming, I wouldn't get a single interview call. The key is to tailor your resume CAREFULLY to every single job that you apply for. Be realistic. Don't apply for positions that ask for 10 yrs of experience or Secret Clearance if you don't have it. Try to match job requirements to your resume (i.e. tailor). Adjust bullet points to put the important ones first and things like hobbies last (or remove entirely). Modify your mission statement to match job requirements. QUOTE (zmarcoz @ Mar 25 2009, 11:23 AM) On the other hand, If you are a boss, how would you think of a person study for long time and without industrial experience? Well it depends. If I was looking for an entry-level person, then it wouldn't matter if you didn't have experience, just that your resume had stuff on it that I was interested in. QUOTE (zmarcoz @ Mar 25 2009, 11:23 AM) Moreover, how would you think about a person only have a temporary status to work even if he claims that he does not need sponsorship and will get green card ? I would be very careful about making things up about work status. It can get you into a lot of hot water. Be truthful ALWAYS. If you don't need sponsorship to work currently, Say so. When asked about it, you can elaborate about the fact that you might be using your practical experience time and after a year you would NEED to be sponsored. How exactly are you going to "get a green card" by yourself? It is a process that definitely needs employer assistance and buy-in. Neville.
  20. I'm not sure what you mean by "full deploy".. You have to build an executable of your RT code and then download it to the target and set it to run on startup. Reboot the RT and it should run your code. Then you run whatever you want on the host side to get at the published data. I'm no expert with shared variables, preferring to use lower-level TCP communication which is much more flexible but needs more code development. N.
  21. Yes, just reformat, reload all SW components, apply an IP address and go from there. Its pretty quick. Make sure webserver.conf is correct. N.
  22. If you are using LV 8.6, check to see you have webserver.conf in the root, and it shows the correct port "Liston 90". Every time you change a setting on the RT in your project it is not immediately apparent whether that setting was actually changed on the target. I think when you "deploy" your code it deploys the settings, but I just always manually check. Your file should look like this: # Web server configuration file.# Generated by LabVIEW 8.6# 10/30/2008 2:30:35 PM## Global Directives#ServerRoot "."LogLevel 2TypesConfig $SERVER_ROOT/mime.typesThreadLimit 10LoadModulePath "./modules" "./LVModules" "./.."LoadModule LVAuth lvauthmoduleLoadModule LVRFP lvrfpmoduleLoadModule dir libdirModuleLoadModule copy libcopyModuleLoadModule esp libespModuleListen 90## Directives that apply to the default server#ServerName LabVIEWDocumentRoot "/ni-rt/system/www"Timeout 60AddHandler LVAuthHandlerAddHandler LVRFPHandlerAddHandler dirHandlerAddHandler espHandler .espAddHandler copyHandlerDirectoryIndex index.htmKeepAlive onKeepAliveTimeout 60 PS moving the Webserver Port value to the separate webserver.conf file has been a recent change in LV 8.6. Previously you just added WebServerPort=90 into your ni-rt.ini and everything worked out OK. N.
×
×
  • Create New...

Important Information

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