Jump to content

jcarmody

Members
  • Posts

    947
  • Joined

  • Last visited

  • Days Won

    39

Posts posted by jcarmody

  1. It would be nice if we could drag and drop a case name into the VI.

    For instance by selecting a case with the 'ctrl' down.

    This would not show the case, but allow for a drag and drop of the case name.

    If you drop this into a string constant it would contain the name of the case you selected.

    Ton

    I think I understand.  It's an interesting idea that I'd probably use myself.  It would be neater, perhaps, to drop it as a String constant instead of into one (unless you're building a macro).  I've added it to my list; lemme see what I can do.  

    I've never tried to control a drag-drop operation from one VI into another.  Could be fun.  :wacko:

  2. Have you also considered just using a Somebody Else's Problem (SEP)-field? Would pretty much simplify everything (no need to move away, no bodybuilding to bash around with that heavy battery-bat).

    Felix

    Another advantage to an SEP is that "The SEP field requires much less energy than a normal invisibility field (a single torch battery can run it for over a hundred years) due to the natural propensity of humans to see things as Somebody Else's Problem."

  3. index.php?app=downloads&module=display&section=screenshot&id=118

    Name: GetSnippet

    Submitter: jcarmody

    Submitted: 23 Dec 2009

    File Updated: 03 Jan 2011

    Category: *Uncertified*

    LabVIEW Version: 8.2

    License Type: BSD (Most common)

    GetSnippet RCF Plugin v1.0.0

    Copyright @ 2009, Jim Carmody

    All rights reserved.

    Author: Jim Carmody

    LAVA name: jcarmody

    Contact Info: Contact via PM on www.lavag.org

    LabVIEW version:

    Created and tested with LabVIEW 8.2

    Dependencies:

    JKI Right-Click Framework

    LabVIEW 8.2 or higher

    Description:

    The Code Capture Tool 2.0 can create a VI snippet in LV versions as old as 7.0; this plugin lets you extract them in versions 8.2 and above. Standard conditions apply - you won't be able to extract a snippet that was created in a newer version of LabVIEW.

    Instructions:

    Extract the zip file into [LabVIEW]\Resource\JKI\RCF\Plugins\GetSnippet and restart the RCF framework. Once installed, select a snippet, activate the RCF and select GetSnippet and your decoration will be replaced by the underlying code.

    Known Issues:

    Hardly anybody makes snippets in anything except LabVIEW 2009. :( The program works fine, though.

    Acknowledgements:

    Ton Plomp and Yair gave us the Code Capture Tool, without which there would be no need to extract snippets in LabVIEW < 2009.

    Darin.K showed me how to get a VI from a snippet. Ton helped me improve my implementation.

    Change Log:

    v1.0.0: Initial release of the code.

    License:

    BSD

    Support:

    If you have any problems with this code or want to suggest features:

    please go to www.lavag.org and Navigate to

    LAVA > Resources > Code Repository (Certified) and

    search for the "Abort.vi" support page.

    Distribution:

    This code was downloaded from the LAVA Code Repository found at www.lavag.org

    Click here to download this file

    • Like 2
  4.  I've rewritten this for the CR without the JKI State Machine.  As much as I love the JKI SM, and as much as it simplifies my job, I realize that not everybody has the VIP installed and won't be able to use Abort VI. So, if you've already downloaded it but were unsatisfied due to dependencies you don't have/want, you can download it again without them and give it a try.  I also disconnected the Enum from the Type Def so the VI can exist by itself.  I was going to do this for distribution but I wanted to leave it for folks to modify.  I hope this helps. 

  5. I have checked the BD and it looks good. I can not make it work properly.

    I always get 0's...

    BD, FP and VI are attached.

    [...]The True case should contain the Array Initialize because it must happen only once, at the First Call.[...]

    I read your note about LabVIEW 7.1 but didn't connect it with your question about the True case.  All of the images I post are VI snippets, so the code is in the picture, but you'd need LabVIEW 8.6 to get it out.  Sorry.

    I added the Array Initalize to your code and it worked.  Food for thought: your Case Structure wasn't doing anything so you were trying to replace an element in an empty array.  You experienced that it won't work.  One thing to note is that the constant 8 elements is specific to the number of elements in your boolean Results array.  You'd be better off programmatically determining the length of that array, but you need to size it appropriately if you change the number of tests you're tracking.

    post-7534-126156878612_thumb.png

    PS - Take a look at the Code Capture Tool.  It makes capturing and annotating BD & FP images easy.

  6. index.php?app=downloads&module=display&section=screenshot&id=117

    Name: Abort VI

    Submitter: jcarmody

    Submitted: 22 Dec 2009

    File Updated: 22 Dec 2009

    Category: LabVIEW IDE

    Version: 1.0.0

    LabVIEW Version: 8.2

    License Type: BSD (Most common)

    Abort.vi v1.0.0

    Copyright @ 2009, Jim Carmody

    All rights reserved.

    Author: Jim Carmody

    LAVA name: jcarmody

    Contact Info: Contact via PM on www.lavag.org

    LabVIEW version:

    Created and tested with LabVIEW 8.2

    Dependencies:

    LabVIEW 8.2 or higher

    Description:

    Sometimes it happens that you're running a modal VI, you can't stop it and the only option you have to recover is to kill the LabVIEW process and start over. Running this VI will present a list (on top of your other modal VI) of all VIs running in all contexts (except NI.* and JKI.*). Select the one giving you trouble and this VI will abort it. Keep this VI handy and you'll never be stuck again.

    Instructions:

    *NOTE* This VI needs to be set to "Run when opened"; I purposely didn't set it for submission here because I think it's impolite. Take a look at the Block Diagram, satisfy yourself that it's safe (here be dragons, rusty nails and all), set the execution to run when opened, put the VI where it'll be handy and commence developing code secure in the knowledge that a UI mistake won't lock your LabVIEW process.

    Known Issues:

    None

    Acknowledgements:

    This program was inspired by this thread in the NI forum.

    Change Log:

    v1.0.0: Initial release of the code.

    License:

    BSD

    Support:

    If you have any problems with this code or want to suggest features:

    please go to www.lavag.org and Navigate to

    LAVA > Resources > Code Repository (Certified) and

    search for the "Abort.vi" support page.

    Distribution:

    This code was downloaded from the LAVA Code Repository found at www.lavag.org

    Click here to download this file

  7. Thanks for replying jcarmody.

    I think this is what I am looking for. But I've got some doubts...

    Please see the attached.

    Those are the First Call function.  They return True the first time they're called and I use them to initialize the data that will go in the Shift Registers.  Without them the arrays I'm passing around won't be initialized properly.  I have to initialize them to the size of your results array inside the While Loop, but I can't have it happen every time the Loop iterates or you'll lose your ability to count.  The True case should contain the Array Initialize because it must happen only once, at the First Call.

    Similar thing for the Total scalar; if I don't initialize it to zero the first time in it'll keep incrementing every time it runs and the count will be off. 

  8. [...] Now I want to count the failure type, I'd like to use a boolean array as the input. [...]

    I'm assuming that each element in the input array represents the result from one of multiple tests, not multiple results for one test.  I think this is what you're looking for.  Sharon_'s post is your answer if I've got it backwards.

    post-7534-126148434768_thumb.png 

    ResultTotals.vi

  9. Typically while debugging, we will be looking to someones code. We will not be really familiar with their naming convention of the State and also the way they organize the states. It will be time consuming and painful to find the states in their state machine. I always felt if there were search in the case selection it would be really useful for quickly navigating the cases. I had to debug very large state machine which had more than >30 cases.

    Would it work for your purposes to have it search for states that begin with, rather than contain, the string being typed?  I've added this functionality, but haven't made it search inside state names.

    Lemmeno.

    Jim

  10. After doing some research i'm able to answer my own question biggrin.gif

    here's the link that I found...

    http://zone.ni.com/r...guration_files/

    thanks jcarmody for the link, didn't see your post before i posted back i was able to get it working.

    The advantage I see with the OpenG VI is that you don't need to program all of the sections/tags, just make a cluster and it'll read everything for you. It's just as easy on the other end to write everything back.

    Have fun.

    Jim

  11. I hope you can help.

    Feed the result of your Pass/Fail determination into this.  Now would be a good time to study up on Shift Registers because I've modified crelf's program to use a While Loop with two of them (uninitialized, to boot).  You can make this into a sub VI or put it in line with the rest of your code.  A While Loop  with uninitialized Shift Registers set to run one time is a useful tool, but you need to understand their operation or you'll have trouble with this.

    post-7534-126106361646_thumb.png 

  12. May I suggest the LAVA Code Repository?

    I was going to float it around here and see how it was received first.  If it's useful I'm hoping that I get some suggestions for improvement before submitting it.  I'd love to have it there; software in the LAVA CR is like a pretty feather in your cap :).

  13. I wrote this little utility that presents a list of all running VIs in all contexts (except NI.* and JKI.*).  Clicking on one in the list will give you the option to abort it (it's useful if your VI is stuck). Someone released one on the other forum but the diagram was locked and I was curious...

    I put it in my LabVIEW 8.6\project folder. Perhaps it'll be helpful to you.

    *WARNING* Being that I put this in my project folder, I set the top-level VI to run when opened. Take appropriate measures if you don't want this behavior.  It also closes its Front Panel when it's done.

    Jim

    *EDIT* the latest file submission is in the Code Repository.  Don't download this file any more (unless you like looking at obsolete files ;)).

    Abort.llb

    • Like 2
  14. I am horrendously jealous of folks like you - really makes me wish I had been raised bi-lingual.

    Me, too.  This reminds me of a joke.

    Q: What do you call someone that is fluent in three languages?  A: Tri-lingual

    Q: What do you call someone that is fluent in two languages?  A: Bi-lingual

    Q: What do you call someone that is fluent in only one language?  A: American

  15. I'm not ignoring your point.

    I'm sorry for implying that; I wasn't clear. I meant that the study ignored the effect of a controlled economy. No study can learn anything about what an open market could/would do as long as the market isn't open (there are extremely high, legislatively caused, barriers to entry into the market). Let me suggest that there are many "Health Care" demands that don't require specialists or special equipment, but there are no low-cost-no-frills options because the law won't allow them.

    • I worked along the Tex-Mex border one summer and took a trip into Mexico where there was a thriving over-the-counter trade in prescription drugs. These were very inexpensive, and presumably good because the trade had been thriving for a long time. There are also, oddly enough, dentist offices on many streets offering various services at deep discounts to rates north of the border.
    • There was a blip in the news in the past few years about people buying prescription drugs from foreign websites and legislators jumped up and down screaming about safety and suggested new laws were needed to prevent this "dangerous" practice.
    • Another example is the practice of flying to a different country to get a medical procedure. I'm thinking about an article I read where people flew, at their own expense, to India to get a surgical procedure that they couldn't afford in the US.

    So, you would reasonably expect that something would cost more if you had to travel to get it, but these examples show things costing less. Call me cynical, but when someone that gets paid by folks that sell expensive drugs/treatment/insurance/whatever tells me that they're only limiting my options because they're concerned about my safety, I don't believe them. Now, if someone isn't comfortable with the low-cost option they can choose a different provider (just don't plunder my salary to pay for it ohmy.gif).

    Call me cynical anyway; the shoe fits. smile.gif

    (PS - This thread is MUCH more fun then the ATE I'm debugging, although the progress I am making has increased my confidence that it will be done in 2009.)

×
×
  • Create New...

Important Information

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