Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Posts posted by jcarmody

  1. Thank you all for your feedback. I believe using strings require one thing at least: being diligent when naming the states correctly at their creation, since renaming them would require modifying several string constants --> bigger effort and error prone.


    My CaseSelect Quick Drop plugin helps manage the JKI State Machine, and it includes a 'rename' function that'll go through your VI and update every instance of the old name.



  2. jcarmody,

    Where do you store the information about  "which sequence steps to execute and the limits for each test" ? File or database ?  It's all in the database (SQL Server)

    Where is implemented the logical which decide which sequence steps to execute ? dTRAK does this in TestStand

    Did you modify the process model ? I think they did.

    Did you customize and use the AditionnalData structure available in the UUT structure ? I don't know.

    Is dTRACK able to manage inputs in some way ? What do you mean?  It manages the test limits and which tests to run.



    I have a few product families and one test sequence for all of them.  Not every step (subsequence) in the main sequence is executed for each family, and steps can have different test limits depending upon family/part number.  dTRAK manages all of this for me, I just have to configure all of this in dTRAK (it has a web interface for this).  If I had thousands of parts, I'd ask G2 to write a custom program to automate the configuration.

  3. To jcarmody :

    I took a look to dTrak. I understand (but maybe I'm wrong) that it's a tool for managing Results, not for managing Inputs, just like skywats (http://www.skywats.com/).

    My concern is about inputs.

    (yes I'm a CLA :cool: )


    My system begins when an operator scans a barcode containing a part and serial number.  The part number tells the system which sequence steps to execute and the limits for each test in those steps.  Results are stored and retrievable within the system, too.


    It sounds like G2's web page doesn't do dTRAK justice.

  4. I have a product line with a few dozen part numbers with common & unique tests based on product family and it sounds similar to your situation, although at a much smaller scale.  I use a product from an NI Alliance Partner called dTRAK (http://g2tek.com/dcp/i/products-dtrak). 


    My first thought while reading your post was to ask how much experience you have, then I saw the "CLA" in your signature.  It's worth giving them a call, anyway, as they've already done a lot of the heavy lifting.  Good luck.

  5. My company is seeking an engineer to replace me and I'd like to help .  The job listing is at http://www.utc.com/Careers/Job/Sr-Eng-Test-Reliab-Wilson-North-Carolina/2840BR.  The position is located in Wilson, NC.


    This position is responsible for developing and supporting all of the production test functions for several commercial aviation products including smoke detectors and pressure transducers, most of which communicate using CAN.  You'll also:

    • be involved with the Design Engineering group to make sure that they don't build/specify anything horrible
    • inherit a lot of my applications (be kind!) and one larger one that we bought from an NI Alliance partner
    • train/support production personnel on the use of your equipment
    • ...

    You'll encounter:

    • Access and SQLite databases (but I'll nag you about using SQL Server)
    • the JKI State Machine
    • a somewhat complex test system that uses LabVIEW and TestStand with a web app and a SQL Server database
    • ...

    I'd be thrilled (but it's not required by the folks doing the hiring) if you:

    • are a regular contributer to the forums
    • are certified in LabVIEW and/or TestStand
    • use a version control system
    • can teach me how to use the Actor Framework

    I love the job; you may love it, too.  PM me on LAVA if you'd like to discuss it further.  I'll help you get your information into the right hands.


    Good luck.


    cross-posted on http://forums.ni.com/t5/LabVIEW-Job-Openings/Test-Engineer-LabVIEW-TestStand/m-p/3091105

  6. My job satisfaction stems from the fact that most of my responsibilities are AWESOME!  The parts of my job that aren't awesome don't drown out the other awesomeness.  Also, I have good bosses and coworkers.  Also, my company is profitable.  Also, flexibility.


    Forget it.  I don't know...

  7. It is generally best to have only one event structure in a VI. [...]


    Just to be clear, I showed two Event structures just to show the two approaches.  Pick whichever one suits your application, although it sounds like the upper one isn't applicable with the other events you need to handle.

  8. The easiest way is as ned said, shown in the top image.




    If you can't use a 30-second timeout because you need to handle other things during those 30 seconds, the lower loop will evaluate whether 30 seconds has elapsed every 0.025 seconds.  You'll need to pass the "reset timer' command back into the Timeout event using a Shift Register.


    Maybe post your VI?


    Are you really using LabVIEW 2015?

  9. A little bit off topic but if you wrote this sequence in TestStand, you'd already have HTML report generation by default. You'd also have a database, user logins, etc.

    That's one of the sticking points I have with convincing folks to use TestStand.  The HTML reports are about useless (without adding some thought and effort).

  10. I'm leaning back toward TestStand, even though everyone else is moving away.  I figure that a debug/deployment license is a drop in the bucket compared to a new ATE, and a deploy-only license is nearly free.  (I work for a larger company where I'm not questioned about $600.)  I want to leverage TestStand's user management, database and reporting pieces, but the debugging opportunities mentioned in the article are also valuable.

  11. I have one question, Is there any way to control case structure from the front panel.


    Well, you could put the Case structure in an Event structure and respond to the Value Changed event of a control wired to the selector terminal of the Case structure.  I'm not sure I understand what you've got in mind, though.  Are you anticipating receiving many messages and wanting to manually examine some of them?  How will you isolate the ones you want to examine?

  • Create New...

Important Information

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