RoboCon 2022

robotframework for silicon validation
2022-05-20 , Main Hall

The validation processes of silicon sensors automated with robot framework and teststand/labview is compared.

These are the real world observations we encountered when replacing an aging lab automation system.

We will present which robotframework feature actually mattered to our colleagues, what failed to impress, and what was requested.


Robotframework for Silicon Validation

These experiences where made in our laboratory for the validation of medical x-ray and CT sensors,

Starting situation

A table based automation system, needed to be replaced as the Excel/VBA/LabVIEW/Lua/Matlab/Python code base accumulated an unmanageable amount of technical debt.

Two competing alternatives, TestStand + LabVIEW and robotframework+python where investigated.

Brief description of TestStand and LabVIEW

TestStand and LabVIEW are products from National instruments, a laboratory equipment manufacturer. LabVIEW is a graphical programing language. Both are integrated into specific GUIs. Consistent look and feel is a selling point for NI. Skills acquired with these tools are hard to transfer to other solutions.

Tools to diff LabVIEW code exist, but they are hard to use. Operator errors may lead to misleading results. Diffing TestStand tables is cumbersome but does not mislead.

The size of the software eco system (in GB) is large. The editor and the runtime share state.

Strengths of LabVIEW+TestStand

  • Examples and advertisement material of the NI products cater to the laboratory/production environment.
  • Working with these tools is an active additive process, giving the impression of productivity. Compared to working with Python/Robotframework where it is mostly a refining process, where the code base does grow slowly, and individual contributions are small.
  • The tool feels like a CAD tool. Many entries with the mouse, lots of hard to google information (color, width of lines, pictures, not Ctrl+C able text). Operators are needed and important.
  • Slow motion live debugging. You can see the program running with annotations of values of unnamed variables.
  • Interactive debugging. It is possible to set inputs to functions for debugging purposes interactively, in the source code.
  • GUIs are developed as part of the regular development process not an extra step.

Weeknesses of LabVIEW+TestStand

  • Hard to integrate robotframework/python code (due to inefficiencies in verifying successful integration)
  • Large amount of languages/tools needed.
  • Powershell (to handle settings and templates)
  • TestStand
  • LabVIEW
  • Python (for analysis of results)
  • Spyder for tables and pictures
  • Word (macros to connect with python analysis/Spyder)

Compared to robotframework
* robotframework
* python
* C (2 functions)
* markup

Strengths of robotframework

  • Easy integration of TestStand and LabVIEW code (thanks pythonnet).
  • ...

Strengths of robot framework that failed to impress colleagues

  • Diffing works
  • Compact code and dependencies
  • High speed
  • Low memory footprint
  • Fast startup
  • Logs and reports
  • Reduced disk space requirements

Most requested features by colleagues

  • Interactive and visual debugging
  • GUIs as opposed to variables to configure measurements

Career

  • 2013-present application engineering and validation/verification engineering at ams-osram
  • 2011 – 2013 home automation at intrate(c)
  • 2010 – 2011 RMA engineer at infineon
  • 2009 graduation at the university of applied sciences FH JOANEUM
  • 2007 – 2010 mixed signal ASIC development at FH JOANEUM
  • 2008 participation at the CERN Summer Student programe
  • 2001 – 2005 industrial automation at intrate(c)

Validation Engineer at ams-OSRAM with 10 years experience in lab validation of various sensor ICs.