1. INTRODUCTION
As engineering system
becomes increasingly complex, their control system tends to become very
sophisticated. We are living in a world surrounded by a universe of digital
technology. Almost all process in an industry is controlled by computers. The
economic performance of most processes and certainly their safety and
operatability depend to a large extend on how well they are controlled.
Process control is a
statistics and engineering discipline that deals with architectures,
mechanisms, and algorithms for controlling the output of a specific process.
Flow is a parameter with great importance in industrial application. Flow
measurement is the quantification of bulk fluid movement. It can be measured
and controlled in variety of ways.
The LabVIEW (Laboratory
Virtual Instruments Engineering Workbench) is programmed to control the
operation of the system. The process trainer UV200 is controlled by using
LabVIEW. The program developed in the host pc is interfaced with the trainer
UV200 through PAC (Programmable automatic controller) cFP2100. LabVIEW is a
graphical programming that uses icons instead of lines. PAC is a digital
computer used for automation of electro mechanical processes, such as control
of machinery on factory assembling lines. The PAC is designed for multiple
inputs and output arrangements, extended to temperature ranges, immunity to
electrical noise, and resistance to vibration and impact.
2.
BLOCK
DIAGRAM
The
block diagram consists of a pump, flow detector, control valve, converter,
controller and an i/p transducer. The flow is measured from the flow detector,
here we use magnetic flow transmitter Magnew3000. The advantage of using
Magnew3000 is that, at fully open condition it has no pressure loss.
Fig1: Block Diagram UV200
This detected value is then passed through a signal
converter, which will give the measured value in mA, at a range of 4-20mA. This
is fed as an input to the controller. Where the controller action will take
place according to the set point value. The set point can be changed manually.
The controller will take the control action accordingly. This control action
takes
place in the controller according to the software program installed in the
controller. The controllers output is also a current signal in the range of
4-20mA.
This current signal should be converted to pneumatic
value in order for controlling the valve. Hence the output of the controller is
passed through an i/p converter or transducer. Where the 4-20mA current signal
is converted corresponding 3-15psi, this is done using a flapper nozzle system.
Using this pressure the control valve is controlled,
which consist of single acting diaphragm actuator. The adjustment is done
before delivery so that the valve begins to open at 95kPa and is completely
open at 25kPa. The valve we uses is a single seated valve. And hence, by
controlling the valve the flow is also controlled.
3.
HARDWARE
The
Hardware used in our project is the Process Trainer UV200. UV 200 is a separate
transportable control unit of a complete flow process with pump, flow
transmitter, controller, I/P-converter and a control valve.
Fig2: UV200
UV 200 can also be used as a complement to process
control model UV 103 or UV 400 which then forms a complete water supply unit.
The flow control circuit is coupled for
cascade
control of level process so that exercises in starting-up and study of cascade
control can be carried out. Both the controller and the flow-transmitter
operate by means of a microprocessor technique. The controller has a three mode
(PID) function and can, apart from other uses, be configured for different
types of alarms, control equations, set point ramp and limits, as well as be
coupled for an external set point and Auto-tune, see separate pamphlet UDC
3000. The magnetic type transmitter has a linear output signal of 4-20 mA.
The transmitter consists of two parts, the sensor
and the transducer. It can be calibrated in two ways, either by a calculated
flow or by means of a graduated measurement tank and timing. The pneumatic
control valve is connected to the current to pressure (I/P) converter. Both the
control valve and converter are the same as those used on process control model
UV 103. When using cascade control the output from the controller on UV 103 or
UV 400 is coupled to the external set-point on UV 200. The water supply and
drainage is also coupled between UV 103 or UV 400 and UV 200. All components
are mounted on an industrial carriage with wheels which can be locked to give
stability.
3.1.
Working
Of UV200
3.1.1. The Process
The process consists of a 230V, 50Hz,
1.2KW single phase electric pump and pressure piping. The pump motor is
equipped with a starter capacitor. The pipe is equipped with several valves. During
the flow control the valves 6 and10 is closed and the valve 7, 5 and 4 is open.
During the calibration of the transmitter the valves 6 and 10 shall be closed
and the valve 5 shall be completely opened. When the storage tank is filled the
position of the valves will change. When the calibration is finished, the
storage tank should be drained using valve 10. When the UV200 is used in cascade
control with UV103, valve 7 will closed and the valves 5 and 6 are open.
3.1.2. Control Loop
A
water flow is the variable that will be controlled. To measure the water flow,
a magnetic flow transmitter FT-1 with full opening is used. The 4-20mA signal
from the transmitter, is connected to a controller FC, which via an i/p
converter FT-2 manipulates the control valve FV-1 and the flow to a local or a
remote set point. By adjusting a load valve the
load will change and the control loop automatically
will adjust the control valve until the sum of pressure drop (e.g the flow)
will be retained at a constant value.
Fig3: Schematic
Diagram.
3.1.3. Flow Transmitter FT-1
The magnetic flow
transmitter magnew3000 is used. The advantage of using
Magnew3000 is that, at fully open condition it has no pressure loss. This gives
a better economical operation compared to restriction pressure transmitters.
They are also easy to install compared with other types of flow transmitters.
A magnetic type flow transmitters are almost twice
as expensive as a differential pressure transmitters. However if we compare
with the whole installation, the magnetic flow transmitter will cost
essentially the same as a restriction type transmitter. The maintenance of
a
magnetic flow transmitter is normally cheaper than other type of measuring
methods. This consequently will influence an increasing use of the magnetic
flow transmitter when the measuring electric conductive fluids. The fluids must
have an electric conductivity of at least
300µs/m.
The transmitter on the UV200 consists of two parts,
one measuring part (detector) and one converter. The measuring part (detector)
contains the solenoids and the electrodes. The electrodes must be removed and
cleaned a couple of times per year in normal operation.
The converter consists a microprocessor based unit
that transforms the signal from the electrodes to a liner output 4-20mA or to a
pulse signal. UV200 uses 4-20mA current proportional output. The converter also
supplies the solenoid in the measuring part with the necessary electric power.
The calibration can easily be done on the converter by the digital settings.
The existing current(depending on the individual measuring part) is adjusted by
the potentiometer.
3.1.4.
Control
Valve FV-1
It consists of pneumatic single
acting diaphragm actuator. To control the actuator a pneumatic positioned is
fitted inside the top of the actuator. The start point for the control pressure
can be adjusted on top of the positioner. This adjustment is done before
delivery, so that the valve begins to open at 95KPa and is completely open at
25KPa. The valve used here is single seated control valve.
3.1.5.
Controller
The controller is am microprocessor
based and is equipped with a nonvolatile memory for storing of configured data.
The controller has a general PV input and can be configured for 23 different
types of signals and characteristics like linear or square root extraction. The
controller can be ordered for relay and proportional current output besides
alarm relays.
3.1.6.
I/P
Converters
The converter is a force balance
type device. The input current is applied to the magnetic unit coil. The
combined action of the input current and the magnetic field of the permanent
magnetic creates a force which is applied to the flapper. The flapper which is
pivoted in the middle is deflected by this force i.e, it is moving closer to
one of the nozzles. The force acting on the flapper is balanced by the feedback
of the output pressure at the
nozzle’s
cross sectional area. One nozzle is used for direct action and the other
nozzles for reverse action. Nozzles has its air supply from affixed
restriction( needle valve). The output signal ( 3-15psi) is taken out between
the fixed restriction and the adjustable restriction.
Increasing input current moves the
flapper closer to nozzle resulting in an increased output pressure directly
proportional to the current input signal. The zero point( start point) can be
adjusted by means of the adjustment nuts applying forces to the flapper through
strings. Nut is used for coarse adjustment ( start point) and the precision
zero adjustment. Coarse range adjustment is achieved by changing the position
of nozzle up or down. Fine range adjustment is done with potentiometer, which
shunts more or less current to the coil.
4. HARDWARE INTERFACE
Designed for industrial
control, the Compact Field Point programmable automation controller (PAC)
offers the flexibility and ease of a PC and the reliability of a programmable
logic controller (PLC). This rugged system combines a real-time controller with
a wide range of industrial I/O modules suitable for stand-alone data logging,
analysis, and advanced control.
Fig4:
cFP-2100
Through its built-in Web and file servers, the
Compact Field Point interface automatically publishes measurements over the
Ethernet network. To boost the memory
storage
capacity, use removable Compact Flash or USB mass-storage devices for logging
data.
The cFP-22xx controllers have an industrial 400 MHz
PowerPC real-time processor with up to 256 MB of SDRAM for intelligent
distributed applications requiring industrial-
grade
reliability. Common use cases include process and discrete control systems that
open and close valves, run control loops, log data on a centralized or local
level, and perform real-time simulation and analysis. With both Ethernet and
serial ports, you can communicate via TCP/IP, UDP, Modbus, and serial
protocols, as well as take advantage of the built-in Web (HTTP) and file (FTP)
servers.
Fig5: cFP-2100 With All Modules
Connected.
The Compact Field Point real-time controller
connects to a 4- or 8-slot solid backplane and controls a wide variety of hot-swappable
I/O modules. The modular I/O
architecture
with built-in signal conditioning and isolation provides direct connectivity to
industrial sensors such as analog voltage, 4 to 20 mA current, thermocouple,
RTD, pressure, strain, flow, pulse-width modulation (PWM), and 24 V digital
I/O. Compact Field Point I/O modules filter, calibrate, and scale raw sensor
signals to engineering units and perform self-diagnostics to look for problems,
such as an open thermocouple.
All Compact Field Point modules feature
industrial specifications, such as 50 g shock, 5 g vibration, and a temperature
range from -40 to 70 °C, as well as comply with North American and European
certifications, such as safety, hazardous location, marine approval, and EMC
compliance. For more information, view the Compact Field Point virtual tour.
4.1.
Software Integration
NI LabVIEW is a graphical development
environment that delivers unparalleled flexibility and ease of use in demanding
industrial measurement, automation, and control applications.
Fig6: Modules Of cFP-2100
With LabVIEW, you can quickly create user interfaces for
interactive software system control and easily construct simple or complex
applications using an extensive palette of functions and tools – from simple
analog PID process control loops to high-channel-count hybrid control systems.
For time-critical systems, Compact Field Point controllers run the LabVIEW
Real-Time Module to deliver deterministic, reliable performance on a small
industrial platform. Develop your application on a host computer using graphical
programming and download the application to the controller to run on a
real-time operating system.
4.2.
Communication
A cFP-21xx controller connects directly to your
network through the built-in Ethernet port. The Ethernet port serves as a
high-speed link for downloading application code, performing run-time debugging
and probing, and transmitting control and indicator values with a GUI running on
a networked PC. You also can use the Ethernet port for programmatic network
communication using standard protocols such as TCP, UDP, FTP, HTTP, and Data Socket.
Once deployed, the controller can communicate with any Ethernet-enabled device
on the network. In addition, a cFP-21xx can communicate with a Windows computer
running LabVIEW or any third-party HMI/SCADA software compatible with OPC. By
using LabVIEW libraries and industrial gateways, you can add a Compact Field Point
bank to any existing setup and communicate with industrial devices through standard
communication protocols such as Modbus TCP and PROFIBUS.
4.3.
Serial Connectivity
cFP-21xx controllers have up to three RS232 serial
ports and one RS485 port (cFP-2120) to communicate programmatically with other
serial devices such as remote Field Point banks, LCD display/keypad units, bar code
readers, or phone and radio modems.
4.4.
Embedded Data Logging
The cFP-2120 features 128 MB of nonvolatile
removable Compact Flash storage for data logging or additional storage
capacity. You can store the data in standard format,
including
CSV and XML. Once you store the data, you can easily transfer it to a PC using
the embedded FTP server on the cFP-21xx. LabVIEW Real-Time expands the
functionality beyond the typical data logger because you can make additional
calculations and decisions to eliminate logging unneeded data and to perform
onboard real-time calculations. Compact Field Point combines data logging, data
reduction, control algorithms, a Web-based human machine interface (HMI), and
the ability to communicate with other nodes on the network.
4.5.
Power Supply Backup and Regulation
cFP-21xx controllers require an 11 to 30 VDC power
supply. An extra set of screw terminals is available on the network controllers
for a backup UPS or battery. The controller filters and regulates the power
input, redistributing power to all the I/O modules in the node through the backplane
bus. Refer to Ordering Information for suitable power supplies.
5.
LabVIEW
5.1.
Introduction
LabVIEW is a program used to automate testing and data
gathering. It is basically a graphical
programming language in which the user can set up the program to manipulate and
store data. The rest of this tutorial is
a basic introduction to LabVIEW and to the features available. This is meant only as an introduction and you
are encouraged to explore other features of this powerful program
independently.[2]
5.2.
Front
Panel
When
you start LabVIEW, you will see a screen with a few options on it.
Fig7: Start Up Screen
Two of the options are "New VI" and "Open
VI". VI's are the programs you
create in LabVIEW. Later you will
probably want to open a previously created VI, but for now select New VI.
Two
new screens will now pop up. One of them
looks like this.
Fig8: Front Panel
This is called the Front Panel. This is one of the places where the user will
be able to input data to the program and view results. (Data I/O can also occur from files or through
devices such as D/A converter boards.)
When creating a program, you will first need to decide what sort of
inputs and outputs will be available.
Put the cursor over the gray area in the front panel and right
click. A window called Controls should
pop up.
Fig9: Control Pallet
In this window there are various menus with input and output
controls on them. There are numeric,
Boolean, string, array, graph, and other controls. For now go to the Numeric control menu and
select a Digital Control. Place it
anywhere on the control panel. Now do
the same with a Digital Indicator.
You
will now be able to use both when you create your program. This bring us to the next window.
5.3.
Block
Diagram
The second window is the place where you create the
underlying code for your program. You
will create the program graphically using the inputs and outputs created in the
Front Panel and objects from the Functions window.
At
the moment, your Block Diagram should look like this.
Fig10: Block Diagram
Let's take a closer look at the two menus available. First, the Tools menu is available when
working on both the Front Panel and the Block Diagram.
Fig11:
Tool Pallet
The Tools menu allows you to change the function of the
cursor. For example, in one mode the
cursor can be used to change values, and in another it can be used to move and
size items. If you let the mouse cursor
hover over a button on the Tools menu, a description of what that button does
will appear.
Next is the Function menu.
This is available only when working on the Block Diagram.
Fig12: Function Pallet
This window contains many menus and sometimes submenus for
creating your program. There are a great
many functions available and this tutorial will only touch on a few of
them. For more information on what each
function button does, refer to the Simple Help popup that can be enabled from
the Help menu or the more complete online help also available in the Help menu.
The complete documentation is also available online at [1]. For now we will just create a very simple program. If you look at the Block Diagram window you
will notice that there are two blocks already present, Numeric and
Numeric2. These are representations of
what
is on the Front Panel. Remember that
Numeric is a Digital Control while Numeric2 is a Digital Indicator. This means that Numeric will probably be an
input value and Numeric2 will be an output value. The first thing we will try to do is add a
constant to Numeric and display the result in Numeric2. Go to the Numeric menu on the Function
window, and select the Add block. Place
this block between Numeric and Numeric2 on the Block Diagram window. You might want to use the
Position/Size/Select cursor (the arrow in the Tools menu) to move Numeric and
Numeric2 farther apart.
Now, go back to the Numeric menu and select Numeric
Constant. Go to the Tools menu and click
on the Operate Value button (the pointy finger). Now click on the constant and change the
value from 0 to 5.
All the blocks are in place to input a number from Numeric
and output that number plus five to Numeric2.
Now we need to wire together the blocks.
Select the wiring tool from the Tools menu. Move the wiring tool over Numeric in the
Block Diagram window. The numeric block
should start flashing. Click and hold
down the mouse button and drag it over to the top corner of the Add block. It should also start flashing and an
"x" should pop up on the screen.
Release the mouse button and the wire will be connected. Do the same to connect the constant five to
the bottom input of the Add block, y.
Then connect the output, x + y, to Numeric2. When finished, the Block Diagram should look
like this.
If you mistakenly left any wires unattached, they would
appear as dotted block lines instead of solid colored ones. If there are any unconnected wires the
simulation will not run. Use the
position tool to select and delete unconnected wires and then use the wiring
tool to reconnect them properly.
Now, go back to the Front Panel. Click on the Operate Value tool in the Tools
menu and use it to set Numeric to 2.
Then click on the arrow icon at the left of the icon bar on the top of
the Front Panel. This will cause the
program to run.
Now try clicking on the button next to the arrow. This will cause the program to run
continuously. Try changing values while
the program is running. The output value
will change as you change the input.
Go
back to the Block Diagram. As the
programs you create get more complicated, it may be hard to figure out where
errors are. Just like in debuggers of
written programming languages, LabVIEW allows the programmer to set breakpoints
and examine data values inside of the program.
Click on the Set/Clear Breakpoint button (red dot) on the Tools menu and
then set a breakpoint at the Add block by clicking on it. The block should now be outlined in red.
Now, click on the run button while still on the Block
Diagram window. The program will start
and then stop and the Add block will start flashing. Select the Probe tool from the Tools
menu. Now click on the three different
parts of the Add block. Three windows
will pop up with the values of each part of the block.
Fig13: Block Diagram.
As
you can see, x = 2 (or whatever value you currently have in the Digital
Control) and y=5, but x + y is still undefined because the program has stopped
at the Add block. Click on the run icon
again to let the program finish. Now x + y has
the appropriate value.
5.4.
Other
Features
We will now create a VI that will incorporate some of the
other features of LabVIEW including structures, arrays, graphs, and file
I/O. First, close the current VI and
create a new one. Now, go to the Front Panel and select a Digital Control. Then place a Waveform Graph on the Front
Panel. The window should now look like
this.[3]
Fig14: Front Panel.
Go
to the Block Diagram. There should be two icons, one for the Digital
Control (Numeric) and one for the Waveform Graph. Now go to the Functions
window, and select a
For
Loop from the Structures menu. Make the block about 1/4 of the screen or
so and then arrange the block as shown below.
Fig15: Block Diagram.
Now, for the rest of the blocks we will need a Multiply
(under the Numeric menu), a Build Array (under the Array menu), and a Write to
Spreadsheet block (under the File I/O menu). Place these blocks as show
below.
Now we need to wire the blocks together. Connect the
Numeric block to the N on the For Loop. This means that the number
inputted in the Digital Control will control how many times the For Loop
runs. Connect the i in the For Loop to both inputs of the Multiply.
The For Loop variable i keeps track of the iteration that the loop is on.
It begins at zero so it will
go
through the range of 0 to N-1 where N is the number of iterations.
Therefore, the output of this multiplier is i² and ranges from 0 to
(N-1)². Next wire the output of the Multiplier to the input of the Build
Array Block. This will take the different values for each iteration of
the loop and place them in an array. You need to do this to sort the data
so that it can be graphed or stored. Next connect the output of the Build
Array to the Waveform Graph and the 2D Data of the Write to Spreadsheet
block. The diagram should now look something like this.
The program is now set up to calculate the squares of the
integers from zero to one less than the inputted number. It will then
represent them in two forms, a text file and a graph. Put the number six
in the Digital Control and run the program. The computer will prompt you
for a file name and a place to save the file. Give it a name like
demo.txt and save it..
As you can see, the waveform is graphed and the graph goes
from zero to one to four and so on up to 25. The points are connected by
default but you can change those options by clicking on the graph. Now
open the file that you saved.
Fig16: Data Text Pad.
The results have been recorded into a text file. This
is a very useful alternative to recording data by hand.
As
you can see, LabVIEW is a very powerful tool which can simplify experiments by
intelligently processing and presenting data. There are many more
features than those described in this tutorial, but hopefully this will give
you a background to build off of. This concludes the LabVIEW tutorial.
6.
FLOW
CHART
The program is developed according to
the flow chart given. Here the two input variables, process variable and set
point value is first read. And these two values are compared. If process
variable value equal to set point value then there is no need for control
action. And the value can be directly fed into the UV200 via cFP2100.
Else if there is a difference in set
point value and process variable. At this time the process variable should
undergo control action. So as to make it similar to the set point value for
that it is passed through the PID controller, and then to the UV200 via cFP.
7.
CONTROL ACTION
The
prime function of a controller is that of regulation. The controller is
intended to change its output as often and as much as necessary to keep the controlled variable at
the set point. The proportional-integral-derivative (PID) controllers are the
most common controllers used in industry.
The
flexibility of the controller makes it possible to use PID control in many
situations. The controllers can also be used in cascade control and other
controller configurations. Many single control problems can be handled very
well by PID control, provided that the performance requirements are not too
high.[4]
PID
controllers combine the advantages of proportional, derivative and integral
controllers. It eliminates the limitations when these controllers are used
alone.
7.1.
Controllers
The
controller compares the set point (SP) to the process variable (PV) to obtain
error (e).
e=SP-PV
The
controller action is based on the error signal.
7.1.1. Proportional Control
For
proportional control the controller output is proportional to the error signal.
U(t)=Kc.
e(t)+b
Where
U(t) is the controller output, Kc is the controller gain and b is the bias
value. The key concepts behind the proportional controllers are:
1. The
controller gain can be adjusted to make the controller output changes as
sensitive as desired to derivations between set point and controlled variable.
2. The
sign of Kc can be chosen to make the controller output increase (or decrease)
as the deviation increases.
Since
the controller output is b when the error is zero, b is adjusted so that the
controller output ( and consequently the manipulated variable) are at their
nominal steady state values.
The
inherent disadvantage of proportional controller is its inability to eliminate
the steady state errors that occur after a set point change or a sustained load
distributed.
7.1.2. Integral Control
Integral control action is also
referred to as reset or floating control. Here the controller output depends on
the integral of the error signal over time.
U(t)=1/Ti ∫e(t) dt + b
Where Ti is the reset or integral
time.
Integral act is widely used because
it provides an important practical advantage, the elimination of offset. To
understand why offset is eliminate consider the equation. If the process is at
steady state, then error signal and the controller output U(t) are constant.
While elimination of offset is usually an important control objective, the
integral control is seldom used by itself since little control action occurs
until the error signal has persisted for some time. In contrast, proportional
control action takes immediate corrective action as an error is detected.
One disadvantage of using integral
action is that it tends to produce oscillatory responses of the controlled
process and thus reduces system stability. A limited amount of oscillation can
be usually tolerated since it often is associated with a faster response. The
undesirable effects of too much integral action can be avoided by proper tuning
of the controller or by including derivative action which tends to counteract
the destabilizing effect.
Reset
Windup:
An inherent disadvantage of integral
control action is a phenomenon known as reset windup. The integral mode causes
the controller output to change as long as e(t) ≠ 0. When a sustained error
occurs, the integral term becomes quite large and the controller output
eventually saturates. Further built up of the integral term while the
controller is saturated is referred to as integral windup. Commercial
controllers are available which provide anti reset
windup.
This feature reduces reset windup by temporarily halting the integral control action
whenever the controller output saturates.
7.1.3. Derivative Control
It is referred to as rate action,
per-act or anticipatory control. Its function is to anticipate the future
behavior of the error signal by considering its rate of change. Here the controller
output depends on the derivative of the error signal.
U(t)=Td de/dt + b
By
providing anticipatory action, the derivative mode tends to stabilize the
controlled process. It is often used to counter act the destabilizing tendency
of the integral.
Derivative
control also tends to improve the dynamic response of the controlled variable
by decreasing the process settling time, the time it take the process to reach
the steady state. But if the process measurement is noisy i.e, if it contains
high frequency, random fluctuations, then the derivative action will amplify
the noise unless the measurement is filtered.
7.1.4. PID Control
Here the controller output depends
on the combination of the three control proportional, integral and derivative.[5]
U(t)=Kc{e(t) + 1/Ti ∫ e(t) dt + Td de/dt} + b
One disadvantage of the ideal
controller is that a sudden change in the set point will cause the derivative
term to become very large and thud provide a derivative kick to the final
control element.
7.1.5. Reverse Or Direct Action
The controller gain can be made
either positive or negative. When Kc is greater than zero, the controller
output increases as the input signal increases. This is a reverse acting controller.
When Kc is less than zero, the controller is said to be direct acting since the
controller output increases as the input increases.
7.2.
Tuning
Of Controllers
Once the basic architecture of a
control system is in place, the control engineer’s become one of tuning the
control system to meet the required performance specifications as closely as
possible. This phase require a deep understanding of feedback principles to
ensure that the tuning of the control system is carried out in an expedient
safe and satisfactory faction.
Though PID is commonly used it is
difficult to tune them. So it is not used in its best ways. Various rules for
adjusting the three parameters have been developed. The best known and the
commonly used is Ziegler-Nichols closed method.
7.2.1. Ziegler- Nichols Closed Loop Method
This method is based on frequency
response of the process. Connect a controller to the process, set the
parameters so that control action is proportional i.e, Ti = ∞ and TD = 0.
Increase the gain slowly until the process starts to oscillate. The gain when
this is Ku and the period of oscillation is Tu.[6]
Using
the table given below the values of Kc, Ti and Td is calculated.
|
Controller
|
Kc
|
Ti
|
Td
|
|
P
|
0.5Ku
|
-
|
-
|
|
PI
|
0.4Ku
|
0.8Tu
|
-
|
|
PID
|
0.6Ku
|
0.5Tu
|
0.125Tu
|
Table
1: Calculation of constants using Ziegler-Nichols method
8.
COMMUNICATION
8.1.
Communication
Between Host And Target
The high-level software protocols
can be used to communicate between host LabVIEW chosen based on the
communication need. The following list classifies the different communication
methods:
·
Shared Memory Communication-Used for
communication between LabVIEW and RT series plug-in devices only.
·
Network Communication –Used for
communication over Ethernet Networks.
Ø TCP
Ø UDP
Ø Data
Socket
Ø VI
Server
Ø SMTP
·
Bus Communication-Used for communication
over different bus communication ports.
Ø Serial
Ø CAN
8.2.
Shared
Memory
Shared memory is the physical medium
through which the host computer and RT series plug-in device communicate. In
operating systems like windows, two processes or application can communicate
with each other using the shared memory mechanism the operating system
provides. Similarly, RT target Vis and LabVIEW Vis can communicate using shared
memory Vis to read and write to the shared memory locations on the RT series
plug-in device.
The real-time shared memory Vis have
very low timing overhead and are not a shared resource, so they are the only
communication method that can be placed in a time-critical VI. However, the
size of the shared memory is limited to 1KB for 7030 series plug-in device and
512 KB for the 7041 series plug-in devices. If several megabytes of data is to
be transferred, the data has to be divided in to smaller portions and then
transfer them.
8.3.
Network Communication
TCP:
TCP is an industry-standard protocol
for communicating over networks. Host LabVIEW Vis can communicate with RT
target VIs using the LabVIEW TCP functions.
The real-time module extends the
capabilities of the existing TCP functions to enable communication with networked
RT series devices and to allow communication across shared memory with RT
series plug-in devices. However, TCP is non-deterministic and using TCP
communication inside a time-critical VI adds jitter to the applications. Jitter
is the amount of time that a loop cycle time varies from the desired time.[7]
UDP:
UDP is a network transmission
protocol for transferring data between two locations on a network. UDP is not a connection-based
protocol, so the transmitting and receiving computers do not establish a
network connections. Because there is no network connection, there is little
overhead when transmitting data. However, UDP is non-deterministic and using
UDP communication inside a time-critical VI adds jitter to the application.
When using UDP to the send data, the
receiving computer must have a read port open before the transmitting computer
sends the data. Use the UDP open function to open a write port and specify the
IP address and port of the receiving computers. The data transfer occurs in
byte streams of varying lengths called datagram’s. Datagram’s arrive at the
listening port and the receiving computers buffers and then reads the data.
It is possible to do bi-directional
data transfers with UDP. With bi-directional data transfers, both computers
specify a read and write port and transmit data and forth specified ports.
Bi-directional UDP data transfers can be used to send and receive data from the
network communication VI on the RT target.
UDP has the ability to perform fast
data transmissions with minimal jitter. However, UDP cannot guarantee that all
datagram’s arrive at the receiving computer. Because UDP is not connection
based, the arrival of datagram cannot be verified. To prevent the data stored
in
the
receiving computer’s data buffer has to be read fast enough to prevent overflow
and loss of data.
Data Socket
Data socket is an internet
programming technology to share live data between Vis and other computers. A
data socket server running on a host computer acts as a data repository. Data
placed on the data socket sever becomes available for clients to access. One
advantage of using data socket is that multiple clients can access data on the
data socket server. Data socket is non-deterministic and using data socket
functions inside a time-critical VI adds jitter to the application.
VI Server
The VI server is used to monitor and
control Vis on a remote RT target. Using VI server technology, a LabVIEW VI can
invoke RT target Vis. The LabVIEW VI can pass parameter values to and from the
RT target Vis, creating a distributed application.
One advantage of using the VI server
for communication is that it allows to access the functionality of TCP while
working within the framework of LabVIEW. However, VI server is
non-deterministic and using VI server communication inside a time-critical VI
adds jitter to the application.
SMTP
The SMTP Vis are used to send data
from a VI running on the RT target to Vis running on another computer. The SMTP
Vis can send electronic mail, including attained data and files, using the
Simple Mail Transfer Protocol (SMTP). The SMTP Vis cannot be used to receive
information. SMTP is non-deterministic, and using SMTP communication inside a
time-critical VI adds jitter to the application.
8.4.
Bus Communication
Serial Bus
Serial communication is the
transmission of data between two location through the serial ports. Serial
communication is ideal when transfer data rates are low or for transmitting
data
over long distances. Serial is non-deterministic, and using serial
communication inside a time-critical VI adds jitter to the application.[8]
CAN
Controller
Area Network (CAN) is a deterministic, multi-drop communication bus,
standardized as ISO 11898. Using CAN, up to 8 data bytes per frame at a rate of
up to 1Mbit per second can be transferred. CAN communication cannot be used
with the RT series plug-in devices.
8.5.
Communication With RT Target VIs
The RT engine on the RT target does
not provide a user interface for applications. One of two communication
protocols, front panel communication or Network communication, can be used to
provide a user interface for RT target Vis.
Fig17: Front Panel Communication Protocol.
Front Panel Communication
With
front panel communication, LabVIEW and the RT engine execute different parts of
the same VI, as shown in the fig below. Lab VIEW on the host computer displays
the front panel of the VI while the RT engine executes the block diagram.
Front panel communication between
LabVIEW on the host computer and the RT engine can be used to control and test
Vis running on an RT target.
Front panel communication is a good
communication method typically used during development because it is a quick
method for monitoring and interfacing with Vis running on an RT target. Network
Communication is used to increase the efficiency of the communication between a
host computer and the RT engine.
9.
IMPLEMENTATION
The
aim of the project is the real time control of processes and to control it from
a remote PC. The heart of the project is a LabVIEW program and the I/P
processor FP2100. The LabVIEW program developed can be used to control any
physical variable temperature, level, flow or whatever it is. The only change
needed is in the tuning process. The PID gain are the only subject to change.
This
is implemented on a process control model UV200, in which the flow is
controlled.
9.1.
Basic Process
The
physical variable to be sensed is sensed using flow meter and converted into
corresponding signals. The magnetic flow meter Magnew300 is used to measure the
flow and it is converted to current signal of ( 4-20mA) using the transducer.
These signals are fed to the appropriate channels of cFP and gets processed
using the program either in the computer or which is downloaded into the
processor. The controlling signal generated is fed to the system through
corresponding output channels as current signal ranging from (4-20mA) for that
if needed, corresponding signal conversion has to be done.
9.2.
Hardware Section
The
hardware used is cFP-2100, UV200, PC and signal conditioning circuit. The
description of the device are given in the earlier section. A single module
have 8 channels and here we use for this project the module AIO module of the cFP.
AIO module have 4 analog output channel and 4 input channels. The other modules
are not used in this project.
The
output from the flow meter in the UV200 control process is connected to the
zeroth channel of the analog input module of cFP. The input and the output
channels are configured by the operator. The controlling signal, after
processing is generated at the any of the channels as per the configuration.
Here the output is at the zeroth channel of the analog output module. This is
connected to the input of the process.
The pin out and the internal circuit of the
AIO module is given below.
Fig18: Pin out and Internal circuitry Of AIO Module.
For
flow control the controlling signal is a current signal of range (4-20mA). But
the output we get from the output module is a voltage signal of range (-10 to
10v). Hence this should be converted to current signal using a V/I converter.
Hence there will be an additional block as given below during the time of
implementation.
9.3.
Data Acquisition
The
measurement is done and data retrieved is passed to the PID control section and
at the same time displayed as if the virtual instrument.
9.4.
PID Control Action
The
signal acquired is first mapped into percentage span. So the first step is the
conversion of engineering units into percentage. The signal is in the
electrical form and the set point, what we are providing is in the terms of the
controlled variable. So if there was no conversion to the percentage, there
should be another algorithm to match electrical signal to corresponding
physical variable term. Another advantage is that now the program becomes
common for any variable.
The
second step is the PID control action. The controlling signal has to be
generated using the formula
U(t)=Kc{e(t) + 1/Ti ∫ e(t) dt + Td de/dt} + b
The blocks are selected and wired
for implementing the algorithm. The Kc, Ti and Td is chosen by the operator.
The inputs are the process variable and the coefficients.
The third step is the re-conversion
of the percentage into engineering units. In the both conversion methods,
maximum and minimum range has to be provided. Tuning is done using trial and
error and Zeigler-Nichols method.
9.5.
Output The Compensation Data
This is done through cFP. The timing
of the control is a critical factor. The control action is tine critical than
that of data acquisition. So the required timing control is made. The updating
of the measurements is done according to the timing provided. The plot of the
process variable, set point and error is displayed1 on a graph.
9.6.
Networking Section
The developed program is downloaded in to the FP and the PC
is disconnected from it. The FP is connected to the network using RJ-45 cable.
It is assigned an IP address while configuring it. Then by calling up on the IP
address from any machine in the network, the process running inside the FP can
be viewed on the particular PC. There is no need that program is in that
machine. The only requirement is the LabVIEW software.
9.7.
Software
Section
The program is developed using LabVIEW. Programs
developed in the LabVIEW is called Virtual Instruments or Vis. The main VI
contain only a single switch which is for flow control. If the switch is
enabled, the main VI calls the sub VI.
If
we want to control more than one parameter, then we can insert the
corresponding sub Vis developed in the main VI. Each parameter can be
controlled using different switches. The program i.e, the sub VI developed for
each parameter is similar except the PID gain set.
10.
RESULT ANALYSIS
FRONT PANNEL
Fig19: Front Panel.
BLOCK
DIAGRAM
Fig20: Block Diagram.
MEASUREMENT OF INPUT
AND OUTPUT
Fig21: Measurement Of Input And
Output.
INPUT CONFIGURATION
Fig22: Input Configuration.
OUTPUT CONFIGURATION
Fig23: Output Configuration.
11.
ADVANTAGES
& DISADVANTAGES
11.1.
Advantages
Ø The
control using FP will be much more real time than using a PC because it has
only that particular program running on the processor. But in a computer there
may be various programs running parallel.
Ø The
program developed is so flexible that it can be applied to any variable independent
of the process and the variable.
Ø Now
a day’s Programming Logic Controllers are most commonly used for the control of
the processes. But the programming language is not much easy. The software used
here is LabVIEW which is very easy to
handle, user friendly and anyone can develop a program in it with the
ease of drawing a block diagram.
Ø There
is no need of a dedicated PC for each process and there is no need that the
operator should be always near the process. He can view and control the process
by logging on from any machine.
Ø DAQ
cards are commonly used for data acquisition. But the number of DAQ cards that
can be connected to the computer and the number of available channels are
limited. Upon nine modules having 8 channels can be connected to the single
processor module of cFP.
11.2.
Disadvantages
Ø The user must have a detailed knowledge about the
theoretical part.
Ø PAC used is expensive than PLC.
Ø Knowledge of PAC is needed, for the selection of
PAC, as the PAC used for each LabVIEW version is different.
12.
APPLICATION
This project
finds application in the plant and large industries. This has implemented in
two different modules. But the operator can select to control either any one of
the module or both the modules simultaneously. Similarly many variables can be
controlled at the same time, depending upon the input and output channels on
the cFP.
13.
CONCLUSION
& FUTURE SCOPE
13.1. Conclusion
The
project on Flow Control has been completed successfully, using the software LabVIEW.
This can be extended so that many variables of many modules or on a single
module can be controlled using single program. The PID controllers have been
implemented and worked successfully. The networking part has also been done
successfully. The control has been done from machine which is present in the network,
which does not have the developed program.
The
installation of the software and the program development for the controller
action has been successfully completed. And the process has controlled
successfully by installing the developed program in the processer cFP-2100.
13.2.
Future
Scope
Ø The
Flow Controller using LABVIEW can be implemented by using microcontroller.
Ø This
project can be extended to control temperature and pressure.
No comments:
Post a Comment