java fuzzy logic toolbox for industrial process...

8
JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROL Bruno Sielly J. Costa * , Clauber G. Bezerra , Luiz Affonso H. G. de Oliveira * Instituto Federal de Educa¸ c˜aoCiˆ encia e Tecnologia do Rio Grande do Norte CampusCaic´o Caic´o, RN, Brasil Instituto Federal de Educa¸ ao Ciˆ encia e Tecnologia do Rio Grande do Norte Campus Santa Cruz Santa Cruz, RN, Brasil Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computa¸ c˜ao e Automa¸ c˜ao Natal, RN, Brasil Emails: [email protected], [email protected], [email protected] Abstract— This paper describes the design, implementation and application of a fuzzy logic toolbox for in- dustrial process control based on Java language, supporting communication through the OPC industrial protocol. The toolbox is written in Java and is completely independent of any other platforms. It provides easy and func- tional tools for modelling, building and editing complex fuzzy inference systems and using such logic systems to control a large variety of industrial processes. Keywords— fuzzy logic, industrial process control, OPC. 1 Introduction Since the decade of 1970 with the application im- plemented by Mamdani (1974), the fuzzy logic is being used on control of industrial processes of a diversity of kinds. One of the main potentialities of fuzzy logic, when compared to other schemes that manipula- tes inaccurate data, such as neural networks, is that its bases of knowledgement, which are in the format of inference rules, are very easy of examina- tion and understanding. This format of rule also makes easy maintaining and updating the base of knowledgement. The purpose of this work is to present a com- plete and powerful environment for manipulating the fuzzy theory, applying its bases and concepts on industrial control tasks, through a set of tools of rich content and high level of integration with real industrial processes. In the literature, we are able to find a few tool- boxes implemented to work with fuzzy logic. Hall and Hathaway (1996) describes a fuzzy logic tool- box integrated to MathWorks Matlab platform, with a friendly graphic user interface for building and editing fuzzy inference systems. Chuan et al. (2004) presents a fuzzy logic toolbox based on Scilab language, and shows it as a free alterna- tive to the software from MathWorks. 2 Fuzzy Logic Two of the main aspects of the imperfection of in- formation are the imprecision and the uncertainty. This two characteristics are intrinsically linked and opposite to each other. The most known the- ories to treat imprecision and uncertainty are the set theory and probabilities theory, respectively. The fuzzy set theory started to be developed at the decade of 1960 by Zadeh (1965), intending to treat the nebulous aspect of the information. This theory, being less restrictive, may be consi- dered more suitable for treating information pro- vided by human beings than other theories. The fuzzy logic is an artificial intelligence technique, which incorporates the capacity of a human specialist to modelling the operation of a control system, working similar to a deductive rea- soning, controlling industrial processes with non- linear characteristics, relating plant variables des- cribed on the controller. The fuzzy logic allows the treatment of expressions that involves quanti- ties accurately. To obtain the mathematical formalization of a fuzzy set, is needed to remember that any fuzzy set may be characterized by a membership func- tion, whose definition is given below: Definition 1: A fuzzy subset A from the universe U is characterized by a membership function μ A : U [0, 1], where μ A indicates how pertinent the element x is on A, and also may be interpreted as the degree of compatibility to the associated attribute. A = {x, μ A (x) | x U and μ A : U [0, 1]} Definition 2: The union between two fuzzy sets A and B may be defined as the fuzzy set F , whose membership function is given by: x U | μ AB (x)= max{μ A (x)B (x)} XVIII Congresso Brasileiro de Automática / 12 a 16 Setembro 2010, Bonito-MS. 207

Upload: lykhanh

Post on 28-May-2018

273 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROLdocente.ifrn.edu.br/brunocosta/arquivos/66475_1.pdf ·  · 2013-12-05JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROL

JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROL

Bruno Sielly J. Costa∗, Clauber G. Bezerra†, Luiz Affonso H. G. de Oliveira‡

∗Instituto Federal de Educacao Ciencia e Tecnologia do Rio Grande do NorteCampus Caico

Caico, RN, Brasil†Instituto Federal de Educacao Ciencia e Tecnologia do Rio Grande do Norte

Campus Santa CruzSanta Cruz, RN, Brasil

‡Universidade Federal do Rio Grande do NorteDepartamento de Engenharia de Computacao e Automacao

Natal, RN, Brasil

Emails: [email protected], [email protected], [email protected]

Abstract— This paper describes the design, implementation and application of a fuzzy logic toolbox for in-dustrial process control based on Java language, supporting communication through the OPC industrial protocol.The toolbox is written in Java and is completely independent of any other platforms. It provides easy and func-tional tools for modelling, building and editing complex fuzzy inference systems and using such logic systems tocontrol a large variety of industrial processes.

Keywords— fuzzy logic, industrial process control, OPC.

1 Introduction

Since the decade of 1970 with the application im-plemented by Mamdani (1974), the fuzzy logic isbeing used on control of industrial processes of adiversity of kinds.

One of the main potentialities of fuzzy logic,when compared to other schemes that manipula-tes inaccurate data, such as neural networks, isthat its bases of knowledgement, which are in theformat of inference rules, are very easy of examina-tion and understanding. This format of rule alsomakes easy maintaining and updating the base ofknowledgement.

The purpose of this work is to present a com-plete and powerful environment for manipulatingthe fuzzy theory, applying its bases and conceptson industrial control tasks, through a set of toolsof rich content and high level of integration withreal industrial processes.

In the literature, we are able to find a few tool-boxes implemented to work with fuzzy logic. Halland Hathaway (1996) describes a fuzzy logic tool-box integrated to MathWorks Matlab platform,with a friendly graphic user interface for buildingand editing fuzzy inference systems. Chuan et al.(2004) presents a fuzzy logic toolbox based onScilab language, and shows it as a free alterna-tive to the software from MathWorks.

2 Fuzzy Logic

Two of the main aspects of the imperfection of in-formation are the imprecision and the uncertainty.This two characteristics are intrinsically linkedand opposite to each other. The most known the-

ories to treat imprecision and uncertainty are theset theory and probabilities theory, respectively.

The fuzzy set theory started to be developedat the decade of 1960 by Zadeh (1965), intendingto treat the nebulous aspect of the information.This theory, being less restrictive, may be consi-dered more suitable for treating information pro-vided by human beings than other theories.

The fuzzy logic is an artificial intelligencetechnique, which incorporates the capacity of ahuman specialist to modelling the operation of acontrol system, working similar to a deductive rea-soning, controlling industrial processes with non-linear characteristics, relating plant variables des-cribed on the controller. The fuzzy logic allowsthe treatment of expressions that involves quanti-ties accurately.

To obtain the mathematical formalization ofa fuzzy set, is needed to remember that any fuzzyset may be characterized by a membership func-tion, whose definition is given below:

Definition 1: A fuzzy subset A from the universeU is characterized by a membership function µA :U→ [0, 1], where µA indicates how pertinent theelement x is on A, and also may be interpretedas the degree of compatibility to the associatedattribute.

A = {x, µA(x) | x ∈ U and µA : U→ [0, 1]}

Definition 2: The union between two fuzzy setsA and B may be defined as the fuzzy set F , whosemembership function is given by:

x ∈ U | µA∪B(x) = max{µA(x), µB(x)}

XVIII Congresso Brasileiro de Automática / 12 a 16 Setembro 2010, Bonito-MS.

207

Page 2: JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROLdocente.ifrn.edu.br/brunocosta/arquivos/66475_1.pdf ·  · 2013-12-05JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROL

Definition 3: The intersection between two fuzzysets A and B may be defined as the fuzzy set F ,whose membership function is given by:

x ∈ U | µA∩B(x) = min{µA(x), µB(x)}

Definition 4: An aggregation is a n-order opera-tion, A [0, 1]n → [0, 1], satisfying:

i) A(0, 0, . . . , 0) = 0

ii) A(1, 1, . . . , 1) = 1

iii) A(x1, x2, . . . , xn) ≥ A(y1, y2, . . . , yn), if xi ≥yi ∀i

Definition 5: A linguistic variable X in the uni-verse U, is a variable that assumes values descri-bed by linguistic concepts, represented by fuzzysets of U.

A fuzzy rule-based system is valid by linguis-tically presenting very complex relations, or rela-tions not enough well understood to be describedby accurate mathematical models. A fuzzy infe-rence system may be illustrated as in figure 1.

Figure 1: Fuzzy Inference System

The inference may be synthesized in foursteps. In a first instance, the degrees of com-patibilities of the variables are compared with itsrespective antecedents. Usually, fuzzy inferencesystems receive accurate inputs. In that case, it isnecessary to use a fuzzification interface, relatingaccurate values to a fuzzy value. The fuzzy valueis obtained through membership functions desig-nated to each system input variable.

After the fuzzification step, a mechanismcalled inference engine is responsible to performsystem inferences, supported by a knowledgementbase, subdivided in data base and rules base. Thedata base stores the definitions about discretiza-tion and normalization of the speech universe, aswell the definitions about the membership func-tions of fuzzy terms. The rules base is composedof If-Then structures, previously defined in the in-ference system. The inference engine is the entityresponsible to determine the degree of activationof each rule, and generate a fuzzy value to output.

Based in the degree of activation, is deter-mined the consequence produced by a specific

rule. Too often fuzzy inference systems containmore than one rule. Each rule produces a conse-quence, and the global result from the inferencestep will depend on the combination of those con-sequences. This step is called aggregation, whichhas as result a fuzzy set.

The last step of the inference process is thedefuzzification. The output processor generates afuzzy set that describes the system output, andis represented by a real number. The Mamdani’sfuzzy inference method, which output is a fuzzyset, and the Takagi-Sugeno method, which is com-putationally less expensive, are the most used in-ference methods.

The Mamdani’s procedure comprehends theidentification of the variables domain in acorrespondent at the speech universe. The fuzzyoutput evolves to a non-fuzzy output. There areplenty of methods for defuzzification, each onepresenting suitable results for specific situations.The most used defuzzification methods in the lite-rature are centroid, bisector, middle of maximum,smallest of maximum and largest of maximum.

At the Takagi-Sugeno’s method, the conse-quent of each rule is a function of input variables,and the system output is a real number. There isthus no need for using an output processor. Theoutput level zi of each rule is weighted by the firingstrength wi of the rule. The final output from thesystem z is the weighted average of all rule out-puts, computed as

z =

n∑i=1

wizi

n∑i=1

wi

where n is the number of fuzzy rules.

3 Ole for Process Control

OPC is the acronym to Ole for Process Con-trol. OPC is an open communication protocol,based on OLE COM/DCOM technology from Mi-crosoft, which aims to allow the vertical integra-tion among different systems into an organiza-tion (Opc-Foundation, 2003).

OPC consists of a server program, usuallyprovided by the Programmable Logic Controllermanufacturer, which communicates with PLCsthrough a proprietary protocol and provides datain OPC standard. The client instead, only needsthe OPC client driver installed and configured.The server and the client may be installed on thesame machine simultaneously.

The figure 2 illustrates a basic example of a setof applications accessing data over the network,through well defined OPC interfaces.

XVIII Congresso Brasileiro de Automática / 12 a 16 Setembro 2010, Bonito-MS.

208

Page 3: JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROLdocente.ifrn.edu.br/brunocosta/arquivos/66475_1.pdf ·  · 2013-12-05JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROL

Figure 2: Applications working with many OPCservers

4 Motivations of this work

MathWorks Matlab Toolbox (MathWorks, 2009)for fuzzy systems presents a good approach tobuilding fuzzy sets and fuzzy rule-based systems,with a powerful graphical user interface, whichmakes very easy the building/editing process.Nevertheless, this alternative is still not suitablefor industrial environments.

The fuzzy logic toolbox from Matlab does nothave intrinsically an integration tool for industrialprocesses and protocols, not being possible to di-rectly read and write data from the plant. Al-though there are tools for that kind of connectionon Matlab platform, this makes the process moredifficult to implement and manage. Another cru-cial factor is that Matlab is a very expensive soft-ware, specially for non-academic environments.

The system proposed in this paper, presentsitself as a good alternative for industrial fuzzycontrol, being a proprietary platform-independentsoftware and able to communicate directly withthe industrial plant, and linking its input and out-put variables to the process variables.

5 Details of Implementation

The system was completely developed in Java lan-guage. All parameters of configuration for thefuzzy inference system in execution are stored ina structure file, saved with a ‘.FUZ’ extension.

The fuzzy data saved and loaded in memoryfor execution of the system may be divided in fourdistinct groups, as shown on figure 3.

Basic Data: Include and/or methods, impli-cation, aggregation and defuzzification methods.Most of the important methods were implementedin the toolbox, as listed below:

• And methods: minimum, product;

• Or methods: maximum, probabilistic or;

Figure 3: Java Fuzzy Logic Toolbox Data Struc-ture

• Implication: minimum, product;

• Aggregation: maximum, sum, probabilisticor;

• Defuzzification: centroid, bisector, middle ofmaximum, largest of maximum, smallest ofmaximum.

Input and Output Data: Made up of severalinput/output entries. Each input/output variablemay be linked or not to a tag from OPC, and eachvariable has a set of associated membership func-tions. Three of the most used types of functionwere implemented in this work:

• Triangular Function: three parameters aredefined to model the function. t1 representsthe first non-zero point, t2 the middle pointand t3 the last non-zero point of the trian-gle. Mathematically, the triangular functionis defined as follows:

fF (x) =

x−t1t2−t1 , if t1 ≤ x ≤ t2t3−xt3−t2 , if t2 ≤ x ≤ t30, otherwise

• Trapezoidal Function: four parameters aredefined to model the function. r1 representsthe first non-zero point, r2 and r3 the intervalwhere the function pertinence is equals to 1,and r4 the last non-zero point of the trapeze.Mathematically, the trapezoidal function isdefined as follows:

fF (x) =

x−r1r2−r1 , if r1 ≤ x ≤ r21, if r2 ≤ x ≤ r3r4−xr4−r3 , if r3 ≤ x ≤ r40, otherwise

XVIII Congresso Brasileiro de Automática / 12 a 16 Setembro 2010, Bonito-MS.

209

Page 4: JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROLdocente.ifrn.edu.br/brunocosta/arquivos/66475_1.pdf ·  · 2013-12-05JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROL

• Gaussian Function: often referred as Gaussdistribution. Three parameters are definedto model the function. g1 and g2 representsthe function bounds and g3 the variance, in-dicating the function width. In this work, theGaussian function is defined as follows:

fF (x) = 25√

2πexp

((−x+0.5g2+0.5g1)

2

2g3

)

Fuzzy Rules: If-Then inference rules, associ-ated to input/output variables, logic connectors(and/or/not) and fuzzy values.

6 System Description

The Java Fuzzy Logic Toolbox was completelyconceived based on windows and simplifiedgraphic environment, making intuitive the cre-ation of fuzzy inference systems. The developedsystem has basically five main graphic environ-ments for editing, viewing and running fuzzy in-ference systems:

• Basic Fuzzy Inference System Editor: mani-pulates the high-level information about thesystem, such as number and names of vari-ables, links to OPC tags, basic configurationparameters;

• Membership Function Editor: allows ad-vanced edition of membership functions forinput/output variables;

• Fuzzy Inference Rules Editor: tool for au-tomatically creating inference rules based onsystem variables and fuzzy values associated;

• Rules Viewer: used as a diagnostic, it canshow which rules are active, or how individualmembership function shapes are influencingthe results;

• Control Module: interface between an exis-tent fuzzy inference system and the process.The main screens are shown at figure 4.

Such graphic environments are dynamicallylinked, and all changes made using one of themare transmitted to the other.

7 System Validation

For validating the Java Fuzzy Toolbox, twoapproaches were utilized. In a first moment, anexisting problem described by Sankar and Kumar(2006) was modelled in both toolboxes: MatlabToolbox and Java Toolbox. The results were com-pared by graphical analysis. In a second moment,a control task was implemented on Java FuzzyToolbox, and the results are shown in subsectionsbelow.

Figure 4: Main Screens of Java Fuzzy Toolbox:a) Basic Inference System Editor b) MembershipFunction Editor c) Rules Editor d) Rules Viewere) Control Module

7.1 Matlab Comparison

The example problem focuses on a new approachto braking system in train, by using fuzzy logic.Generally the Indian railways use two persons tooperate a train and they employ a manual proce-dure for stopping the train in each station. Theproposed fuzzy logic controller helps in reductionof manpower for the train operation.

• Input Variables - Distance and Speed

• Output Variables - Braking power (or % ofbraking)

• Membership Functions (Shown at figure 5)

– Distance: Very Close, Close, Far, VeryFar;

– Speed: Very Slow, Slow, Fast, Very Fast;

– Braking: Very Light, Light, Heavy, VeryHeavy;

• Inference Rules

1. If distance is VERY CLOSE andspeed is VERY SLOW then brakingis LIGHT

2. If distance is VERY CLOSE and speedis SLOW then braking is HEAVY

3. If distance is VERY CLOSE andspeed is FAST then braking is VERYHEAVY

4. If distance is VERY CLOSE andspeed is VERY FAST then braking isLIGHT

XVIII Congresso Brasileiro de Automática / 12 a 16 Setembro 2010, Bonito-MS.

210

Page 5: JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROLdocente.ifrn.edu.br/brunocosta/arquivos/66475_1.pdf ·  · 2013-12-05JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROL

5. If distance is CLOSE and speedis VERY SLOW then braking isLIGHT

6. If distance is CLOSE and speed isSLOW then braking is LIGHT

7. If distance is CLOSE and speed isFAST then braking is HEAVY

8. If distance is CLOSE and speed isVERY FAST then braking is VEARHEAVY

9. If distance is FAR and speed is VERYSLOW then braking is LIGHT

10. If distance is FAR and speed is SLOWthen braking is VERY LIGHT

11. If distance is FAR and speed is FASTthen braking is LIGHT

12. If distance is FAR and speed is VERYFAST then braking is HEAVY

13. If distance is VERY FAR and speed isVERY SLOW then braking is VERYLIGHT

14. If distance is VERY FAR and speedis SLOW then braking is VERYLIGHT

15. If distance is VERY FAR and speed isFAST then braking is LIGHT

16. If distance is VERY FAR and speed isVERY FAST then braking is LIGHT

The other chosen parameters for the fuzzy sys-tem were: And Method = minimum, Implica-tion = minimum, Aggregation = maximum andDefuzzification = centroid. Those parameterswere used in all implementations ahead.

To comparing results, two sets of one-hundred randomic real numbers were generatedand applied to each input variable for both sys-tems. The graphics below represents the outputforms, described as follows: the figure 6 illustratesthe outputs (Braking Power) for a Mamdani’s in-ference system, with the red series representingthe Java Toolbox output and the blue series repre-senting the Matlab Toolbox output; the figure 7illustrates the outputs for a Takagi-Sugeno’s infe-rence system, with the red series representing theJava Toolbox output and the blue series repre-senting the Matlab Toolbox output; the figure 8shows the positive percent error resulting fromMamdani’s system implemented on Java toolboxcompared to Matlab Toolbox; the figure 9 showsthe positive percent error resulting from Takagi-Sugeno’s system implemented on Java toolboxcompared to Matlab Toolbox.

7.2 Control Task

At this subsection, a real control problem was usedto validate the Java Toolbox.

Figure 5: Membership Functions for Braking Sys-tem in Trains: a) Distance b) Speed c) BrakingPower

Figure 6: Outputs for Mamdani’s Inference Sys-tem

Figure 7: Outputs for Takagi-Sugeno’s InferenceSystem

XVIII Congresso Brasileiro de Automática / 12 a 16 Setembro 2010, Bonito-MS.

211

Page 6: JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROLdocente.ifrn.edu.br/brunocosta/arquivos/66475_1.pdf ·  · 2013-12-05JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROL

Figure 8: Error for Mamdani’s system

Figure 9: Error for Takagi-Sugeno’s system

A common control problem in petrochemicalprocess industries is the control of liquid levels instorage tanks and reaction vessels. In minor pro-portions, we can solve this problem using an ex-periment plant, referenced by Quanser CoupledWater Tanks (Quanser, 2004).

The “Two Tank Module” consists of a pumpwith a water basin. The pump thrusts water verti-cally to two quick connect, normally closed orifices“Out1” and “Out2”. Two tanks mounted on thefront plate are configured such that flow from thefirst tank flows into the second tank and outflowfrom the second tank flows into the main waterbasin. The case study for the Java Fuzzy Toolboxis design an intelligent control system to regulatethe water level in the second tank, with the set-point equals to 10 centimeters. For this problem,three situations were implemented for results com-parison.

In the first situation, the control problem wastreated with a PI controller, implemented on aPLC, model ZAP 900 from HI Tecnologia (HI-Tecnologia, 2009). In that case, the proportionalgain KP was fixed in 10 and the integral time Tiwas fixed in 0.5.

In a second moment, a direct fuzzy controlwas applied to the plant. The model of the di-rect fuzzy controller is described below, and themembership functions are shown on figure 10.

• Input Variables - Error, Error Variation

• Output Variable - Output Voltage

• Membership Functions

– Error: Negative High, Negative Low,Zero, Positive Low, Positive High;

– Error Variation: Negative, Zero, Posi-tive;

– Output Voltage: Zero, Low, High;

• Inference Rules

1. If error is NEGATIVE HIGH anderrorvariation is NEGATIVE thenoutputvoltage is HIGH

2. If error is NEGATIVE HIGHand errorvariation is ZERO thenoutputvoltage is HIGH

3. If error is NEGATIVE HIGH anderrorvariation is POSITIVE thenoutputvoltage is LOW

4. If error is NEGATIVE LOW anderrorvariation is NEGATIVE thenoutputvoltage is LOW

5. If error is NEGATIVE LOWand errorvariation is ZERO thenoutputvoltage is LOW

6. If error is NEGATIVE LOW anderrorvariation is POSITIVE thenoutputvoltage is ZERO

7. If error is ZERO and errorvariationis NEGATIVE then outputvoltage isLOW

8. If error is ZERO and errorvariation isZERO then outputvoltage is ZERO

9. If error is ZERO and errorvariationis POSITIVE then outputvoltage isZERO

10. If error is POSITIVE LOW thenoutputvoltage is ZERO

11. If error is POSITIVE HIGH thenoutputvoltage is ZERO

The last experiment consisted in a simpleadaptive PID controller. In this work, there isa Intelligent Control block (inserted in Supervi-sion layer) that sets the proportional gain KPaccording to the error value. The block diagram ofthis approach is shown on figure 11 and the archi-tecture of the control system is shown at figure 12.

The last fuzzy controller is described asfollows, and the membership functions for the in-put and output variables are shown on figure 13.

XVIII Congresso Brasileiro de Automática / 12 a 16 Setembro 2010, Bonito-MS.

212

Page 7: JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROLdocente.ifrn.edu.br/brunocosta/arquivos/66475_1.pdf ·  · 2013-12-05JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROL

Figure 10: Membership Functions for DirectFuzzy Control: a) Error b) Error Variation c)Control Signal

Figure 11: Block Diagram of the Adaptive ControlApproach

Figure 12: Control System’s Architecture

• Input Variable - Error

• Output Variable - KP

• Membership Functions

– Error: Small, Big, Very Big;

– KP : Low, High, Very High;

• Inference Rules

1. If error is SMALL then kp is LOW

2. If error is BIG then kp is HIGH

3. If error is VERY BIG then kp isVERY HIGH

Figure 13: Membership Functions for Fuzzy PIDControl: a) Error b) KP

For results comparison, the figure 14 illus-trates the tank level (cm) behaviour for thethree situations above, the figure 15 measuresthe positive error resulting from the three controlapproaches and the table 1 shows the detailed re-sulting values.

Figure 14: Tank Level (cm) Behaviour for ThreeDifferent Control Approaches

XVIII Congresso Brasileiro de Automática / 12 a 16 Setembro 2010, Bonito-MS.

213

Page 8: JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROLdocente.ifrn.edu.br/brunocosta/arquivos/66475_1.pdf ·  · 2013-12-05JAVA FUZZY LOGIC TOOLBOX FOR INDUSTRIAL PROCESS CONTROL

Figure 15: Positive Error from Three DifferentControl Approaches

Table 1: Detailed Result ValuesController Overshoot (%) Settling

Time at2% (s)

RiseTime (s)

PID 125.0 27.0 2.5Fuzzy 24.0 ∞ 3.0

Fuzzy PID 34.0 15.0 6.0

8 Conclusion

The Java Fuzzy Logic Toolbox is a useful softwarefor constructing fuzzy logic systems and apply-ing them on control tasks for industrial processes.Another feature of the toolbox is that it is aproprietary platform-independent, based on Java,with a powerful functions set and friendly inter-face. The results shown that the implemented sys-tem generated high accurate outputs, comparedwith Matlab Fuzzy Toolbox. The Java Toolboxwas also efficient solving the tank level controlproblem, specially if cascaded to a PI controller.The OPC protocol compatibility increments thefield of applicability and the space of usefulnessof this tool, allowing direct communication withcommon industrial processes.

Acknowledgements

Thanks to Computing Engineering and Automa-tion Laboratory and Petroleum Automation La-boratory, both in Federal University of RioGrande do Norte for providing the necessarystructure to developing this research.

References

Chuan, F., Zengqi, S. and Ling, S. (2004). De-sign and implementation of scilab fuzzy logictooibox, IEEE International Symposium onComputer Aided Control Systems Design.

Gharieb, W. and Nagib, G. (2001). Fuzzy inter-vention in pid controller design, IEEE Inter-national Symposium On Industrial Electro-nics.

Hall, L. and Hathaway, R. (1996). Fuzzy logictoolbox - software review, IEEE Transactionson Fuzzy Systems, Vol. 4.

HI-Tecnologia (2009).http://www.hitecnologia.com.br.

Mamdani, E. (1974). Application of fuzzy algo-rithms for simple dynamic plant, Proceedingsof Institute of Electrical Engineering.

MathWorks (2009). Matlab and simulinkfor technical computing. Available onhttp://www.mathworks.com.

Opc-Foundation (2003). Opc data access cus-tom interface specification 3.0. Available onhttp://www.opcfoundation.org.

Pedrycz, W. (1993). Fuzzy Control and FuzzySystems, 2nd edition edn, Research StudiesPress.

Quanser (2004). Coupled tanks user manual.

Ramakrishna, G. and Rao, N. D. (1999). Im-plementation of a fuzzy logic scheme for q/vcontrol in distribution systems, IEEE PowerEngineering Society 1999 Winter Meeting .

Sankar, G. and Kumar, S. (2006). Fuzzy logicbased automatic braking system un trains,India International Conference on PowerElectronics.

X. Fang, T. Shen, X. W. and Zhou, Z. (2008).Application and research of fuzzy pid in tanksystems, Fourth International Conference onNatural Computation.

Zadeh, L. (1965). Fuzzy sets, Information andControl 8: 338–353.

XVIII Congresso Brasileiro de Automática / 12 a 16 Setembro 2010, Bonito-MS.

214