toastytato / DAQ_Interface

GUI for controlling NI DAQ devices and monitoring output/input voltages, current, and other variables
10 stars 4 forks source link
nidaqmx pyqt5 python

DAQ_Interface

GUI for controlling NI DAQ devices and monitoring output/input voltages in multiple channels.

Screenshot of software as of 5/17/2021

Installation

For standalone application, just download main.exe in the 'dist' and run the file.

Recommended to use Python 3.7.8 (able to run on Windows Vista)
Install NI DAQ API and Matplotlib version 3.2.2 (stability issues with newer version)

Use PyQt5 version 5.9.2 to work on Windows Vista

For newer machines, install Python 3.8.9 and the following modules:

pip install nidaqmx
pip install pyqt5
pip install git+https://github.com/pyqtgraph/pyqtgraph@master

Run pyqt_main.py and the interface should show up.

Debug

There are two states for the interface, debug or not. Use debug when the National Instruments DAQ device is not connected to the PC, and all signal generated will be simulated. This is to prevent the nidaqmx library from throwing errors. To set this, go into the config.py file and change the variable DEBUG_MODE to True. If DAQ is connected, change to False

Usage

There is a graph/legend, master start/stop button, and a tab layout within the interface. Press the master start/stop button to start and stop all signals. The explanation of the tabs are as follows:

DAQ Settings

This is where the device name, channel configurations, and sample rate/size is set for both input and output DAQs.

Channel Controls

This is where each channel can be independently controlled.

Main Controls

This is where synchronous channel manipulations are controlled.

To-Do

NWM Troubleshooting Tips

This is a myriad of solutions I had to use to figure out how to run a bunch of stuff on different systems

NWM Software:

Credits

This application uses Open Source components. You can find their source code below:

Project: MuControl
Link: https://github.com/czimm79/MuControl-release/blob/master/LICENSE.txt

Project: Python DAQmx examples
Link: https://github.com/tenss/Python_DAQmx_examples/blob/master/LICENSE

License

GNU Public License v3