Jump to content

hooovahh

Moderators
  • Posts

    3,392
  • Joined

  • Last visited

  • Days Won

    284

Everything posted by hooovahh

  1. WinAPI still works in Windows 7 and even 64 bit. I've kept an updated version, and haven't found a function that hasn't worked properly yet, but admittedly I don't use every function. If it ran for weeks with no problem, then crashed twice in one day I wouldn't think memory leaks either. What about the system log? Windows has an Event log built in which keeps track of crashes, blue screens, and other system level issues. http://www.sevenforums.com/tutorials/226084-event-viewer-open-use-windows-7-a.html Looking at that I'd suggest trying to find what changed between it working and not working. The obvious things is installing or uninstalling software and drivers, or Windows updates.
  2. Crash files are usually not very useful, sending it to NI is the only way to get useful information out of it and even then it might not tell you anything. http://digital.ni.com/public.nsf/allkb/7E9EBE4CA3B6DCE786257633005E7121 http://digital.ni.com/public.nsf/allkb/2FF01AD2F6A02ABD862578D40053FCC7 I haven't seen any watchdog examples for Windows host applications but sure it can be done. Using the WinAPI you can query what applications are currently running. Just poll that every so often and see if your program is no longer running. A more useful debug concept, could be to log the states of a state machine to a text file like a heap. Then if a crash happens you can at least see what lead up to the crash. This will cause a slow down in the application as logging is done, and the file might become giant for long running applications. Also have you looked at memory usage? Is it stable? Many applications that crash after days of running are caused by accidentally opening references without closing, or having arrays that grow in size forever. Various tools can help determine if memory is stable, some built into Windows like Performance Monitor, and others by NI like the Desktop Execution Trace toolkit.
  3. I don't want to live on this planet anymore. But seriously I find it so difficult to hold back emotions, when topics that I feel I am an expert on, are so misunderstood. And LabVIEW is often times misunderstood.
  4. NI would likely say some marketing statement about how the maker movement is an important to them and they hope this fills a gap between student, and advanced users. The strange thing to me is that in the past (I'm still looking for the link) I've seen NI employees state that a "Student" is someone who takes an interest in a particular subject. And that the student edition would apply to anyone looking to learn. This is somewhat supported by the fact that the student edition was available for years up at Sparkfun which required no proof of enrollment in formal high level education. I never went through the full process but I assumed the same thing when applying for the 6 month free license. Although it is sorta funny to see NI people dance around answering this when they aren't lawyers. http://forums.ni.com/t5/LabVIEW/Who-is-eligible-to-use-the-Labview-8-student-edition/td-p/415471 After some back and forth the OP asked the question as straight forward as possible and the NI employee answered with: They did not say you cannot buy it, or that it would be illegal to buy it, just that they wouldn't have the proper usage rights. Anyway, there's been enough chatter about this Home edition lately that I believe there is individuals who will buy it. There was once an idea exchange for it that had a bunch of attention too.
  5. The problem is you can't. The article mentions the post has been withdrawn, and no link was provided to apply. Too bad, cause I'm a handsome fella, don't let the X-Ray fool you.
  6. Topic moved to LAVA Lounge, but I do find it funny, posting this in the Job Listings.
  7. There's a pretty lengthy discussion on the darkside. http://forums.ni.com/t5/LabVIEW/LabVIEW-Home-Edition/td-p/3117489 It sounds neat and I'm glad there are options, but this isn't something I ever see myself using.
  8. Wow that is impressive. But like you said I would be equally impressed with it if I could download it. But of course then there is less control, and they'd likely charge for it. Today they don't mind making it free because if they want to charge for it then they will and all users will be forced to pay. If they allowed you to download it version 1.0 could be free and version 2.0 could be paid. But then users would just continue to use version 1.0 until there was a good reason to upgrade. I could see this business model working well no wonder companies are considering cloud based applications more. Oh and my favorite piece of software I wish I could download is the Infinite Jukebox. Ever get a song in your head you couldn't get out? Try listening it for hours with no obvious start or end.
  9. Okay well this is possible but with lots of work depending on how you want it to work. The first method of doing this I can think of, is to generate your graph like normal with a fill to 0. Then using scripting get the image of the graph. Then use the graph color as a mask on a template image, which has you pattern possibly repeated. Then when you go and display the image, over top of the graph. So what the user really sees is an image on top of a graph. I think this could give you the desired effect, but there would be some work in repeating the pattern for the size of the image, some scripting, and making sure the picture control is on top of the graph. You could probably do this easily using the fit to pane on both controls with the picture control on top.
  10. I prefer Dirt Devils in my house, and reserve "hoovering" to positive things like presidents...and dams. And for me I guess I'd have a fall back career as an electrician. If software I guess something in CAN, maybe develop my own CAN hardware and software package. Ehh I'll just retire, I never liked work anyway.
  11. Oh my, so I think I'm going to stop trying. I just went and used my linkedin profile picture, and it thought I was 24 years older than I was when the picture was taken. Of course I was wearing a hat, not that I know how that affects it. Seriously it thought I was in my 50s.
  12. Well I went to my facebook and I could only find one face shot of me that was detected (not many pictures of me on my facebook I guess). In the photo was me and my wife. It thought I was 13 years older than I was when the photo was taken, and it thought my wife was 19 years older than she was.
  13. Yes it sure does seem like a no brainer that you could use the Pre-build action with the set build specification. It was the first use case I had for the new 2014 feature. Too bad NI wasn't thinking it would be used in this way, and as a result, the version assigned to the build is read before the pre-build action is executed. http://forums.ni.com/t5/LabVIEW-Idea-Exchange/In-building-executables-allow-Pre-Build-Action-to-modify-Version/idi-p/3056573
  14. I do use build number to link back to source code control. So this still means manually updating it every time which is a bit of a pain. I've thought about ways of fixing this but I just live with it. So when I'm making a build I'll set the Major, Minor, and bugfix to what ever is appropriate incrementing from the last version. I'll then set the build to whatever the source commit number is. So for SVN I'll right click the project, go to properties, and then use the commit revision number. I have in the past taken the commit revision number and added one to it, because this would be the revision of the next commit but as long as there is a decent description in the commit I've never had a problem. What this does for me is help isolate an EXE to source. So years later we get a report saying this step failed. In the report is says the EXE version was 1.2.3.534. I then go to source code control, and find commit 534. Hopefully there is a comment in the commit saying "commit build version 1.2.3.534" and I can roll the source back to that and see what the source was that made the EXE, that was ran when the report was created that failed.
  15. If you want to use an analog out for generating you setup you can. You'll have other limitations that might get in the way making that difficult. Like the fact that when a new buffer is put down, you'll either need to stop your task, which will drive the output to 0 while for some time, or you can replace the buffer values but you can't resize the buffer. So say you want to generate a waveform that is a PWM at 100hz and 50% duty cycle. Using an analog out you can generate a single cycle of this wave and tell it to repeat. But if you want to change to 50hz and 50% duty cycle you'll need to stop the current task, create the new buffer, put that buffer down, and start the new task. This will mean that for a few milliseconds your output will be 0v. A counter output gives you more some features that an analog out can't, and an analog out has some features a counter can't. Some tasks can use either. Your 9178 chassis has two BNC connectors on the front that can be used as counters. And my example was designed and the 9188 which I'm guessing has very similar features. If you can get my example working, then it shouldn't be too difficult to replace the array of frequency duty cycle pairs with your own and have it work.
  16. I forgot about that place. I also used to checkout ClientsFromHell.com but they appear to be down.
  17. What rolfk says is very true. There is little practical reason to have multiple applications, or installers in a project, for the same build if all you are doing is changing the version. Have one EXE and one installer. Some times I see another EXE for debug, which is the same as the normal but has debug enabled which includes block diagrams. And some times I see another installer which includes all run-time additional installers to have it work on a fresh clean machine. But with these exceptions there is no reason to have multiple versions. Are you trying to have it so that a new version, goes into a new folder? This could be changed but I thought I remember hearing about a feature in the application builder that allowed for this, I never used it so I'll need to search for it. So with your one EXE and one installer, just up the revision of each, and then build the EXE, then build the installer. LabVIEW calls it an Upgrade code, which is where the term comes from. EDIT: Found it, on this page under Destination Path http://zone.ni.com/reference/en-XX/help/371361K-01/lvdialog/destination_settings_db/ There it states you can use [VersionNumber] in the Destination Directory path in the build. So you can have C:\My Application [VersionNumber]. Then all you need to do is up the revision of the software, and build it and a new folder will be made and the old ones you may have on disk won't be overwritten. Double Edit: Looks like it was a new feature of 2013 http://zone.ni.com/reference/en-XX/help/371361K-01/lvupgrade/labview_features/
  18. Ohh another fun story time (need to write these down before I forget). So I'm on site at a place where we are deploying a tester that is designed to replace testers that were already there. They had 5 testers, and this first visit was to replace one of them with our new design which was faster better more scaleable etc. There were some things we couldn't test until we were on site and one of those things was the network authentication and logging. So we got onsite and went to replace the first system, and we asked for login credentials for their network. We were told we couldn't get any for a couple days. So I went over to one of the existing testers and looked at the credentials it was using since the source was on the old stand. It had something like User: Tester and Password:Tester1234 on all 5 testers. So I used those credentials and the new tester and 4 of the older ones were running just fine. I mentioned to the customer that this seems like a weak password and user name and that all systems were using the same credentials. At that moment out of the corner of my eye the IT guy ran off quickly. A few minutes later he came back and said he fixed it. By that he meant that the user name and password no longer worked. They didn't seem to care that the new system didn't work yet, until I went over to one of the older 4 systems that all of the sudden could no longer test parts and was holding up the line. I just thought it was comical that they fixed the loop hole which had apparently been running fine for years, without thinking that it would break everything using it.
  19. I've done it both ways. Dedicated hardware, or software that finds the hardware usually using a known query like the serial number of the device. When "Software is free" managers would rather not spend more money for hardware, when all it takes is a few hours of your time to design, develop, integrate, test, verify, and document...
  20. At times I believe it is less about protecting a PC from viruses, and more about a check box in some corporate form that says "All domain PCs will have anti-virus software installed".
  21. I think you are confused, this discussion hasn't been about the hardware used, but instead an effective way of doing the software architecture. And for the record I hate having 5 USB to serial devices. They might get re-enumerated to the wrong ports, power can be an issue with many of them. The FTDI chipset can be slow especially if there is lots of data, etc. The plus side is they are cheap, but I'd prefer a single USB device that has 5 (or more) COM ports, over 5 single port devices. On the desktop and PXI there is also cards that add physical ports but these are usually more expensive than one USB device.
  22. Yup uninstall the newer and install the older. Other software tools follow this same concept. Yesterday I had to install an older version of Adobe reader, and to do so I had to uninstall the one I had first manually.
  23. Oh it was great because in this situation they were my customer, paying hourly for me to be there, I troubleshot the issue, and came up with a proposal to fix it. Turn off the bloody IT crippling software. I had no horse in the race. The customer could take my advice and have a test system that worked, or they could do nothing, and not have a working test system. When a manufacturing line goes down due to IT being too restrictive, things get done quickly. We were told that IT would not allow the software to be uninstalled. You actually needed a super secret password to uninstall it. But they did allow the PC to have an administrator account, where I could turn off services, and turn off startup applications. So the customer had me removed it from msconfig startup. The details are fuzzy, but I think their IT department ended up paying for my time to be there. Not that I think that is fair, they were just trying to do their job.
  24. Oh man, anti-virus, firewall, or general IT policies broke my application many times. Often in ways that seemed unexplainable at the time. I had a vision system that when it was being deployed would some time have a half my image become green. Like the image was being grabbed and half way through it stopped. We looked into the capture card, and the PC, thinking it couldn't keep up, network settings a bunch of things. It was strange because before going onsite it worked just fine, which should have been a red flag. At the time I thought, well maybe the PC was just barely fast enough, and since IT added a few programs it now can't keep up. Nope it was corporate firewalls scanning all network traffic, causing slow downs on our ethernet controlled cameras. But hey, free trip to Alabama. Hope you figure it out, be sure and report back if you do.
  25. Here's a fun little project I had. It was to make a frequency sweep on a counter. This particular project used the BNC connector on a cDAQ-9188, and no c-series cards, just the chassis. It does this by generating the array of frequency/duty cycle pair. It will output that frequency and duty cycle for one cycle of the wave, then do the next frequency duty cycle pair. At the time I had no idea that a counter could have a buffer of finite samples. In my mind this means it has two hardware timers, one for the frequency and duty cycle, the other to handle when the next frequency duty cycle needs to be. If your counter supports this type of buffered write of N samples this shouldn't be a problem. You just need to do a decent amount of math to come up with the array of frequency and duty cycles that you want the card to play. https://decibel.ni.com/content/docs/DOC-32352 This example isn't meant to be a drop in solution, but just a way of showing that it is possible to control the time at which a new frequency and duty cycle occur.
×
×
  • Create New...

Important Information

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