TestScript: A Free Python/LabVIEW Connector from Wineman Technology

  • Context: Python 
  • Thread starter Thread starter Ackbach
  • Start date Start date
  • Tags Tags
    Technology
Click For Summary

Discussion Overview

The discussion revolves around TestScript, a free connector tool developed by Wineman Technology that integrates LabVIEW and Python. Participants explore the features, strengths, and weaknesses of LabVIEW compared to other programming environments like Python, Octave, and Sage, as well as the specific advantages offered by TestScript.

Discussion Character

  • Technical explanation
  • Debate/contested

Main Points Raised

  • Some participants highlight the strengths of LabVIEW, including its fast GUI development, superior hardware communication, inherent parallelism, and built-in numerical analysis capabilities.
  • Others point out weaknesses of LabVIEW, such as its limitations in scripting, GPU interface development, and its closed-source nature.
  • Participants discuss how Python complements LabVIEW by providing easier scripting capabilities and access to advanced GPU libraries, with TestScript serving as a bridge between the two environments.
  • One participant mentions that LabVIEW lacks a generalized inner product, prompting further inquiry into whether this refers to a programming feature or a mathematical concept.
  • Another participant notes that LabVIEW can efficiently compute typical inner products and has many vectorized operations similar to NumPy and MATLAB/Octave.

Areas of Agreement / Disagreement

Participants express differing views on the strengths and weaknesses of LabVIEW compared to Python and other tools. There is no consensus on the implications of LabVIEW's lack of a generalized inner product, and the discussion remains unresolved regarding the specific programming features being referenced.

Contextual Notes

Some claims about LabVIEW's capabilities and limitations depend on specific definitions and contexts, which may not be universally agreed upon. The discussion includes technical details that may require further clarification or context for full understanding.

Ackbach
Gold Member
MHB
Messages
4,148
Reaction score
94
With a few of my colleagues here at Wineman Technology, we have developed a free LabVIEW/Python connector tool called TestScript. You can follow the link to the direct download, or read the blog post for more information. Very exciting!
 
Technology news on Phys.org
Hey Ackbach,

Can you clarify what the value is that this engine offers (that is built on top of Python), that no other engine (like Octave or Sage) offers?
Btw, maybe it's just me, but I'm not familiar with LabVIEW, so it may be helpful to highlight what LabVIEW offers...
 
I like Serena said:
Hey Ackbach,

Can you clarify what the value is that this engine offers (that is built on top of Python), that no other engine (like Octave or Sage) offers?
Btw, maybe it's just me, but I'm not familiar with LabVIEW, so it may be helpful to highlight what LabVIEW offers...

Sure! National Instruments puts out LabVIEW, a graphical programming environment technically implementing the G programming language. Most people just say LabVIEW, and are done with it. Programming is graphical: you put nodes down and connect them with wires. That is the act of programming: it's a dataflow programming language: nodes execute as soon as all their inputs are available. Strengths of LabVIEW: 1. GUI development is extraordinarily fast, because every single file has what's called a front panel, on which you can put tons of different kinds of GUI elements in a WYSIWYG fashion. 2. No programming language talks to hardware better than LabVIEW. There is a LabVIEW driver for just about any instrument you can think of. 3. LabVIEW is inherently parallel: if code can run in parallel, it will. 4. LabVIEW has a fair amount of numerical analysis built into it, with algorithms implemented ranging from polynomial fitting, interpolation and extrapolation, digital filters, calculus and differential equation solvers, geometry, and much more. Its libraries are not as vast as Python's, but they are still quite large, and adequate for many analysis tasks in the Operational Technology world (physical sensor data, as opposed to user data like web clicks). Weaknesses of LabVIEW: 1. It's not good for scripting, unless your scripts are exceptionally linear. If you need flow control like IF statements or FOR loops, you essentially have to know LabVIEW. 2. Its GPU interface is not highly developed - Python, e.g., is way ahead of LabVIEW on this score. 3. It's not open-source, but is a paid closed-source language managed by NI. NI does a good job with it, but LabVIEW is expensive.

Python fills in some of these gaps that LabVIEW has; in particular, it's great at scripting because of its exceptionally easy-to-learn syntax. There are terrific GPU libraries like TensorFlow and Theano, and it's FOSS. So, TestScript bridges the gap by providing a connector between the two. There are other connectors, most notably Enthought's connector, but it is not fully bi-directional (you can call Python scripts from LabVIEW, but not LabVIEW functions from within Python). For example, in LabVIEW applications, there is typically a manual control screen where you can directly interact with your hardware. But once you've spent the time to develop a manual control screen, you'd like to automate processes on it (set the power supply to 10 V, then get a DMM reading, etc.) Well, using TestScript, you define these functions (set voltage, get DMM reading, etc.), and then you can call them in your Python script and essentially write test scripts very easily. While TestScript isn't the only way you could do this (NI's product TestStand comes to mind), TestScript is much lighter weight, and free. So that's what we're offering.
 
Weakness: LabVIEW does not have a generalized inner product.
 
tkhunny said:
Weakness: LabVIEW does not have a generalized inner product.

Perhaps you could expand a bit on this? I know what an inner product is relative to an inner product space. Are you talking more about a specific programming language feature? LabVIEW can quite efficiently compute a typical inner product (really a dot product) thus:

View attachment 8108

LabVIEW has many, many vectorized operations similar to NumPy and MATLAB/Octave.
 

Attachments

  • LabVIEW Inner Product.png
    LabVIEW Inner Product.png
    4.3 KB · Views: 114

Similar threads

  • · Replies 10 ·
Replies
10
Views
4K
Replies
7
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
9K
  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 7 ·
Replies
7
Views
4K
Replies
6
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K