Jump to content

george seifert

Members
  • Posts

    399
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by george seifert

  1. QUOTE(tcplomp @ Jul 31 2007, 08:37 AM) Thanks. Do you have any hints as to which process might be the best to monitor? George
  2. QUOTE(eaolson @ Jul 30 2007, 05:40 PM) I was a good boy and allocated my arrays before starting the loop. I tried disabling disk writes but the problem persists. The PC definitely hangs when this happens. CPU usage shoots to 100% for up to 10 seconds. Unfortunately I can't use the Windows Task Manager to see which process jumps in CPU usage because no updates happen anywhere during the pause. It happens in irregular intervals too. Sometimes up to 100 seconds apart, sometimes 10 seconds. Is there any way to tell if my program is causing this or is it some other Windows service? George
  3. QUOTE(Ben @ Jul 30 2007, 03:08 PM) I can't really get rid of the writes in the loop. It should be able to handle it. I mean that's why the TDMS file structure was implemented. I need to make sure I have data saved along the way in case of a system crash. The virus checker is a good idea though. IT just recently gave us a new Symantec Antivirus. Things were working fine before that came along. Now I just have to figure out how to disable the thing. George
  4. I have an executable that seems to be hanging up in a timed loop occasionally (1 sec loop time). There are several things happening in the loop that could cause this, but I'm not quite sure how to pinpoint it while it's running as an executable. I'm reading up to 4 serial devices and the problem is definitely worse when I'm reading more than 1 device. I'm also storing data to a TDMS file during the loop. The amount of data stored depends on how many serial devices I'm reading. So there's not a good way to separate the two effects. I suppose one thing I can do is disable the data saving to see if that makes a difference. Any other ideas on how to pinpoint a problem like this in an executable? Oh, one other thing I noticed when this happens is that the PC appears to hang (I know when it happens because I'm graphing the data). I can't move windows around or scroll things. Then suddenly everything frees up and is fine. I watched the Task Manager when it happens because I figured I'd see the CPU usage shoot way up, but it didn't. The VI is kind of way too big to post and nobody's going to want to try to figure it out anyway. So any general hints would be welcome. George
  5. I really like my trackball for LV input. I've been using it for about 4 years now. Simple, pretty inexpensive and you can use it with either hand. No hand or wrist issues like I had with my old mouse. George
  6. QUOTE(abuch06 @ Jul 18 2007, 08:34 AM) Are you by chance using the Array to Cluster VI? If so you have to right click and choose the size of the cluster. This value defaults to 9 which is what made me suspect that. George
  7. QUOTE(yen @ Jul 2 2007, 11:46 AM) I'll second that idea. I've tried a lot of different options, but this works the best. I have type def'd controls for the page that the user sees. They're limited to valid entries for everything that I can put limits on. George
  8. I need to return a line from a Word doc after using a Find operation. I'm searching for the first part of the line, but need to return the text after that. I can use the Report Generation Toolkit to do the Find operation OK, but I'm stuck after that. I don't know where the found line is. The Word.Find operation doesn't return a line number. Any ideas to nudge me a little further? Thanks, George
  9. QUOTE(dingin @ May 24 2007, 07:24 PM) I'm using VISA to write to the serial port. I'm just using a few simple write and reads to a couple of registers. We are also using the ACR9000 instead of the 6K because they said that support of the 6K was being phased out and the ACR was cheaper. George
  10. QUOTE(dingin @ May 24 2007, 09:08 AM) You might want to check with your Parker rep and see if they can help. Our rep ended up writing the controller code for me and told me how to talk to the controller from LV. Granted it was a fairly easy application, but they might be able to help out. George
  11. I posted this as a reply on another thread, but maybe nobody saw it. I hope someone can help because I need to call a Perl script from LV. I just tried LVPerl and get the following error "TCP Open Connection in Open Perl Connection.vi". The Open Perl Connection.vi says that the remote port must match Perl's. How do I know what port to use for Perl? George
  12. quote name='tcplomp' date='May 17 2007, 04:06 AM' post='30237'] It looks a bit like the array approach you were going for, but you use the variant to store your data in, it behaves like a Database. Thanks to Tomi for giving the info. Good luck, Ton OK, I see how it works now. Interesting approach. I guess the only thing I don't like about is you can't easily edit the values in variant. I'd like to be able to easily go in and change one of the values and then have the results as my new "database". I don't think I can do that with the variant approach without running a VI. I've attached my Combobox to show you what I came up with. http://forums.lavag.org/index.php?act=attach&type=post&id=5893 Whereever I need to get a value I just drop an instance of the combobox on the DB. George
  13. QUOTE(Michael Ashe @ Apr 7 2006, 09:23 PM) I just tried LVPerl and get the following error "TCP Open Connection in Open Perl Connection.vi". The Open Perl Connection.vi says that the remote port must match Perl's. How do I know what port to use for Perl? George
  14. QUOTE(tcplomp @ May 16 2007, 01:40 PM) Thanks, but I must be dense because I can't really see how that relates to my problem. Actually it doesn't matter too much because the combo box is working pretty good. George
  15. QUOTE(rolfk @ May 16 2007, 03:56 AM) We had the exact same problem with our HPs. We did what NI recommended and it works fine now with NI cards and the latest NI-DAQ. We did try our app on a different DELL PC (other than my development PC) and it worked fine. So now I'm back to thinking it's not a PC issue but rather a driver issue. I've had a few conversations with EasyDAQ who have tried to help, but have never seen this problem before. At this point I have to move on. It wasn't a big enough hardware investment to worry about. I'm going back to Phidget relay drivers. George
  16. QUOTE(tcplomp @ May 15 2007, 11:34 PM) Are there any examples of that? I'm somewhat familiar with using variants, but I'm not quite sure how that would work. George
  17. Thanks for the ideas. I actually settled on a combo box. I keep forgetting about those things. George
  18. I'm converting a C program to LV. There are at least a hundred defines that I need to deal with. I'm wondering if it's better to build a big cluster that contains all of them or use a two dimensional array that has the name and associated value. When I need to use one of the variables from the defines then if I use a cluster I would match up the variable name with the cluster label and grab the value. Or if I use the array approach I would need to find the index of matching name and then use that index to grab the value. I can't decide which way is better. Any thoughts? George
  19. http://forums.lavag.org/index.php?act=attach&type=post&id=5767http://forums.lavag.org/index.php?act=attach&type=post&id=5769 I hope someone can help me think of a way to do the following. I'm getting data from hardware (always U8) that I need to distribute to a series of clusters. Each cluster can consist of various combos of booleans and numerics that total to 8 bits (see an example cluster in the attached VI which is explained below). I need to somehow divide up the incoming bits to the cluster elements. I was hoping to find a generic way of doing this instead of needing a pile of case statements. It would make maintenance easier to when I have to add more clusters. I put the format in the clusters caption that shows how many bits are in each part of the cluster (for the attached VI the caption would contain 1_3_1). I can retrieve the caption in the subVI and that at least gives me some idea on how to distribute the data. I just can't figure out how to bundle the data to send it back to the cluster. Here's one thing I tried. I converted the cluster (via a reference and then to a variant) to XML, changed a few values in the XML based on the incoming data and then tried to convert back again to a variant to send to the cluster reference value (see attached VIs). Converting to XML is easy, but I get an error when converting back to a variant that says that "the data type of the variant is not compatible with the data type wired to the type input". Is there any way to convert back to a variant? It's easy when the actual cluster is available, but I need to do the conversion in a subvi with a reference to the cluster. George
  20. I just tried the exe on my PC (Dell) and it works fine. The PC that hangs is an HP. We had to start buying HP PCs and some of them have been giving us problems. Some wouldn't recoginize NI DAQ cards. I'm suspecting now that this is a PC issue. George
  21. QUOTE(Tomi Maila @ May 2 2007, 03:41 PM) Unfortunately it doesn't hang on a PC without the hardware (EasyDAQ relay driver). I tried the exe on my development PC without the hardware and it doesn't hang. I'm going to try the exe on my development PC tomorrow with the hardware. I never tried the exe on the development PC - just in the development environment where it worked fine. George
  22. I just talked to an NI engineer about this and he don't really know what to do. He did suspect that it's a LabVIEW problem and that the program is hanging on for dear life and won't let itself be shutdown. Any ideas on how to shut this thing down - other than a reboot - would be most welcome. I have to speed up the troubleshooting process somehow. FYI, I pared my program down to the bare minimum - open VISA, init serial port and write do a VISA write and it still hangs. I've done this a million times before in a built app, but I've never had this happen. I think my next step has to be to try another PC. George
  23. I've got a built application that hangs around in the background after I get an error trying to access a VISA port. I have to use the task manager to shut it down. However, when I look at the Processes in the the WIndows Task Manager it's still there and I can't shut it down (End Process and End Process Tree do nothing). I have to log off to get rid of it. My IT dept doesn't know what's going on. Has anyone seen this? George
  24. Oh man, I guess that was too easy. Either that or you're really smart (sounds better than me being dumb)! I didn't know that you have to have a valid event registration refnum before entering the Event structure. That bit of info clears up a lot of things. Thanks. :thumbup: George
  25. http://forums.lavag.org/index.php?act=attach&type=post&id=5558http://forums.lavag.org/index.php?act=attach&type=post&id=5557 I started with the Dynamically Register for Events example VI and modified it to test some things I want to try (see attached VI). What I want to do is dynamically register mouse down events for the cluster of controls that the mouse is currently in. Once I have that then I can get the control references for that cluster so I can color label text of the selected control. It seems that I have to Register for Events (I hate the syntax of that, why can't it just be Register Events?) for the whole panel like the original example. If I try to register only the controls of interest (Trim registers and Capacitor control registers in my case) it won't let me do it (see the second VI test control colors_errors). why can't I register the Mouse Down event when the Mouse Enter event occurs for a control? Also the error that pops up when I hover on the broken wire doesn't make sense. It says refunm conflict:cannot connect different refum types The type of source is Event Registration Refnum The type of sink is Event Registration Refnum Uh, how are the source and sink different? George
×
×
  • Create New...

Important Information

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