Sei sulla pagina 1di 20

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.
2.
3.
4.
5.

Lower costs of instrumentation


Portability between various computer platforms
Easy-to-use graphical user interface
Graphical representation of program structures
Code can be compiled to standalone.EXE or .DLL
file
6. TCP/IP connectivity (web server integrated into
virtual instrument)

Prof. Mritunjay Rai

Page 1

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 higherlevel 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 2

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 lowerlevel 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 textbased 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 3

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 4

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 5

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 6

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 7

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 8

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

Prof. Mritunjay Rai

2. Talker

3. Listener

Page 9

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 10

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 HiSpeed 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 11

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 12

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 13

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 14

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 costeffective 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 15

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 highspeed 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 16

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 doubleprecision 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 zerocrossing
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 17

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 18

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 (2 31)
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 19

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.

Prof. Mritunjay Rai

Page 20

Potrebbero piacerti anche