Jump to content

Michael Aivaliotis

Administrators
  • Posts

    6,200
  • Joined

  • Last visited

  • Days Won

    109

Everything posted by Michael Aivaliotis

  1. Well, not really giving us all our toys back... Still can't get to the Diagram property... It's a Pretty cool tool, none the less. Thanks for the great contribution!
  2. Ya, it seems like NI did a half a** job on this one. If they only showed the custom items placed in the Tools menu in the Options screen menu editor then this would be a good solution. Now, as it stands, you can only see the NI items.
  3. That this is the solution. Even if you look into the NI embedded panels examples that ship with LV. They always start the subpaneled VI's first before they embed them. This is the key to smooth operation.
  4. Well, it appears that LabVIEW 8 does not have this limitation...
  5. Just discovered that if you take any decoration and stretch it. It will only allow you to stretch it to a size of 4095x4095 pixels. This is is LV7.11. This is not a show stopper but was curious why?
  6. Well, If you haven't already read this, here is an article I wrote for NI's website a while back: Changing the Face of Design Patterns with LabVIEW 7 Express Event Structure Most of it is a list of design patterns but pay attention to the Event Structure With State Machine. This should be the direction of your program. This is probably a lot of work to transform your program to this design but worth it in the long run. You say your code is 1MB. This is actually pretty normal size. The number of cases is not important and you shouldn't worry about this. It is important to abstract certain functionality into sub-vi's. I cannot stress the importance of sub-vi usage. This will make your Main vi lighter and your overall code easier to manage. As far as multiple event structures. I've done this before and it works but there really is no benefit. Is this to split up code? Why? There is no reason not to put ALL your events in one event structure. You say the "event structure might get flaky" define flaky. There is no logic behind this assumption. Is there something else specific that you are worried about?
  7. There is a file here: C:\VXIPNP\WinNT\NIvisa\visaconf.ini That file has a bunch of comments and allows you to comment out unused interfaces. That may solve your problem.
  8. Here are some pictures from the Mindstorms NXT preview at the Las Vegas CES show: Pictures of Mindstorms NXT
  9. After you take the exam, add your score to the poll. No need to give your name, just the results. Take the FREE LabVIEW Fundamentals Exam LabVIEW Fundamentals Exam The LabVIEW Fundamentals Exam is a FREE, online assessment offered in conjunction with the NI Training and Certification Program and is ideal for those wishing to quantify their level of LabVIEW knowledge. The exam provides students and professionals with an opportunity to demonstrate their proficiency with the fundamental concepts and programming practices that are integral to success as a LabVIEW programmer. It also acts as preparation for the National Instruments Certification Program. Details of the Exam The LabVIEW Fundamentals Exam consists of 40 multiple-choice questions with a 45-minute time limit. The exam encompasses essential LabVIEW concepts such as: Arrays and Clusters Charts, Graphs, and Loops Data Acquisition and Analog Input General Programming Structures Strings and Error Handling SubVIs and Printing Passing the LabVIEW Fundamentals Exam requires an understanding and ability to employ fundamental LabVIEW programming techniques, logically analyze and debug various coding schemes and architectures, and navigate the LabVIEW environment with the skills necessary to develop efficient LabVIEW programs. The skills tested are commensurate with the level of knowledge contained in the LabVIEW Basics I: Introduction Course with an accompanying one to three months of LabVIEW programming experience.
  10. I don't think you need to re-write, just yet. I've managed to shoehorn-in gradual enhancements to software in a similer situation.There are many file IO implementations to do what you want but I won't get into that. I've attached some code that implements an architecture for handling configuration data within your program. You have to fill-in the code for reading and writing to the actual config files. For this you can plug-in the openG config VI's if you want but that is not the point. The point in the attached example is that the locals are replaced by a functional global. Wherever you need to read from the config data you place this down and unbundle the required parameter, or all of them. You should only write to these parameters from the configuration window. The nice thing about this is you can place the functional global deep within any subVI's you may use and you can avoid wiring messes. Download File:post-2-1138297260.llb
  11. That is still slow. What SQL statement are you using? Also, have you indexed your table?I just did a simple test with: SELECT * FROM `databasename`.`tablename` of 1000 records and it takes: 15ms.
  12. That's awsome! Also thanks for replying and letting us know the fix.
  13. Whould you be willing to post this DLL here so we could try it out?
  14. If you add a larger delay like 10ms, you will see they are much closer. Are you running this on LV RTOS?
  15. This is not a bug, nor is it a problem for LV8 only. If you select the entire listbox so that a flashing dotted line is around the listbox, then go to the font settings and select the font and size, the setting wil propogate to the entire listbox. I tested this and it works for me.
  16. Here is IOWA state university CSIDC 2005 final report. It includes lots of information on Cubix, very nice. Download File:post-2-1138116006.pdf
  17. I think that Jim's approach would be the best and is not too bad to implement. You already have the mouse coordinates. You could (and should) use an event structure to trap user clicks on the picture control. No matter how you look at it, however, you have a tough challenge. Sometimes the easiest solution is to just remove the requirement. Do you really need this GUI or is there some other approach.
  18. Is it me or is there just way too much interest in doing DAQ with the parallel port lately. What is the reason for this? I just don't get it...
  19. Yes, well this is a known (to me) bottleneck with the LabSQL stuff. There are changes you have to make to some VI's that may speed things up. Here are the two VI's before: And here are the two VI's after:
  20. I would suggest you at least use a state machine. You will quickly find that your program will be more difficult to manage as time goes on. State machine architecture helps as you add more and more functionality over time. This is always the case with LabVIEW code. Here is the FAQ link on them: What is a State Machine?
  21. Maybe you can educate us a little bit. I've worked with several database engines but not SQLite. I understand it's embedded. Does this mean you cannot access it from an ODBC interface? Can you create a DLL that can be called through LabVIEW?
  22. You probably need fast updating because you are using the GUI as feedback for some manual tuning operation that the operator performs?Are you using an event structure? If so, then I don't see how you can miss user events. They are qeued up in the event structure. I'm not sure why you are having such problems with slow screen updates. Is it possible to see an image of your code?
  23. Yes, well what you want is to isolate the main GUI from knowing or even caring about the representation requirements of the test routine. One way to do this is to build a framework into the main GUI that calls various methods of the routines. This is where GOOP helps. For example, you would make each test routine a class that has several methods. One of the methods would be "run test", and another coould be "display data". When you call the "display data" method, you would pass it a reference to a location that you want the data to be displayed. The location would be an embeded panel. Now, the GUI doesn't care how the data will be displayed. All it knows is that data will appear in this embeded panel. You can really do some powerfull stuff with this. For example you could call the "display data" method multiple times. Each call would create a new instance of the data display object. This would allow, for example, multiple views into the same data (one graph zoomed, another expanded). You may ask the question. So how is the data displayed. Well, this is the exclusive responsibility of the class. It has knowledge of the data and would have a VI panel dedicated to this. This could be a seperate VI or handled within the same test routine. Now, you could even go one step further and make the "data display" a class. Then you could make it generic enough to handle your data. Your test routines would call this class and pass them the GUI reference. Let's face it, how may data types do you have? Graph, Boolean, String, Numeric. If it can handle those then you're golden. Also, don't lock yourself into the very limiting "Main Window" concept. With the approach mentioned, you can have multiple windows, each displaying a different piece of data. Your customers will love you for this.
  24. Well, I'm glad to hear that it's a bug rather than some strange attempt from NI to remove functionality. It's a shame since this is a useful function for implementing some powerful design patterns.btw, is it me or is this the buggiest LV release yet?
×
×
  • Create New...

Important Information

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