Jump to content

jcarmody

Members
  • Posts

    947
  • Joined

  • Last visited

  • Days Won

    39

Posts posted by jcarmody

  1. I agree with this comment, but it's not a fault of the JKI State Machine or state machines in general.  From what I've seen it's due to the way people use the state machine architecture.  (Me included.)  Most state machines I've seen are a combination of "sequence machines" where a series of states are called in the same order every time and "procedure machines" where a specific state essentially takes the place of a sub-vi.  I don't think I've ever heard of a developer actually sitting down to figure out what the valid states of his application are and developing around that.

    ShaunR and Daklu have me confused.  I'm not sure what to ask, but I thought I was following good practices.  Can you 'splain?

    I believe I understand what you mean by a "sequence machine", but product testing requires performing a sequence of operations and testing the result.  How is this not a state machine?  I also think I see what you mean about a "procedure machine"; I use a sub VI in one state to avoid having it (an instrument driver, for example) all over the place.  This also lets me keep my BD simple and makes modification incredibly easy.  How is this not a state machine?  I use data flow everywhere (no local variables for me); how is this procedural and a queue of enums not?

    I'm missing something.  Either I misunderstood your posts or there's something fundamentally wrong with the way I'm working...

  2. When I chimed in on the QD-SM, I was referring to the JKI String-Based Queued State Machine.  I'm not sure how to avoid having many states if my ATE performs many functions using many devices.  One thing I'm avoiding (like the plague H1N1 FUD virus) is making one state perform multiple functions.  Each state does one thing and I call it wherever I need that function (using Macros).  This results in a long list.  What else can I do?  However, I must say, that the CaseSelect RCF plugin makes it a piece of cake.

    Jim

    PS - Ben, I've read enough of your posts to put the best possible construction on anything you write.    :thumbup1:

  3. Would it be "bad labview" to include a second event structure loop which only responds to the "interrupt" type controls (this would then allow me to fire an interrupt command into the queue of the subvis "engine" doing all the work)?

    Or should I re-write my UI as (another) queued state machine, whereby the state machine runs the longer tasks and the event structure driving the UI state machine can also fire things into the engine queue for interrupts?

    Any thoughts or suggestions welcome!

    Cheers

    You're Ok if your second Event Structure is in a separate loop.  Take a look at the Caveats and Recommendations when Using Events in LabVIEW.  

    I like to put my logic in its own state, called by the Event Structure rather than in it.  This allows me to use it again apart from an event (and without using a "Value (Signaling)" Property Node to fire the event - I hate that).

    Jim

  4. Some of us follow Joel on Software so I thought I'd point out that his company's project management product (FogBugz) has a free version for Students and Startups (of 1 or 2 people).  I found this quote that says anyone can use it, with the caveat that you pay for it if you can.

    Anyone can use the Student and Startup edition. Our intention is to provide an awesome tool to those particular groups, but if you have two people or less than you can use it [emphasis mine, jc]. We won't police you. We do ask however, if you do have the money to please use our paid version so we can keep making great software (and implement the really long feature list our customers have been asking for).

    Isn't that nice?  None of my projects would need more than one user (me), and when I actually have a customer it's always been only one at a time (so the 2 user limit wouldn't be an issue).  Do you know of another free project management site?  I've hosted my own (using DotProject) but I've lost interest in managing a web app. 

    Edit - I probably misunderstand the whole users/customers bit.  I'll learn more about that this afternoon.

  5.  

    [...] I'm struggling to make it work in LV8.2.

    I've tweaked the version for LV 8.2 but am not happy with it; it has fewer functions than the 8.6 version.

    • Drag-and-drop of cases doesn't work.  The image below shows how I rearrange cases; it works in 8.6 but doesn't do anything in 8.2.
    • Insert and rename a case work, but delete doesn't.  Attempting it causes an error.

    post-7534-12570317927_thumb.jpg 

    I've attached an llb for 8.2.  I think I'm done developing this for 8.2 unless someone can help...  Please?  Thanks.

    caseselect.llb

  6. Could you post a snippet from Passa Mak (or, a few) to show how you're finding all of the

    label (tags), captions, tip strips and any ancillary text (such as graph axis, plot names etc) of all controls and indicators on the front panels and any string diagram constants that have their captions (or labels for digrams) visible to a number of language files

    I don't have LabVIEW 2009.

  7. Thanks for your info.

    I would like to attach my attachment of Labview diagram to this post. But I don't know how to do it. Please show me the steps how to post my file.

    Thanks,

    Q

    Click on "Browse", find your file then click "Attach This File". Bob is sure to be your uncle.

    post-7534-12567673304_thumb.jpg

  8. [...] who have been programming in C for 30 years [...]

    I'm working with a long-time text-programming Test Engineer who is being shoehorned into LabVIEW. I expected him to kick and scream through the process, but he's surprisingly open. He expresses an equal amount of "that's neat" and "that's easier in text". There has only been one case where he didn't believe me when I said he was doing something wrong.

  9. Our company has been getting an increasing number of orders for devices that use CAN bus. I have zero CAN bus experience so I'm shopping for a good (and preferably cheap) CAN interface/adapter that comes with handy-dandy LabVIEW drivers and/or examples to use for testing. Thanks in advance. cool.gif

    We've had good luck with Kvaser CAN devices; our CLA prefers them to NI and ValueCAN. They're cheaper, too.

    http://www.kvaser.com/can/

  10. [...] I was wondering if anyone who has done this before has any good advice or suggestions for a newbie volunteer.

    I haven't done it before (so feel free to disregard the post coming from someone that ignores plainly written requests) but a friend of mine did. The advice I'd try to follow if/when I volunteer would be to get everything at home & work done before it starts because you're going to be <colossal understatement> busy </colossal understatement>. The spouses created a "widows" club... It's a fantastic concept that your team will strategize/design/fabricate/build/test/debug/practice a robot in only six weeks.

    Good luck and keep us posted.

  11. Hi and thank you. But I cant find that property node 'Primary Workspace'. I have looked under Function Pallete >> Application Control but no Display to be found in that menu/pallete. Im a looking at the wrong place? Im using LW 8.2

    It's a regular Property Node where you select Display->Primary Workspace.

    post-7534-125620838016_thumb.jpg post-7534-125620820483_thumb.jpg

    • Like 1
  12. Hi Asbo,

    Thanks for the reply. I will try scripting to generate some objects.

    Sharon, it's important to note that you won't be able to build an executable with your scripted VI. This is fine if you're just making a tool to make development easier. If this is what you're doing, consider making it into a plugin for the JKI Right-Click Framework. There's more information to help you get started scripting here and here.

×
×
  • Create New...

Important Information

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