The Pythonic Requirements From LabVIEW or TestStand

November 16, 2021, 09:00 – 09:45 UTC
Download ICS file

Extending existing code by implementing the new Python node in LabVIEW or integrating the new Python Adaptor test steps in TestStand brings a new set of challenges.

First comes the challenge of selecting the right Python interpreter supported by LabVIEW or TestStand, and installing that consistently.

The second challenge is the increasing complexity of using Python virtual environments for environment isolation. In Python, it is common practice but when using TestStand and LabVIEW this is handled differently across versions.

On top of that, comes the challenge of defining the content of the Python environment and making sure that the custom functionality behaves consistently.

Then you are ready to use the Python functions.

A developer may be tempted to use the manual installation approach where the challenge becomes keeping the Python environment consistent and up to date, perhaps across multiple systems. This talk presents another and perhaps better approach.

By leveraging the NI Package format as a tool for orchestration of both the installation order and installing the Pythons environments dependencies, you gain the following advantages:

1. Using NI Packages to version and install the Python interpreter on the target PC.

2. Environment synchronization on both the development machine and test system or production system, through package installations.

3. Contained environments supporting offline installations

4. Leverage existing technology to provide direct dependencies from both LabVIEW and TestStand deployments.

Since NI Package Manager currently only supports Windows, the talk will focus on handling Windows-based Python Environments. The concepts are transferable even though the NI Package Manager is not supported on non-Windows platforms.

Jesper Kjær Sørensen

My name is Jesper Kjær Sørensen and I am a Systems Engineer at GPower. I am a Certified LabVIEW and Teststand Developer and a general Pythonista. I have been programming in LabVIEW since 2006, in Python since about 2012, and TestStand since 2018. At GPower I have worked with many exciting projects, especially measuring Wind Turbine Blade Dynamics. My passion is making SOLID code and using SOLID programming principles, so I am continually working on improving myself. I have a general focus on combining the best parts from each of the languages to automate as many manual processes as possible.

I am also a trained Scrum Master in SAFe 5 and the Product Owner on GPower Expression Parser for LabVIEW, our expression evaluation toolkit for faster computations.

Historically, I have worked in several industries before GPower, where the most interesting was certifying, developing, and testing methanol-based high-temperature fuel cells while I was at Serenergy, now Advent Technology. I worked with the development of custom fuel cell stack test stations for about 3 years. Then I worked with CE certification and maritime approval of fuel cells, but over time I learned that developing applications and making code was my true passion and I decided to find new challenges at GPower.

I currently live in Denmark on a farm with my wife and daughter and about 40 Holstein cows and heifers. I am spending my spare time on photography and going on scouting trips with my daughter to unwind from the digital life.

Image of Jesper Kjær Sørensen