Sunday, 20 May 2012

FLOW CONTROL USING LABVIEW



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

Related Posts Plugin for WordPress, Blogger...