Rockwell Automation RSLogix 5000 User Manual

RSLogix 5000 Fuzzy Designer
User Manual
Important User Information
Solid state equipment has operational characteristics differing from those of electromechanical equipment. Safety Guidelines for the Application, Installation and Maintenance of Solid State Controls (publication SGI-1.1 available from your local Rockwell Automation sales office or online at http://literature.rockwellautomation.com
) describes some important differences between solid state equipment and hard-wired electromechanical devices. Because of this difference, and also because of the wide variety of uses for solid state equipment, all persons responsible for applying this equipment must satisfy themselves that each intended application of this equipment is acceptable.
In no event will Rockwell Automation, Inc. be responsible or liable for indirect or consequential damages resulting from the use or application of this equipment.
The examples and diagrams in this manual are included solely for illustrative purposes. Because of the many variables and requirements associated with any particular installation, Rockwell Automation, Inc. cannot assume responsibility or liability for actual use based on the examples and diagrams.
No patent liability is assumed by Rockwell Automation, Inc. with respect to use of information, circuits, equipment, or software described in this manual.
Reproduction of the contents of this manual, in whole or in part, without written permission of Rockwell Automation, Inc., is prohibited.
Throughout this manual, when necessary, we use notes to make you aware of safety considerations.
WARNING
Identifies information about practices or circumstances that can cause an explosion in a hazardous environment, which may lead to personal injury or death, property damage, or economic loss.
IMPORTANT
ATTENTION
Identifies information that is critical for successful application and understanding of the product.
Identifies information about practices or circumstances that can lead to personal injury or death, property damage, or economic loss. Attentions help you identify a hazard, avoid a hazard, and recognize the consequence
SHOCK HAZARD
Labels may be on or inside the equipment, for example, a drive or motor, to alert people that dangerous voltage may be present.
BURN HAZARD
Labels may be on or inside the equipment, for example, a drive or motor, to alert people that surfaces may reach dangerous temperatures.
Allen-Bradley, ControlLogix, RSLogix 5000, Logix, and RSLinx are trademarks of Rockwell Automation, Inc.
Trademarks not belonging to Rockwell Automation are property of their respective companies.
Table of Contents
Preface
Get Started with FuzzyDesigner
FuzzyDesigner Component Library
About This Publication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Who Should Use This Publication. . . . . . . . . . . . . . . . . . . . . 7
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Chapter 1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Understanding FuzzyDesigner . . . . . . . . . . . . . . . . . . . . . . . 9
Fuzzy Logic and Fuzzy Control Essentials . . . . . . . . . . . . 12
Potential Use of Fuzzy Logic . . . . . . . . . . . . . . . . . . . . . . 16
Specifications and Features . . . . . . . . . . . . . . . . . . . . . . . 18
Integrated Design Environment (IDE) screen captures . . . . . . 22
Chapter 2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Component Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Library of Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Supported Membership Functions. . . . . . . . . . . . . . . . . . . . . 30
Input Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
User Defined Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Butterworth Low Pass Filter . . . . . . . . . . . . . . . . . . . . . . 33
Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Input Linguistic Variable. . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Output Linguistic Variable . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Defuzzification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Output Takagi-Sugeno Variable . . . . . . . . . . . . . . . . . . . . . . 42
Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Intermediate Linguistic Variable . . . . . . . . . . . . . . . . . . . . . . 46
Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Rule Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Supported Format of Rules . . . . . . . . . . . . . . . . . . . . . . . 48
Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
PID Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Output Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4
FuzzyDesigner Graphical User Interface
FuzzyDesigner Projects
Chapter 3
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Setting Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Tool Bar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
FuzzyDesigner Control Basics. . . . . . . . . . . . . . . . . . . . . . . 59
Main Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Chapter 4
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Working with Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Creating a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Opening an Existing Project . . . . . . . . . . . . . . . . . . . . . 69
Changing the Active Project . . . . . . . . . . . . . . . . . . . . . 70
Project Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Saving a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Closing a Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Designing a Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Printing a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Designing a Fuzzy System . . . . . . . . . . . . . . . . . . . . . . . . . 72
Fuzzy System Project Window. . . . . . . . . . . . . . . . . . . . 73
Working with Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Working with Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Fuzzy System Components . . . . . . . . . . . . . . . . . . . . . . . . . 75
Input Port. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Input Linguistic Variable . . . . . . . . . . . . . . . . . . . . . . . . 79
Output Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Output Linguistic Variable. . . . . . . . . . . . . . . . . . . . . . . 84
Output Takagi-Sugeno Variable. . . . . . . . . . . . . . . . . . . 88
Intermediate Linguistic Variable. . . . . . . . . . . . . . . . . . . 92
Rule Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
PID Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Term Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Term Properties Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Rule Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Operations with Rules. . . . . . . . . . . . . . . . . . . . . . . . . . 109
Rule Editor Tool Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Port Order Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Watch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
History Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
History Graph Control – Context Menu . . . . . . . . . . . . . 119
History Graph Control – Tool Bar . . . . . . . . . . . . . . . . . 121
History Graph Control – Mouse Dragging . . . . . . . . . . . 122
2D Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
2D Graph Control – Context Menu . . . . . . . . . . . . . . . . 124
2D Graph Control – Tool Bar . . . . . . . . . . . . . . . . . . . . 125
3D Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
3D Graph Control – Context Menu . . . . . . . . . . . . . . . . 128
Fuzzy System Simulation
RSLogix 5000 Add-On Instruction
XML Format of a Fuzzy Project
5
3D Graph Control – Tool Bar . . . . . . . . . . . . . . . . . . . . 130
3D Graph Control – Mouse Dragging . . . . . . . . . . . . . . 130
Chapter 5
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Chapter 6
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Generating a Fuzzy Add-On Instruction . . . . . . . . . . . . . . . 134
Add-On Instruction Parameters . . . . . . . . . . . . . . . . . . . 135
Importing Add-On Instructions to RSLogix 5000 Projects . . . 136
Monitoring and Updating a Project Online . . . . . . . . . . . . . 138
Configuring RSLinx OPC Server Topic. . . . . . . . . . . . . . . . . 144
Modifying Fuzzy System Parameters Online . . . . . . . . . . . . 145
Importing an Add-On Instruction to FuzzyDesigner. . . . . . . 146
Chapter 7
Prolog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Document Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Glossary
Chapter 8
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
6

Preface

About This Publication

Who Should Use This Publication

Use this manual to understand how to best use the features in RSLogix 5000 software version 16, FuzzyDesigner.
This manual describes the necessary tasks to:
build fuzzy systems as block diagrams from components of the
FuzzyDesigner Component Library and use FuzzyDesigner functions to complete the project.
use, execute, and monitor the designed fuzzy system on
Rockwell Automation Logix5000 controllers.
understand the fuzzy project, and how you can export it to the
XML format.
This manual is for application and control engineers, to enhance functionality of control and decision making systems.

Conventions

Text that is Identifies
Bold A value that you must enter exactly as shown
Italic A variable that you replace with your own text or value
Courier Example programming code, shown in a monospace font so
you can identify each character and space
Enclosed in brackets A keyboard key
7 Publication LOGIX-UM004A-EN-P - March 2007
8 Preface
Notes:
Publication LOGIX-UM004A-EN-P - March 2007

Introduction

Get Started with FuzzyDesigner
Topic Page
Understanding FuzzyDesigner 9
Fuzzy Logic and Fuzzy Control Essentials 12
Specifications and Features 18
Chapter
1

Understanding FuzzyDesigner

FuzzyDesigner is a software package for designing a fuzzy system to be implemented as a Hierarchical Fuzzy System (HFS). Fuzzy systems can be used in the following applications:
Industrial automation and control systems
Process diagnostics and intelligent monitoring systems
Artificial intelligence
Decision-making and forecasting
Hierarchical Fuzzy System
FuzzyDesigner enables application and control engineers to enhance the functionality of control and decision making systems in various branches of industry.
FuzzyDesigner includes a library of components you can use to design a fuzzy system that includes nonlinear input-output mapping. You can use a hierarchical structure to decompose a complex fuzzy system into smaller and simpler parts. This reduces the internal complexity of a fuzzy model and results in fewer fuzzy rules and provides easier insight into the system operation.
9 Publication LOGIX-UM004A-EN-P - March 2007
10 Get Started with FuzzyDesigner
FuzzyDesigner is designed to work with Rockwell Automation's Logix5000 family of controllers. A fuzzy system designed in FuzzyDesigner can be exported to an L5X Add-On instruction (AOI) format. You can then import the fuzzy AOI into any of your projects as needed. Fuzzy AOIs can be used by any of the programming languages (Function Block Diagram, Ladder Logic, or Structured Text). With FuzzyDesigner, you can also monitor and update the selected fuzzy AOI online, directly in the running controller. This is made available through the RSLinx OPC Server.
The Intended Use of FuzzyDesigner figure shows the underlying idea and intended use of the FuzzyDesigner software package used in designing Fuzzy Add-On Instructions for Logix applications. You can build smart components, based on the expert knowledge encoded in fuzzy If-Then rules. You can use these components in the many applications listed above.
Intended Use of FuzzyDesigner
Publication LOGIX-UM004A-EN-P - March 2007
Get Started with FuzzyDesigner 11
A Fuzzy Add-On instruction does not typically compete against standard controls found in Proportional-Integral-Derivative Controllers (PID). Fuzzy logic is a complementary tool, and fills functional gaps not addressed in standard controllers such as PIDs or Model Predictive Controllers.
A development cycle of fuzzy logic solutions for Logix applications consists of multiple steps.
1. Design the fuzzy system in FuzzyDesigner.
2. Generate the fuzzy Add-On Instruction.
3. Integrate (import and instantiate) the fuzzy AOI to your RSLogix
5000 project.
4. Monitor and tune the fuzzy AOI running in Logix online by
using FuzzyDesigner.
Using FuzzyDesigner with RSLogix 5000 Software
np
o
q
If you are unfamiliar with fuzzy logic, the next section introduces fuzzy logic terms and principles you might use in your fuzzy system.
Publication LOGIX-UM004A-EN-P - March 2007
12 Get Started with FuzzyDesigner

Fuzzy Logic and Fuzzy Control Essentials

This section introduces basic concepts used in a Fuzzy Add-On Instruction. The designer should know how to deal with an instruction’s inputs, outputs, and fuzzy If-Then rules that will be used to define input-output mapping.
There are quite a number of systems or processes that are highly nonlinear, not well understood from the formal description point of view, or for which a mathematical model is not readily available. For these systems or processes, there is often an expert that is capable of supervising or controlling the process in a satisfactory manner. The figure Nonlinear System Example illustrates the difference between linear and nonlinear systems.
Nonlinear System Example
Publication LOGIX-UM004A-EN-P - March 2007
The decision making the expert uses in control system supervision can be expressed as a set of Fuzzy Logic If-Then rules.
Get Started with FuzzyDesigner 13
An expert may be an operator, a maintenance person, or a control engineer, who knows what adjustments are needed during process instability. These adjustments may include defining setpoints for process variables, defining control action in feedforward or feedback contro,l or setting gains of conventional controllers, and may be as simple as turning a valve or knob.
Rockwell Automation is introducing a tool for building smart instructions that encode If-Then rules and use fuzzy logic internally to describe vague and incomplete knowledge in a natural way. Fuzzy Logic may serve in situations where:
the process has not been automated and is running in Manual
mode.
a well-tuned PID controller does not provide the desired
response, however, the expert knowledge is available to define the rules for a fuzzy algorithm.
Let’s look at an example where we will discuss building a Heat, Ventilation and Air Conditioning (HVAC) system that manipulates the compressor speed based on room temperature and humidity. In HVAC systems, room comfort is often associated with vague (fuzzy) values of temperature and humidity that are more suitable for describing the problem than numerical (crisp) values.
Fuzzy rules used in this example might be as follows.
If Then
Temperature is high and humidity is high
Temperature is medium and humidity is very high
Speed is medium
Speed is high
Consider these factors when developing fuzzy rules:
How do I specify High and other fuzzy values in fuzzy rules?
How do the rules process numerical inputs provided by tags
associated with sensors?
How do the rules derive outputs from inputs?
If the output generated is vague (fuzzy), how do I get the
numerical (crisp) value at the output when needed?
Publication LOGIX-UM004A-EN-P - March 2007
14 Get Started with FuzzyDesigner
Crisp and Fuzzy
For temperature readings, you can classify a reading into three sets, Low, Medium and High. Each set contains values in a given interval, and the intervals do not overlap. This means that a single reading or value is uniquely classified into one set.
degree of membership
degree of membership
(level of classification)
(level of classification)
Classification Result
1.00
Medium
1.00
Medium
Medium
Medium
0.0
High
0.0
High
High
High
0.0
Low
0.0
Low
Low
Low
temperaturetemperaturetemperature
Low Medium
1
1
0
0
20
20
range
range20range
Crisp ValueCrisp Value
High
150
150
TIP
Degree of membership (DOM) is a value describing how well
the particular value of the variable (in this case, temperature) fits the meaning of the label of the set, Medium. If the DOM is 1, the current temperature is understood as 100% Medium.
However, vague classifications are more realistic as there is usually no sharp border between Low, Medium, or High temperatures. In this situation, however, a single numerical value might fall into multiple categories. For example, it might be partially Medium, and partially High as shown in the following figure. A specification of how much the particular value of temperature fits into the meaning of the label of the category (fuzzy set) is described by the membership function, which becomes a design parameter of the fuzzy controller.
Publication LOGIX-UM004A-EN-P - March 2007
Get Started with FuzzyDesigner 15
Similar fuzzy terms are designed for the output variables, that is, Low, Medium, and High for compressor speed in our example.
Fuzzy rules
The way in which the classified inputs are treated when passing through rules is shown in the following figure for our compressor control example.
Publication LOGIX-UM004A-EN-P - March 2007
16 Get Started with FuzzyDesigner
First, the numerical values of Temperature and Humidity get their meaning. In our case, the current setting of the Temperature is such that it is both 85% Medium and 40% High. Humidity is both 80% High and 50% Very High. The first rule is thus 80% true for the current inputs while the second rule is 40% true when using minimum for the and operation. The first rule states that, if 100% satisfied, the compressor should run at Medium speed. Currently, the first rule is only 80% fulfilled, so one method of how to consider that the rule is only 80% fulfilled is to truncate the Medium fuzzy set for the output at the level 0.8.
A similar situation happens with the second rule where High compressor speed is only 40% fulfilled. As both rules are used at the same time, their conclusions must be combined to get a fuzzy value for the output, which is compressor speed. The partially-fulfilled Medium and High fuzzy sets are unified, and a single fuzzy value is assigned to Compressor Speed. As conventional control systems cannot deal with fuzzy values, the fuzzy instruction includes conversion from a fuzzy to a crisp value. For this case, the center of gravity for the green area is computed and used to represent the original fuzzy value.
To summarize, the designer has to:
define input and output variables.
cover the interval of the respective variable by fuzzy sets (that is,
membership functions).
write if-then rules using labels of the fuzzy sets defined
previously.

Potential Use of Fuzzy Logic

FuzzyDesigner enables you to enhance the functionality of existing or new control and decision making systems in various branches of industry.
The fuzzy system designed and generated by FuzzyDesigner can be used in control systems, for example, as a direct nonlinear fuzzy-rule based controller, PID-feedback control system supervisor, or a process model in a Model Predictive Control scheme. Input and output filters are used for signal preprocessing such as filtering, deriving trends, and many other functions that might add dynamics to the static I/O map generated from fuzzy rules. Input filters can also be designed in FuzzyDesigner. Output filtering is an option and contains, for instance, a discrete integrator fed by the output of the Fuzzy Add-On Instruction.
Publication LOGIX-UM004A-EN-P - March 2007
Get Started with FuzzyDesigner 17
Nonlinear, Fuzzy Rule Based Supervisor of a PID Controller
Plant States
Plant States
feedf orward
feedf orward
CV
CV
PLANT
PLANT
PLANT
PLANT
SP
SP
PV
PV
FUZZY
FUZZY
FUZZY
FUZZY
SUPERVISOR
SUPERVISOR
SUPERVISOR
SUPERVISOR
PID
PID
gains
gains
PID
PID
PID
PID
CONTROLLER
CONTROLLER
CONTROLLER
CONTROLLER
The great advantage of fuzzy supervision is that it can be applied to existing control and there is little danger of making errors in design. Most frequently used is a supervised PID controller where PID gains, feedforward action, or setpoints are being modified dynamically by rules depending on the process status and external conditions defined through setpoints.
Smart Switching Between Conventional Controllers, Takagi-Sugeno Controller
Plant State
+
+
Plant State
+
+
CV
CV
+
+
PLANT
PLANT
PLANT
PLANT
Setpoints
Setpoints
CONTROLLER
CONTROLLER
CONTROLLER
CONTROLLER
1
1
1
1
CONTROLLER
CONTROLLER
CONTROLLER
CONTROLLER
2
2
2
2
CONTROLLER
CONTROLLER
CONTROLLER
CONTROLLER
3
3
3
3
Process Variables
Process Variables
FUZZY SUPERVISOR
FUZZY SUPERVISOR
FUZZY SUPERVISOR
FUZZY SUPERVISOR
Schedule weights [0,1]
Schedule weights [0,1]
×
×
×
×
×
×
Another popular control structure with fuzzy logic is smart switching between local controllers. A local controller is an analytical controller designed to work around specific process operation conditions. Once the conditions change, the rule based supervisor decreases the influence of one controller and gives more weight to another controller that has been designed to work in the new conditions.
Publication LOGIX-UM004A-EN-P - March 2007
18 Get Started with FuzzyDesigner
Feedback Control System with Direct Fuzzy Controller
Control system status Primary controls
Control system status Primary controls
Setpoints
Setpoints
FUZZY
FUZZY
CONTROLLER
CONTROLLER
Input filter
Input filter
Process Variables
Process Variables
Control
Control Variables
Variables
Output filter
Output filter
PLANT
PLANT
PLANT
PLANT
A fuzzy controller with the above structure typically handles multiple inputs and generates multiple outputs. This system is recommended for experienced designers since control variables are direct functions of rules. The number of rules increases rapidly with the number of inputs and fuzzy terms for inputs. The problem of dimensionality can, however, be reduced by hierarchical structuring of the rule base of the controller, which is supported by FuzzyDesigner.

Specifications and Features

FuzzyDesigner features and specifications are summarized in the following tables.
For details, refer to the subsequent chapters.
Fuzzy System Components
Components are graphical objects, blocks you work with, to design a fuzzy system.
Component Membership
functions
Type/method if applicable
Input Port
Input Linguistic Variable
Rule Block Min/product
Trapezoidal, S-shape, and their inverses
AND OR Aggregation Inference
t-norms
Defuzzification
(Activation)
Max
Output Linguistic
Trapezoidal, singleton
Variable
Output Port
Publication LOGIX-UM004A-EN-P - March 2007
Max s-norm Mamdani/ Fuzzy
Arithmetic
CA/MCA/ MOM/SOM/ LOM
Get Started with FuzzyDesigner 19
Component Membership
functions
Type/method if applicable
Intermediate Linguistic Variable
Output T-S Variable
PID Controller
AND OR Aggregation Inference
(Activation)
Max s-norm
Max s-norm
Defuzzification
Fuzzy System Analysis Tools
Tool Description
2D/3D mesh plots Visualization of input-output static mappings generated
by the fuzzy system or its specified subsystem
Interactive plot control Color, grid, texture, zoom, and viewpoint management
Tracing fuzzy system evaluation Marks output on the mesh when input is being changed
FuzzyDesigner Mesh Plot
Publication LOGIX-UM004A-EN-P - March 2007
20 Get Started with FuzzyDesigner
FuzzyDesigner Mesh Plot with Simulated Path
Fuzzy System Monitoring
Feature Description
Numerical and graphical display Monitoring of all internal variables
Archiving Recording specified internal or external variables
History graph Plotting history graph for on-line or off-line monitoring
Fuzzy System Monitoring Through Numerical Displays
Publication LOGIX-UM004A-EN-P - March 2007
Get Started with FuzzyDesigner 21
Fuzzy System Monitoring Through Plotting Historical Recordings and On-Line Update
FuzzyDesigner Project Formats
File Format Description
XML .FSP – complete project file generated by
FuzzyDesigner, .XML – user-supplied fuzzy system or project file
Publication LOGIX-UM004A-EN-P - March 2007
22 Get Started with FuzzyDesigner
Direct Support of Logix5000 controllers
FuzzyDesigner, version 16.00 and later, supports Rockwell Automation's Logix5000 family of controllers. The fuzzy system designed using FuzzyDesigner can be exported to an RSLogix 5000 Add-On Instruction (AOI) XML import file. You can then import the fuzzy system into any of your projects as needed. Fuzzy AOI can be used by any of the programming languages (Function Block Diagram, Ladder Logic, or Structured Text). With FuzzyDesigner, you can also monitor and update the selected fuzzy AOI online, directly in the running controller. This is made available through RSLinx OPC Server.
Features Description
Export fuzzy AOI Utility for export of designed fuzzy system into L5X file.
On-line parameter change Changing parameters of a fuzzy system downloaded to the controller
dynamically is enabled.
Real-time fuzzy system monitoring Exact copy of the fuzzy system running on the PLC allows FuzzyDesigner to
monitor all internal variables on the computer when both copies are fed with the identical inputs.

Integrated Design Environment (IDE) screen captures

Some of the FuzzyDesigner features, summarized in the preceding tables, are shown in this section.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Environment in Brief
Get Started with FuzzyDesigner 23
Publication LOGIX-UM004A-EN-P - March 2007
24 Get Started with FuzzyDesigner
Project Tree view
Input Linguistics Variable
Input Port
FuzzyDesigner Environment - Component examples
Rule Block Output Liguistics
Variable
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Membership Functions
FuzzyDesigner Rule Base - Rule Editor
Get Started with FuzzyDesigner 25
Term Editor
Degree of Fulfillment window
Publication LOGIX-UM004A-EN-P - March 2007
26 Get Started with FuzzyDesigner
FuzzyDesigner Rule Interfacing
DOF(negative)
DOF(negative)
DOF(negative)
y*y
y*y
y*y
(MCA) (CA)
(MCA) (CA)
(MCA) (CA)
FuzzyDesigner Defuzzification Methods
DOF(negative) is maximal
DOF(negative) is maximal
DOF(negative) is maximal
DOF(zero)
DOF(zero)
DOF(zero)
*
*
*
* y* y*
* y* y*
* y* y*
y
y
y
(SOM) (MOM) (LOM)
(SOM) (MOM) (LOM)
(SOM) (MOM) (LOM)
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner PID Controller
Get Started with FuzzyDesigner 27
Publication LOGIX-UM004A-EN-P - March 2007
28 Get Started with FuzzyDesigner
Notes:
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Component Library
Chapter
2

Introduction

Component Interface

The FuzzyDesigner Component Library offers eight components from which you can efficiently build distributed fuzzy systems.
Topic Page
Component Interface 29
Library of Components 30
Supported Membership Functions 30
Input Port 32
Input Linguistic Variable 34
Output Linguistic Variable 36
Output Takagi-Sugeno Variable 42
Intermediate Linguistic Variable 46
Rule Block 47
PID Controller 52
Output Port 56
The connection between components is called a link. Generally, a Hierarchical Fuzzy System (HFS) computes with data in the form of a crisp (real) value and/or a fuzzy set. Not all components enable both types of data to be transferred over the link. The data type on both ends of a link should match. FuzzyDesigner uses icons to define a link type as follows.
FuzzyDesigner Icons
Icon Description
Crisp value (input or output value link) – input crisp values and crisp values
29 Publication LOGIX-UM004A-EN-P - March 2007
resulting from defuzzification are transferred over the link
Crisp value (input or output value link) – crisp values are transferred over the link
DOF value (input or output logical link) – degrees of fulfillment of fuzzy terms of a fuzzy variable are transferred over the link to a rule block
DOF value (input or output logical link) – degrees of fulfillment of fuzzy terms resulting from rule block evaluation are transferred over the link to a fuzzy variable
30 FuzzyDesigner Component Library

Library of Components

The FuzzyDesigner Component Library offers the following components from which you can assemble fuzzy systems ranging from single input – single output systems to multiple input – multiple output systems with complex hierarchical structure of rules.
FuzzyDesinger Component Library Icons
Icon Name Description
Input Port Preprocesses and stores values of a fuzzy
system’s input variables.
Output Port Stores values of a fuzzy system’s output
variables.
Input Linguistic Variable
Rule Block Stores rules and computes degree of fulfillment
Stores linguistic terms and is used for classification of the actual component input, represented by a crisp value, into the fuzzy sets defined for the respective linguistic terms. In fuzzy control, the process where the input is converted from a crisp value is commonly called
fuzzification.
of rule conditions .

Supported Membership Functions

Intermediate Linguistic Variable
Output Linguistic Variable
Output Takagi-Sugeno Variable
PID Controller Allows intelligent supervision of a built-in PID
Bridges logical chaining of rule blocks.
Stores linguistic terms and computes the output value from degrees of fulfillment of stored terms (defuzzification). It implements the process of activation of output linguistic terms defined as fuzzy sets.
Stores parameters of functional terms and computes the output value from degrees of fulfillment of terms.
controller.
Library blocks let you work with fuzzy sets as defined by membership functions. Let x be the linguistic variable and A(x) be the degree of membership of x to the fuzzy set A defined by the sketched membership function. FuzzyDesigner works with the following types of membership functions.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Component Library 31
Trapezoidal Membership Function with Parameters (vertices): (a,b,c,d)
A(x)
A(x)
1
1
1
0
0
0
A(x)
ab
ab
ab
c
c
c
d
d
d
()
Ax
⎧ ⎪ ⎪
=
⎨ ⎪ ⎪ ⎪
0
()/() [,)
xa ba if x ab
−−
1[,]
()/() (,]
xd cd if x cd
−−
0
if x a
<
if x b c
if x d
>
If a = b then A(a) = 1. If c = d then A(c) = 1.
Trapezoidal membership functions can be used in input and output linguistic variable components.
S-shape Membership Function (cubic spline) with Parameters: (a,b,c,d)
A(x)
A(x)
⎧ ⎪
23
()
Ax
⎪ ⎪ ⎪
=
⎨ ⎪ ⎪ ⎪ ⎪
() [,)
xa x if x ab
3
() 2
ab
23
() (,]
xd x if x cd
3
() 2
dc
0
ba
⎛⎞
2
−−
⎜⎟ ⎝⎠
1[,]
cd
⎛⎞
2
−−
⎜⎟ ⎝⎠
0
if x a
if x b c
if x d
A(x)
<
1
1
1
0
0
0
>
ab
ab
ab
c
c
c
d
d
d
x
x
x
x
x
x
If a = b then A(a) = 1. If c = d then A(c) = 1.
S-shape membership functions can be used in input and output linguistic variable components.
Inverse Trapezoidal Membership Function with Parameters (vertices): (a,b,c,d)
A(x)
A(x)
1
1
1
0
0
0
A(x)
ab
ab
ab
c
c
c
d
d
d
()
Ax
⎧ ⎪ ⎪
=
⎨ ⎪ ⎪ ⎪
1
()/() (,]
xb ab if x ab
−−
0(,)
()/( ) [,)
xc dc if x cd
−−
1
if x a
if x b c
if x d
If a = b then A(a) = 1. If c = d then A(c) = 1.
Inverse trapezoidal membership functions can be used in an input linguistic variable component.
x
x
x
Publication LOGIX-UM004A-EN-P - March 2007
32 FuzzyDesigner Component Library
Inverse S-shaped Membership Function (cubic spline) with Parameters: (a,b,c,d)
A(x)
A(x)
⎧ ⎪
23
()
Ax
⎪ ⎪ ⎪
=
⎨ ⎪ ⎪ ⎪ ⎪
() (,]
xb x if x ab
3
() 2
ba
23
() [,)
xc x if x cd
3
() 2
cd
1
ab
⎛⎞
2
−−
⎜⎟ ⎝⎠
0(,)
dc
⎛⎞
2
−−
⎜⎟ ⎝⎠
1
if x a
if x b c
if x d
A(x)
1
1
1
0
0
0
ab
ab
ab
c
c
c
d
d
d
If a = b then A(a) = 1. If c = d then A(c) = 1.
Inverse S-shaped membership functions can be used in an input linguistic variable component.
Singleton Membership Function with Parameter (position, center) c
A(x)
A(x)
1
1
()
Ax
=
1
⎧ ⎨
0
if x c
=
otherwise
x
x
x

Input Port

0
0
c
c
x
x
Singleton membership functions can be used in an output linguistic variable component.
The fuzzy system Input Port component stores an actual input value entering the HFS. Optionally, you can preprocess the input values by using the linear digital filter. This filter is defined by its pulse-transfer operator H, expressed in terms of the backward-shift operator d, or equivalently in time-domain as a difference equation, as follows.
bbd bd
bd
Hd yd Hdud
() , () ()()
yt ayt a yt n but but but m
() ( 1) ( ) () ( 1) ( )
()
== =
ad
()
=− −− − − + + −+
101
+++
01
+++
1
L
ad a d
L
1
LL
nm
Filter numerator parameters : b parameters : a
, …a
1
n
m
m
n
n
, b1, …bm ; filter denominator
0
There are two ways for designing the filter:
Publication LOGIX-UM004A-EN-P - March 2007
user defined filter.
butterworth low pass filter .
FuzzyDesigner Component Library 33
ω
ω
ω

User Defined Filter

You set the numerator and denominator coefficients b0, b1, …bm and
, …an directly (the parameters are entered in the specified order
a
1
separated by the space character).

Butterworth Low Pass Filter

This filter can be created by specifying a normalized cutoff frequency q, taken from the interval [0.01, 1], and the order of the filter (1,2,3).
Bode Plot of the Butterworth Low-Pass Filter
|H(j
This normalized frequency q corresponds to the absolute frequency
ω
= q
c
period T
WARNING
0dB
)|
ω
, where
n
.
s
c
ω
= π / Ts is the Nyquist frequency for the sampling
n
All dynamical terms in a fuzzy system (filters, PID controllers) have to share the common sampling period Ts; otherwise the system will not work correctly.

Connections

The output link of the input port is connectable to all components expecting a crisp value at the input. This includes the following components:
Input Linguistic Variable
Output Port
Output Takagi-Sugeno Variable (accepts crisp values only)
PID (accepts crisp values only)
Publication LOGIX-UM004A-EN-P - March 2007
34 FuzzyDesigner Component Library

Parameters

Name of the component
Vec to r b = [b
numerator b(d)– optional
vector a = [a
denominator a(d) – optional
, b1,,bm] , coefficients of the filter transfer function
0
, …,an], coefficients of the filter transfer function
1

Input Linguistic Variable

trapezoidtrapezoid
The fuzzy system Input Linguistic Variable component stores membership functions (fuzzy sets) of terms and is used for fuzzification (classification) of the component input – a crisp value. The component output is a vector of degrees of fulfillment of all terms for the crisp input or degree of overlapping for the input fuzzy set.
An Input Linguistic Variable component consists of linguistic terms. Each linguistic term is defined by a fuzzy set, that is by the membership function and the name. There are four supported membership functions.
Trapezoidal membership function
S-shaped membership function
Inverse trapezoidal membership function
Inverse S-shaped membership function
inverse trapezoidinverse trapezoid
inverse s-shapeinverse s-shapes-shapes-shape
Publication LOGIX-UM004A-EN-P - March 2007
Linguistic terms are defined on specified range [x
min
, x
max
] (universe
of discourse).
The component crisp input is fuzzified. The result of fuzzification of
*
the crisp input value x
is a degree of fulfillment (DOF) of the terms,
which is computed for each term given by the membership function A(x) as follows.
⎧ ⎪
=
)(
ADOF
⎨ ⎪
min
max
)(
)(
**
*
<
xxifxA
*
>
xxifxA
min
max
],[)(
xxxifxA
maxmin
FuzzyDesigner Component Library 35
This value is simply membership degree of value x* to fuzzy set A and
*
can be interpreted as a degree to which the proposition (x true. An example of fuzzification of the crisp input value x
IS A) is
*
is shown in the figure Process of Crisp Input Fuzzification. The component input value is -0.3191.
The component consists of three linguistic terms – negative, zero, and positive. The output of the component is the vector [0.6383, 0.3617, 0] – where 0.6383 is a degree of fulfillment of the term negative, 0.3617 is a degree of fulfillment of the term zero, and 0 is a degree of fulfillment of the term positive.
This value is simply membership degree of value x
*
to fuzzy set A and
can be interpreted as a degree to which the proposition (x true.
Process of Crisp Input Fuzzification
Current input value
Term DOF =
*
IS A) is
membership degree
DOFs of all terms are provided to connect rule blocks to complete the fuzzy logic inference.
Publication LOGIX-UM004A-EN-P - March 2007
36 FuzzyDesigner Component Library

Connections

The input link of the input linguistic variable is connectable to any of these components providing a crisp value:
input Port component.
output Linguistic Variable component.
output Takagi-Sugeno Variable component.
PID component.
The output logical link of the input linguistic variable is connectable to components expecting a DOF value (as a result of fuzzification or defuzzification), such as the Rule Block component.

Parameters

Output Linguistic Variable

Name of the component
Range of the input value of the component [x
min
, x
max
]
List of terms described by
– Name – Type of membership function – Vector of membership function parameters [a, b, c, d]
The fuzzy system Output Linguistic Variable component stores output linguistic terms and is used for defuzzification. The component has a logical input link, degrees of fulfillment of all linguistic terms of the respective linguistic variable. The link can be multiple, meaning that the component can be connected to several rule blocks. The component has two output links – value and logical links. Depending on the selected inference algorithm and defuzzification method, the
component computes a crisp value y
*
. Such a result provides an output value link. The output logical link enables the connection of the component directly to another rule block. If the component input link is connected to a single rule block, the output degrees of fulfillment are the same as the input degrees of fulfillment. If the component is connected to several rule blocks, the output degrees of fulfillment of linguistic terms are computed as a maximum of the corresponding input degrees of fulfillment.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Component Library 37
A
A
The Output Linguistic Variable component stores linguistic terms. Each linguistic term is defined by its fuzzy set, that is, the membership function and the name. The following membership functions are supported:
Trapezoidal membership function
Singleton membership function
Linguistic terms are defined on the specified range [y
min
, y
max
]
(universe of discourse).

Defuzzification

Defuzzification converts fuzzy sets to a crisp value, taking into account their degrees of fulfillment.
FuzzyDesigner supports the following defuzzification methods – Centroid Average, Maximum Center Average, Mean of Maximum, Smallest of Maximum, and Largest of Maximum.
y – output variable
Y – universe of output variable, defined by an
interval
*
y
– crisp output value (after defuzzification)
A
–membership function the output term i,
i
that is, its fuzzy set
(y)
(y)
c
c
c
c
j
j
j+1
j+1
*
*
y
y
y
y
A – fuzzy set, which is being defuzzified, obtained as a union of all “clipped” output membership functions.
A(y) – membership degree of variable y in fuzzy set A
Publication LOGIX-UM004A-EN-P - March 2007
38 FuzzyDesigner Component Library
Centroid Average – CA generally
An output value computed by this method is equal to the weighted average of the positions of the centroids of the output membership functions A
weighted by their actual activation levels. The output
j
value is computed as follows.
M
()
Ac c
=
Ac
1
jj
()
j
1
=
j
*
y
=
M
j
where:
) is the maximum of the degrees of fulfillment over all
A(c
j
the rules with the consequent A
cj is a position of the centroid of the membership function
which is calculated in advance
A
j
M is a number of fuzzy sets A
j
j
This method is used for applications when output is to be a continuous function of inputs for example, a control system
Maximum Center Average – MCA generally
This method is similar to the Centroid Average method except that ci , the center of maxima of B
, is calculated in advance. This method is
i
also continuous and allows the output value to reach the limits of the range.
Defuzzification CA=MCA for singletons.
Output =
Output = Default Value, if all term DOFs = 0
negative*DOF(negative) + zero*DOF(zero) + positive*DOF(positive)
DOF(negative) + DOF(zero) + DOF(positive)
DOF(positive)
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Component Library 39
A
A
A
A
Defuzzification CA and MCA for trapezoids.
Trapezoids are automatically transformed to singletons.
CA = centroid method MCA = mean of maxima (to allow
reaching limit values of the range)
CAMCA
The output value is then computed in the same way as for singletons.
CA
MCA
Mean of Maxima – MOM generally
This method computes the mean value of the interval at which the output fuzzy set reached the largest membership degree. It is defined as follows.
*
mean ( ) max ( )
ycAcAc==
iii jj
{}
()
j
(y)
(y)
……
……
*
*
y
y
y
y
Smallest of Maxima – SOM generally
This method is similar to the previous one. Instead of mean value, the minimum value of the interval is chosen. The defuzzified output is computed as follows.
*
smallest ( ) max ( )
ycAcAc==
iii jj
{}
()
j
(y)
(y)
……
……
Publication LOGIX-UM004A-EN-P - March 2007
*
*
y
y
y
y
40 FuzzyDesigner Component Library
A
A
Largest of Maxima – LOM generally
The only difference to the previous method is that the maximum value of the interval is chosen. The defuzzified output is defined as follows.
*
largest ( ) max ( )
ycAcAc==
Mean of Maxima, Smallest of Maxima, and Largest of Maxima methods are not continuous and are mainly used in applications on decision-making and classification when the task is to choose from several alternatives.
iii jj
{}
()
j
(y)
(y)
……
……
*
*
y
y
y
y
If no term is activated (DOF = 0) then the inference result is set to a user defined crisp default value.
Defuzzification SOM, MOM, LOM for singletons
Output value is computed as a reference singleton with maximal term DOF.
If more terms have the same maximal DOF>0, then:
SOM: output = smallest of the singletons with maximal DOF.
LOM: output = largest of the singletons with maximal DOF.
MOM: output = mean of the singletons with maximal DOF.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Component Library 41
Output = term with maximal DOF = zero
Output = Default Value, if all DOFs = 0
DOF(zero) is maximal
Defuzzification SOM, MOM, LOM for trapezoids
Trapezoids are automatically transformed to singletons.
SOM
MOM
LOM
The output value is then computed in the same way as for singletons.
Recommendation
Use singletons to have easier insight to the output inference
mechanism
No functionality is lost
Publication LOGIX-UM004A-EN-P - March 2007
42 FuzzyDesigner Component Library

Connections

The input link of the output linguistic variable can be connected to a component providing the DOF value (as a result of fuzzy inference), that is, the Rule Block component.
The output value link of the output linguistic variable can be connected to components expecting a crisp value, such as:
Output Port component.
Input Linguistic Variable component.
Output Takagi-Sugeno Variable component (only crisp values
are considered).
PID component (only crisp values are considered).
The output logical link of the output linguistic variable can be connected to components expecting the DOF value (as a result of fuzzification or defuzzification), that is, the Rule Block component.

Output Takagi-Sugeno Variable

Parameters

Name of the component
, y
Range of the output value of the component [y
min
List of terms described by
– The name – The type of membership function – The vector of membership function parameters [a, b, c, d] for
the trapezoidal membership function, [c] for the singleton membership function
Type of fuzzy inference
Type of defuzzification method
Default output value
The classical model by Takagi-Sugeno offers a fuzzy rule based, smooth switching between analytical functions. The consequent is a crisp function of the antecedent variables rather than a fuzzy proposition. A general form of a Takagi-Sugeno model is:
max
]
Publication LOGIX-UM004A-EN-P - March 2007
R
: IF x is Ai THEN yi = fi(x)
i
FuzzyDesigner Component Library 43
The consequent functions fi are typically chosen as instances of a suitable parameterized function, whose structure remains equal in all
the rules and only the parameters vary. Most often, these functions are linear combinations of antecedent variables. In control engineering, each rule usually represents local dynamics in different state space regions and the consequent is given in the form of a state-space or an ARX model. The overall model of the system is achieved by fuzzy blending of these linear models.
FuzzyDesigner supports Takagi-Sugeno fuzzy systems with linear functions in the rule consequents written in the following form.
THEN is andand is IF :
11011
xaxaayAxAxR +++= KL
niniiinnii
or
THEN is andand is IF :
ayAxAxR =L
011
iinnii
The Takagi-Sugeno fuzzy system with the constant value in the rule consequents can be also considered as a fuzzy system with singleton membership functions in the rule consequents. If the Centroid Average or Maximum Centroid Average defuzzification and Fuzzy Arithmetic Inference method is chosen, than the behavior of both fuzzy systems is the same.
The fuzzy system Output Takagi-Sugeno Variable component stores parameters of reference linear or constant consequent functions. The component has two input links – a logical input link (degrees of fulfillment of all reference functions) that can be multiple, meaning that the component can be connected to several rule blocks, and a value input link (connectable to components that produce crisp values), which can be multiple too. The number of links depends on the number of consequent variables.
The component has two output links:
Valu e li nk
Logical link
The output logical link enables the connection of the component directly to other rule blocks. If the component input link is connected to one rule block, the output degrees of fulfillment are the same as the input degrees of fulfillment. If the component is connected to several rule blocks, the output degrees of fulfillment of reference membership functions are computed as a maximum of the corresponding input degrees of fulfillment.
Publication LOGIX-UM004A-EN-P - March 2007
44 FuzzyDesigner Component Library
The output Takagi-Sugeno Variable component consists of functional terms. Each functional term is defined by its parameters (a
0, a1,
an)
and its name (the parameters are entered in the specified order separated by the space character). The type of every linguistic term can be different. There are two supported functions.
Linear function: f(x
Constant function: f(x1,x2,...xn) = a
,...xn) = a0 + a1 x1 + a2 x2 +...+ an x
1,x2
0
n
Where x1,x2,...xn are outputs from preceding components providing crisp values.
The component calculates an inference result as a crisp value y
xxxfdof
*
i
y
=
21
dof
i
i
L
),,,(
nii
*
where dofi is DOF of i-th term. This value is finally limited to the range
, y
[y
min
]. If no term is activated (DOF = 0) the inference result is a
max
user-defined crisp default value.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Component Library 45
EXAMPLE
Different linear-state feedback controllers are to be smoothly activated for different process states and setpoints – scheduling controller gains. There are three rules.
IF (x1 IS A1 ) AND (x2 IS B1) THEN y = K0 + K1*x1 + K2*x2 (= y1)
IF (x1 IS A2 ) AND (x2 IS B2) THEN y = G0 + G1*x1 + G2*x2 (= y2)
IF (x1 IS A3 ) AND (x2 IS B3) THEN y = C0 (= y3)
Defined (functional) terms:
K, type LINEAR, parameters = K0 K1 K2
G, type LINEAR, parameters = G0 G1 G2
C, type CONSTANT, parameters = C0
x1 x2
y
from a rule block

Connections

The input logical link of the output Takagi-Sugeno variable can be connected to a component providing a DOF value (as result of fuzzy inference), that is, the Rule Block component.
to a rule block
Evaluation (weighted average of functions):
y1*DOF(K) + y2*DOF(G) + y3*DOF(C)
y =
y = Default Value, if all DOFs = 0
DOF(K) + DOF(G) + DOF(C)
Publication LOGIX-UM004A-EN-P - March 2007
46 FuzzyDesigner Component Library
The input value link of the output Takagi-Sugeno variable can be connected to components providing a crisp value, such as:
Input Port component.
Output Linguistic Variable component.
PID component.
Output Takagi-Sugeno Variable component.
The output value link of the output Takagi-Sugeno variable can be connected to components expecting a crisp value, such as:
Output Port component.
Input Linguistic Variable component.
Output Takagi-Sugeno Variable component (only crisp values
are considered).
PID component (only crisp values are considered).
The output logical link of the output Takagi-Sugeno variable can be connected to components expecting a DOF value (as result of fuzzification or defuzzification), such as the Rule Block component.

Intermediate Linguistic Variable

Parameters

Name of the component
, y
Range of the input value of the component [y
min
List of functional terms described by
The nameThe type of the functionThe vector of the function parameters [a
linear function, [a
] for the constant function
0
, a1, … , an] for the
0
Default value
The fuzzy system Intermediate Linguistic Variable component is used as a buffer allowing logical chaining of rule blocks.
The component consists of linguistic terms with symbolic meaning. Each linguistic term is defined by its name. Degrees of fulfillment of all terms are results of previous logic inference in preceding rule blocks connected to this component.
max
]
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Component Library 47
If the component input link is connected to a single rule block, the output degrees of fulfillment just copy inputs. If the component input is connected to several rule blocks, the output degrees of fulfillment of stored linguistic terms are computed as a maximum of the corresponding input degrees of fulfillment.

Connections

The input logical link of the Intermediate Linguistic Variable can be connected to a component providing a DOF value (as result of fuzzy inference in a rule block), that is, the Rule Block component.
The output logical link of the Intermediate Linguistic Variable can be connected to components expecting a DOF value (as result of fuzzification or fuzzy inference in a rule block), such as the Rule Block component.

Rule Block

Parameters

Name of the component
List of terms defined by their names
The fuzzy system Rule Block component stores rules, performs fuzzy logic inference based on fuzzy rules and computes degrees of fulfillment of linguistic terms for consequent variables (output logical links) from degrees of fulfillment of linguistic terms used in the rule for premise variables (input logical links).
Publication LOGIX-UM004A-EN-P - March 2007
48 FuzzyDesigner Component Library

Supported Format of Rules

Multiple notations are used in the explanation of the supported format of rules.
X
, X2,…, Xn – premise variables
1
Y
, Y2,…, Ym. – consequent variables
1
A
, Ai2,… – terms defined for the premise variable X
i1
Bj1, Bj2,… – terms defined for the consequent variable Y
IF (X
IS A
EXAMPLE
1
IS B12) [w1] , (Y2 IS B21) [w2], … (Yn IS B
(Y
1
AND (X2 IS A21) AND … AND (Xn IS An1) THEN
13)
n3)
i
j
[wn]
where w
[0,1] is rule weight of the k-th consequent.
k
Schematically the rule can be rewritten as follows:
, A21 , … , An1) Æ (B12 [w1] , B21 [w2] , … , Bn3 [wn] )
(A
13
This rule base format is very useful in manual design. It can be represented in the form of a table where every column corresponds to one variable and rows of the table are filled with appropriate terms or optionally with their inversions (applying the NOT operator).
FuzzyDesigner also supports the OR operator.
EXAMPLE
IS A11) OR (X1 IS A12) OR ... ] AND (X2 IS A21) AND …
IF [(X
1
AND (X
IS An1) THEN (Y1 IS B12)
n
You define the number of terms in the OR expression.
The NOT operator can be applied to the whole OR expression.
IF [ NOT [(X AND … AND (X [w
], …
2
IS A11) OR (X1 IS A12) OR ... ]] AND (X2 IS A21)
1
IS An1) THEN (Y1 IS B12) [w1] , (Y2 IS B21)
n
Publication LOGIX-UM004A-EN-P - March 2007
The rule block component performs fuzzy logic inference based on fuzzy rules. In a simplified way, it computes degrees of fulfillment of consequent variables from degrees of fulfillment of premise variables by using fuzzy t-norms and s-norms (t-conorms).
FuzzyDesigner supports the following t-norms (fuzzy AND operators):
Minimum: T
Product: T
(x, y) = min (x, y)
min
(x, y) = x · y
prod
FuzzyDesigner Component Library 49
FuzzyDesigner also supports this s-norm (fuzzy OR operator): maximum: S
(x, y) = max (x, y)
max
The evaluation of the Rule Block is completed in three steps.
1. DOFs of all rules are computed from DOFs of the rule premise
by using the selected t-norm.
2. DOFs of all conseqent variables terms are computed for every
rule.
These DOFs are obtained from DOFs computed in step 1, multiplied by weights of consequent variables.
3. Total DOFs of all consequent variables are computed for the
overall fuzzy system.
Total DOF of one consequent variable is computed as maximum value of DOFs computed in step 2 for the appropriate consequent variable.
Assume a simple fuzzy system with these two premise variables (temperature, pressure) with terms:
Temperature: (small, large)
Pressure : (negative, zero, positive)
This system also has two consequent variables: (voltage, current) with terms:
Voltage: (small, medium, large)
Current : (zero, positive)
This system also has a minimum t-norm.
The rule base can be formulated as the following.
If And Then
Temperature is small Oressure is negative Voltage is medium [0.9]
Current is positive [1.0]
Temperature is large Pressure is negative Voltage is small [0.8]
Pressure is positive Voltage is small [1.0]
Current is positive [1.0]
Publication LOGIX-UM004A-EN-P - March 2007
50 FuzzyDesigner Component Library
You can also formulate the rule base schematically:
(small, negative) (medium [0.9] , positive [1.0]).
(large, negative) (small [0.8] , ).
( , positive) (small [1.0] , positive [1.0]).
In the following example, some premise variable DOFs are supposed.
Temperature: DOFtemp(small) = 0.4 , DOFtemp(large) = 0.8
Pressure: DOFpress(negative) = 0.1 , DOFpress(zero) = 0.9 ,
DOFpress(positive) = 0.5
EXAMPLE
Step 1: DOFs of all rules are computed.
Rule 1: DOF
Rule 2: DOF
Rule 3: DOF
= min (DOF
rule1
= min (DOF
rule2
= min (DOF
rule3
(small), DOF
temp
(large), DOF
temp
(positive)) = min(0.5) = 0.5
press
press
press
(negative)) = min(0.4, 0.1) = 0.1
(negative)) = min(0.8, 0.1) = 0.1
Step 2: DOFs of all consequent variables for every rule terms are computed.
Rule 1: DOF
0.1
Rule 2: DOF
Rule 3: DOF
DOF
curr
(medium) = DOF
volt
(small) = DOF
volt
(small) = DOF
volt
(positive) = DOF
rule1
rule1
· Weight
rule2
· Weight
rule1
· Weight
· Weight
volt
volt
= 0.5 · 1.0 = 0.5
curr
= 0.1 · 0.9 = 0.9, DOF
volt
= 0.1 · 0.8 = 0.8
= 0.5 · 1.0 = 0.5
(positive) = DOF
curr
rule1
· Weight
Step 3: DOFs of all consequent variables terms for overall fuzzy system are computed.
DOF
(small) = max (DOF
volt
(medium) = max (DOF
DOF
volt
(large) = 0
DOF
volt
(small) for all rules) = max (0.08, 0.5) = 0.5
volt
(medium) for all rules) = max (0.09) = 0.09
volt
= 0.1 · 1.0 =
curr
(zero) = 0
DOF
curr
DOF
(positive) = max (DOF
curr
These steps are schematically shown on the following figures.
Publication LOGIX-UM004A-EN-P - March 2007
(positive) for all rules) = max (0.1, 0.5) = 0.5
curr
Set of Rules Example Evaluation Procedure
1. (small, negative) Æ (medium [0.9] , positive [1.0])
1. (small, negative) Æ (medium [0.9] , positive [1.0])
0.4 0.1
0.4 0.1
min
min
premise part: DOF = 0.1
premise part: DOF = 0.1
2. (large, negative) Æ (small [0.8] , )
2. (large, negative) Æ (small [0.8] , )
0.8 0.1
0.8 0.1
min
min
premise part: DOF = 0.1
premise part: DOF = 0.1
3. ( , positive) Æ (small [1.0] , positive [1.0])
3. ( , positive) Æ (small [1.0] , positive [1.0])
0.5
0.5
min
min
premise part: DOF = 0.5
premise part: DOF = 0.5
total DOF = maximum
total DOF = maximum
* 0.09
* 0.09
* 0.08
* 0.08
* 0.5
* 0.5
* 0.1
* 0.1
* 0.5
* 0.5
FuzzyDesigner Component Library 51
voltage
voltage
small , medium , large
small , medium , large
0.0 , 0.09 , 0.0
0.0 , 0.09 , 0.0
voltage
voltage
small , medium , large
small , medium , large
0.08 , 0.0 , 0.0
0.08 , 0.0 , 0.0
voltage
voltage
small , medium , large
small , medium , large
0.5 , 0.0 , 0.0
0.5 , 0.0 , 0.0
voltage
voltage
small , medium , large
small , medium , large
0.5 , 0.09 , 0.0
0.5 , 0.09 , 0.0
zero , positive
zero , positive
0.0 , 0.1
0.0 , 0.1
zero , positive
zero , positive
0.0 , 0.0
0.0 , 0.0
zero , positive
zero , positive
0.0 , 0.5
0.0 , 0.5
zero , positive
zero , positive
0.0 , 0.5
0.0 , 0.5
current
current
current
current
current
current
current
current
temperature
pressure
smallsmall
lar gelar ge
negativenegative
zerozero
positivepositive
temperature
pressure
Example of a Block Diagram of the Rule Block Evaluation
Rule Block
0.4
0.80.8
0.1
0.2
0.2
0.50.5
smallsmall
negativenegative
lar gelar ge
negativenegative
positivepositive
medium [0.9]medium [0.9]
Æ
positive [1.0]posit ive [1.0]
small [0.8]small [0.8]
Æ
small [1.0]small [1.0]
Æ
positive [1.0]posit ive [1.0]
0.09
0.1
0.08
0.0
0.5
0.5
max
max
max
maxma x
maxma x
0.5
0.09
0.0
0.0
0.50.5
voltage
small
medium
lar ge
current
zerozero
positivepositive
voltage
Æ
current
Æ
Publication LOGIX-UM004A-EN-P - March 2007
52 FuzzyDesigner Component Library

Connections

The input logical link of the Rule Block can be connected to a component providing a DOF value (as a result of fuzzification or defuzzification), such as the:
Input Linguistic Variable component.
Output Takagi-Sugeno Variable component.
Output Linguistic Variable component.
Intermediate Linguistic Variable component.
The output logical link of the Rule Block can be connected to components expecting a DOF value (as result of fuzzy inference), such as the:
Output Takagi-Sugeno Variable component.
Output Linguistic Variable component.
Intermediate Linguistic Variable component.

PID Controller

Parameters

Name of the component
List of links to premise variables
List of links to consequent variables
Type of t-norm
The fuzzy system PID component enables you to design an intelligent supervision of a conventional PID controller.
The following symbols and terminology are used in description of the component:
PV – process variable
CV – control variable
SP – set point
E – error, E = SP-PV
P- proportional gain,
I- integral gain,
D- derivative gain
Man – manually set value of CV
Mode – controller mode
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Component Library 53
The component can be used as a conventional PID controller with supervised parameters defined by component input links. The component output link provides a crisp value representing the control variable.
The component functionality is defined through the equation format with the option of using either independent gains or dependent gains. When the independent gains option is used, the proportional, integral and derivative gains affect only their specific proportional, integral or derivative terms respectively. When the dependent gains option is used, the proportional gain is replaced with a controller gain, which affects all three parts. Both formats are shown in the following equations.
⎛ ⎜
()
⎜ ⎝
()
t
DdttEItPVtSPbPCV
)()()(
0
t
0
++=
DdttEItPVtSPbPCV
)()()(
dt
dt
tdO
)(
Bias
+
⎟ ⎠
tdO
)(
Bias
+++=
Where parameter b can be defined by the user and has to be in interval [0,1]. The default value is 1. This parameter dampens the influence of the setpoint on the proportional action.
The component allows two formats of derivative term O(t). Derivative input to the controller can be either the process variable PV(t) or the error E(t). Use of the process variable eliminates output spikes resulting from setpoint changes. Use of the error allows fast responses to setpoint changes when the algorithm can tolerate overshoots.
The algorithm is implemented in the discrete form.
Numerical integration is implemented as follows:
+=
ItermTIEItermEdtI
1:−
kskk
where T
is the loop update time.
s
Numerical derivation is implemented as follows:
OO
dO
dt
O
1:−
=Δ
k
kk
T
s
The calculation of the derivative term is enhanced by using a smoothing first order low pass digital filter. This filter eliminates large derivative term spikes caused by noise in the process variable.
Publication LOGIX-UM004A-EN-P - March 2007
54 FuzzyDesigner Component Library
OO
1
O
k
)1(
=Δ
α
where .
kk
T
s
=
T
Δ+
O
αα
s
1161+
1
k
D
Finally the control variable CV is computed in the following way:
BiasODItermEPCV
+Δ++= )(
kkkk
BiasODItermEPCV
+Δ++=
kkkk
in the case of dependent gains and independent gains respectively.
The controller can be used in two different modes – Manual mode and Automatic mode (default mode). During Manual mode the parameter Mode, which is defined by the input link, has to be set to 1. In this mode the controller calculates the user defined control variable, which is connected to the input link Man. During this mode the controller calculates the internal state of the integrator from the user defined control variable to achieve a bumpless transfer when the operator changes the control mode from manual to automatic. In the Automatic mode, when the parameter Mode is set to 0, the controller provides the computed value of the control variable. If input links Man and Mode are not fed, the default (automatic) mode is applied.
The component also provides the user additional features – output limiting with anti-reset windup, dead band control and gain forgetting factor.
Output limiting allows applies limits CV_min and CV_max to the control variable. If the output limiting is enabled, and the computed control variable exceeds the limits, the CV is saturated. When the value of the computed control variable reaches or exceeds limits, the integration is paused until the value of the computed control variable comes back into the range.
The adjustable dead band DB lets the user select an error interval DBI = [SP-DB, SP+DB] around the setpoint where the controller output does not change as long as the error remains within this range. This dead band lets you control how closely the process variable matches the setpoint without changing the value of CV. There are two choices of dead band type – zero crossing and no zero crossing dead band.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Component Library 55
Zero crossing dead band control stops changing control variable (ΔCV = 0) when the process variable crosses the setpoint. The control
variable is not changed as long as the process variable remains within the dead band interval. Zero crossing dead band control can be written as follows:
Once PV reaches SP (E = 0) and as long as PV DBI , use ΔCV = 0 (consider E = 0)
No zero crossing dead band control stops changing control variable immediately when approaching the setpoint and crossing the band limits. The control variable is not changed as long as the process variable remains in the dead band interval. No zero crossing dead band control can be written as follows:
IF (PV DB) THEN ΔCV = 0 (consider E = 0)
When the gain parameters of the PID controller are supervised by fuzzy rules, rapid changes of premise rules variables may cause rapid changes of controller gains. To avoid these changes the gain forgetting factor g can be used. The value of g has to be in the interval [0.001 1]. Valu e g = 1 corresponds to exact parameter tracking (no forgetting factor is applied) and g = 0.001 corresponds to very slow parameter tracking. The default value is 1.

Connections

The Input links of the PID component can be connected to all components providing crisp values, such as:
Input Port component.
Output Takagi-Sugeno Variable component.
Output Linguistic Variable component.
PID component (theoretically).
The output link of the PID component can be connected to all components expecting a crisp value, such as:
Output Port component.
Input Linguistic Variable component.
Output Takagi-Sugeno Variable component (theoretically).
PID component (theoretically).
Publication LOGIX-UM004A-EN-P - March 2007
56 FuzzyDesigner Component Library

Parameters

Name of the component
Controller Gain parameters (P, I, D), Bias – specified by links to
components providing crisp values or by user defined constant values
Setpoint value SP – specified by links to components providing
crisp values or by user defined constant values
Sampling period T
Output limiting of control variable – YES or NO
Output limits – [CV
Equation format – dependent or independent gains
Derivative input format – error or process variable
Manual control (None or the link to component which defines
the manual control variable)
Mode – 0 (automatic) or 1 (manual)
Parameter b - dampens the influence of the setpoint on the
proportional action
Dead band – YES or NO
Dead Band Radius (if YES)
Dead Band Type – Zero Crossing or No Zero Crossing (if YES)
Gain forgetting factor
s
min
, CV
] (if YES)
max

Output Port

The Output Port component stores an actual output value of the HFS provided by a preceding component. The output is a crisp value.

Connections

The input link of the output port can be connected to all components providing a crisp value, such as:
Input Port component.
Output Takagi-Sugeno Variable component.
Output Linguistic Variable component.
PID component.

Parameters

Name of the component
Publication LOGIX-UM004A-EN-P - March 2007
Chapter
FuzzyDesigner Graphical User Interface
3

Introduction

The FuzzyDesigner graphical user interface (GUI) is illustrated by a simple academic Ball and Beam experiment provided as one of the sample projects when you install FuzzyDesigner.
Topic Page
Setting Options 57
FuzzyDesigner Control Basics 59
The objective is to stabilize the ball at the desired position on the beam. The main screen of the FuzzyDesigner GUI with the opened project named ball (this is our Ball and Beam example), can be seen below.
Ball and Beam Project in FuzzyDesigner

Setting Options

57 Publication LOGIX-UM004A-EN-P - March 2007
There are some FuzzyDesigner features that can be configured according to personal preferences and for particular projects. You can access the customization options from the View and Options menu commands.
58 FuzzyDesigner Graphical User Interface

Tool Bar

The Tool Bar (see FuzzyDesigner Tool Bar) submenu on the View menu enables access to the commands for customizing the FuzzyDesigner tool bar. A tool bar button can be set as visible or invisible by clicking the appropriate Tool Bar submenu commands.
FuzzyDesigner Tool Bar
Status Bar
The Status Bar (see FuzzyDesigner Status Bar) menu command on the View menu enables you to set the status bar of FuzzyDesigner as visible or as invisible. The status bar shows FuzzyDesigner modes (see FuzzyDesigner Control Basics), and error messages.
FuzzyDesigner Status Bar
Tree View
The Tree View (see FuzzyDesigner Tree View) menu command on the View menu enables you to set the Tree View tab control page visible or invisible (see Working with Projects). You can also do this by clicking the tool bar button with the same name (shown as a tool tip).
To resize the Tree View tab control page, use your mouse and drag the splitter on the right side of the tab control.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Tree View
FuzzyDesigner Graphical User Interface 59

FuzzyDesigner Control Basics

The controls in FuzzyDesigner are very similar to other Microsoft Windows applications, and are easy to use.
FuzzyDesigner’s functions can be accessed from the main menu or by clicking the tool bar button commands. By right-clicking the tree view item or in the FuzzyDesigner project window, a related pop-up menu appears. You can also control most of the functions using these pop-up menus. These menus are context-sensitive; they offer the most useful commands applicable to the current window.
Use the Project\Recent Projects menu command to reopen the most recent projects in FuzzyDesigner. Up to four projects are shown in the Recent Projects menu.
Detailed Help is accessible through the FuzzyDesigner main menu. The Help button can be used in the Term and the Rule Editor tool bars as well. Using this button, information about the particular editor can be displayed.
You can apply the Edit\Undo and Edit\Redo menu commands to a few changes made in the active project. The Undo menu command is always applied to the last change in the active project and the Redo menu command is always applied to the next change in the history of changes made in the active project.
Publication LOGIX-UM004A-EN-P - March 2007
60 FuzzyDesigner Graphical User Interface
FuzzyDesigner has two main modes, Design mode and Monitoring mode. FuzzyDesigner defaults to the Design mode, where you can
design the project, set or reset options and use all application tools without any restriction. Use the Monitoring mode when you need to change the project parameters only, and leave the project design unchanged. Options and tools that can enable project design changes are restricted in the Monitoring mode. The current mode is indicated in the application Status Bar.

Main Menu

IMPORTANT
The Monitoring mode can be switched on or off directly from the Edit|Go to Design mode …/Go to Monitoring mode main menu item or the tool bar with the same name in the tool tip. The Monitoring mode is automatically enabled when the following dialoges are opened:
Watch
Simulation Watch
Project Installation Wizard
Online Connection Wizard Panel
Monitoring Stand-Alone Component
After you close all of the open dialoges, FuzzyDesigner switches to the Design mode.
You can minimize, maximize or restore all windows opened in the FuzzyDesigner work area from the menu commands in the Window menu.
This section lists all menu items in the main menu bar of the FuzzyDesigner main window.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Main Menu
FuzzyDesigner Graphical User Interface 61
Project
FuzzyDesigner Main Menu Project Structure
New – creates a new project
Open … – opens an existing project
Close – closes the active project
Close All – closes all open projects
Save – saves the active project
Save As … – save the active project with a different name
Project Information … – displays the properties for the current
project
Preview – shows the preview of the currently active project
Print … – prints the active project
Recent Projects – shows the four most recent projects
Exit – closes the FuzzyDesigner application
Edit
FuzzyDesigner Main Menu Edit Structure
Undo – see section FuzzyDesigner Control Basics
Redo – see section FuzzyDesigner Control Basics
Refresh – updates the display of the active project
Publication LOGIX-UM004A-EN-P - March 2007
62 FuzzyDesigner Graphical User Interface
Go to Design mode …/Go to Monitoring mode – switches the
project between the Design mode and Monitoring mode (see section FuzzyDesigner Control Basics)
New Port
New Input Port … – see section Input Port New Output Port … – see section Output Port
New Variable
– New Input Linguistic Variable … – see section Input
Linguistic Variable
– New Output Linguistic Variable … – see section Output
Linguistic Variable
– New Output Takagi-Sugeno Variable … – see section Output
Takagi-Sugeno Variable
– New Intermediate Linguistic Variable … – see section
Intermediate Linguistic Variable
New Rule Block … – see section Rule Block
New PID Controller … – see section PID Controller
View
FuzzyDesigner Main Menu View Structure
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Graphical User Interface 63
Tool Bar
Hide All Buttons – hides all tool bar buttons of the applicationShow All Buttons – shows all tool bar buttons of the
application
– Create New Project – shows or hides the Create New Project
tool bar button of the application
– Open Project – shows or hides the Open Project tool bar
button of the application
– Save Active Project – shows or hides the Save Active Project
tool bar button of the application
– Undo – shows or hides the Undo tool bar button of the
application
– Redo – shows or hides the Redo tool bar button of the
application
– Refresh Active Project – shows or hides the Refresh Active
Project tool bar button of the application
– Go to Design mode/Go to Monitoring mode – shows or hides
the Go to Design mode …/Go to Monitoring mode tool bar button of the application
– Preview – shows or hides the Preview tool bar button of the
application
– Print – shows or hides the Print tool bar button of the
application
– Hide Tree View/Show Tree View – shows or hides the Hide
Tree View/Show Tree View tool bar button of the application
– New Input Port – shows or hides the New Input Port tool bar
button of the application
– New Input Linguistic Variable – shows or hides the New
Input Linguistic Variable tool bar button of the application
– New Output Port – shows or hides the New Output Port tool
bar button of the application
– New Output Linguistic Variable – shows or hides the New
Output Linguistic Variable tool bar button of the application
– New Output Takagi-Sugeno Variable – shows or hides the
New Output Takagi-Sugeno Variable tool bar button of the application
– New Intermediate Linguistic Variable – shows or hides the
New Intermediate Linguistic Variable tool bar button of the application
– New Rule Block – shows or hides the New Rule Block tool
bar button of the application
– New PID Controller – shows or hides the New PID Controller
tool bar button of the application
– Help – shows or hides the Help tool bar button of the
application
Publication LOGIX-UM004A-EN-P - March 2007
64 FuzzyDesigner Graphical User Interface
Status Bar – shows or hides the status bar of the application
Tree View – shows or hides the Tree View tab control page of
the application
Tools
FuzzyDesigner Main Menu Tools Structure
Options
– Show in Status Area – check this menu item to set the
FuzzyDesigner to the server mode. The FuzzyDesigner icon shows in the status area and the application should be closed only through the icon context menu.
Reset Internal States – resets the internal states of all Input Port
filters and PID Controllers in the just active project
Process Membership Functions – appropriate output variables
process according to fuzzy sets in the just active project
Set Port Order … – see section Port Order Editor
Watch … – see section Watch
Simulation … – simulate your process by entering values for the
variables defined on input ports (see Fuzzy System Simulation)
2D Graph … – see section 2D Graph
3D Graph … – see section 3D Graph
Add-On Instruction … – create or monitor fuzzy Add-On
Instructions (see RSLogix 5000 Add-On Instruction)
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Graphical User Interface 65
Window
FuzzyDesigner Main Menu Window
Tile – tiles all open windows in the application workplace
Cascade – cascades all open windows in the application
workplace
Arrange Icons – arranges icons in the application workplace
Minimize All – minimizes all windows in the application
workplace
Maximize All – maximizes all windows in the application
workplace
Restore All – restores all windows to their normal size in the
application workplace
Help
FuzzyDesigner Main Menu Help
Contents … – shows the help contents
Index … – shows the help index
Search … – shows the help search dialog
Product Activation … – shows the Product Activation dialog with
the Computer ID. Send this together with the serial number to technical support to get the Activation Key to access the desired application features.
About … – about the FuzzyDesigner
Publication LOGIX-UM004A-EN-P - March 2007
66 FuzzyDesigner Graphical User Interface
Tool Bar Menu
This section lists all menu buttons in the tool bar menu (see FuzzyDesigner Tool Bar) of the FuzzyDesigner main window.
Create new project
Open project
Save active project
Undo – see section FuzzyDesigner Control Basics
Redo – see section FuzzyDesigner Control Basics
Refresh – evaluates static the just active project
Go to Design Mode…/Go to Monitoring Mode – switches
FuzzyDesigner between the Design and Monitoring Mode (see section FuzzyDesigner Control Basics)
Preview – shows the preview of the current project
Print
Hide Tree View – see section FuzzyDesigner Tree View
New Input Port
New Input Linguistic Variable
New Output Port
New Output Linguistic Variable
New Output Takagi-Sugeno Variable
New Intermediate Linguistic Variable
New Rule Block
New PID Controller
Help – shows the FuzzyDesigner help
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Projects
Chapter
4

Introduction

The basic working unit in the FuzzyDesigner is a project. This chapter describes the concept of a project.
Topic Page
Working with Projects 67
Designing a Fuzzy System 72
Fuzzy System Components 75
Term Editor 102
Term Properties Dialog 105
Rule Editor 108
Port Order Editor 113
Watch 113
History Graph 117
2D Graph 122
3D Graph 125
A project is a set of data containing information related to a particular fuzzy system. Designing a fuzzy system involves several steps – definition of components and links between components, design of membership functions, and creating fuzzy rules.

Working with Projects

67 Publication LOGIX-UM004A-EN-P - March 2007
Most of the commands used for basic operations with projects can be found in the Project menu. This menu contains the following commands:
New – creates a new project
Open – opens an existing project
Close – closes the currently active project
Close All – closes all opened projects
Save – saves the currently active project
Save As – saves the currently active project to new file
Project Information – shows the information about the currently
active project
Preview – shows the preview of the currently active project
window
68 FuzzyDesigner Projects
Print – prints the project window of the currently active project
Recent Projects – shows the four most recent projects
Exit – closes FuzzyDesigner
All opened projects and their components are seen in the Tree View tab control page. When you right-click a tree view node, a context sensitive menu appears. When you right-click the Projects node, a context menu with the following commands appears (see Projects Tree View Node Context Menu):
New – creates a new project (see section Creating a Project)
Open – opens an existing project (see section Opening an
Existing Project)
Close All – closes all opened projects (see section Closing a
Project)
Projects Tree View Node Context Menu
When you right-click the opened project node, a context menu with the following commands appears (see Project Tree View Node Context Menu):
Close – closes the project (see section Closing a Project)
Save – saves the project (see section Saving a Project)
Save As – saves the currently active project to new file (see
section Saving a Project)
Preview – shows the project preview
Print – prints the project (see section Printing a Project)
Project Tree View Node Context Menu
Publication LOGIX-UM004A-EN-P - March 2007
There are project component type nodes of the applied components under the node of each opened project. When you right-click the component type node, a context menu with the following command appears (see Component Type Tree View Node Context Menu):
FuzzyDesigner Projects 69
Delete All – deletes all applied components with the appropriate
type from the project.
Component Type Tree View Node Context Menu
There are component nodes of the applied components under the appropriate component type node of each opened project. When you right-click the component node, a context menu with the following commands appears (see Component Tree View Node Context Menu):
Delete – deletes the selected component from the project
Properties – shows the properties dialog of the selected
component (see section Fuzzy System Components)
Component Tree View Node Context Menu

Creating a Project

Create a new project by using the Project\New main menu command or the New context menu command of the Projects tree view node. When a new project is created, the appropriate tree view node and project window will be added. A new project is not automatically saved. To save a recently created project, use the Save As command (see section Saving a Project) in the Project menu.

Opening an Existing Project

Follow these steps to open the existing project.
1. Select the Project\Open main menu command or the Open
context menu command of the Projects tree view node.
2. From the Open dialog, choose the appropriate file type (fsp)
and click or type the name of the project file.
Publication LOGIX-UM004A-EN-P - March 2007
70 FuzzyDesigner Projects
3. When you select a fsp-file type, a file in the XML format with all
project information will open. When the selected file has no information about the project graphical representation or about FuzzyDesigner GUI, the project will be opened with a default graphical representation and FuzzyDesigner GUI information (without the project description, for example).
4. Click Open.
When the project opens successfully, the appropriate tree view node will be added to the Tree View tab control page and the project window will be opened in the application workplace with appropriate recently opened dialogs.
FuzzyDesigner is a Multi-Document Interface (MDI) application, so you can open more then one project at a time. Only one of the currently opened projects can be active, so all the tool bar button commands associated with a project are applied to this active project. The FuzzyDesigner active window does not automatically relate to the active project.

Changing the Active Project

You can switch between projects by clicking the appropriate project window or project tree view node. When a new or existing project is opened, it is automatically set as the active project. The name of the active project is shown in the title of the FuzzyDesigner main window.

Project Information

Use the Project\Project Information main menu command to open the Project Information dialog (see Project Information Dialog) for an active project.
Properties group box – Specify additional information for the project, in the appropriate text boxes.
Project Name
Description
Author
Company
Project ID – free-form project identification code
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Projects 71
OK button - Accept the entered properties for the project.
Cancel button – Click the button if you do not want to apply the changes, but you want to close the dialog.
Project Information Dialog

Saving a Project

To save changes made in the active project, use the Project\Save main menu command. To save newly created projects, or to save to another project, use the Project\Save As main menu command. The standard Save As dialog appears immediately, so you may click the directory, where the project will be stored and type a new project name in the dialog.
The FuzzyDesigner project can be saved to the file with .fsp extension, where all the information about the project is stored in the XML format. This file can be opened in any XML editor.

Closing a Project

You can close an active project using the Project\Close main menu command or directly close the active project by clicking Close in the top right corner of the project window.
Publication LOGIX-UM004A-EN-P - March 2007
72 FuzzyDesigner Projects
To close all open projects, use the Project\Close All main menu command.
FuzzyDesigner may display a dialog, prompting you to save your project before closing it. To save the project’s changes, click Yes. To close the project without saving the project’s changes, click No. To return to the project without saving or closing the project, click Cancel.
Message Box of Closing an Unsaved Project

Designing a Fuzzy System

Designing a Project

The fuzzy system is designed in the project window, which is the main window for every project opened in FuzzyDesigner. There is a graphical representation of the designed hierarchical fuzzy system with applied project components and an additional text comment. A detailed description of how to work in the project window is available the section Designing a Fuzzy System.

Printing a Project

You can print the active project using the Print main menu command in the Project menu. You can also configure your printer from the Print dialog that appears.
Having a graphical representation of a Fuzzy System speeds up the design, and also makes the internal architecture more transparent and interpretable. It also serves as natural project documentation. The graphics consist of three parts - the workspace of the project window, blocks, and text. These are explained in the following sections.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Projects 73

Fuzzy System Project Window

The fuzzy system project window enables the designer to create block diagrams of a fuzzy system by inserting and linking graphical objects, library components, and text. The window size is user defined, and accommodates any structure of a fuzzy system. Avoid moving any object outside of this area. If you right-click the empty Design Sheet window, the Design Sheet context menu (see Fuzzy System Project Window Context Menu) appears. The following menu items are available.
Fuzzy System Project Window Context Menu
Select all – Selects all blocks and texts.
New Input Port, New Output Port, – Adds a new block to the
sheet.
Project Information – Opens a window with project information.

Working with Blocks

There are eight types of Fuzzy System Components (see section Fuzzy System Components), referred to as blocks, which enable you to design the fuzzy system as a block diagram. Blocks are graphical objects.
Adding a Block
A new block can be added to the existing diagram in several ways. The first is by using context menu. This menu is described in the section Fuzzy System Project Window.
The other way to add a new block to the existing diagram is to use the Main Menu or the Tool Bar.
Publication LOGIX-UM004A-EN-P - March 2007
74 FuzzyDesigner Projects
Selecting a Block
Click an existing block to select it. Other previously selected objects are automatically unselected.
To select multiple graphical objects, draw a bounding box around them with your mouse, or hold the CTRL key while clicking them.
To select all graphical objects (blocks and texts) use the Select All item from Fuzzy System Project Window Context Menu (see section Fuzzy System Project Window). You can also select a block through the Tree View.
Removing a Block
A block can be removed from the graphical model using the keyboard or the Tree View. Select a block and press the Delete key. Blocks are removed from the project completely.
Moving a Block
Graphical objects can be moved by using a drag and drop operation with your mouse or by using the CTRL and directional arrow keys on a selected object. The final position of the object must lie inside the working area. If one or more dragged objects are moved out of the permitted area then the objects are moved by default to the nearest permitted position.
Resizing a Block
Select an object and move your mouse over to any corner of object. Resize the object by clicking and dragging on a corner. You can resize only one block at a time.
Block Properties
A block has two sets of parameters - the graphical and the internal parameters. All the parameters are accessible from the block context menu (see Blocks Context Menu). This menu appears if you right-click a block or a group of selected blocks.
Publication LOGIX-UM004A-EN-P - March 2007
You can change block appearance (graphical) parameters, foreground color (the color of the border), background color, font and line width.
FuzzyDesigner Projects 75
You can change the internal parameters that define the block function by clicking the Block Properties menu item or by double-clicking the object. You can also modify internal parameters by using the Tree View.
Blocks Context Menu

Working with Text

Fuzzy System Components

Use text to make comments in a fuzzy model. To insert text, select the Text Properties command in the Design Window context menu. If you enter only spaces or don’t enter any text, the text object is not created.
Text objects are not selectable from the tree view.
To edit a text object, double-click the object, or right-click the text object and select the Text Properties command.
Texts Context Menu
There are eight fuzzy system component types:
Input Port
Input Linguistic Variable
Output Port
Output Linguistic Variable
Output Takagi-Sugeno Variable
Intermediate Linguistic Variable
Rule Block
Publication LOGIX-UM004A-EN-P - March 2007
76 FuzzyDesigner Projects
PID Controller
Components of the same type used more than once in the same project must have a unique name. The Input Port and the Input Linguistic Variable can share the same name. The name of the Input Linguistic Variable, Output Linguistic Variable, Output Takagi-Sugeno Variable and PID Controller used in the same project cannot be shared by the other components. The Output Port can share names with the Output Linguistic Variable.

Input Port

Use the Edit\New Port\New Input Port main menu command or the New Input Port tool bar button to add a new Input Port (IP) to the currently active project. Use the New Input Port project window context menu command to add a port. First, the Input Port properties dialog appears. A default name is assigned to a new component. Click OK to apply the component to the appropriate project. All names assigned to Input Ports belonging to a single project must be unique.
General tab dialog – Specify the main properties of a new or
existing IP.
Input Port Properties Dialog– General Tab Dialog
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Projects 77
– Port General group box – Enter general parameters of a new
or existing IP.
Port Name – Specify the IP name. This name will be used
as the input parameter name when the fuzzy algorithm is compiled to an Add-On Instruction.
Use Filter – The IP input value can be filtered by a
user-defined filter. Click the Use Filter check box to set up the Input Port filter.
Butterworth Lowpass Filter – Click this radio button to set
the Butterworth Lowpass Filter parameters.
Filter with Specific Transfer Function – Click this radio
button to set the user defined filter parameters.
Get Transfer Function– When you want to read the transfer
function of the specified Butterworth Lowpass Filter (its numerator and denominator), click this button. The required numerator and denominator will be shown in the appropriate text boxes of the Filter with Specific Transfer Function group box.
– Butterworth Lowpass Filter group box – Specify parameters of
a Butterworth Lowpass filter.
Filter Order – If you selected the Butterworth Lowpass
Filter radio button, enter the required filter order here.
Cutoff Frequency – If you selected the Butterworth
Lowpass Filter radio button, enter the cutoff frequency here.
– Filter with Specific Transfer Function group box – There are
two text boxes, for you to specify the filter parameters.
Numerator Coefficients – If you selected the Filter with
Specific Transfer Function radio button, enter the numerator coefficients here (see Input Port component description). Separate coefficients with a space: b
…b
.
m
b1
0
Denominator Coefficients – If you selected the Filter with
Specific Transfer Function radio button, enter the denominator coefficients here (see Input Port component description). Separate coefficients with a space: a
…a
1
n.
Publication LOGIX-UM004A-EN-P - March 2007
78 FuzzyDesigner Projects
Description tab dialog – Specify the description of a new or
existing IP.
Input Port Properties Dialog– Description Tab Dialog
– Port Description – Enter the description of the IP. This
description will be used as the input parameter description when the fuzzy algorithm is compiled to an Add-On Instruction.
Reset Filter State button – Click this button to reset the internal
state of the implemented filter.
OK button – Accept the entered properties for the project.
Cancel button – Click this button to close the IP properties
dialog. Any changes made are not applied. You can also click Close, at the top right corner of the dialog.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Projects 79

Input Linguistic Variable

Use the Edit\New Variable\New Input Linguistic Variable main menu command or the New Input Linguistic Variable tool bar button to add a new Input Linguistic Variable (ILV) to the currently active project. Use the New Input Linguistic Variable project window context menu command to add a variable.
First, the Input Linguistic Variable properties dialog appears. Click OK to add the component to the appropriate project. Input Linguistic Variable names must be unique in the same project.
General tab dialog – Specify the main properties of a new or
existing ILV.
Input Linguistic Variable Properties Dialog – General Tab Dialog
Variable Name – Specify the variable name.Input Link – Select a feasible ILV input link from the
drop-down list. The link can realize the connection between the ILV and an Input Port, Output Linguistic Variable, Output Takagi-Sugeno Variable or a PID Controller. When the dialog for a new unconnected ILV is opened, then all feasible input links are displayed.
Publication LOGIX-UM004A-EN-P - March 2007
80 FuzzyDesigner Projects
Unit tab dialog – Specify the unit of a new or existing ILV.
Input Linguistic Variable Properties Dialog – Unit Tab Dialog
– Predefined – Click this radio button to select the variable unit
from the list of predefined units.
Variable of – Select one of the predefined quantities,
which has the same meaning as the ILV.
In – Select one of the predefined units as the requested
unit of the ILV.
– User Defined – Click this radio button to select a user-defined
variable unit.
Unit – Specify a unit of the ILV, up to 100 characters.
Publication LOGIX-UM004A-EN-P - March 2007
Range tab dialog – Enter the operating range of the variable.
Input Linguistic Variable Properties Dialog – Range Tab Dialog
Minimum – Specifies the lower limit of the variable.Maximum – Specifies the upper limit of the variable.
FuzzyDesigner Projects 81
– Rescale Membership Functions of the Applied Terms – Click
this check box to rescale the membership functions of all terms of the ILV.
IMPORTANT
The minimum value must be always lower then the maximum value. When the dialog for a new ILV is opened the default range is preset to –1 for minimum and 1 for maximum.
Terms tab dialog – The ILV properties dialog defines the variable
through the following terms.
Input Linguistic Variable Properties Dialog – Terms Tab Dialog
– Count – Specify number of terms, fuzzy sets, related to the
variable.
– Type – Select either the trapezoid or s-function ILV term type.
When the ILV properties dialog is open for the existing variable, the term type of the applied variable terms is displayed. Other is displayed when term types for the selected variable differ.
– Names – Select default names of terms for the variable. When
the ILV properties dialog is open for the existing variable, any applied terms are shown.
IMPORTANT
When the ILV properties dialog is open for an existing variable, then the terms count, the type and the names are visible, but you cannot change them in the properties dialog.
Publication LOGIX-UM004A-EN-P - March 2007
82 FuzzyDesigner Projects
Description tab dialog – Specify the description of a new or
existing ILV.
Input Linguistic Variable Properties Dialog – Description Tab Dialog
Variable Description – Enter the description of the ILV.
Term Editor button – Click this button to open the Term Editor
(see section Term Editor), where the predetermined variable terms can be changed (count, names).
OK button – Accept the entered properties for the project.
Cancel button – Click this button to close the ILV properties
dialog. Any changes made are not applied. You can also click Close, at the top right corner of the dialog.

Output Port

Use the Edit\New Port\New Output Port main menu command or the New Output Port tool bar button to add a new Output Port (OP) to the appropriate fuzzy system project. Alternatively, use the New Output Port project window context menu command to add a port.
The Output Port properties dialog appears and a default name is assigned to the component. Click OK to add the component to the appropriate project. All Output Port names must be unique in the same project.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Projects 83
General tab dialog – Specify all parameters of a new or existing
OP.
Output Port Properties Dialog – General Tab Dialog
– Port Name – Specify the OP name. This name will be used as
the output parameter name when the fuzzy algorithm is compiled to an Add-On Instruction.
– Input Link – Set up the OP input link. The link can realize the
connection between the OP and the Input Port, Output Linguistic Variable, Output Takagi-Sugeno Variable or the PID Controller.
Description tab dialog – Specify the description of a new or
existing OP.
Output Port Properties Dialog – Description Tab Dialog
– Port Description – Enter the description of the OP. This
description will be used as the output parameter description when the fuzzy algorithm is compiled to an Add-On Instruction.
OK button – Accept the entered properties for the project.
Publication LOGIX-UM004A-EN-P - March 2007
84 FuzzyDesigner Projects
Cancel button – Click this button to leave the OP properties
dialog. Any changes made are not applied. You can also click Close, at the top right corner of the dialog.

Output Linguistic Variable

Use the Edit\New Variable\New Output Linguistic Variable main menu command or the New Output Linguistic Variable tool bar button to add a new Output Linguistic Variable (OLV) to the appropriate fuzzy system project. Alternatively, use the New Output Linguistic Variable project window context menu command to add a variable.
The Output Linguistic Variable properties dialog appears and a default name is assigned to the component. Click the OK button to add the component to the appropriate project. All Output Linguistic Variable names must be unique in the same project.
General tab dialog – Specify the main properties of a new or
existing OLV.
Output Linguistic Variable Properties Dialog – General Tab Dialog
Variable Name – Specify the variable name.Fuzzy Inference Algorithm – Specify the fuzzy inference
algorithm to be applied.
– Defuzzification Algorithm – Select the Defuzzification
algorithm.
– Compute Output Fuzzy Set – Click this check box to generate
a fuzzy set as the component output.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Projects 85
Unit tab dialog – Specify the unit of a new or existing OLV.
Output Linguistic Variable Properties Dialog – Unit Tab Dialog
– Predefined – Click this radio button to select the unit of the
variable from the list of predefined units
Variable of – Select one of the predefined quantities,
which has the same meaning as the OLV.
In – Select one of the predefined units as the requested
unit of the OLV.
– User Defined – Click this radio button to enter a user-defined
variable unit.
Unit – Enter the unit name of the OLV, up to 100
characters.
Publication LOGIX-UM004A-EN-P - March 2007
86 FuzzyDesigner Projects
Range tab dialog – Specify the range of the variable and its
default value.
Output Linguistic Variable Properties Dialog – Range Tab Dialog
Minimum – Specify the lower limit of the variable.Maximum – Specify the upper limit of the variable.Default Value – Set up the default value of the variable. The
default value must be within the specified range of the variable.
– Rescale Membership Functions of the Applied Terms – Click
this check box to rescale the membership functions of all applied terms of the OLV.
IMPORTANT
The minimum value must be always lower then the maximum value. When the dialog for a new OLV is open the default range is preset to –1 for minimum and 1 for maximum. The default value is set to the middle of this variable range.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Projects 87
Terms tab dialog – When the OLV properties dialog is open for
defining the variable, you can specify the variable terms in the same way as was explained for the Input Linguistic Variable.
Output Linguistic Variable Properties Dialog – Terms Tab Dialog
Count – the number of terms.Type – the type of terms.Names– predefined names of terms.
IMPORTANT
When the OLV properties dialog is open for an existing variable, then the terms count, the type and the names are visible, but you cannot change them in the properties dialog.
Description tab dialog – Specify the description of a new or
existing OLV.
Output Linguistic Variable Properties Dialog – Description Tab Dialog
Publication LOGIX-UM004A-EN-P - March 2007
88 FuzzyDesigner Projects
Variable Description – Enter the description of the OLV.
Term Editor button – Click this button to open the Term Editor
(see section Term Editor), where the default variable terms can be changed, for example, count and names.
OK button – Accept the entered properties for the project.
Cancel button – Click this button to leave the OLV properties
dialog. Any changes made are not applied. You can also click Close, at the top right corner of the dialog.

Output Takagi-Sugeno Variable

Use the Edit\New Variable\New Output Takagi-Sugeno Variable main menu command or the New Output Takagi-Sugeno Variable tool bar button to add a new Output Takagi-Sugeno Variable (OTSV) to the active project. Alternatively, use the New Output Takagi-Sugeno Variable project window context menu command to add a variable.
The Output Takagi-Sugeno Variable properties dialog appears and a default name is assigned to the component. Click OK to add the component to the appropriate project.
All Output Takagi-Sugeno Variable names must be unique in the same project.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Projects 89
General tab dialog – Specify the main properties of a new or
existing OTSV.
Output Takagi-Sugeno Variable Properties Dialog – General Tab Dialog
Variable Name – Specify the variable name.Applied Input Links –All pins and applied input links of the
OTSV are shown here. The component pins can be connected to the Input Ports, Output Linguistic Variables, Rule Blocks and the PID Controllers.
– Available Input Links – Select an available feasible input link
for the variable.
– Add Pin button – Click this button to add the pin to the
Applied Input Links table related to the OTSV.
– Remove Pin button – Click this button to remove the pin
selected in the Applied Input Links table.
– Connect button – Click this button to connect the link
selected in the Available Input Links combo box with the pin selected in the Applied Input Links table.
Publication LOGIX-UM004A-EN-P - March 2007
90 FuzzyDesigner Projects
Unit tab dialog – Specify the unit of a new or existing OTSV.
Output Takagi-Sugeno Variable Properties Dialog – Unit Tab Dialog
– Predefined – Click this radio button to select a predefined unit
of the variable.
Variable of – Select one of the predefined quantities that
has the same meaning as the OTSV.
In – Select one of the predefined units as the requested
unit of the OTSV.
– User Defined – Click this radio button to insert a user-defined
unit of the variable.
Unit – Specify a unit of the OTSV. The unit name can be
up to 100 characters long.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Projects 91
Range tab dialog – Specify the range of the variable including its
default value.
Output Takagi-Sugeno Variable Properties Dialog – Range Tab Dialog
Minimum – Specify the lower limit of the variable range.Maximum – Specify the upper limit of the variable range.Default Value – Specify the default value of the variable. The
default value must be within the variable range.
– Rescale Functions of the Applied Terms – Click this check
box to rescale functions of the all applied terms of the OTSV.
IMPORTANT
The minimum value must be always lower then the maximum value. When the dialog for a new OTSV is opened the default range is preset to –1 for minimum and 1 for maximum. The default value is set up to the middle of this variable range.
Publication LOGIX-UM004A-EN-P - March 2007
92 FuzzyDesigner Projects
Description tab dialog – Specify the description of a new or
existing OTSV.
Output Takagi-Sugeno Variable Properties Dialog – Description Tab Dialog
Variable Description – Enter the description of the OTSV.
Term Editor button – Click this button to open the Term Editor
(see section Term Editor), where you can chage the terms of the variable.
OK button – Accept the entered properties for the project.
Cancel button – Click this button to close the OTSV properties
dialog. Any changes made are not applied. You can also click Close, at the top right corner of the dialog.

Intermediate Linguistic Variable

Use the Edit\New Variable\New Intermediate Linguistic Variable main menu command or the New Intermediate Linguistic Variable tool bar button to add a new Intermediate Linguistic Variable (IMLV) to the active project. Alternatively, use the New Intermediate Linguistic Variable project window context menu command to add a variable.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Projects 93
The Intermediate Linguistic Variable properties dialog appears and a default name is assigned to the component. Click OK to add the component to the appropriate project. All Intermediate Linguistic Variable names must be unique in the same project.
General tab dialog – Specify the name of the IMLV.
Intermediate Linguistic Variable Properties Dialog – General Tab Dialog
Variable Name – Enter the name of the variable.
Terms tab dialog – The IMLV properties dialog defines the
variable through the following terms.
Intermediate Linguistic Variable Properties Dialog – Terms Tab Dialog
– Count – Specify the number of terms defined for the
intermediate linguistic variable. When the IMLV properties dialog is open for an existing variable, the current number of terms is shown.
Publication LOGIX-UM004A-EN-P - March 2007
94 FuzzyDesigner Projects
– Names – Change default names and specify names of terms
for the newly created intermediate variable. When the IMLV properties dialog is open for the existing variable, the names of terms already applied are shown.
IMPORTANT
When the IMLV properties dialog is open for an existing variable, then the terms count and the term names are visible, but you cannot change them in the properties dialog.
Description tab dialog – Specify the description of a new or
existing IMLV.
Intermediate Linguistic Variable Properties Dialog – Description Tab Dialog
Variable Description – Enter the description of the IMLV.
Term Editor button – Click this button to open the Term Editor
(see section Term Editor), where you can change the default terms of the variable (count, names).
OK button – Accept the entered properties for the project.
Cancel button – Click this button to close the IMLV properties
dialog. Any changes made are not applied. You can also click Close, at the top right corner of the dialog.

Rule Block

Use the Edit\New Rule Block main menu command or the New Rule Block tool bar button to add a new Rule Block (RB) to the active project. Use the New Rule Block project window context menu command to add a block.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Projects 95
The Rule Block properties dialog appears and a default name is assigned to the component. Click OK to add the component to the appropriate project. Rule Block names must be unique in the same project.
General tab dialog – Specify the main properties of a new or
existing RB.
Rule Block Properties Dialog – General Tab Dialog
Block Name – Enter the block name.T-norm Type – Set up the t-norm type for the block.
Publication LOGIX-UM004A-EN-P - March 2007
96 FuzzyDesigner Projects
Links tab dialog – Set up the RB input and output logical links.
Rule Block Properties Dialog – Links Tab Dialog
– Applied Input Logical Links Tab Dialog –The list box shows
all applied input logical links of the block.
– Applied Output Logical Links Tab Dialog – The list box shows
all applied output logical links of the block.
– New Logical Link combo box – Select one of the available
input or output logical links that can be used for the block.
– Add Link button – Click the button to add a new logical link,
selected by the New Logical Link combo box, to the appropriate list box of the selected tab dialog with applied logical links.
– Delete Link button – Click the button to delete a marked
logical link from the appropriate list box of the selected tab dialog with applied logical links.
Publication LOGIX-UM004A-EN-P - March 2007
FuzzyDesigner Projects 97
Description tab dialog – Specify the description of a new or
existing RB.
Rule Block Properties Dialog – Description Tab Dialog
Block Description – Enter the description of the RB.
Rule Editor button – Click this button to open the Rule Editor
(see section Rule Editor), where you can change the block rule base, for example, add or delete rules.
OK button – Accept the entered properties for the project.
Cancel button – Click this button to close the RB properties
dialog. Any changes made are not applied. You can also click Close, at the top right corner of the dialog.

PID Controller

Use the Edit\New PID Controller main menu command or the New PID Controller tool bar button to add a new PID Controller (PIDC) to the active project. Alternatively, use the New PID Controller project window context menu command to add a controller.
The PID Controller properties dialog appears and a default name is assigned to the component. Click the OK button to add the component to the appropriate project. All PID Controller names must be unique in the same project.
Publication LOGIX-UM004A-EN-P - March 2007
98 FuzzyDesigner Projects
General tab control page – Specify the main properties of a new
or existing PIDC.
PID Controller Properties Dialog – General Tab Dialog
Publication LOGIX-UM004A-EN-P - March 2007
PID Controller Name – Specify the controller name.Input Links group box – Set up all available input links or
values.
Process Variable – Set up required process variable link.
Set Point Link – Click the check box and select the set
point link.
Set Point Value – When the Set Point Link check box is not
checked, enter the set point value in the text box.
P Gain Link – Click the check box and select the P gain
link.
P Gain Value – When the P Gain Link check box is not
checked, enter the P gain constant value.
I Gain Link – Click the check box and select the I gain
link.
FuzzyDesigner Projects 99
I Gain Value – When the I Gain Link check box is not
checked, enter the I gain constant value.
D Gain Link – Click the check box and select the D gain
link.
D Gain Value – When the D Gain Link check box is not
checked, enter the D gain constant value.
Bias Link – Click the check box and select the bias link.
Bias Value – When the Bias Link check box is not
checked, enter the bias constant value.
Manual Control – Select the manual control link.
Mode Switch – Select the mode switch link.
Options tab control page – Specify all remaining options of a
new or already existing PIDC.
PID Controller Properties Dialog – Options Tab Dialog
– Features group box – Set up all features of a new or already
existing PIDC.
Publication LOGIX-UM004A-EN-P - March 2007
100 FuzzyDesigner Projects
Equation Format – Specify the equation format of the
controller.
Derivative Input – Specify the derivative input of the
controller.
Sampling Period – Specify the sampling period of the
controller. The period must be greater then zero and is the same for all PIDs applied in the same project.
Parameter b – Select the value of the parameter b entering
PbSPPV∗∗ −
the term of the PIDC equation. The value
()
of the parameter ranges from 0 to 1.
Dead Band – Click the check box to activate the dead
band of the controller and specify the dead band radius and dead band type.
Dead Band Radius – If the Dead Band check box is
checked, enter the dead band radius of the controller. This value must be greater then zero.
Dead Band Type – If the Dead Band check box is
checked, enter the dead band type of the controller.
Output Limiting with AntiReset WindUp – Click the check
box to enable this function, and specify the upper and lower limits.
Minimum – When the Output Limiting check box is
checked, enter the lower saturation limit of the controller output.
Maximum – When the Output Limiting check box is
checked, enter the upper saturation limit of the controller output.
Publication LOGIX-UM004A-EN-P - March 2007
IMPORTANT
The minimum value must be always lower then the maximum value.
Loading...