• No results found

3. Experimental Design and Setup

3.3 Software Environment

3.3.1 LabVIEW

In this section the LabVIEW environment will be explained as well as its implementation among all the project.

28 | C H A P T E R 3 - E X P E R I M E N T A L D E S I G N A N D S E T U P

3.3.1.1

What is LabVIEW?

LabVIEW is an abbreviation of Laboratory Virtual Instrument Engineering Workbench. It was developed by National Instruments (NI) as a workbench for controlling test instrumentation but with the passage of time it has become much more useful than just testing instrumentation.

It is a visual programming language, a system-design platform and development environment that was aimed at enabling all forms of system to be developed [61,

62]. According to NI, LabVIEW offers a graphical programming approach that

helps you visualize every aspect of your application, including hardware configuration, measurement data, and debugging [63]. This visualization makes it simple to integrate measurement hardware from any vendor, represent complex logic on the diagram, develop data analysis algorithms, and design custom engineering user interfaces [63].

This is an environment that enables programming in a graphical language, also created by NI, called “G”. The main objective of “G” was to allow to communicate via GPIB, but nowadays it has evolved and can be used for more than that. For example, it is used for automated test applications, general data acquisition, programming FPGAs, among others [62].

LabVIEW is essentially the user interface for “G”, however, now the term is a synonymous of the graphical language itself [62]. It also provides a host of other facilities including debugging, automated multithreading, application user interface, hardware management and interface for system design. In this way, LabVIEW acts as a portal for a variety of facilities, bring them together under a single element that is easy to manage [62]. It runs on Windows, OS X (Apple) and Linux platforms, making it suitable for most computing systems [62].

In the project LabVIEW will be used to automatize, control, monitor and debug the devices for the experiments. It will also provide a graphical user interface to manage the changes, check each step of the experiments and visualize the results from the computer.

3.3.1.2

Implementation of LabVIEW in the project

In the project two LabVIEW programs are needed for the final experiments, one to control the electrical measurements taken by the SMU and a second one to control the temperature control system (Omega PID controller). The first program

29

In Figure 13.A all the parts of the user interface can be seen, it is formed by a main module and three major indicators. Each group of major indicators are composed by a grid and two columns. They show information about the measurements as its value in volts (V), its timestamp and its gap (the difference between each consecutive pair of measurements) before and after the delay. The major indicators have this composition because the results are saved in a matrix and then transformed into a single array which is optimized later. Each group is used to check if the results are okay, if the transformation from matrix to array was well performed and if the delay was correct.

A)

B)

B.1 B.2 B.3

Figure 13. LabVIEW Setup. A) Front panel (User interface). B) Block diagram (Inner

program). B.1. Initial configuration. B.2. Data collection loop.B.3. Optimization and Storage.

By the other side, the main module is used to remotely modify the SMU. It is composed for three smaller modules: source settings, grid configuration and results (final grid). The “source settings” module is used to choose the SMU device (Keithley 2400), to configure how the data is going to be transmitted (baud rate, data bits…) and to modify remotely the SMU, in this case, the Keithley 2400

30 | C H A P T E R 3 - E X P E R I M E N T A L D E S I G N A N D S E T U P

according to the optimized configuration found in previous steps. This configuration is explained in detail in section 3.4.1. Lastly the “grind configuration” and the “results” modules are to set and check the grid used to store the measurements.

Figure 13.B can be divided in three modules: the initial configuration (Figure 13.B.1), the data collection loop (Figure 13.B.2) and finally, the optimization and

storage (Figure 13.B.3). The first module is divided in two main sections: “Grid Configuration” and “Source Settings” and collects the user’s setup from the front panel. Then, the second module, collects the measurements in fixed arrays with a size previously defined in “Sample count” from the grid’s configuration section at the front panel. It repeats the operation in a loop as many times is defined at “Iteration count”, also chosen at the front panel, to complete the final grid. Once the grid is full the loop stops and section three begins. In this final section, the grid is converted into a single array, then the first minute of the measurements is erased and finally the optimized array is saved into the computer.

Related documents