Important+questions+for+Intelligent+Instrumentation.pdf

20
Prof. Mritunjay Rai Page 1 Important Questions with solutions for Exams Subject Name: Intelligent Instrumentation MM: 50 Subject Code: EIC012 Q1. What is intelligent instrumentation? (5 Marks GBTU 2013-14) Answer: The Intelligent System may define as the surroundings are everything else that interacts with a system. The system may sometimes be further subdivided into subsystems which also interact with each other. This division into subsystems is not necessarily unique. (a) Low intelligence: Typically a simple system, it has to be told" everything and needs complete instructions, needs low-level control, the parameters are set, it is usually mechanical. (b) High intelligence: Typically a complex system, it is autonomous to a certain extent and needs few instructions, determines for itself what the goals are, demands high-level control, adaptive, makes decisions and choices, it is usually computerized. Q2.Explain software based instrumentation. How are they better in comparison to conventional hardware instrumentation? (5 Marks GBTU 2013-14) Answer: The software based instrumentation: LabVIEW is a program development application, much like various commercial C or BASIC development systems, or National Instruments Lab Windows. However, LabVIEW is different from those applications in one important respect. Other programming systems use text-based languages to create lines of code, while LabVIEW uses a graphical programming language, G, to create programs in block diagram form. LabVIEW includes libraries of functions and development tools designed specifically for instrument control. For Windows, Macintosh, and Sun, LabVIEW also contains libraries of functions and development tools for data acquisition. LabVIEW programs are called virtual instruments (VIs) because their appearance and operation imitate actual instruments. However, they are analogous to functions from conventional language programs. VIs have both an interactive user interface and a source code equivalent, and accept parameters from higher-level VIs. Advantages of Virtual Instruments 1. Lower costs of instrumentation 2. Portability between various computer platforms 3. Easy-to-use graphical user interface 4. Graphical representation of program structures 5. Code can be compiled to standalone.EXE or .DLL file 6. TCP/IP connectivity (web server integrated into virtual instrument)

Transcript of Important+questions+for+Intelligent+Instrumentation.pdf

  • Prof. Mritunjay Rai Page 1

    Important Questions with solutions for Exams

    Subject Name: Intelligent Instrumentation MM: 50 Subject Code: EIC012

    Q1. What is intelligent instrumentation?

    (5 Marks GBTU 2013-14)

    Answer: The Intelligent System may define as the surroundings are everything else that interacts with a

    system. The system may sometimes be further subdivided into subsystems which also interact with each

    other. This division into subsystems is not necessarily unique.

    (a) Low intelligence: Typically a simple system, it has to be told" everything and needs complete instructions, needs low-level control, the parameters are set, it is usually mechanical.

    (b) High intelligence: Typically a complex system, it is autonomous to a certain extent and needs few

    instructions, determines for itself what the goals are, demands high-level control, adaptive, makes

    decisions and choices, it is usually computerized.

    Q2.Explain software based instrumentation. How are they better in comparison to conventional

    hardware instrumentation?

    (5 Marks GBTU 2013-14)

    Answer:

    The software based instrumentation:

    LabVIEW is a program development application, much like various commercial C or BASIC development

    systems, or National Instruments Lab Windows. However, LabVIEW is different from those applications

    in one important respect. Other programming systems use text-based languages to create lines of code,

    while LabVIEW uses a graphical programming language, G, to create programs in block diagram form.

    LabVIEW includes libraries of functions and development tools designed specifically for instrument

    control. For Windows, Macintosh, and Sun, LabVIEW also contains libraries of functions and development

    tools for data acquisition. LabVIEW programs are called virtual instruments (VIs) because their appearance

    and operation imitate actual instruments. However, they are analogous to functions from conventional

    language programs. VIs have both an interactive user interface and a source code equivalent, and accept

    parameters from higher-level VIs.

    Advantages of Virtual Instruments

    1. Lower costs of instrumentation

    2. Portability between various computer platforms

    3. Easy-to-use graphical user interface

    4. Graphical representation of program structures

    5. Code can be compiled to standalone.EXE or .DLL

    file

    6. TCP/IP connectivity (web server integrated into

    virtual instrument)

  • Prof. Mritunjay Rai Page 2

    Q3. What are the advantages of DLL?

    (5 Marks GBTU 2013-14) Answer: A dynamic link library (DLL) is a collection of small programs, any of which can be called when

    needed by a larger program that is running in the computer. The small program that lets the larger program

    communicate with a specific device such as a printer or scanner is often packaged as a DLL program

    (usually referred to as a DLL file). DLL files that support specific device operation are known as device

    drivers. The advantage of DLL files is that, because they don't get loaded into random access memory

    (RAM) together with the main program, space is saved in RAM. When and if a DLL file is needed, then it

    is loaded and run. For example, as long as a user of Microsoft Word is editing a document, the printer DLL

    file does not need to be loaded into RAM. If the user decides to print the document, then the Word

    application causes the printer DLL file to be loaded and run. A DLL file is often given a ".dll" file name

    suffix. DLL files are dynamically linked with the program that uses them during program execution rather

    than being compiled with the main program. The set of such files (or the DLL) is somewhat comparable to

    the library routines provided with programming languages such as C and C++.

    Q4. What is the graphical programming? Describe graphical programming techniques

    (5 Marks GBTU 2013-14)

    Answer:

    LabVIEW is different from most other general-purpose programming languages in two major ways. First,

    G programming is performed by wiring together graphical icons on a diagram, which is then compiled

    directly to machine code so the computer processors can execute it. While represented graphically instead

    of with text, G contains the same programming concepts found in most traditional languages. For example,

    G includes all the standard constructs, such as data types, loops, event handling, variables, recursion, and

    object-oriented programming.

    The second main differentiator is that G code developed with LabVIEW executes according to the rules of

    data flow instead of the more traditional procedural approach (in other words, a sequential series of

    commands to be carried out) found in most text-based programming languages like C and C++. Dataflow

    languages like G (as well as Agilent VEE, Microsoft Visual Programming Language, and Apple Quartz

    Composer) promote data as the main concept behind any program. Dataflow execution is data-driven, or

    data-dependent.

    Q5. Describe VIs and sub-VIs used in LabVIEW.

    Answer:

    LabVIEW programs are called virtual instruments (VIs) because their appearance and operation imitate

    actual instruments. However, they are analogous to functions from conventional language programs. VIs

    have both an interactive user interface and a source code equivalent, and accept parameters from higher-

    level VIs. The following are descriptions of these three VI features.

    VIs contains an interactive user interface, which is called the front panel, because it simulates the panel of a physical instrument. The front panel can contain knobs, push buttons, graphs, and other

    controls and indicators. You input data using a keyboard and mouse, and then view the results on

    the computer screen.

    VIs receives instructions from a block diagram, which you construct in G. The block diagram supplies a pictorial solution to a programming problem. The block diagram contains the source

    code for the VI.

    VIs use a hierarchical and modular structure. You can use them as top-level programs, or as subprograms within other programs or subprograms.

    Sub VI

    A VI within another VI is called a subVI. The icon and connector pane of a VI work like a graphical

    parameter list so that other VIs can pass data to it as a subVI.

  • Prof. Mritunjay Rai Page 3

    One of the keys to creating LabVIEW applications is understanding and using the hierarchical nature of the

    VI. Therefore, a subVI is analogous to a subroutine in C. Just as there is no limit to the number of

    subroutines in a C program, there is no limit to the number of subVIs used in a LabVIEW program. subVI

    can be called inside another subVI. Construct subVIs to perform the necessary operations on the data as it

    flows through the block diagram. If a block diagram has a large number of icons, group them into a lower-

    level VI to maintain the simplicity of the block diagram. This modular approach makes applications easy to

    debug, understand, and maintain.

    The created VI will reflect by icon within the block diagram that represents the subVI. SubVIs can be

    customize as a same icon in the upper right corner of the subVI front panel and block diagram.

    Q6. Describe clusters, charts and graphs.

    Answer:

    Clusters group data elements of mixed types. An example of a cluster is the LabVIEW error cluster, which

    combines a Boolean value, a numeric value, and a string. A cluster is similar to a record or a struct in text-

    based programming languages. Similar to arrays, a cluster is either a control or an indicator and cannot

    contain a mixture of controls and indicators. The difference between clusters and arrays is that a particular

    cluster has a fixed size, where a particular array can vary in size. Also, a cluster can contain mixed data

    types, but an array can contain only one data type.

    Graphs and charts differ in the way they display and update data. VIs with graphs usually collect the data

    in an array and then plot the data to the graph, which is similar to a spread sheet that first stores the data

    then generates a plot of it. In contrast, a chart appends new data points to those already in the display to

    create a history. On a chart, you can see the current reading or measurement in context with data previously

    acquired.

    Waveform Graphs and ChartsDisplay data typically acquired at a constant rate.

    XY GraphsDisplay data acquired at a non-constant rate and data for multivalued functions.

    Intensity Graphs and ChartsDisplay 3D data on a 2D plot by using color to display the values of the

    third dimension.

    Digital Waveform GraphsDisplay data as pulses or groups of digital lines.

    2D GraphsDisplay 2D data on a 2D front panel plot.

    3D GraphsDisplay 3D data on a 3D front panel plot.

    Q7. What is current status of intelligent instrumentation? Discuss.

    Answer: The latest status of intelligent system may not require general computer to compute complex

    analysis. There will be dedicated systems which can take care all complex analysis and decision. In fact it

    may not in the size of general computer. Example: Humanoid Robots, Control in Nuclear power plant,

    Control in Satellites etc. If the intelligent system is used in industry like control and monitoring, then it

    may be in a form of network. To control the network, we will be requiring a dedicated software like

    LABVIEW, SCADA, DCS etc. Also NI LabVIEW has been used by millions of engineers and scientists to

    develop sophisticated test, measurement, and control applications. While LabVIEW provides a variety of

    features and tools ranging from interactive assistants to configurable user-defined interfaces, it is

    differentiated by its graphical, general-purpose programming language (known as G) along with an

    associated integrated compiler, a linker, and debugging tools.

    Q8. What is LabVIEW? Explain with suitable diagram all the main components of LabVIEW.

  • Prof. Mritunjay Rai Page 4

    Answer: LabVIEW Laboratory Virtual Instrument Engineering Workbench

    Graphical programming language that allows for instrument control, data acquisition, and pre/post processing of acquired data.

    LabVIEW is a graphical programming language that uses icons instead of lines of text to create applications.

    In contrast to text-based programming languages, where instructions determine program execution, LabVIEW

    uses dataflow programming, where data determine

    execution.

    In LabVIEW, you build a user interface by using a set of tools and objects.

    The user interface is known as the front panel. You then add code using graphical representations of functions to

    control the front panel objects.

    The block diagram contains this code. If organized properly, the block diagram resembles a flowchart.

    LabVIEW programs are called virtual instruments, or VIs, because their appearance and operation imitate physical instruments, such as oscilloscopes and multimeters.

    Main Components of LabVIEW:

    1) Front Panel 2) Block diagram 3) Icon/Connector

    Front Panel

    The front panel is the user interface of the VI. You build the front panel with controls and indicators, which are the interactive input and output terminals of the VI, respectively.

    Controls are knobs, push buttons, dials, and other input devices. Indicators are graphs, LEDs, and other displays.

    Controls simulate instrument input devices and supply data to the block diagram of the VI. Indicators simulate instrument output devices and display data the block diagram acquires or

    generates.

    Block Diagram

    After you build the front panel, you add code using graphical representations of functions to control the

    front panel objects.

    The block diagram contains this graphical source code.

    Front panel objects appear as terminals on the block diagram.

    You cannot delete a terminal from the block diagram. The terminal disappears only after you

    delete its corresponding object on the front panel.

    Every control or indicator on the front panel has a corresponding terminal on the block diagram. Additionally, the block diagram contains functions and structures from built-in LabVIEW VI

    libraries.

    Wires connect each of the nodes on the block diagram, including control and indicator terminals, functions and structures.

  • Prof. Mritunjay Rai Page 5

    Tools palette

    The Tools palette is available on the front panel and the block diagram.

    A tool is a special operating mode of the mouse cursor. When you select a tool, the cursor icon changes to the tool icon.

    Use the tools to operate and modify front panel and block diagram objects.

    Select View Tools Palette from the taskbar to display the Tools palette.

    Controls palette

    The Controls palette is only available on the front panel. The Controls palette contains the front panel controls and indicators you use to create the user interface.

    Select View Controls Palette or right-click the front panel workspace to display the Controls palette.

    Functions palette

    The Functions palette is available only on the block diagram. The Functions palette contains the objects you use to program your VI, such as arithmetic, instrument I/O, file I/O, and data

    acquisition operations.

    Select View Functions Palette from the taskbar or right-click the block diagram workspace to display the Functions palette.

    Q9. Explain with suitable diagram what is formula node? Also build a VI showing how to

    concatenate an input string?

    Answer:

  • Prof. Mritunjay Rai Page 6

    Formula Node

    The Formula Node is a resizable box that you can use to enter formulas directly into a block diagram. You

    place the Formula Node on the block diagram by selecting it from FunctionStructures. This feature is

    useful when an equation has many variables or is otherwise complicated.

    For example:

    consider the equation: y = x2 + x + 1.

    If you implement this equation using regular LabVIEW arithmetic

    functions, the block diagram looks like the one in the following

    illustration. You can implement the same equation using a Formula

    Node, as shown in the following illustration.

    With the Formula Node, you can directly enter a complicated formula,

    or formulas, in lieu of creating block diagram subsections. You enter

    formulas with the Labeling tool. You create the input and output

    terminals of the Formula Node by popping up on the border of the

    node and choosing Add Input (Add Output). Type the variable

    name in the box. Variables are case sensitive. You enter the formula

    or formulas inside the box. Each formula statement must end with a

    semicolon (;).

    Q10. Describe the features of Intelligent Instrumentation and give the block diagram of Intelligent

    Instrumentation system.

    Answer:

    Block diagram of Component of Intelligent Instrumentation system

  • Prof. Mritunjay Rai Page 7

    Q11. Differentiate serial interfacing bus RS 422 with RS 485.

    (5 Marks GBTU 2013-14)

    Answer:

    RS485 is the most versatile communication standard in the

    standard series defined by the EIA. RS485 is currently a

    widely used communication interface in data acquisition

    and control applications where multiple nodes

    communicate with each other. With RS485 on the contrary

    there is no such thing as a common zero as a signal

    reference. Several volts difference in the ground level of

    the RS485 transmitter and receiver does not cause any

    problems. The RS485 signals are floating and each signal

    is transmitted over a Sig+ line and a Sig- line.

    The RS485 receiver compares the voltage difference between both lines, instead of the absolute voltage

    level on a signal line. This works well and prevents the existence of ground loops, a common source of

    communication problems. The best results are achieved if the Sig+ and Sig- lines are twisted. Differential

    signals and twisting allows RS485 to communicate over much longer communication distances than

    achievable with RS232. With RS485 communication distances of 1200 m are possible.

    RS422 was designed for greater distances and

    higher Baud rates than RS232. In its simplest form,

    a pair of converters from RS232 to RS422 (and

    back again) can be used to form an "RS232

    extension cord." Data rates of up to 100K bits /

    second and distances up to 4000 Ft. can be

    accommodated with RS422. RS422 is also

    specified for multi-drop (party-line) applications

    where only one driver is connected to, and

    transmits on, a "bus" of up to 10 receivers. RS422

    is a Standard interfaces approved by the Electronic

    Industries Association (EIA), and designed for greater distances and higher Baud rates than RS232. In its

    simplest form, a pair of converters from RS232 to RS422 (and back again) can be used to form an "RS232

    extension cord." Data rates of up to 100K bits / second and distances up to 4000 Ft. can be accommodated

    with RS422. RS422 is also specified for multi-drop (party-line) applications where only one driver is

    connected to, and transmits on, a "bus" of up to 10 receivers.RS422 devices cannot be used to construct a

    truly multi-point network. A true multi-point network consists of multiple drivers and receivers connected

    on a single bus, where any node can transmit or receive data.

    Q12. Explain with example While and For Loops in LabVIEW.

  • Prof. Mritunjay Rai Page 8

    Answer:

    LabVIEW has four structures: the While Loop, the For Loop,

    the Case structure, and the Sequence structure. A while loop is

    a control flow statement you use to execute a block of the

    subdiagram code repeatedly until a given Boolean condition is

    met. First, you execute the code within the subdiagram, and

    then the conditional terminal is evaluated. Unlike a for loop, a

    while loop does not have a set iteration count; thus, a while

    loop executes indefinitely if the condition never occurs.

    A for loop is a control flow statement you use to execute a block of the subdiagram code a set number of

    times, but a while loop stops executing the subdiagram only if the value at the conditional terminal exists.

    Building a While Loop

    1. Open a new VI. You can open a blank VI by selecting FileNew VI

    2. If the Functions palette is not visible, right-click any blank space on the block diagram to display a

    temporary version of the palette. Click the thumbtack in the upper left corner of the Functions palette to pin

    the palette so it is no longer temporary.

    3. Select the while loop from the Structures palette under the

    Functions palette.

    4. Use the cursor to drag a selection rectangle around the

    section of the block diagram you want to repeat.

    5. When you release the mouse button, a while loop boundary

    encloses the section you have selected.

    6. Place a Stop button on the front panel. You can find this

    under Controls PaletteBooleanStop.

    7. Add the Stop button from the block diagram to the while loop

    by dragging and dropping it inside the while loop.

    8. The conditional terminal, shown below, defines when the loop

    stops. There are two settings for the conditional terminal:

    Continue if True and Stop if True. When set to continue if True,

    the while loop runs only if a Boolean value of true is sent to the

    terminal. If the conditional terminal is set to Stop if True, and a

    Boolean value of true is sent to the conditional terminal, the loop

    halts execution.

    9. To switch the conditional terminal between Continue if True and Stop if True, right-click on the

    conditional terminal and check the corresponding setting.

    10. Wire the Stop button to the conditional terminal so that you can control the execution of the while loop.

    When the Stop button is pressed, a true value is passed to the conditional terminal causing the while loop to

    stop execution. You can wire any Boolean data to the conditional terminal to control the execution of a

    while loop.

    11. The iteration terminal is an output terminal that contains the number of completed iterations. The

    iteration count always starts at zero. During the first iteration, the iteration terminal returns 0.

    12. You have just created a simple while loop that generates random numbers and displays them until the

    Stop button is pressed.

  • Prof. Mritunjay Rai Page 9

    Building a For Loop

    1. Open a new VI. You can open a blank VI by selecting FileNew VI.

    2. If the Functions palette is not visible, right-click any blank space on

    the block diagram to display a temporary version of the Functions

    palette. Click the thumbtack in the upper left corner of the Functions

    palette to pin the palette so it is no longer temporary.

    3. Select the for loop from the Structures palette under the Functions

    palette.

    4. You also can place a while loop on the block diagram. Right-click the

    border of the while loop and select Replace with For Loop from the

    shortcut menu to change a while loop to a for loop.

    5. A for loop contains a count terminal. The count terminal dictates how

    many times the subdiagram is executed.

    6. Right-click on the count terminal and Create Constant to link the count

    terminal with a numeric value.

    7. By inserting 100 into the numeric constant, the for loop executes 100 times

    before stopping.

    8. The iteration terminal, shown as follows, is an output terminal that contains the

    number of completed iterations. The example below would update an indicator on the

    front panel with the current iteration number.

    Q13. Write a short note on GPIB/IEEE-488.

    (5 Marks GBTU 2013-14)

    Answer:

    IEEE-488 is a short-range digital communications bus specification. It was created for use with automated

    test equipment in the late 1960s, and is still in use for that purpose. IEEE-488 was created as HP-IB

    (Hewlett-Packard Interface Bus), and is commonly called GPIB (General Purpose Interface Bus). It

    has been the subject of several standards.The IEEE-488 interface bus, also known as the General Purpose

    Interface Bus "GPIB" is an 8 bit wide byte serial, bit parallel interface system which incorporates: 5 control

    lines 3 handshake lines 8 bi-directional data lines. The entire bus consists of 24 lines, with the remaining

    lines occupied by ground wires. Additional features include: TTL logic levels (negative true logic), the

    ability to communicate in a number of different language formats, and no minimum operational transfer

    limit. The maximum data transfer rate is determined by a number of factors, but is assumed to be 1Mb/s.

    Devices exist on the bus in any one of 3 general forms:

    1. Controller 2. Talker 3. Listener

  • Prof. Mritunjay Rai Page 10

    A single device may incorporate all three options, although only one option may be active at a time. The

    Controller makes the determination as to which device becomes active on the bus. The GPIB can handle

    only 1 active controller on the bus, although it may pass operation to another controller. Any number of active listeners can exist on the bus with an active talker as long as no more then 15 devices are connected

    to the bus. The controller determines which devices become active by sending interface messages over the

    bus to a particular instrument. Each individual device is associated with a 5 bit BCD code which is unique

    to that device. By using this code, the controller can coordinate the activities on the bus and the individual

    devices can be made to talk, listen (un-talk, un-listen) as determined by the controller. A controller can

    only select a particular function of a device, if that function is incorporated within the device; for example

    a listen only device cannot be made to talk to the controller.

    The Talker sends data to other devices. The Listener receives the information from the Talker. In

    addition to the 3 basic functions of the controller, talker, and listener the system also incorporates a number

    of operational features, such as; serial poll, parallel poll, secondary talk and listen addresses, remote/local

    capability, and a device clear (trigger). Device dependent messages are moved over the GPIB in

    conjunction with the data byte transfer control lines. These three lines (DAV, NRFD, and NDAC) are used

    to form a three wire interlocking handshake which controls the passage of data. The active talker would control the DAV line (Data Valid) and the listener(s) would control the NRFD (Not Ready For Data), and the NDAC (Not Data Accepted) line.

    Q14. Write a short note on PXI.

    Answer:

    PCI eXtensions for Instrumentation (PXI) is a rugged PC-based platform that offers a high-performance,

    low-cost deployment solution for measurement and automation systems. PXI combines the Peripheral

    Component Interconnect (PCI) electrical bus with the rugged, modular Eurocard mechanical packaging of

    CompactPCI and adds specialized synchronization buses and key software features. PXI also adds

    mechanical, electrical, and software features that define complete systems for test and measurement, data

    acquisition, and manufacturing applications. These systems serve applications such as manufacturing test,

    military and aerospace, machine monitoring, automotive, and industrial test. PXI has also incorporated

    higher bus bandwidth capabilities with the introduction of PXI Express. The chassis provides the rugged

    and modular packaging for the system. Chassis generally are available in 4-, 6-, 8-, 14-, and 18-slot. The

    chassis contains the high-performance PXI backplane, which includes the PCI bus and timing and

    triggering buses. PXI modular instrumentation adds a dedicated 10 MHz system reference clock, PXI

    trigger bus, star trigger bus, and slot-to-slot local bus to address the need for advanced timing,

    synchronization, and sideband communication while not losing any PCI advantages.

    PXI Timing and Triggering Buses PXI combines industry-standard PC components, such as the PCI bus, with advanced triggering and synchronization extensions on the backplane.

    Building on PXI capabilities, PXI Express provides the

    additional timing and synchronization features of a 100

    MHz differential system clock, differential signaling, and

    differential star triggers. By using differential clocking and

    synchronization, PXI Express systems benefit from

    increased noise immunity for instrumentation clocks and

    the ability to transmit at higher-frequency rates.

    Most PXI chassis contain a system controller slot in the

    leftmost slot of the chassis (slot 1). You can choose from a

    few options when determining the best system controller

  • Prof. Mritunjay Rai Page 11

    for an application, including remote controllers from a desktop, workstation, server, or laptop computer and

    high-performance embedded controllers with either a Microsoft OS (Windows 7/Vista/XP) or a real-time

    OS (LabVIEW Real-Time). The two types of controller options are laptop control of PXI and PC control of

    PXI.

    PXI Embedded Controllers - Embedded

    controllers eliminate the need for an external PC,

    therefore providing a complete system contained

    within the PXI chassis. These embedded controllers

    come with standard features such as an integrated

    CPU, hard drive, RAM, Ethernet, video,

    keyboard/mouse, serial, USB, and other peripherals,

    as well as Microsoft Windows and all device drivers

    already installed. They are available for systems

    based on PXI or PXI Express, and you have your

    choice of OSs, including Windows 7/Vista/XP or

    LabVIEW Real-Time. PXI embedded controllers are typically built using standard PC components in a

    small, PXI package. For example, the NI PXIe-8133 controller has a 1.73 GHz quad-core Intel Core i7-820

    processor (3.06 GHz maximum in single-core, Turbo Boost mode), up to 8 GB of DDR3 RAM, the option

    of hard-disk drive or solid-state drive, two Gigabit Ethernet ports, and standard PC peripherals such as Hi-

    Speed USB, Express Card/34, serial, and parallel ports.

    Q15. Write a short note on operating system for Instrumentation.

    Answer:

    An operating system (OS) is software, consisting of programs and data, that runs on computers and

    manages computer hardware resources and provides common services for efficient execution of various

    application software. For hardware functions such as input and output and memory allocation, the

    operating system acts as an intermediary between application programs and the computer hardware,

    although the application code is usually executed directly by the hardware, but will frequently call the OS

    or be interrupted by it. Operating systems are found on almost any device that contains a computerfrom cellular phones and video game consoles to supercomputers and web servers.

    Examples of popular modern operating systems for personal computers are Microsoft Windows, Mac OS

    X, and GNU/Linux.

    Early computers were built to perform a series of single tasks, like a calculator. Operating systems did not

    exist in their modern and more complex forms until the early 1960s. Some operating system features were

    developed in the 1950s, such as monitor programs that could automatically run different application

    programs in succession to speed up processing. Hardware features were added that enabled use of runtime

    libraries, interrupts, and parallel processing. When personal computers by companies such as Apple Inc.,

    Atari, IBM and Amiga became popular in the 1980s, vendors added operating system features that had

    previously become widely used on mainframe and mini computers. Later, many features such as graphical

    user interface were developed specifically for personal computer operating systems.

    An operating system consists of many parts. One of the most important components is the kernel, which

    controls low-level processes that the average user usually cannot see: it controls how memory is read and

    written, the order in which processes are executed, how information is received and sent by devices like the

    monitor, keyboard and mouse, and decides how to interpret information received from networks. The user

    interface is a component that interacts with the computer user directly, allowing them to control and use

    programs. The user interface may be graphical with icons and a desktop, or textual, with a command line.

    Application programming interfaces provide services and code libraries that let applications developers

  • Prof. Mritunjay Rai Page 12

    write modular code reusing well defined programming sequences in user space libraries or in the operating

    system itself. Which features are considered part of the operating system is defined differently in various

    operating systems. For example, Microsoft Windows considers its user interface to be part of the operating

    system, while many versions of Linux do not.Microsoft Windows is a family of proprietary operating

    systems most commonly used on personal computers. It is the most common family of operating systems

    for the personal computer, with about 90% of the market share. Currently, the most widely used version of

    the Windows family is Windows XP, released on October 25, 2001. The newest version is Windows 7 for

    personal computers and Windows Server 2008 R2 for servers.

    Microsoft Windows originated in 1981 as an add-on to the older MS-DOS operating system for the IBM

    PC. First publicly released in 1985, Windows came to dominate the business world of personal computers,

    and went on to set a number of industry standards and commonplace applications. Beginning with

    Windows XP, all modern versions are based on the Windows NT kernel. Current versions of Windows run

    on IA-32 and x86-64 processors, although older versions sometimes supported other architectures.

    Windows is also used on servers, supporting applications such as web servers and database servers. In

    recent years, Microsoft has spent significant marketing and research & development money to demonstrate

    that Windows is capable of running any enterprise application, which has resulted in consistent

    price/performance records (see the TPC) and significant acceptance in the enterprise market. However, its

    usage in servers is not as widespread as personal computers, and here Windows actively competes against

    Linux and BSD for market share, while still capturing a steady majority by some accounts.

    Q16. Explain what are the data Sockets and how it can be used in DAQ devices for communicating

    the data.

    Answer:

    A socket is a software endpoint that establishes bidirectional communication between a server program and

    one or more client programs. The socket associates the server program with a specific hardware port on the

    machine where it runs so any client program anywhere in the network with a socket associated with that

    same port can communicate with the server program. A server program typically provides resources to a

    network of client programs. Client programs send requests to the server program, and the server program

    responds to the request. A socket address is the combination of an IP address (the location of the computer)

    and a port (which is mapped to the application program process) into a single identity, much like one end

    of a telephone connection is the combination of a phone number and a particular extension.

    An Internet socket is characterized by a unique combination of the following:

    Local socket address: Local IP address and port number

    Remote socket address: Only for established TCP sockets. As discussed in the Client-Server section

    below, this is necessary since a TCP server may serve several clients concurrently. The server

    creates one socket for each client, and these sockets share the same local socket address.

    Protocol: A transport protocol (e.g., TCP, UDP), raw IP, or others. TCP port 53 and UDP port 53

    are consequently different, distinct sockets.

    Within the operating system and the application that created a socket, the socket is referred to by a unique

    integer number called socket identifier or socket number. The operating system forwards the payload of

  • Prof. Mritunjay Rai Page 13

    incoming IP packets to the corresponding application by extracting the socket address information from the

    IP and transport protocol headers and stripping the headers from the application data.

    These are examples of functions or methods typically provided by the API library:

    socket() creates a new socket of a certain socket type, identified by an integer number, and allocates

    system resources to it.

    bind() is typically used on the server side, and associates a socket with a socket address structure, i.e. a

    specified local port number and IP address.

    listen() is used on the server side, and causes a bound TCP socket to enter listening state.

    connect() is used on the client side, and assigns a free local port number to a socket. In case of a TCP

    socket, it causes an attempt to establish a new TCP connection.

    accept() is used on the server side. It accepts a received incoming attempt to create a new TCP

    connection from the remote client, and creates a new socket associated with the socket address pair of

    this connection.

    send() and recv(), or write() and read(), or recvfrom() and sendto(), are used for sending and receiving

    data to/from a remote socket.

    Close() causes the system to release resources allocated to a socket. In case of TCP, the connection is

    terminated.

    gethostbyname() and gethostbyaddr() are used to resolve host names and addresses.

    select() is used to prune a provided list of sockets for those that are ready to read, ready to write or

    have errors

    poll() is used to check on the state of a socket. The socket can be tested to see if it can be written to,

    read from or has errors.

    Q17. Describe the interfacing methods of DAQ hardware.

    Answer:

    The interfacing methods of DAQ are depends upon the systems input ports. Basically there are two types

    i) serial port and ii) Parallel port.

    There may be some protocols to access the data through ports. DAQ are used to bring signals of different

    sensors to control system. The ports may be simple analog inputs or digital inputs or RS232, RS 423, USB,

    Parallel port etc. The voltage levels will vary depends upon the port. Example: The RS-232 Voltage levels

    are +-15 V. Digital data processing and control systems have become ubiquitous in modern daily life.

    Information from a wide variety of

    environmental sources, including sound waves,

    light, temperature, gas pressure, radiation, and

    mechanical movement, is converted to digital

    signals which are processed so that they can

    communicate with intelligent user interface

    devices or embedded systems. A typical

    approach for interfacing digital processing

    systems with the environment uses a modular

    architecture shown in Figure. This figure shows

    a bidirectional flow of signalsthe system can

    acquire information from the outside (input)

    and can operate on the environment (output).

  • Prof. Mritunjay Rai Page 14

    General Architecture of a Digital Processing System Interface

    The transducer module converts non-electric environmental input signals into analogous electric signals.

    The data acquisition (DAQ) module contains one or more analog-to-digital converters (ADCs), which

    sample the analog input signals and quantize the samples into binary coded (digital) signals. A bidirectional

    system also contains at least one digital-to-analog converter (DAC) and a transducer that can convert

    analog signals back to the corresponding environmental signals.

    The DAQ-DSP connection is described in detail in this paper. The DSP-host computer connection is

    described in Motorola application note, ECP Standard Parallel Interface for DSP56300 Devices

    Q18. Write a short note on ISA

    Answer:

    Industry Standard Architecture (ISA) is a retronym term for the 16-bit internal bus of IBM PC/AT and

    similar computers based on the Intel 80286 and its immediate successors during the 1980s. The bus was

    (largely) backward compatible with the 8-bit bus of the 8088-based IBM PC, including the IBM PC/XT as

    well as IBM PC compatibles. Originally referred to as the PC/AT-bus it was also termed I/O Channel by

    IBM. The ISA concept was coined by competing PC-clone manufacturers in the late 1980s or early 1990s

    as a reaction to IBM attempts to replace the AT-bus with its new and incompatible architecture. The 16-bit

    ISA bus was used also with 32-bit processors for several years. An attempt to extend it to 32 bits, called

    Extended Industry Standard Architecture (EISA), was not very successful. Later buses such as VESA

    Local Bus and PCI were used instead, often along with ISA slots on the same mainboard. A derivative of

    the AT bus structure is still used in the PCMCIA standard, Compact Flash, the PC/104 bus, and internally

    within Super I/O chips.

    Q19. Write a short note on DMA.

    Answer:

    Direct memory access (DMA) is a feature of modern computers and microprocessors that allows certain

    hardware subsystems within the computer to access system memory for reading and/or writing

    independently of the central processing unit. Many hardware systems use DMA including disk drive

    controllers, graphics cards, network cards and sound cards. DMA is also used for intra-chip data transfer in

    multi-core processors, especially in multiprocessor system-on-chips, where its processing element is

    equipped with a local memory (often called scratchpad memory) and DMA is used for transferring data

    between the local memory and the main memory. Computers that have DMA channels can transfer data to

    and from devices with much less CPU overhead than computers without a DMA channel. Similarly a

    processing element inside a multi-core processor can transfer data to and from its local memory without

    occupying its processor time and allowing computation and data transfer concurrency.

    The DMA controller mega function is designed for data

    transfer in different system environments. Two module

    typestype 0 and type 1are provided, and the user can

    choose the number of each module type. Type 0 modules

    are designed to transfer data residing on the same bus, and

    Type 1 modules are designed to transfer data between two

    different buses. Each module can support up to 4 DMA

    channels; the mega function supports up to 16 total DMA

    channels. Each DMA channel can be programmed for

    various features, such as transfer size, synchronized and

    unsynchronized transfer control, transfer priority, interrupt

    generation, memory and I/O address space, and address

  • Prof. Mritunjay Rai Page 15

    change direction. This mega function is designed to work with 32-bit and 64-bit bus systems, including the

    PCI bus, PowerPC bus, and other CPU host buses. It can also be integrated with other mega functions to

    form a complete functional block.

    Q20. Write a short Note on Interfacing methods of DAQ.

    Answer:

    DAQ hardware acts as the interface between a computer and signals from the outside world. It primarily

    functions as a device that digitizes incoming analog signals so that a computer can interpret them. The

    three key components of a DAQ device used for measuring a signal are the signal conditioning circuitry,

    analog-to-digital converter (ADC), and computer bus. Many DAQ devices include other functions for

    automating measurement systems and processes. For example, digital-to-analog converters (DACs) output

    analog signals, digital I/O lines input and output digital signals, and counter/timers count and generate

    digital pulses.

    Q21. Explain Data Acquisition system with proper block diagram.

    Answer:

    Data acquisition (DAQ) is the process of measuring an

    electrical or physical phenomenon such as voltage,

    current, temperature, pressure, or sound with a computer.

    A DAQ system consists of sensors, DAQ measurement

    hardware, and a computer with programmable software.

    Compared to traditional measurement systems, PC-based

    DAQ systems exploit the processing power, productivity,

    display, and connectivity capabilities of industry-standard

    computers providing a more powerful, flexible, and cost-

    effective measurement solution.

    Key Measurement Components of a DAQ Device

    Signal Conditioning

    Signals from sensors or the outside world can be noisy or too dangerous to measure directly. Signal

    conditioning circuitry manipulates a signal into a form that is suitable for input into an ADC. This circuitry

    can include amplification, attenuation, filtering, and isolation. Some DAQ devices include built-in signal

    conditioning designed for measuring specific types of sensors.

    Analog-to-Digital Converter (ADC)

    Analog signals from sensors must be converted into digital before they are manipulated by digital

    equipment such as a computer. An ADC is a chip that provides a digital representation of an analog signal

    at an instant in time. In practice, analog signals continuously vary over time and an ADC takes periodic

  • Prof. Mritunjay Rai Page 16

    samples of the signal at a predefined rate. These samples are transferred to a computer over a computer

    bus where the original signal is reconstructed from the samples in software.

    Q22. Describe analog and digital data acquisition method.

    Answer:

    DAQ hardware without software is of little use-and without proper controls the hardware can be very

    difficult to program. The purpose of having appropriate software is the following:

    Acquire data at specified sampling rate

    Acquire data in the background while processing in foreground

    Stream data to and from disk

    Integrate different DAQ boards in a computer and use various functions of a DAQ board from a

    single user interface.

    In the following figure a complete DAQ system with LabVIEW is shown. The driver software is a lower

    level driver that interfaces LabVIEW software with the DAQ boards. As a user of LabVIEW one does not

    have to worry about configuration and control of components within DAQ boards. LabVIEW identifies

    each board by a device number and therefore one can have as many devices as many as the computer can

    accept on their expansion slots. LabVIEW can also combine and display inputs from various sources like

    inputs from serial and parallel port, data acquisition board (s), and GPIB boards on a single interface as

    shown in the figure below.

    Q23. Explain the different analysis techniques used in intelligent instrumentation. Also comment on

    DSP software used in instrumentation system. (5 Marks GBTU 2013-14)

    Answer:

    DSP Tools specializes in the development of custom hardware, software, and signal processing algorithms.

    DSP Tools capabilities include MATLAB, FPGA design, digital signal processing hardware and

    algorithms, embedded processors, printed circuit board schematic design, layout, and rapid prototyping.

    DSP Tools also writes the device drivers and DLL's needed to stream data into and out of the PC.DSP

    Tools is particularly experienced in communication signal analysis and digital signal processing. The DSP

    algorithms may be implemented in an FPGA, a DSP processor, or using MATLAB on a PC. The devices

    we have designed sometimes include one or more TI DSPs, FPGAs, Ethernet, or USB interfaces, and high-

    speed A/D and D/A converters. DSP Tools has designed for biomedical, direct broadcast satellite (DBS),

    test equipment, software defined radio, radio signal analysis, and SIGINT applications.

    Clients often need our services to bridge the gap between their area of expertise and the capabilities of

    MATLAB. For example, a biomedical company may be strong in chemistry but weaker in the ability to

    develop electronics for acquiring data and getting it into MATLAB for analysis. The DSP Tools staff has

    many years of experience using MATLAB and helping scientists implement their ideas using MATLAB.

    Industries and Tasks

    Biotech, Pharmaceutical and Medical

    Communications

    Data Acquisition or Import

    Data Modeling, Analysis, Visualization

    Electronics

    Embedded System Development

  • Prof. Mritunjay Rai Page 17

    Instrumentation

    MATLAB Programming

    Signal Processing

    Algorithms for DSP Applications

    Signal Processing Block set provides important signal processing functions that serve as building blocks of

    signal processing systems in communications, audio, speech, medical, and industrial applications.All

    algorithms in the block set, whether implemented as System objects or Simulink blocks, support double-

    precision and single-precision floating-point data types. Most also support integer and fixed-data point data

    types.

    Signal Processing Algorithms

    Key categories of algorithms in the block set include:

    Signal operations such as convolution, windowing, padding, modeling delays, peak finding, and zero-

    crossing

    Signal transforms such as fast Fourier transform (FFT), discrete cosine transform (DCT), short-time

    Fourier transform, and discrete wavelet transform (DWT)

    Filter design and implementation methods for digital FIR and IIR filters

    Statistical signal processing functions for signal statistics and spectral estimation

    Signal management methods such as buffering, indexing, switching, stacking, and queuing

    Linear algebra routines including linear system solvers, matrix factorizations, and matrix inverses

    Scalar and vector quantizer encoding and decoding

    Q24. Explain sequence and Case structure used in LabVIEW.

    Answer:

    Case, Stacked Sequence, Flat Sequence, and Event structures contain multiple subdiagrams. A Case

    structure executes one subdiagram depending on the input value passed to the structure. A Stacked

    Sequence structure and a Flat Sequence structure execute all their subdiagrams in sequential order.

    An Event structure executes its subdiagrams depending on how the user interacts with the VI.

    Case Structures

    A Case structure, shown as follows, has two or more subdiagrams, or cases.

    Only one subdiagram is visible at a time, and the structure executes only one case at a time. An input value

    determines which subdiagram executes. The Case structure is similar to switch statements or if...then...else

    statements in text-based programming languages. The case selector label at the top of the Case structure,

    shown as follows, contains the name of the selector value that corresponds to the case in the center and

    decrement and increment arrows on each side.

  • Prof. Mritunjay Rai Page 18

    Click the decrement and increment arrows to scroll through the available cases. You also can click the

    down arrow next to the case name and select a case from the pull-down menu.Wire an input value, or

    selector, to the selector terminal, shown as follows, to determine which case executes.

    You must wire an integer, Boolean value, string, or enumerated type value to the selector terminal. You

    can position the selector terminal anywhere on the left border of the Case structure. If the data type of the

    selector terminal is Boolean, the structure has a True case and a False case. If the selector terminal is an

    integer, string, or enumerated type value, the structure can have any number of cases.

    Sequence Structures

    A sequence structure contains one or more subdiagrams, or frames, that execute in sequential order. Within

    each frame of a sequence structure, as in the rest of the block diagram, data dependency determines the

    execution order of nodes.

    There are two types of sequence structuresthe Flat Sequence structure and the Stacked Sequence structure. Use sequence structures sparingly because they hide code. Rely on data flow rather than

    sequence structures to control the order of execution. With sequence structures, you break the left-to-right

    data flow paradigm whenever you use a sequence local variable.

    The tunnels of a sequence structure can have only one data source, unlike Case structures. The output can

    emit from any frame. If you use a Flat Sequence structure, the data from outside the sequence structure

    enters the frame as each frame executes. The data leaves the frame after the frame executes. If you use a

    Stacked Sequence structure, the structure does not start to execute until all data wired to the structure

    arrives. The data wired from each frame leaves only when all the frames complete execution. As with Case

    structures, data at input tunnels is available to all frames in either the Flat Sequence or the Stacked

    Sequence structure.

    Flat Sequence Structure

    The Flat Sequence structure, shown as follows, executes frames from left to right and when all data values

    wired to a frame are available. The data leaves each frame as the frame finishes executing. This means the

    input of one frame can depend on the output of another frame.

    Unlike in the Stacked Sequence structure, you do not need to use sequence locals to pass data from frame

    to frame in the Flat Sequence structure. Since the Flat Sequence structure displays each frame on the block

    diagram, you can wire from frame to frame without sequence locals and without hiding code.

    To convert a Flat Sequence structure to a Stacked Sequence structure, right-click the Flat Sequence structure and select Replace with Stacked Sequence from the shortcut menu. If you change a Flat

    Sequence to a Stacked Sequence and then back to a Flat Sequence, LabVIEW moves all input

    terminals to the first frame of the sequence. The final Flat Sequence operates the same as the

    Stacked Sequence. After you change the Stacked Sequence to a Flat Sequence with all input

    terminals on the first frame, you can move wires to where they were located in the original Flat

    Sequence.

    To convert a Flat Sequence structure to a Timed Sequence structure, right-click the Flat Sequence structure and select Replace with Timed Sequence from the shortcut menu.

    Stacked Sequence Structure

    The Stacked Sequence structure, shown as follows, stacks each frame so you see only one frame at a time

    and executes frame 0, then frame 1, and so on until the last frame executes.

  • Prof. Mritunjay Rai Page 19

    The Stacked Sequence structure returns data only after the last frame executes. Use the Stacked Sequence

    structure if you want to conserve space on the block diagram.

    Q25. Explain Arrays used in LabVIEW.

    Answer:

    Arrays

    An array consists of elements and dimensions. Elements are the data that make up the array. A dimension

    is the length, height, or depth of an array. An array can have one or more dimensions and as many as (231

    )

    1 elements per dimension, memory permitting.

    You can build arrays of numeric, Boolean, path, string, waveform, and cluster data types. Consider using

    arrays when you work with a collection of similar data and when you perform repetitive computations.

    Arrays are ideal for storing data you collect from waveforms or data generated in loops, where each

    iteration of a loop produces one element of the array. You can export data from arrays to locations such as

    Microsoft Excel. Right-click an array and select Export from the shortcut menu to view available export

    options.

    Examples of Arrays

    An example of a simple array is a text array that lists the

    eight planets of our solar system. LabVIEW represents this

    as a 1D array of strings with eight elements.

    Array elements are ordered. An array uses an index so you

    can readily access any particular element. The index is

    zero-based, which means it is in the range 0 to n 1, where n is the number of elements in the array. For

    example, n = 8 for the eight planets, so the index ranges

    from 0 to 7. Earth is the third planet, so it has an index of 2.

    Another example of an array is a waveform represented as a

    numeric array in which each successive element is the

    voltage value at successive time intervals, as shown in the

    following illustration.

    A more complex example of an array is a graph represented

    as an array of points where each point is a cluster containing

    a pair of numeric values that represent the X and Y

    coordinates, as shown in the following illustration.

    The previous examples use 1D arrays. A 2D array stores

    elements in a grid. It requires a column index and a row

    index to locate an element, both of which are zero-based.

    The following illustration shows an 8 column by 8 row 2D

    array, which contains 8 8 = 64 elements.

    For example, a chessboard has eight columns and eight rows

    for a total of 64 positions. Each position can be empty or

    have one chess piece. You can represent a chessboard as a

  • Prof. Mritunjay Rai Page 20

    2D array of strings. Each string is the name of the piece that occupies the corresponding location on the

    board or an empty string if the location is empty.

    Creating Array Controls, Indicators, and Constants

    Create an array control or indicator on the front panel by

    adding an array shell to the front panel, as shown in the

    following front panel, and dragging a data object or element,

    which can be a numeric, Boolean, string, path, refnum, or

    cluster control or indicator, into the array shell. The array

    shell automatically resizes to accommodate the new object.

    To create an array constant on the block diagram, select an array constant on the Functions palette, place

    the array shell on the block diagram, and place a string constant, numeric constant, a Boolean constant, or

    cluster constant in the array shell. You can use an array constant to store constant data or as a basis for

    comparison with another array.