Jump to content

Mike Ashe

Members
  • Posts

    1,626
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Mike Ashe

  1. Overheard: LV 8 may support some software testing tools.

    Didn't see anything like that in the upgrade notes...

    It makes sense that they would be working on such tools. Now that property panels for front panel controls are actually LabVIEW VIs NI is finding that it has even more LabVIEW VIs to maintaince, retest, etc, and these VIs are not examples, they are integral. If they do not function the users notice.

    Rumor has it that we have some nifty tools coming down the pike.

  2. Here is a programming challenge: Make the traversal routine generic, such that it accepts a callback (plug-in) VI reference, which is passed each object reference during the traversal. Let the plug-in VI decide what to do with the object reference -- in this case, it will determine if the object is a CBR node, and add it to a list.

    Excellent suggestion. I'll see what I can do.

  3. Interesting concept but impractical I think. Reducing complexity into a subvi is not a mechanical task isolated from its surroundings. It has to make sense. The VI must encapsulate specific functionality.

    Not impractical at all. I agree that a subVI has to make sense. Note that I said to present the user a table of suggestions, which can be highlighted by selecting different lines. It is then up to the user to actually do the subVI operation, to add or subtract from a highlighted group to define a grouping that can be made into a sensible subVI.

    I'm not suggesting that we turn this into a mechanical operation (not yet, ... if it could be made sufficiently intelligent ... but that is another kettle of fish) just something that could quickly go through code and give an intelligent operator suggested groupings flagged based on parameters selected. This would be either as an analysis operation, like running the Profile tool, or a continous operation that runs in the background every so often and then scans the open VIs.

  4. We could do this in an analyzer version with scripting now. Another variant would be to count up the total number of nodes or structures or nesting level of structures, etc, etc, and then allow you to set alarm/warning level.

    PIE in the sky extra credit feature: after analysis, if certain thresholds are exceeded, then do a second analysis and suggest structures or groups of code to be converted into a subVI (do we have a subVI scripting function?) by the user. Present the suggestions in a table and highlight the currently selected group.

    Now THAT would be useful.

  5. On another note here...

    How many of you are really finding the Navigation window to be a help in your own work? I'm not talking about refactoring someone else's work, but in initial development or maintenance of your own (or your team's) code?

  6. Well, a hospital application I worked on had over a hundred connections during testing, so I know you shouldn't have a problem with 20.

    By any chance are you making a connection between each of the modules to all the others? In that case each module will have 19 connections and 20 modules .... 20x19=380 connections. Thats quite a few. Depending on how you designed your software you may be causing LabVIEW to run so slowly (or to be hanging if you have race or dependency conditions) that you lock up or slow down so much it appears you are locked.

    Have you tried 2 modules, then 3, then 4, etc...

    In that case, where do you start to have problems?

  7. Of course, you can also use an event structure that detects when you click on a picture control and use that instead of a boolean. Slightly more work, lots more flexibility.

    Seems I recall that the LabVIEW GUI book had a nifty example code in it that replicated the functionality of the Outlook sidebar using the picture control and lots of setup options for the "buttons" that were loaded at startup from picture files.

  8. You don't need a 3 port graphics card to get more than 2 monitors to work together all you need is a open PCI slot and a dual head PCI

    graphics board....

    Yeah, several years ago, back when Win98 (or was it 98SE?, memorys getting foggy...) first allowed multiple PCI video cards I did a project demo with 4 cards and 4 monitors. That got me hooked on >1 monitor.

    The real reason I want a 3 head is not so much Windows or LabVIEW, but video editing. :camera: I want to edit video on 2 monitors and show the output on a TV monitor during rendering, etc. Just a new hobby.

    Cheers,

    Mike

  9. It depends on the customer and contract they want. Most of my projects have required the source code, since I usually work with companies that already have LV programmers, OR, part of my services is that I not only developed code but have provided training to their personnel, sometimes formally, sometimes informally.

    I usually have a clause in the contract explaining that part of what I bring to the project is code snippets, libraries, techniques, etc that I have developed from other projects and that they understand that I will use this in their project to save them time and money, but that they also agree that I will retain the right to reuse general purpose VIs, snippets, techniques that I develop in their project for some of my other future projects. If they balk at that, I do not argue, I simply change the terms to reflect developing everything from scratch for them and often the cost differential makes them see the light of reuse.

    In all cases, unique code developed for their application to their specifications becomes the right and property of the client. I never try to retain that, although once I did put in a clause that restricted the client from distributing any version of their software without my say so, in return for a large price reduction. They owned and received all source and can use it internally for anything they want, but cannot give or sell it to anyone else. Special case.

  10. This is a great diversion for a few minutes at lunch. I really wish I had kept a scrap library of code like these examples over the years, both diagrams and front panels. However...

    I remember one that was for a small measurement tester for hard drive heads that was chartreuse green and magenta ... which my boss and I started dissecting as we were evaluating taking the rescue (excuse me, "refactoring") job. We were laughing until we noticed that the senior engineer in the back of the crowd was turning bright red, ... it was his code and we were humiliating him in front of his peers.

    I vowed then never again to criticize code like that in public unless the person who wrote it was there and had told us to pull no punches. Good grief, I'd hate to have to critique the first couple of VIs/project that I did.

    Still, the scrap library would be funny for private laughs...

  11. ... Agilent 34970a data acquisition unit.

    ...how can I change the rate of scanning for example like every minute.

    2) How can I write the scanned values of the channels in a separate file ( for future use) like exel or word document etc.,

    6126[/snapback]

    Look in the 34970a driver library, it should have a VI to change the scanning rate.

    Look in the ..LabVIEW\examples\file\smplfile.llb library. It will give you examples on writing and reading both binary and text data to files and a data acquisition example to show the whole process.

    Cheers,

    Mike

  12. The system will be used for developing test equipment to test electronic fire detection products.  ...  this is hopefully a step in that direction.

    5025[/snapback]

    Sounds good. Will the testing be laboratory testing for development and offline sampling, or are you also planning to do online testing of each unit on the assembly line? For the former, Dell would be a good choice. For the later, unless the factory floor is exceptionally clean you might want to look into an industrial PC or even a PXI chassis if your pockets are deep enough.

  13. Hmmm......

    It's not exactly what you want, but I wrote something

    Probe Table

    that might get you part of the way there, with modification of course. The Probe Table project was meant to be able to define and save/restore lists of probes, throughout a VI hierarchy and have the data returned to either a series of generic probe windows or a table. To do this it makes a list of wires in a VI it is pointed to and lists the sources. It is not hard to get the endpoints for a given VI and lookup what is at the ends.

    Perhaps you'd care to take a look and add a little to the alpha code.

  14. This brings up a pet peeve of mine. If you select the label to be visible on any structure, the label comes up with the less-than-useful information of 'For Loop" or "While Loop" and the label text is NOT highlighted to allow easy typeover, which is inconsistent with every other labelling function in LV. Sure, it's just an extra triple click away, but I already know it's a %*##* while loop! :angry:   If I select the label as visible, chances are 100% that I want to change it to something more meaningful.

    4987[/snapback]

    I have to second this, but what I really want is to be able to put a state diagram in the label which will pop up if you make the label visible and you hover over it with the mouse. We use CASE structures for state machines so often these days that having a simple 2D state-diagram (and/or) table graphic would go a long way to making them more readable.

  15. The really neat thing about Michael's original diagram coloring tool was showing how to traverse a diagram hierarchy. I have modified it to do a couple of specific things before, but keep waiting for a truely generic spider to be released. Did I miss something somewhere? Did PJM ever release the package he mentions above?

×
×
  • Create New...

Important Information

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