1 of 30

NX24X7: Challenges and Considerations when Designing a Life Cycle Tester

Katya Prince

Prince Consulting, LLC

Durham, NC

katya@princeconsultingllc.com

July, 2024

2 of 30

Introduction

  • Definition:
    • System that repeatedly cycles a product over an extended period of time often to device failure.
  • Purpose:
    • R&D and product development
    • Industry Qualification
  • Design Consideration:
    • 24-7 Operation
    • Multi-DUT Testers (Parallel or Batch)

3 of 30

System Design Assumption

  • LabVIEW Application
  • PC with Windows
  • Communication with NI DAQ, cRIO or Stand-alone equipment

4 of 30

Example Hardware

  • DUT:
    • Thermoelectric (Peltier) Device
      • Apply voltage/current and will create temperature differential across the device
      • Used for heating or cooling applications

5 of 30

Example: R&D or Product Development

  • When Used
    • New product development
    • Design change qualification
  • Goals
    • Parallel Execution
    • Flexibility to start-stop each DUT
    • Flexibility to change testing parameters for each DUT
    • Detailed information on each DUT over time

6 of 30

Example: R&D Hardware Layout

DUT (i)

TC 1 (i)

TC 2 (i)

DAQ (shared)

Power Supply (i)

Volt Meter (i)

Temp Controlled Base Plate (i)

PID Temp Control (i)

Chiller (shared)

7 of 30

Example: Qualification

  • When Used
    • Devices are ready for production, but may need to pass industry (e.g. automotive or aerospace) qualifications for multiple parts.
  • Goals
    • Lot testing for identical devices.
    • Statistical data collection on the entire batch of DUTs.

8 of 30

Example: Qualification Hardware Layout

DUT (i)

TC 1

TC 2

DAQ

Power Supply

Volt Meter

Temp Controlled Base Plate

PID Temp Control

Chiller

DUT (i)

Bypass

Bypass

Relay Controller

9 of 30

Design consideration 24X7

  • Must run with minimal user intervention
  • Will be active the majority of the time
  • Example of other 24-7 apps
    • Production Line Testing
    • Process Control

10 of 30

24X7: Build for WHEN not IF (pt1)

  • Power Interruption or Loss
    • Mitigate with UPS on PC and AutoPause/Restart
  • Unsafe/critical situations
    • Over Temperature
    • Air Pressure or Water Pressure Loss
    • External Equipment Failure
    • Mitigate with Alarming – Pause Testing with user intervention to restart

11 of 30

24X7: Build for WHEN not IF (pt2)

  • Communication Loss with Equipment
    • Mitigate with automatic retries
    • Mitigate with AutoPause/Restart
  • Network Communication Loss or Server Reboot (for Files or Dbase)
    • Mitigate with Local Storage and Retries
  • PC or Application Crash/Reboot. Hard Drive Failure.
    • User intervention – consider system action logging.
    • Create reinstall files and installation instructions.
    • Use cRIO for mission critical to safely stop test if PC loses coms.
    • Watchdog timers and Master Control Relays.

12 of 30

24X7: Hardware Communication Tips

  • AVOID USB
  • Build in retries.
    • Some equipment will go into a sleep mode and may need to wake up before responding correctly
  • When changing settings, read back values to verify actions
    • This may be a bigger deal with serial drivers that do not reply

13 of 30

24X7: Memory Management Tips (pt1)

  • Try to avoid building/resizing array.
    • Tip for array update using inplaceness:

  • Truncate status display strings

14 of 30

24X7: Memory Management Tips (pt2)

  • Close References

https://www.ni.com/en/support/documentation/supplemental/13/closing-references-in-labview.html

  • Tools for tracking issues
    • Tools-> Profile

15 of 30

24X7: File/Data Tips

  • Save as you go. Do not wait for testing to be stopped
  • Break up files based on size or time
  • If networking issues, may want to save local and move to remote
  • During design calculate how much data you will be creating
    • May want to separate file into year or month folders
    • May need to reduce data collection either by decreasing scan rate or increasing ‘detailed’ data collection interval
    • Consider database size
  • Don’t keep all the data in memory
    • Collect, summarize, log and toss the raw data.

16 of 30

24X7: PC Settings

  • Disable Auto Updates and Restarts
  • Disable File Indexing – especially if doing a lot of file IO
  • Disable automatic defrag

17 of 30

24X7: LabVIEW Licenses

  • ALWAYS use EXE
  • ALWAYS use deployment licenses (e.g., Vision, TestStand, OPC)

18 of 30

24X7: Operation Tips

  • Build in Pause/Resume
  • Update the UI with Current status –
    • for long delays, update a timer
    • No ms wait longer than 1 or 2 seconds – long delays decrease application responsiveness => Frustrates user
  • Update Test Results as you go
  • Periodically save status to file/database

19 of 30

N: Introduction

  • In R&D, each DUT are tested in parallel
  • In Qualification, DUTs are batch tested.

20 of 30

N: Qualification Batch

UI Ctl

TC Reader

Chiller Ctl

Database

Handler

Main Level

Email Sender

Error Log

Test Step Engine

PS

Volt Meter

Logging

Relay Control (DUT 1-N)

UI Ctl

Database

Handler

Email Sender

Error Log

Test Step Engine

PS

Volt Meter

Logging

Relay Control (DUT 1-N)

TC Reader

Chiller Ctl

Main Level

21 of 30

N: R&D Parallel DUT Tester

Test Stage (1)

UI Ctl (i)

Test Step Engine (i)

PS (i)

Volt Meter (i)

Logging (i)

Main UI Ctl

TC Reader

Chiller Ctl

Database

Handler

Test Stage (2)

UI Ctl (i)

Test Step Engine (i)

PS (i)

Volt Meter (i)

Logging (i)

Main Level

Email Sender

Test Stage (N)

UI Ctl (i)

Test Step Engine (i)

PS (i)

Volt Meter (i)

Logging (i)

Dynamic Launch N

Error Log

22 of 30

N: Determine Shared vs Individual Resources

  • Shared Devices
    • 32xTC DAQ board
    • Chiller
  • Other possible shared Resources
    • Communication bus – e.g. GPIB, RS485
    • Error Log Files
    • System Log Files
    • Configuration Files

23 of 30

N: Re-entrancy (pt1)

  • Definition
  • Use Re-entrancy and dynamic launch to create duplicate ‘Test Stages’

24 of 30

N: Re-entrancy – Example Launcher

25 of 30

N: Re-entrancy (pt2)

  • VIs should be Reentrant ‘all the way down’
    • Non-reentrant SubVIs could block action of reentrant caller
    • Most device drivers are NOT reentrant. You may need to re-write them
    • VI Analyzer has a reentrancy test
  • May not want reentrancy in things like Test Start Window

26 of 30

Nx24x7: SW Packages

  • DQMH
  • JKI State Machine
  • Actor Framework
  • TestStand (maybe?)
  • Roll your own

27 of 30

Nx24x7: UI Suggestions

  • Allow for summary information and then detailed information
  • Use ‘pause all’/’resume all’/’stop all’
  • Build with extension in mind. Don’t let the software be the limiting factor.

28 of 30

Example UI

29 of 30

NX24X7: Troubleshooting

  • Behavior: Application continues to grow
    • Possible Reasons: Unbounded array or string. Unclosed references
  • Behavior: UI updates and data collection gets slower as more stages are activated.
    • Possible Reasons: Something is non-reentrant.

30 of 30

Summary

Life cycle testing is needed by industry, and knowing the core considerations will help you address the myriad of challenges when building such a system.