Convert Embedded LabVIEW Controls into Python using PyQt

Posted by


LabVIEW is a powerful programming platform that is widely used in the field of automation and control systems. It provides a graphical programming environment that allows users to easily design and implement complex control applications. On the other hand, Python is a versatile programming language that is becoming increasingly popular for its ease of use and flexibility. In this tutorial, we will explore how to use LabVIEW controls in Python using the PyQt library.

Step 1: Set up LabVIEW controls
Before we can use LabVIEW controls in Python, we need to create a LabVIEW VI that contains the controls we want to use. In this example, let’s suppose we have a LabVIEW VI that contains a slider control.

Step 2: Export controls as a Shared Variable
LabVIEW provides a feature called Shared Variables, which allows us to share data between different applications. We can export the slider control as a Shared Variable so that we can access its value from Python.

To export the control as a Shared Variable, right-click on the control in LabVIEW and select “Export Shared Variable.” Choose a name for the Shared Variable and make sure the control is set to Read/Write mode.

Step 3: Install PyQt
PyQt is a Python library that provides bindings for the Qt framework. To use PyQt, you first need to install it on your computer. You can do this using pip, the Python package manager, by running the following command in your command prompt or terminal:

pip install pyqt5

Step 4: Create a Python script
Now that we have set up our LabVIEW controls and installed PyQt, we can create a Python script that will interact with the controls.

First, import the necessary modules:

from PyQt5.QtWidgets import QApplication, QSlider, QWidget, QVBoxLayout
import sys

Next, create a QWidget object and add a QVBoxLayout to it:

app = QApplication(sys.argv)
widget = QWidget()
layout = QVBoxLayout()
widget.setLayout(layout)
widget.show()

Then, create a QSlider object and add it to the layout:

slider = QSlider()
slider.setOrientation(1) # set orientation to vertical
layout.addWidget(slider)

Step 5: Access LabVIEW controls in Python
To access the value of the LabVIEW control we exported as a Shared Variable, we can use the pydaqmx library, which provides a Python interface to National Instruments’ Data Acquisition (DAQ) devices.

First, install pydaqmx using pip:

pip install pydaqmx

Then, import the necessary modules in your Python script:

import nidaqmx

In the script, create a new session for reading the Shared Variable:

with nidaqmx.Task() as task:
    task.ai_channels.add_a_generated_voltage_chan("Control Name")
    slider.setValue(int(task.read()))

Replace “Control Name” with the name of the Shared Variable you exported in LabVIEW.

Step 6: Run the Python script
Finally, run the Python script to display the LabVIEW control in a PyQt window. You should see the slider control on the window, and its value should be updated in real-time based on the LabVIEW control.

By following these steps, you can easily integrate LabVIEW controls into Python applications using the PyQt library. This can be useful for creating interactive GUIs for control systems or data visualization applications.

0 0 votes
Article Rating
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@483334
1 month ago

大神開播啦!