We have already have a program, written in Labview, which records data from several different types of instruments.
You will improve the style, ease of use and scalability of the program.
I have listed this project as a small project. Additional stages of the project will be posted, depending on how well the first part works. If you are only able to complete part of the project, that will be fine, so long as it is useable code which accomplishes some of the goals.
Here is an overall description of what we would like to do:
- Each different instrument needs a driver to acquire data from the instrument and pass this onto the data logging portion of the program. Currently, most code is contained within a few VI's and everything is inside one main program. I would like you to break this down into separate drivers, which all run at the same time and report data back to a data recording system.
- You must put documentation in the VI's, which describe how the program works. The wire diagrams should be organized and easy for other people to understand.
- The error handling of the VI's should be cleanly handled and provide meaningful messages.
-Currently, the drivers write data to global VI's which are read by the data logger. Only the values of the each data channel are passed. You should create clusters (or other types) which contain additional information about the data. For example, the timestamp of when the last data was received and any error codes. The program should also give a name/description to each channel, which the user should be able to configure and which is passed from the driver to the data logger.
-Currently, all data channels are logged by the data logger. The user should have an option to select to record only the relevant channels which contain real data. For example, there are 8 analog channels on the data acquisition system, but only 4-5 of those channels are actually connected to instruments and need to be logged.
-We should be able to easily apply scaling factors to the signals. For example, one instrument gives a 4-20mA signal. We apply a y=mx + b equation (we know m and b) to convert this signal from a mA value into pressure units (kpa). It is preferable to be able to set up these scaling factors in the labview DAQ and automation explorer and then make use of this in our program.
-The graphical user interface of the program should be improved. It should be easy to use and look professional.
-We should be able to share the data across a LAN. We should be able to run drivers on two different computers, but record and display the data at one central location.
You must use a legitimate version of labview to make the code. Pirate software or stolen source code must not be used when making this program.
Thank you for reading my project description.