Title - Leiden Institute of Physics - Leiden...

28
LabVIEW Course: ILV3 Data Acquisition Fundamentals 1 Introduction In this lab, you will learn about the basics of data acquisition. First, you will configure your data acquisition hardware in Measurement & Automation Explorer. Then, you will examine the data acquisition VI`s in LabVIEW. Finally, you will develop analog input applications. Objective Learn the uses of Measurement & Automation Explorer. Learn about single-point acquisition, continuous acquisition, buffered acquisition, compare the advantages and disadvantages of these methods and find some of their limitations. Contents This course starts with some theory on the way measurement and automation is implemented in LabVIEW. The Measurement & Automation Explorer (MAX) is software that allows you to (i) set the parameters for data acquisition, and (ii) test the available hardware. The section “Organization of data acquisition VIs” lists the various types of Vis that can be used for data acquisition. The experimental exercises are divided in parts 1-5. Part 1 uses the MAX software to present a quick exploration of the capabilities of the I/O card and test the hardware. Part 2 demonstrates the simplest form of data 1 This is a adaptation of the original course material “Data Acquisition Fundamentals” by Sarah Finney, Arizona State University 1

Transcript of Title - Leiden Institute of Physics - Leiden...

LabVIEW Course: ILV3 Data Acquisition Fundamentals1

IntroductionIn this lab, you will learn about the basics of data acquisition. First, you will configure your data acquisition hardware in Measurement & Automation Explorer. Then, you will examine the data acquisition VI`s in LabVIEW. Finally, you will develop analog input applications.

Objective Learn the uses of Measurement & Automation Explorer.

Learn about single-point acquisition, continuous acquisition, buffered acquisition, compare the advantages and disadvantages of these methods and find some of their limitations.

Contents This course starts with some theory on the way measurement and

automation is implemented in LabVIEW. The Measurement & Automation Explorer (MAX) is software that allows you to (i) set the parameters for data acquisition, and (ii) test the available hardware.

The section “Organization of data acquisition VIs” lists the various types of Vis that can be used for data acquisition.

The experimental exercises are divided in parts 1-5. Part 1 uses the MAX software to present a quick exploration of the capabilities of the I/O card and test the hardware. Part 2 demonstrates the simplest form of data acquisition, being the AI sample channel VI, which samples one data point at a time. It also shows the reverse process, being the digital-to-analog conversion with the AO update channel VI, and stimulates you to find some real-time limitations of LabVIEW. Part 3 discusses the use of buffered data acquisition to read a whole block of consecutive and properly-timed data points. This type of data acquisition circumvents (most of) the timing limitations mentioned in part 2. Part 4 and 5 discuss the use of continous data acquisition, which combines the “best of both world” (at least for fast signals) as it is based on the continuous acquisition of (properly-timed) blocks of data points.

1 This is a adaptation of the original course material “Data Acquisition Fundamentals” by Sarah Finney, Arizona State University

1

ReportWithin one week after you did the experiment (and preferably even on the same day) you should hand in:

Answers to the following questions:

1. Explain in your own words the advantages and disadvantages of the three types of data acquisition introduced in parts 2-4.

2. Explain in your own words the action of the four AI VI’s that are generally needed for proper sampling, and that are shown among others in the VI’s in parts 3 and 4.

The final operational VI’s that you wrote for parts 2-5, being Voltmeter2, Buffered Acquisition, Continuous Acquire, Acquire with triggering. If you also did the optional exercises in part 5, please mention it and hand in this VI as well. This effort is certainly appreciated and will affect your rating; the optional exercises in part 5 give you a nice feeling for the many capabilities of LabVIEW.

2

TheoryMeasurement & Automation Explorer

Introduction

Measurement & Automation Explorer, or MAX, is a software interface that gives you access to all National Instruments DAQ, GPIB, IMAQ, IVI, Motion, VISA, and VXI devices connected to your system. The shortcut to MAX is placed on the desktop during installation of NI-DAQ. MAX is used primarily to configure and test National Instruments hardware, but it offers other functionality, such as checking to see if you have the latest version of NI-DAQ installed. The functionality of MAX is divided into five categories:

• Data Neighborhood• Devices and Interfaces• Scales• Software• IVI Drivers

Data NeighborhoodData Neighborhood contains the virtual channels. The Data Neighborhood category shows you the currently configured virtual channels and provides utilities for testing and reconfiguring those virtual channels. DataNeighborhood also provides access to the DAQ Channel Wizard, which allows you to create new virtual channels.

DAQ Channel WizardThe DAQ Channel Wizard is a software interface that lets you create new virtual channels. A virtual channel is a shortcut to a configured channel in the system. You can set up the configuration information for the channel and give the channel a descriptive name at the same time. Later, you can use the descriptive name to access that channel and its configuration information in LabVIEW. You can give the channel a description, decide what type of transducer the channel will use, set the range (determines gain), choose the grounding mode, assign custom scaling for the virtual channel, and give the channel a descriptive name to replace the channel number all at the same time.

For example, if channel 0 is connected to a temperature sensor, you could create a virtual channel for channel 0 and call it Temperature

3

Sensor. You can create virtual channels for analog input, analog output, and digital I/O. In this case, referring to a channel by a name (Temperature Sensor) instead of a number (0) helps you remember what the channel does.

Devices and InterfacesDevices and Interfaces display the currently installed and detected National Instruments hardware. Devices and Interfaces also include utilities for configuring and testing devices. The two utilities that are specific to DAQ devices are Properties and Test Panels.

PropertiesProperties is a utility for configuring DAQ devices. When you launch the Properties utility, a dialog box appears with the following tabs that you can use to configure the DAQ devices.

• System—the System tab allows you to change the device number, and it provides two buttons for testing the DAQ device. The first button is the Test Resources button. After you have installed the DAQ device, right-click Devices and Interfaces. Select Properties and right-click Test Resources. This button performs a basic test of the system resources assigned to the device. The system resources tested are the base I/O address, the interrupt request (IRQ), and the direct memory access (DMA).

– Base I/O Address—A DAQ device communicates with a computer primarily through its registers. NI-DAQ writes to configuration registers on the device to configure the device, and reads data registers on the device to obtain the device status or a signal measurement. The base I/O address setting determines where in the computer’s I/O space the device registers reside.– Interrupt Request (IRQ)—another way the DAQ device communicates with the computer is through processor interrupts, which give the processor the ability to respond quickly to its peripherals. In the case of a DAQ device, it is not efficient for the processor to continually check if data is ready to be read from the device. A DAQ device can use an interrupt that signals the processor that it has data waiting to be read. Each interrupt request has a number assigned to it.– Direct Memory Access (DMA)—the third way the DAQ device can communicate with the computer is through direct memory access (DMA). DMA is a data transfer method in which data is transferred directly from the peripheral to computer memory, bypassing the processor. DMA is usually required to achieve maximum data transfer speed, making it useful for high-speed DAQ devices. DAQ devices that use the PCI bus have their own onboard DMA channels, and the PCI bus handles the sharing of that DMA.

4

• AI. The AI tab allows you to configure the default Polarity/Range for the ADC and the default mode for grounding the DAQ device. The default is applied only if the settings aren’t changed in LabVIEW.

• AO. The AO tab configures the default polarity of the analog output signal, and allows you to specify if you are using an external voltage reference for the DAC.

• Accessory. The Accessory tab specifies any accessories you are using with the DAQ device such as the TBX-68 (terminal block with built-in cold-junction compensation). If NI-DAQ does not need to know about the accessory, it will not be on the list. In that case, choose None.

• OPC. The OPC tab allows you to set the AI recalibration period if you are using the NI-DAQ OPC server. The use of the NI-DAQ OPC Server is beyond the scope of this lab.

• Remote Access. The use of Remote Access is also beyond the scope of this lab.

Test Panels

After the device passes the basic resource test and you configured the System, AI, AO, Accessory, OPC and Remote Access tabs, return to the System tab and click the Test Panels button. The Test Panel is a utility for testing the analog input, analog output, digital I/O, and counter functionality of the DAQ device. The Test Panel is useful for troubleshooting because it allows you to test the functionality of the device directly from NI-DAQ. If the device does not work in the Test Panel, it will not work in LabVIEW. If you ever have unexplainable trouble with data acquisition in a LabVIEW program, use the Test Resources button and the Test Panels button to make sure the device is working properly.

Scales

Scales shows you all the currently configured custom scales and provides utilities for testing and reconfiguring those custom scales. Scales also provides access to the DAQ Custom Scales Wizard, which allows you to create new custom scales.

DAQ Custom Scales WizardThe DAQ Custom Scales Wizard is a utility that creates custom scales you can use to determine scaling information for existing virtual channels. Each custom scale can have its own name and description to help you identify it.

5

A custom scale can be one of three types: linear, polynomial, or table.• Linear—A scale that uses the formula y = mx + b.• Polynomial—A scale that uses the formulay = a0 + (a1 * x) + (a2 * x2) + … + (an* xn).• Table—a scale in which you enter the raw value and the corresponding scaled value in a table format.

Software

Software shows all the currently installed National Instruments software.The icon for each software package is also a shortcut that you can use to launch the software. The Software category also includes a Software Update Agent. The purpose of the Software Update Agent is to check if the National Instruments software is the latest version. If the software isn’t the latest version, the Software Update Agent opens the Web page on ni.com to download the latest version of the software.

Software Architecture for Windows

The main component of NI-DAQ, the nidaq32.dll, makes function calls directly to a DAQ device. The function that the nidaq32.dll performs depends on where you access it from. Both MAX and LabVIEW can talk to NI-DAQ. MAX is used primarily for configuring and testing the DAQ device. MAX not only helps configure devices, but it also tells you what devices are present in the system. To do this, MAX must communicate with the Windows Device Manager and the Windows Registry.

Organization of Data Acquisition VI`s

Most of the Data Acquisition VI`s located on the Functions»NI Measurements»Data Acquisition palette are grouped in the following levels according to their functionality:

• Easy VI`s• Intermediate VI`s• Utility VI`s• Advanced VI`s

6

Easy VI`s

Easy VI`s perform simple DAQ operations and typically reside in the first row of VI`s in a palette. You can run these VI`s from the front panel or use them as subVI`s in basic applicationsYou need only one Easy VI to perform each basic DAQ operation. Unlike Intermediate and Advanced VI`s, Easy VI`s automatically alert you to errors with a dialog box that allows you to stop the execution of the VI or to ignore the error.

Intermediate VI`s

Intermediate VI`s have more hardware functionality and efficiency in developing applications than Easy VI`s. Use Intermediate VI`s in most applications. Intermediate VI`s give you more control over error handling than Easy VI`s. With each VI, you can check for errors or pass the error cluster to other VI`s.

Utility VI`s

Utility VI`s are also intermediate-level VI`s and thus have more hardware functionality and efficiency in developing an application than Easy VI`s. Utility VI`s consist of convenient groupings of Intermediate VI`s. They are for situations where you need more functionality control than the Easy I/O VI`s provide but want to limit the number of VI`s you call.

Advanced VI`s

Advanced VI`s are the lowest-level interface to the DAQ driver. Very few applications require the use of Advanced VI`s. Advanced VI`s return the greatest amount of status information from the DAQ driver. Use Advanced VI`s when Easy or Intermediate VI`s do not have the inputs necessary to control an uncommon DAQ function.

7

Part 1. Measurement & Automation Explorer (MAX)

In Part 1, you will become familiar with the installation and configuration of a data acquisition device. This exercise also gives a detailed tour of MAX.

1. Connect the a sine wave with frequency of 1 Hz and an amplitude of 1.00 V from the Tabor function generator to the AI0 on the Connexion Box and the SYNC OUT TTL to from the Tabor to AI1.

2. Launch MAX by double-clicking the icon on the Windows desktop.

3. Double-click first the Devices and Interfaces category and double-click next on Traditional NI-DAQ Devices. MAX searches for installed hardware and lists the National Instruments devices found. A device number in parentheses is assigned to each device in the system.The LabVIEW DAQ VI`s use this number to specify which device the VI`s address. If the device is not listed, go to View»Refresh.

4. Right-click the DAQ device folder for the specific device and select Properties. A configuration dialog box appears.

The Configuration dialog box contains several tabs. The System tab allows you to change the device number of the DAQ device. It also reports the system resources assigned to the device through the Windows Registry. The system resources shown in the Configuration dialog box include the following items:

• Input/Output Range (Base I/O Address)—The DAQ device communicates with the computer primarily through its registers.The base I/O address setting determines where in the computerI/O space the device registers reside.

• Interrupt Request (IRQ)—an interrupt gives the processor the ability to respond quickly to its peripherals. Think of a processor interrupt as a doorbell. If you did not have a doorbell, you would have to go to the door periodically to see if anyone were there. With a doorbell, you need to go to the door only when the doorbell rings, and you are confident that someone is

8

there waiting. Likewise, a DAQ device uses an interrupt as a doorbell to tell the processor that it has data waiting to be read. Every device that uses processor interrupts must be assigned a different interrupt level, or the devices can conflict with each other.

• Direct Memory Access (DMA)—DMA is a data transfer method in which data is transferred directly from the peripheral to computer memory, bypassing the processor. DMA is usually required to achieve maximum data transfer speed, making it useful for high-speed DAQ devices. DAQ devices that use the PCI bus have their own onboard DMA channels, and the PCI bus handles the sharing of that DMA. DAQ devices that use the AT/ISA bus must assign themselves a DMA channel from the computer.

5. Click the AI tab. This tab allows you to set the default polarity/range and grounding mode used for analog input signals. These default values (Polarity/Range: -10V - +10V and Mode: Differential) are used by NI-DAQ as long as other settings do not override them.

6. Click the AO tab. This tab allows you to set the default analog output polarity (Bipolar).

7. Click the Accessory tab to specify any accessories that are attached to the DAQ device.Devices on the Accessory list usually provide some form of signal conditioning for signals, or they increase the number of channels you can measure. If an accessory does not change the way signals are measured, it does not appear on the Accessory list.

8. Click the OPC tab. The OPC tab allows you to set the recalibration period when using an OPC server. The use of an OPC server is beyond the scope of this lab.

9. Complete the following steps to verify the DAQ system is set up correctly.

a. Click the System tab.b. Click Test Resources. This action tests the system resources assigned to the device.c. Click OK.

10. On the System tab, click Run Test Panels. The following front panel appears. The Analog Input tab allows you to read the analog input channels. You should see the sine wave from the function generator which is connected to Channel 0.

9

In the lower left corner of the test panel, you can see the following three options for Data Mode.

• Strip Chart: continuously displays data, scrolling as new data is acquired.• One Shot: displays only one screen of data.• Continuous: continuously displays a screen of data at a time

One Shot and Continuous Data Modes allow you to adjust the sample rate. The higher the sample rate, the more accurately the graph displays the waveform.

Tryout these different possibilities for reproducing the input signal.

Change the frequency of the signal to 500 Hz and the OUTPUT to TRIANGLE. Change the settings on the Test Panel so that you get a smooth display of the signal..11. On the Analog Input test panel, change the channel to 1 and observe the signal. What will you see if you change the channel to 2?

12. Click the Analog Output tab. In this dialog box, you can set up a DC voltage or sine wave on one of the analog output channels of the DAQ device. Complete the following steps to output a sine wave on channel 0.

a. Connect the AO0 connector on the Connector Box with Channel 1 of the Oscilloscope b. Enter 1.0 V for the Sine Wave Amplitude and click Start Sine Generatorc. Measure the frequency of the sine wave on the oscilloscope.

13. Click the Counter I/O tab. Complete the following steps to verify counter/timer operation, do the following:

a. Change the Counter Mode to Simple Event Counting. The counter is now set up to count the pulses of a 100 kHz onboard signal.b. Click Start. The Counter Value should increment rapidly.c. Click Reset to stop the counter test.

14. To increase the rate of the pulses, change the Event Source to Internal 20 MHz Clock and click Start. Notice how much faster the Counter Value increases. It increments faster because the pulses being counted now occur at 20 MHz, instead of 100 kHz. Click Reset to stop the counter.

10

15. Click the Digital I/O tab. This tab gives you access to the eight digital lines on the device and allows you to set each line as an input or output line.

16. Close the test panel and exit MAX.

11

Part 2. Voltmeter VI

Complete the following steps to build a VI that measures a low frequency voltage from the Tabor function generator. Connect the OUT on the Tabor function generator with AI0 on the Connector Box. Set the frequency of the Tabor to a value of 50 mHz and the amplitude to a value of 2.0 V.1. Open a blank VI and build the following front panel.

Configure the meter scale for -2.0 to 2.0, using mouse and keyboard. You might need to enlarge the meter to display the scale.

2. Build the following block diagram.

AI Sample Channel VI (Functions»NI Measurements»Data Acquisition»Analog Input palette)—Reads an analog input channel and returns the voltage.Choose the Connect Wire tool on the Tools Palette. Right Click on the AI Sample Channel VI and look under Select Type. This shows that the output of the VI can have two different data types: single-point waveform ( array of DBL) and scaled value ( DBL), whereas the automatic setting of course lets LabVIEW choose by itself. VIs that works with more than one data type are set to be polymorphic.

Wait Until Next ms Multiple function (Functions»Time & Dialog palette)—Causes the loop to execute every 100 ms.

12

3. Save the VI as Voltmeter.vi.

4. Display the front panel and run the VI. The meter displays now the slowly varying voltage output of the function generator. If an error occurs, the Easy I/O VI`s display a dialog box showing the error code and a description of the error.

5. Change the Block Diagram in the following way:(i) Include an analog output of the sampled signal to DAC0. Use the AO Update channel.vi (third item in top row of palet Functions»NI Measurements»Data Acquisition»Analog output). Under point 6, the analog output of DAC0 will be displayed on the oscilloscope together with the original signal. (ii) Change the variable that specifies the wait period (and that was 100 ms in the previous exercise) from a constant into a control. This will bring it to the front panel and allows for easy adjustment. (iii) Add a switch or button to the front panel that allows you to switch the (wire connection to the) voltmeter ON/OFF. A convenient way to do this is by placing a case structure around the voltmeter.

6. Save the VI as Voltmeter2.vi.

7. Connect both the original signal, which serves as input for ADC0, and the sampled output of DAC0 to the two oscilloscope channels. Run the VI and have some fun by modifying the settings for (i) Tabor frequency and amplitude, (ii) wait time = 1/sampling rate.

8. After the first "quick-and-dirty" tests under point 7 we will now perform a more systematic investigation of the timing limits of the single-point I/O VIs that we have employed. Observe the oscilloscope traces (preferably in the trigger mode) and determine the timing limitation of the VI, by determining (within a factor of two) the minimum wait time for which the VI still runs properly and the maximum wait time for which real-time operation is frustrated. Describe your findings, both qualitative and quantitative, under two conditions: (i) voltmeter ON, (ii) voltmeter OFF.

9. From the large timing differences observed under point 8 we note that it takes LabVIEW considerable time to display something like a simple voltmeter. In the current VI, which is based on single-point input and output, this is a serious limitation for any real-time operation much faster than say 100 ms per sample point. Fortunately, there are good alternatives for faster acquisition. Two tricks are use: (i) the data flow is buffered on the I/O card, and (ii) the timing is regulated on the I/O card. These alternative types of data acquisition will be discussed in parts 3-5.

13

Important: if you want to know more about a function, use Show Context Help (Ctrl-H). More detailed information can be found in VI, Function, & How-To Help…(Ctrl-?) and Search the LabVIEW Bookshelf… of the Help menu

Part 3. Buffered Acquisition VI

With a buffered acquisition, LabVIEW tells the DAQ device how many points to acquire and at what rate to acquire them. Timing then becomes the responsibility of the DAQ device. In a buffered acquisition, the DAQ device controls all aspects of the acquisition. In contrast, with a software-timed acquisition, the computer is solely responsible for managing the acquisition, which can be problematic if the computer suddenly cannot give priority to the data acquisition process.

1. Open a new VI and build the following front panel.

You can create most of the front panel controls shown above from the block diagram by right-clicking the appropiate terminals of the DAQ VI`s and selecting Create Controls.

In this exercise, you acquire data from the Tabor function generator. The output OUT must be connected to AI0 on the Connector Box and the output SYNC OUT to the AI1. Set up the function generator with a frequency of 50 Hz and amplitude of 3.0 V. The purpose of the VI is to display the data on a Waveform Graph. Set the Scan Rate to 20000 and Buffer Size to 1000. Set the DAQ Channel Name control to 0 and the Device to the proper device number for your DAQ device (1).

2. Build the following block diagram.

14

The AI Config, AI Start, AI Read and AI Clear VI`s can be found in the Functions»NI Measurements»Data Acquisition»Analog Input palette. The simple error handler.vi is located in Functions»Time&Dialog palette.

3. Save the VI as Buffered Acquisition.vi.

4. Use the Help functions to investigate the different sub-VI`s used in this VI so that you know their function and application. Study this carefully, as your report should include a personal discussion on the function of these subVIs. 5. From the front panel, run the VI. You should see a sine wave plotted on the waveform graph.

6. Set the channel string control input to 0, 1 and run the VI again. What do you observe?

7. Return to a single channel measurement. Run the VI again and test the effect of (i) the settings of buffer size and scan rate, (ii) the frequency of Tabor function generator, which we will change manually for convenience. Also change the layout of the waveform graph by rightclicking the logo in the upperrighthand corner and selecting one of the options under common plots.

8. Close the VI.

15

Part 4. Continuous Acquire VI Complete the following steps to build a VI that performs a continuous acquisition operation and plots the most recently acquired data on a graph.

1. Open a new VI and build the following front panel.

a. In this exercise, you acquire the data again from the Tabor function generator. The output OUT must be connected to AI0 on the Connector Box and the output SYNC OUT to the AI1. Set up the function generator with a frequency of 20 Hz and amplitude of 2.0 V.

b. The purpose of the VI is to display the data on a Waveform Graph. Set the Scan Rate to 1000 and Buffer Size to 500.

c. The # of Scans to Read must have the value of 200.

d. Set the DAQ Channel Name control to 0 and the Device to the proper device number for your DAQ device (1).

2. Build the following block diagram.

16

The numeric constant of 0 you wired to the number of scans to acquire input of AI Start enables a continuous or circular DAQ. Data fill a buffer of fixed size in memory and then, on reaching the end of the buffer, overwrite values from the beginning of the buffer.

3. Save the VI as Continuous Acquire.vi.

4. Display the Front Panel. Run the VI and monitor the data plotted on the graph. Change the # Scans to Read to 50. On the Waveform Graph the maximum time is now 0.05 s which is also the period of Tabor frequency. However the image of the graph is not stationary. In order to see a stationary image, one has to adjust the Tabor frequency. Is the adjusted frequency higher or lower then 20 Hz? Try this out and explain your observations!

5. Change the Scan Backlog Indicator on the Front Panel to a Horizontal Fill Slide Indicator. Run the VI and monitor Scan Backlog as you decrease the scan rate or the number of scans to read at a time until you get the error code - 10846. The LabVIEW Help explains describes the problem and the function of the scan backlog as follows:Scan backlog is the amount of data remaining in the buffer after this VI completes. If scan backlog increases steadily, you are not reading data fast enough to keep up with the acquisition, and your newly acquired data may overwrite unread data and give you an overwrite error. To correct, decrease the scan rate, increase the number of scans to read, read the scans more often, or increase the buffer size.

6. Close the VI.

17

18

Part 5. Continuous Acquire with Triggering VI

To obtain a stationary image of the Waveform Graph, it is necessary to trigger the incoming signal. In this VI the Continuous Acquire VI of the previous part is modified in such a way that the signal is software triggered using the AI Read DAQ VI.

1. Open the Continuous Acquire VI of Part 4. Use the same settings of the controls as in Part 4. Set the Channel String Control input to 0, 1

2. Change the Front Panel in the way as shown below.

In order to add the Triggering Controls to the Front Panel, you have to use the Cluster Control which can be found on the Controls»Array & Cluster palette. The Triggering Controls must be placed in the Cluster area in the same order as described under Conditional Retrieval Specification in the Help menu belonging to the AI Read VI. All these Controls must also have the correct specification as described in the above mentioned Help topic.

You can find extensive information about the use of Clusters in Chapter 10 of the LabVIEW Users Manual which can be found under Help menu» Search the LabVIEW Bookshelf ….

3. Add a While Loop with the Stop terminal to the Block Diagram. Connect the Triggering Cluster terminal to the Conditional Retrieval input of the AI Read VI. See the following Block Diagram.

19

3. Save the VI as Continuous Acquire with Triggering.vi.

4. Run the VI and try out the different Triggering Controls and observe their function closely. Do this with

20

the help of the Conditional Retrieval Specification in the Help menu of the AI Read VI.

5. (Optional) Change the VI so that it can be used as an ordinary Oscilloscope with at least the following controls:

A Boolean Triggering Slope control (+ or -)

A Continuous Trigger Level control

A Boolean control in order to choose between triggering with Channel 0 and Channel 1.

A Timebase Knob to setup the timebase of the Waveform Graph between a maximum of 100 ms and a minimum of 10 ms. The Waveform Graph must always be built up with 200 points.

A Volt/Div Knob to setup the Volt Scale (0.1 V/Div to 1 V/Div).

Everything else that comes in your mind to expand and improve the working of this Oscilloscope.

21