You are on page 1of 102

Concept 2.

6
IEC Block Library
Part: FUZZY
01/2007
33002215.03

www.telemecanique.com
2
Table of Contents

Safety Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
About the Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Part I General information on the FUZZY Block Library. . . . . 11


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Chapter 1 Parameterizing functions and function blocks . . . . . . . . . . . . 13


Parameterizing functions and function blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Chapter 2 Fuzzy Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1 Introduction to Fuzzy Control Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Fundamental Principles of Fuzzy Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Fuzzy Control in control engineering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Concepts of Fuzzy Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2 Fuzzy Control in Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
EFBs in the FUZZY Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Fuzzification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Inference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Defuzzification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Example for Concept. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Part II EFB descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Chapter 3 DEFUZ_INT, DEFUZ_REAL: Defuzzification with


singletons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Brief Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Detailed description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Runtime errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3
Chapter 4 DEFUZ_STI, DEFUZ_STR: Defuzzification with
singletons (structure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Brief Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Representation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Detailed description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Runtime errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Chapter 5 FUZ_ATERM_INT, FUZ_ATERM_REAL: Fuzzification


of all terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Brief Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Representation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Detailed description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Runtime errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Chapter 6 FUZ_ATERM_STI, FUZ_ATERM_STR: Fuzzification


of all terms (structure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Brief Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Detailed description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Runtime errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Chapter 7 FUZ_MAX_***: Fuzzy Maximum . . . . . . . . . . . . . . . . . . . . . . . . 59


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Brief Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Chapter 8 FUZ_MIN_***: Fuzzy Minimum . . . . . . . . . . . . . . . . . . . . . . . . . 61


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Brief Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Chapter 9 FUZ_PROD_***: Fuzzy Product. . . . . . . . . . . . . . . . . . . . . . . . . 63


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Brief Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Detailed description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Chapter 10 FUZ_STERM_***: Fuzzification of one term. . . . . . . . . . . . . . . 67


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Brief Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Detailed description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Runtime errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

4
Chapter 11 FUZ_SUM_***: Fuzzy Sum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Brief Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

5
6
Safety Information
§

Important Information

NOTICE Read these instructions carefully, and look at the equipment to become familiar with
the device before trying to install, operate, or maintain it. The following special
messages may appear throughout this documentation or on the equipment to warn
of potential hazards or to call attention to information that clarifies or simplifies a
procedure.
The addition of this symbol to a Danger or Warning safety label indicates
that an electrical hazard exists, which will result in personal injury if the
instructions are not followed.

This is the safety alert symbol. It is used to alert you to potential personal
injury hazards. Obey all safety messages that follow this symbol to avoid
possible injury or death.

DANGER
DANGER indicates an imminently hazardous situation, which, if not avoided, will
result in death or serious injury.

WARNING
WARNING indicates a potentially hazardous situation, which, if not avoided, can result
in death, serious injury, or equipment damage.

CAUTION
CAUTION indicates a potentially hazardous situation, which, if not avoided, can result
in injury or equipment damage.

33002215 7
Safety Information

PLEASE NOTE Electrical equipment should be installed, operated, serviced, and maintained only by
qualified personnel. No responsibility is assumed by Schneider Electric for any
consequences arising out of the use of this material.
© 2007 Schneider Electric. All Rights Reserved.

8 33002215
About the Book

At a Glance

Document Scope This documentation is designed to help with the configuration of functions and
function blocks.

Validity Note This documentation applies to Concept 2.6 under Microsoft Windows 98, Microsoft
Windows 2000, Microsoft Windows XP and Microsoft Windows NT 4.x.

Note: There is additional up to date tips in the README data file in Concept.

Related
Documents
Title of Documentation Reference Number
Concept Installation Instructions 840 USE 502 00
Concept User Manual 840 USE 503 00
Concept EFB User Manual 840 USE 505 00
Concept LL984 Block Library 840 USE 506 00

You can download these technical publications and other technical information from
our website at www.telemecanique.com

User Comments We welcome your comments about this document. You can reach us by e-mail at
techpub@schneider-electric.com

33002215 9
About the Book

10 33002215
General information on the FUZZY
Block Library
I
Overview

Introduction This section contains general information on the FUZZY Block Library.

What's in this This part contains the following chapters:


Part?
Chapter Chapter Name Page
1 Parameterizing functions and function blocks 13
2 Fuzzy Control 17

33002215 11
General information

12 33002215
Parameterizing functions and
function blocks
1

33002215 13
Parameterization

Parameterizing functions and function blocks

General Each FFB consists of an operation, the operands needed for the operation and an
instance name or function counter.

FFB
(e.g. ON-delay)

Item name/
Operation Operand
Function counter
(e.g. TON)
(e.g. FBI_2_22 (18))

Actual parameter
Formal
Variable, element of a
parameter multi-element
(e.g. variable, literal, direct
IN,PT,Q,ET)
address
(e.g. ENABLE, EXP.1,
TIME, ERROR, OUT,
%4:0001)

FBI_2_22 (18)
TON
ENABLE EN ENO ERROR
EXP.1 IN Q OUT
TIME PT ET %4:00001

Operation The operation determines which function is to be executed with the FFB, e.g. shift
register, conversion operations.

Operand The operand specifies what the operation is to be executed with. With FFBs, this
consists of formal and actual parameters.

14 33002215
Parameterization

Formal/actual The formal parameter holds the place for an operand. During parameterization, an
parameters actual parameter is assigned to the formal parameter.
The actual parameter can be a variable, a multi-element variable, an element of a
multi-element variable, a literal or a direct address.

Conditional/ "Unconditional" or "conditional" calls are possible with each FFB. The condition is
unconditional realized by pre-linking the input EN.
calls l Displayed EN
conditional calls (the FFB is only processed if EN = 1)
l EN not displayed
unconditional calls (FFB is always processed)

Note: If the EN input is not parameterized, it must be disabled. Any input pin that
is not parameterized is automatically assigned a "0" value. Therefore, the FFB
should never be processed.

Note: For disabled function blocks (EN = 0) with an internal time function (e.g.
DELAY), time seems to keep running, since it is calculated with the help of a
system clock and is therefore independent of the program cycle and the release of
the block.

Calling functions Information on calling functions and function blocks in IL (Instruction List) and ST
and function (Structured Text) can be found in the relevant chapters of the user manual.
blocks in IL and
ST

33002215 15
Parameterization

16 33002215
Fuzzy Control

2
Overview

Introduction In this chapter, first of all a more precise explanation of what Fuzzy Control is and
how Fuzzy Control can be used for control and regulatory functions will be provided.
For the use of Fuzzy Control by means of Concept, elementary functions and
function blocks (EFBs) are provided, the interaction of which is also more precisely
explained in this chapter.

What's in this This chapter contains the following sections:


Chapter?
Section Topic Page
2.1 Introduction to Fuzzy Control Theory 19
2.2 Fuzzy Control in Concept 27

33002215 17
Fuzzy Control

18 33002215
Fuzzy Control

2.1 Introduction to Fuzzy Control Theory

Overview

Introduction This section looks at the fundamental principles of Fuzzy Control.

Note: This chapter does not attempt to describe Fuzzy Control in a mathematically
exact way, but rather to provide an understanding of Fuzzy Control. More extensive
information on the theory can be found in the relevant literature.

What's in this This section contains the following topics:


Section?
Topic Page
Fundamental Principles of Fuzzy Control 20
Fuzzy Control in control engineering 21
Concepts of Fuzzy Theory 22

33002215 19
Fuzzy Control

Fundamental Principles of Fuzzy Control

Introduction The expression "Fuzzy Logic" describes a theory of "ambiguous quantities".


In science or in computer programs, it is usually the case that only two values are
used, true or false, on or off, 1 or 0. There are no intermediate values.
The main idea of Fuzzy Logic on the other hand is the dealing with ambiguous
quantities, the elements of which only gradually belong to a set. Instead of just
"membership" and "non-membership", intermediate stages are also permitted. With
the help of Fuzzy Logic, ambiguities of the most varying kinds can thus be
mathematically described and handled.
This theory finds its most successful application in control engineering as Fuzzy
Control.

Example: If one considers a physical magnitude, such as temperature for example, this
Temperature magnitude is generally represented by a number and a physical unit, for example 21
degrees C.
The temperature can also be described just as well verbally through attributes. The
temperature can be described with the attributes "cold", "pleasant" and "warm" when
we speak of room temperature, for example. These attributes are no longer
precisely limited in relation to one another, they are ambiguous descriptions of the
temperature.
Room temperature of 15 degrees C is generally characterized as "cold,", while a
temperature of 21 degrees C is characterized as "warm". In relation to human
feeling, there is not a sharp dividing line between "cold" and "pleasant", as is known
in classical logic which only works with the truth terms "TRUE" (1) and "FALSE" (0).
It has much more to do with a gradual transition from "cold" to "pleasant".

20 33002215
Fuzzy Control

Fuzzy Control in control engineering

Introduction In control engineering, one or more control variables are produced depending on
one or more input variables. The input variables are logically and numerically
associated with one another. The result of the association or the calculation are the
output variables. Something similar occurs with Fuzzy Control.
The input variable is converted into a linguistic variable with the help of linguistic
terms and finally evaluated with the help of rules. The result, also a "fuzzy" linguistic
variable, must now again be converted into a control variable, since a valve cannot
be controlled with a "fuzzy" variable.

Fuzzy Control in Process in control engineering


control
Level Description
engineering
1 The input variables are fuzzified
2 The linguistic variables produced are associated with the corresponding
operators in accordance with specific rules.
Result of the processing of all rules (inference): a "fuzzy" output variable, that is
to say a variable which is described with its membership degrees through
attributes.
3 Defuzzification of the output variables into a unambiguous number with which an
action can then be associated in the control process.

33002215 21
Fuzzy Control

Concepts of Fuzzy Theory

Linguistic Example
Variables and If the temperature is defined as a linguistic variable, then it can be described by the
Linguistic Terms linguistic terms "cold", "pleasant" and "hot".
Definition
l A linguistic variable is a variable (e.g. temperature) which is described by
linguistic terms.
l Linguistic terms describe attributes of a linguistic variable.

Membership Example
Degree The linguistic terms "cold", "pleasant" and "warm" cannot be clearly distinguished
from one another. In order to properly characterize this fuzzy dividing line, every
linguistic term is assessed and given a so-called membership degree.
This membership degree now indicates to what extent the temperature is really cold.
l A membership degree of 0 for the linguistic term "cold" means that the
temperature is not cold at all.
l A membership degree of 1 for the linguistic term "cold" means that the
temperature is 100% cold; it is really cold. The various concepts are depicted
once more in the illustration.
Example for the membership degree
Linguistic Terms Membership Functions

µ
pleasant warm
Membership degree

cold
1

0
16 17 19 20 23 T/[oC]

Temperature Value of variables

Variable / Linguistic Variable

Definition
The membership degree defines to what extent a physical value is assigned to a
linguistic term.
l 0 means that the value does not correspond at all to the linguistic term.
l 1 means that the value corresponds completely to the linguistic term.
22 33002215
Fuzzy Control

Membership Example
Function The gentle transition from "not really cold" to "really cold" is described by a function.
These kinds of functions are so-called membership functions, since they describe
the membership degree to its linguistic term for each physical value.
In the case of the variable temperature, the membership function describes not only
whether a temperature is "cold" or not, the membership function assigns each
physical value a confidence value with the expression "the temperature is cold" - this
is the membership degree.
In general it is sufficient to characterize the membership via relatively simple
courses of the function such as for example triangles, trapezoids or ramps.
In this way a membership degree can be determined for each physical value of the
variable temperature.
Linguistic Term Membership Functions

µ
pleasant
1
Membership degree

µ
2

µ
1

0
T1 T2 T/[oC]

(T1, µ1), (Τ2, µ2): Elements of the Fuzzy Set

In this example, the membership degree for two different temperature values is
determined. If one has defined a membership function to a linguistic term, then one
can determine the membership of the variable temperature to the appropriate
linguistic term for every temperature with the help of the membership degree.
Definition
The membership function defines a membership degree to a linguistic term for each
physical value.

33002215 23
Fuzzy Control

Fuzzification Example
Fuzzification of the input variable temperature
µ

cold pleasant warm


1

0.7

0.3

0
16 17 19 20 23 T/[ oC]

The input variable in the conventional "sharp" depiction in comparison to the fuzzy
depiction
l Sharp depiction: The temperature is 21 degrees C.
l Fuzzy depiction:
the temperature is:
l cold to a membership degree of 0.0
l pleasant to a membership degree of 0.7
l warm to a membership degree of 0.3
Definition
The determination of the membership degrees for all linguistic terms of a variable in
relation to an input variable is called fuzzification.

24 33002215
Fuzzy Control

Rules Example
If we consider ourselves and our daily activities, we can see that our activities are
based on various prerequisites. We do something when a prerequisite is met. In
order to describe the activities/reaction we use rules.
For example we say:
l If the room temperature is perceived as cold, then open the heating valve a little
or we say:
l If the room temperature is perceived as warm, then close the heating valve a little.
Another rule could say:
l If it is summer and the outdoor temperature is not cold, then turn the heating off
completely.
Behind these rules stands the knowledge of an expert, who, through more or less
extensive learning, has acquired the ability to influence a process in a desired
manner. The knowledge of the expert is not just limited to the type of action (open
the valve a little), but is at the same time associated with the knowledge of what "a
little" means, for example what angle of rotation corresponds to this.
Definition
A rule forms a (fuzzy) statement on the output variable for a specific (fuzzy) input
variable.

Operators Example
Usually conditions (premises) are associated in the rules with one another through
the verbal expressions "AND" and "OR". In the example, the premise "If it is
summer" (the basic variable is the season and the linguistic term is summer) is
associated with the premise "if the outdoor temperature is not cold" in such a way
that both statements must be true in order to be able to carry out the conclusion.
These AND and OR associations are processed by mathematical operators in fuzzy
technology. In Fuzzy Theory there are a series of operators which realize the AND
associations on the one hand and the OR associations on the other hand. The
simplest operator for the AND association is the "minimum" and the simplest
operator for the "OR" association is the "maximum".
Definition
The association of conditions takes place through operators.

Weighting of the In drawing up rules it can happen that they should have different weights. For
rules example, one rule always applies (100%), another rule however does not always
apply (80%). In order to be able to express this, there is the possibility of assigning
each rule a degree of plausibility. In general this is achieved mathematically by
multiplying the association result by the degree of plausibility.

33002215 25
Fuzzy Control

Inference The inference is the result of the processing of all rules

Defuzzification Example
The simplest possibility to create a fuzzy variable from a sharp variable is for every
attribute of the fuzzy variable to supply a suggestion for the sharp variable. Each
linguistic term is thus represented by a set numerical value for the variable. One
speaks in this case of so-called singletons. The suggestions made for each linguistic
term are now weighted with the appropriate membership degrees. In this way the
fuzzy variable is arithmetically transformed back into a sharp variable
Singletons
µ

small large
very small medium very large
1
µ3

µ2 µ4
µ1 = 0 µ5 = 0
0
Y1 Y2 Y3 Y4 Y5 Y

Note: There is also a series of other defuzzification methods in Fuzzy Theory,


some of which are characterized by a great deal of calculation. These will not be
looked at at this point.

Definition
The transformation of fuzzy variables into sharp variables is called defuzzification.

26 33002215
Fuzzy Control

2.2 Fuzzy Control in Concept

Overview

Introduction This chapter describes how Fuzzy Logic is projected and which EFBs are provided
by Concept for this purpose.

What's in this This section contains the following topics:


Section?
Topic Page
EFBs in the FUZZY Library 28
Fuzzification 30
Inference 32
Defuzzification 32
Example for Concept 33

33002215 27
Fuzzy Control

EFBs in the FUZZY Library

EFBs in the EFBs for INT- and REAL-arithmetic


Fuzzy Library
Operation EFB Group Description
Fuzzification FUZ_STERM_INT (see Fuzzify Fuzzification of a
FUZ_STERM_***: Fuzzification of term
one term, p. 67),
FUZ_STERM_REAL (see
FUZ_STERM_***: Fuzzification of
one term, p. 67)
Fuzzification FUZ_ATERM_INT (see Fuzzify Fuzzification of up to
FUZ_ATERM_INT, 9 terms at one time
FUZ_ATERM_REAL: Fuzzification
of all terms, p. 49),
FUZ_ATERM_REAL (see
FUZ_ATERM_INT,
FUZ_ATERM_REAL: Fuzzification
of all terms, p. 49)
Fuzzification FUZ_ATERM_STI (see Fuzzyfy_Struct Fuzzification of up to
FUZ_ATERM_STI, 9 terms at one time.
FUZ_ATERM_STR: Fuzzification Store result in data
of all terms (structure), p. 55), structure.
FUZ_ATERM_STR (see
FUZ_ATERM_STI,
FUZ_ATERM_STR: Fuzzification
of all terms (structure), p. 55)
Inference FUZ_MAX_INT (see Operators_OR OR operator:
FUZ_MAX_***: Fuzzy Maximum, Maximum
p. 59), FUZ_MAX_REAL (see
FUZ_MAX_***: Fuzzy Maximum,
p. 59)
Inference FUZ_MIN_INT (see FUZ_MIN_***: Operators_AND AND operator:
Fuzzy Minimum, p. 61), Minimum
FUZ_MIN_REAL (see
FUZ_MIN_***: Fuzzy Minimum,
p. 61)
Inference FUZ_SUM_INT (see Operators_OR OR operator: Sum
FUZ_SUM_***: Fuzzy Sum, p. 75),
FUZ_SUM_REAL (see
FUZ_SUM_***: Fuzzy Sum, p. 75 )

28 33002215
Fuzzy Control

Operation EFB Group Description


Inference FUZ_PROD_INT (see Operators_AND AND operator:
FUZ_PROD_***: Fuzzy Product, Product
p. 63), FUZ_PROD_REAL (see
FUZ_PROD_***: Fuzzy Product,
p. 63)
Defuzzificati DEFUZ_INT (see DEFUZ_INT, Defuzzify Defuzzification with
on DEFUZ_REAL: Defuzzification with singletons
singletons, p. 39), DEFUZ_REAL
(see DEFUZ_INT, DEFUZ_REAL:
Defuzzification with singletons,
p. 39)
Defuzzificati DEFUZ_STI (see DEFUZ_STI, Defuzzify_Struct Defuzzification with
on DEFUZ_STR: Defuzzification with singletons. Fetch
singletons (structure), p. 45), inputs from data
DEFUZ_STR (see DEFUZ_STI, structure.
DEFUZ_STR: Defuzzification with
singletons (structure), p. 45)

The difference between integer arithmetic and real arithmetic is:


l the solution inside the calculation.
The solution of the membership degree is 0.01 %.
The range of the membership degrees 0...1 is scaled to 0...10 000.
l the possibility of working with physical values in real arithmetic.
l the execution time, which is longer than in real arithmetic.

33002215 29
Fuzzy Control

Fuzzification

Introduction Firstly, all variables that are to be associated with one another through linguistic
rules must be fuzzified. For this the number of attributes a variable is to be assigned
must first be considered. This depends on whether these attributes are also to be
used in the rules. Usually 3 to 5 attributes are sufficient. In Concept you have the
possibility of selecting a fuzzification for each term of a variable or a fuzzification of
up to 9 terms of one variable.

Fuzzification The fuzzification of an individual term takes place with the membership function,
with which supports up to 4 support points.
FUZ_STERM The membership functions can for example look like this:
µ µ
1 1

0 0
falling ramp rising ramp

µ µ
1 1

0 0
trapezoid rectangle

µ µ
1 1

0 0
triangle singleton

For more information please see the description of EFBs FUZ_STERM (see
FUZ_STERM_***: Fuzzification of one term, p. 67).

30 33002215
Fuzzy Control

Fuzzification In general the functions that are used the most are ramp and triangle. The
with fuzzification of an individual term offers the greatest flexibility for experienced fuzzy
FUZ_ATERM or users, but the easiest way to fuzzify a variable is to use the EFB FUZ_ATERM (see
FUZ_ATERM_ST FUZ_ATERM_INT, FUZ_ATERM_REAL: Fuzzification of all terms, p. 49) or
FUZ_ATERM_ST (see FUZ_ATERM_STI, FUZ_ATERM_STR: Fuzzification of all
terms (structure), p. 55) since these EFBs fuzzify not just one term but all the terms
of a fuzzy variable. These EFBs also simplify the input of membership functions for
the different terms.
The idea behind this simplification is that the different membership functions of all
terms of a fuzzy variable are not independent of one another. In most cases, the total
of the membership degrees of two successive functions is 1. If, for the sake of
simplicity, only triangular functions are used instead of trapezoidal functions there
results the following example of the definition of a membership function for 6 terms
µ

0
x1 x2 x3 x4 x5 x6

In this case there are only 6 base points to be defined instead of 2 x 2 + 4 x 3 = 14


base points in the case of a fuzzification with FUZ_STERM (see FUZ_STERM_***:
Fuzzification of one term, p. 67). The EFB FUZ_ATERM (see FUZ_ATERM_INT,
FUZ_ATERM_REAL: Fuzzification of all terms, p. 49) / FUZ_ATERM_ST (see
FUZ_ATERM_STI, FUZ_ATERM_STR: Fuzzification of all terms (structure), p. 55)
allows a maximum of 9 attributes.
The fuzzification must be carried out for each input variable. The result of each
fuzzification are membership degrees for each term that are assigned to the
attributes. In using the EFBs FUZ_ATERM (see FUZ_ATERM_INT,
FUZ_ATERM_REAL: Fuzzification of all terms, p. 49) the result is the creation of
individual variables for the use of graphic connections in the inference. In using the
EFBs FUZ_ATERM_ST (see FUZ_ATERM_STI, FUZ_ATERM_STR: Fuzzification
of all terms (structure), p. 55) the membership degrees are summed in a data
structure.

33002215 31
Fuzzy Control

Inference

Realization of the The rules are realized through the concatenation of the membership degrees of the
rules fuzzy variables. The inputs of the EFBs, which represent the fuzzy operators, are
combined with the membership grades (created by the fuzzy EFBs). The pairs
FUZ_MIN (see FUZ_MIN_***: Fuzzy Minimum, p. 61)/FUZ_MAX (see
FUZ_MAX_***: Fuzzy Maximum, p. 59 ) and FUZ_PROD (see FUZ_PROD_***:
Fuzzy Product, p. 63 )/FUZ_SUM (see FUZ_SUM_***: Fuzzy Sum, p. 75) have
proven to be good combinations for the AND/OR concatenation. Use the pair
FUZ_MIN (see FUZ_MIN_***: Fuzzy Minimum, p. 61)/FUZ_MAX (see
FUZ_MAX_***: Fuzzy Maximum, p. 59 ) in a first approach.

Weighting the Rules must be weighted with a multiplication. In real arithmetic, this purpose is
rules served by the EFB FUZ_PROD_REAL (see FUZ_PROD_***: Fuzzy Product, p. 63).
In integer arithmetic this purpose is served by the EFB FUZ_PROD_INT (see
FUZ_PROD_***: Fuzzy Product, p. 63 ), which takes into account the normalized
form of the membership degrees from 0 ... 10 000.

Defuzzification

Principle The results of the application of all rules are in turn membership degrees for
attributes of the output variable. In order to achieve a usable result (attributes with
membership degrees cannot for example be used directly to control values), the
membership degrees of all terms of the variables must be usefully combined. This
is achieved with the defuzzification function block DEFUZ (see DEFUZ_INT,
DEFUZ_REAL: Defuzzification with singletons, p. 39) .

Working method The function block DEFUZ (see DEFUZ_INT, DEFUZ_REAL: Defuzzification with
in Concept singletons, p. 39) creates, with the help of singletons from the membership degrees,
an unambiguous value for the output variables, which is assigned to the terms of the
output variables.

32 33002215
Fuzzy Control

Example for Concept

Defaults The example is based on integer logic. There are 2 variables, "ipres" and "itemp",
which are to be assessed in accordance with four prescribed rules.
Fuzzification of the variable "ipress" (ipress has 3 linguistic terms)
l below_norm
l norm
l above_norm
Fuzzification of the variable "ipress"
µ

below_norm norm above_norm


1

0
3900 4000 4100 ipress

Fuzzification of the variable "itemp" (itemp has 4 linguistic terms)


l low
l medium
l high
l very_high
Fuzzification of the variable "itemp"
µ

low medium high very_high


1

0
5000 6500 8000 9500 itemp

The following four rules are valid:


l IF ipress = norm AND itemp = high THEN valve= almost_closed
l IF ipress = above_norm AND itemp = very_high THEN valve = closed
l IF ipress = norm AND itemp = medium THEN valve= almost_open
l IF ipress = below_norm AND itemp = low THEN valve = open

33002215 33
Fuzzy Control

The defuzzification should take place with singletons.


Defuzzification of the variable "ivalve" (ivalve has 4 linguistic terms)
l closed
l almost_closed
l almost_open
l open
Defuzzification of the variable "ivalve"
µ

almost_closed almost_open open


1 closed

0
0 3333 6667 10000 ivalve

Realization in Fuzzification:
Concept FBI_2_1 (1)
FUZ_ATERM_INT
ipress X MD1 ipress_below_norm
MD2 ipress_norm
MD3 ipress_above_norm
MD4
MD5
MD6
MD7
3900 S1 MD8
4000 S2 MD9
4100 S3

FBI_2_2 (2)
FUZ_ATERM_INT
ipress X MD1 itemp_low
MD2 itemp_medium
MD3 itemp_high
MD4 itemp_very_high
MD5
MD6
MD7
5000 S1 MD8
6500 S2 MD9
8000 S3
9500 S4

34 33002215
Fuzzy Control

Defuzzification:
Rule 1:
IF press IS norm AND temp IS high
THEN valve IS almost_closed
.2.10 (5)
FUZ_MIN_INT
ipress_norm IN1 OUT ivalve_almost_closed
itemp_high IN2

Rule 2:
IF press IS above_norm OR temp IS very_high
THEN valve IS closed
.2.9 (4)
.2.3 (7)
FUZ_MAX_INT
ipress_above_norm DEFUZ_INT
IN1 OUT ivalve_closed
itemp_very_high IN2 ipress X MD1
MD2
0 ZERO_Y MD3 ivalve
MDiSi1 MD4
Rule 3:
0 MDiSi2 MD5
IF press IS norm AND temp IS medium
THEN valve IS almost_open MDiSi3 MD6
.2.11 (6) 3300 MDiSi4 MD7
FUZ_MIN_INT MDiSi5 MD8
6667 MDiSi6 MD9
ipress_norm IN1 OUT ivalve_almost_open
MDiSi7
itemp_medium IN2
10000 MDiSi8

Rule 4:
IF press IS below_norm OR temp IS low
THEN valve IS open
.2.8 (3)
FUZ_MAX_INT
ipress_below_norm IN1 OUT ivalve_open
itemp_low IN2

33002215 35
Fuzzy Control

36 33002215
EFB descriptions

II
Overview

Introduction These EFB descriptions are documented in alphabetical order.

Note: The number of inputs of some EFBs can be increased to a max. of 32


through vertical size alteration of the FFB symbol. See the description of the
individual EFBs to determine which EFBs.

What's in this This part contains the following chapters:


Part?
Chapter Chapter Name Page
3 DEFUZ_INT, DEFUZ_REAL: Defuzzification with singletons 39
4 DEFUZ_STI, DEFUZ_STR: Defuzzification with singletons 45
(structure)
5 FUZ_ATERM_INT, FUZ_ATERM_REAL: Fuzzification of all 49
terms
6 FUZ_ATERM_STI, FUZ_ATERM_STR: Fuzzification of all 55
terms (structure)
7 FUZ_MAX_***: Fuzzy Maximum 59
8 FUZ_MIN_***: Fuzzy Minimum 61
9 FUZ_PROD_***: Fuzzy Product 63
10 FUZ_STERM_***: Fuzzification of one term 67
11 FUZ_SUM_***: Fuzzy Sum 75

33002215 37
EFB descriptions

38 33002215
DEFUZ_INT, DEFUZ_REAL:
Defuzzification with singletons
3
Overview

Introduction This chapter describes the blocks:


l DEFUZ_INT
l DEFUZ_REAL

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Brief Description 40
Description 41
Detailed description 42
Runtime errors 43

33002215 39
DEFUZ_INT, DEFUZ_REAL: Defuzzification with singletons

Brief Description

Brief Description The function defuzzifies linguistic terms that are represented by singletons, in
accordance with the maximum mean method. The position of the singletons is
defined via support points (S1 ... S9). Each term is weighted with the respective
membership degree (MD1 ... MD9). The range of the membership degrees for data
type INT is 0 ... 10 000 and for data type REAL is 0 ... 1. The meaning of the inputs
(expandable inputs MDiSi) can be inferred from the Parameter description, p. 41 .
The number of inputs (MDiSi) can be increased to a max. of 18 through vertical size
alteration of the block frame. This corresponds to 9 singletons. Additional inputs
cannot be projected.
The data types of all input values (MDiSi) and those of the output value must be the
same. There is a special function block available for the processing of each of the
different data types.
Additional parameters EN and ENO can be projected.

40 33002215
DEFUZ_INT, DEFUZ_REAL: Defuzzification with singletons

Description

Symbol Block description:


DEFUZ_***
BOOL ZERO_Y
*** MDiSi1 Y ***
*** MDiSi2
: :
*** MDiSix
*** = INT, REAL

Formula Block formula:


n

å MDi × Si
Y = i--------------------------------
=1
n
-

å MDi
i=1

Explanation: n = number of singletons


Prerequisite: 2 ≤ n ≤ 9

Parameter Block parameter description:


description
Parameter Data type Meaning
ZERO_Y BOOL 0: Output of the last Y value
MDiSi1 INT, REAL Singleton: 1; MD1 Membership Degree
MDiSi2 INT, REAL Singleton: 1; S1 Support point
MDiSi3 INT, REAL Singleton: 2; MD2 Membership Degree
MDiSi4 INT, REAL Singleton: 2; S2 Support point
: : :
MDiSi17 INT, REAL Singleton: 9; MD9 Membership Degree
MDiSi18 INT, REAL Singleton: 9; S9 Support point
Y INT, REAL Output

33002215 41
DEFUZ_INT, DEFUZ_REAL: Defuzzification with singletons

Detailed description

Function The function block DEFUZ is available as membership function for the mean of
Description maximum method with singletons for the defuzzification of linguistic variables.
The position of the singletons is defined with support points.

µ
(MD)
1
µ (2)
(MD2) µ (4)
(MD4)

µ (1)
(MD1) µ (3)
(MD3)

0
S1 S2 S3 S4 Y

In projecting the functional block, attention should be given that the inputs are
always used in pairs, since every linguistic term is weighted via the respective
membership degree. The meaning of the input indices is described in Parameter
description, p. 41.
The output Y is set to 0.
If all memberships grades have the value 0, then the output behaviour of the function
block can be determined via the input ZERO_Y:
ZERO_Y value Result
ZERO_Y = 0 The output Y remains unchanged.
ZERO_Y = 1 The output Y is set to 0.

42 33002215
DEFUZ_INT, DEFUZ_REAL: Defuzzification with singletons

Runtime errors

Runtime errors An error message results when


l more than 9 support points (this corresponds to a max. of 18 MDiSi inputs) were
projected (E_EFB_TOO_MANY_INPUTS),
l the functional block is initialized with an uneven number of inputs
(E_EFB_WRONG_NUMBER_OF_INPUTS) or
l one of the membership degrees MD1 ... MD9 is outside of the range
(E_EFB_INPUT_VALUE_OUT_OF_RANGE). Only the following ranges are
possible:
l INT: 0 ... 10 000
l REAL: 0 ... 1

33002215 43
DEFUZ_INT, DEFUZ_REAL: Defuzzification with singletons

44 33002215
DEFUZ_STI, DEFUZ_STR:
Defuzzification with singletons
(structure) 4
Overview

Introduction This chapter describes the blocks:


l DEFUZ_STI
l DEFUZ_STR

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Brief Description 46
Representation 46
Detailed description 48
Runtime errors 48

33002215 45
DEFUZ_STI, DEFUZ_STR: Defuzzification with singletons (structure)

Brief Description

Function The function defuzzifies linguistic terms that are represented by singletons, in
description accordance with the maximum mean method. The position of the singletons is
defined via support points (S1 ... S9). Every term is weighted with the respective
membership degree (term1 ... term9) from the data structure FUZ_MD_INT (for
DEFUZ_STI) or FUZ_MD_REAL (for DEFUZ_STR). The range of the membership
degrees for data type INT is 0 ... 10 000 and for data type REAL is 0 ... 1.
The number of inputs (S1 ... Sn) can be increased to a max. of 9 through vertical
size alteration of the block frame. Additional inputs cannot be projected.
The data types of all input values (Sn) must be the same. There is a special function
block available for the processing of each of the different data types.
Additional parameters EN and ENO can be projected.

Representation

Symbol Block representation:


DEFUZ_*
*** ZERO_Y
*** MD Y FUZ_MD_***
*** S1
*** S2 * = STI, STR
: : *** = INT, REAL
*** S9

Form Form of block


n

å MDi × Si
i--------------------------------
=1 -
Y = n

å MDi
i=1

Definition: n = number of singletons


Prerequisite: 2 ≤ n ≤ 9

46 33002215
DEFUZ_STI, DEFUZ_STR: Defuzzification with singletons

Parameter DEFUZ_STI, DEFUZ_STR


description
Parameter Data type Meaning
ZERO_Y BOOL 0: Output of the last Y value
1: Output Y is set to "0"
MD FUZ_MD_INT, Membership Degree (term1 ... term9)
FUZ_MD_REAL
S1 INT, REAL Singleton: 1
S2 INT, REAL Singleton: 2
: : :
S9 INT, REAL Singleton: 9
Y INT, REAL Output

FUZ_MD_INT, FUZ_MD_REAL
Element Data type Meaning
n INT Number of terms
term1 INT, REAL Membership Degree (MD1)
: : :
term9 INT, REAL Membership Degree (MD9)

33002215 47
DEFUZ_STI, DEFUZ_STR: Defuzzification with singletons (structure)

Detailed description

Function The function block DEFUZ_ST is available as membership function for the defuzzifi-
description cation of linguistic variables for the mean of maximum method with singletons.
The position of the singletons is defined with the support points (S1 ... S9).
µ
(MD)
1
µ (2)
(MD2) µ (4)
(MD4)

µ (1)
(MD1) µ (3)
(MD3)

0
S1 S2 S3 S4 Y

Each linguistic term is weighted via the respective membership degree.


If all memberships grades have the value 0, then the output behaviour of the function
block can be determined via the input ZERO_Y:
ZERO_Y value Result
ZERO_Y = 0 The output Y remains unchanged.
ZERO_Y = 1 The output Y is set to 0.

Runtime errors

Runtime errors An error message (E_EFB_TOO_MANY_INPUTS) results if more than 9 support


points were projected.
A warning (E_EFB_WRONG_NUMBER_OF_INPUTS) results, if the number of
inputs (=number of support points S1 ... Sn) does not correspond to the number of
terms used (MD) in the data structure FUZ_MD_INT.n (for DEFUZ_STI) or
FUZ_MD_REAL.n (for DEFUZ_STR). In this case the number of support points
included in the calculation of the output value must correspond to the number of
terms used (MD) in the data structure FUZ_MD_INT.n (for DEFUZ_STI) or
FUZ_MD_REAL.n (for DEFUZ_STR).

48 33002215
FUZ_ATERM_INT,
FUZ_ATERM_REAL: Fuzzification
of all terms 5
Overview

At a Glance This chapter describes the blocks:


l FUZ_ATERM_INT
l FUZ_ATERM_REAL

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Brief Description 50
Representation 51
Detailed description 52
Runtime errors 53

33002215 49
FUZ_ATERM_INT, FUZ_ATERM_REAL: Fuzzification of all terms

Brief Description

Function The function block fuzzifies up to 9 terms of the linguistic variables (input X) and
description indicates the individual membership degree (outputs MD1 ... MD9). The range at
output for data type INT is 0 ... 10 000 and for data type REAL is 0 ... 1. The
membership functions are defined via support points (expandable inputs S1 ... S9).
The function block works with a special simplification for the definition of the
membership functions:
l Ramps for the first and last membership function
l only triangles for the membership functions between the first and the last
l the total of two membership degrees of two successive linguistic terms is always
1 (10 000)
l the sum of all membership degrees of all linguistic terms for each input value X
is always 1 (10 000)
The number of support points (S1 ... Sx) can be increased to a max. of 9 through
vertical size alteration of the block frame. Additional support points cannot be
projected.
The number of the calculated membership degrees corresponds to the number of
membership functions. If less than 9 membership functions are projected, then the
other outputs are assigned the value 0. (e.g. for 4 membership functions, 4
membership degrees for MD1 ... MD4 are calculated and MD5 ... MD9 are to 0).
The data types of all input values and that of the output value must be the same.
There is a special function block available for the processing of each of the different
data types.
Additional parameters EN and ENO can be projected.

50 33002215
FUZ_ATERM_INT, FUZ_ATERM_REAL: Fuzzification of all terms

Representation

Symbol Block representation:


FUZ_ATERM_***
*** X MD1 ***
MD2 ***
MD3 ***
MD4 ***
MD5 ***
MD6 ***
MD7 ***
*** S1 MD8 ***
*** S2 MD9 ***
: :
*** S9 *** = INT, REAL

Parameter Block parameter description:


description
Parameters Data type Meaning
X INT, REAL linguistic variable
S1 INT, REAL Point S1
S2 INT, REAL Point S2
: : :
S9 INT, REAL Point S9
MD1 INT, REAL Output MD1 Membership Degree
MD2 INT, REAL Output MD2 Membership Degree
: : :
MD9 INT, REAL Output MD9 Membership Degree

33002215 51
FUZ_ATERM_INT, FUZ_ATERM_REAL: Fuzzification of all terms

Detailed description

Parameter With the function block FUZ_ATERM all terms of a linguistic variable can be fuzzified
description simultaneously. The membership functions are determined via support points (S1,
S2, S3,...). Through the concept of this fuzzification vertices are defined by a number
of membership functions with one support point in each case. The resulting forms of
the membership functions are ramps and triangles, in which the sum of the individual
membership degrees is always 100%. This connection is explained in the following
timing diagrams.

Timing diagrams 2 membership functions, 2 support points, 2 membership degrees

µ f (1) f (2)
(MD)
1

S1 S2 X
3 membership functions, 3 support points, 3 membership degrees

µ f (1) f (2) f (3)


(MD)
1

S1 S2 S3 X
4 membership functions, 4 support points, 4 membership degrees

f (1)
µ f (4)
f (2) f (3)
(MD)
1

S1 S2 S3 S4 X

52 33002215
FUZ_ATERM_INT, FUZ_ATERM_REAL: Fuzzification of all terms

Runtime errors

Runtime errors An error message results when


l the order of the support points is incorrect
(E_EFB_INPUT_VALUE_OUT_OF_RANGE). The support points must be
arranged in ascending order (S1 < S2 < S3 < ... < S9 ) or
l more than 9 support points were projected (E_EFB_TOO_MANY_INPUTS).

33002215 53
FUZ_ATERM_INT, FUZ_ATERM_REAL: Fuzzification of all terms

54 33002215
FUZ_ATERM_STI,
FUZ_ATERM_STR: Fuzzification
of all terms (structure) 6
Overview

Introduction This chapter describes the blocks:


l FUZ_ATERM_STI
l FUZ_ATERM_STR

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Brief Description 56
Description 57
Detailed description 57
Runtime errors 58

33002215 55
FUZ_ATERM_STI, FUZ_ATERM_STR: Fuzzification of all terms (structure)

Brief Description

Function The function fuzzifies up to 9 terms of the linguistic variables (input X) and issues
description the individual membership degrees in the data structure FUZ_MD_INT (for
FUZ_ATERM_STI) or FUZ_MD_REAL (for FUZ_ATERM_STR) in the elements
term1 ... term9. The range at output for data type INT is 0 ... 10 000 and for data type
REAL is 0 ... 1. The membership functions are defined via support points
(expandable inputs S1 ... S9).
The function block works with a special simplification for the definition of the
membership functions.
l Ramps for the first and last membership function
l only triangles for the membership functions between the first and the last
l the total of two membership degrees of two successive linguistic terms is always
1 (10 000)
l the sum of all membership degrees of all linguistic terms for every input value X
is always 1 (10 000)
The number of support points (S1 ... Sx) can be increased to a max. of 9 through
vertical size alteration of the block frame. Additional support points cannot be
projected.
The number of the calculated membership degrees corresponds to the number of
membership functions and is stored in the data structure (element n). If less than
nine membership functions are projected, then the remaining elements of the data
structure (termx) are not changed. (e.g. for 4 support points there are 4 membership
functions; their 4 membership degrees are on the elements term1 ... term4; term5 ..
term9 are not changed.) This has the advantage that data structures which are
imaged in the signal memory only take up as much memory location as they actually
require.
The data types of all input values must be the same. There is a special function block
available for the processing of each of the different data types.
Additional parameters EN and ENO can be projected.

56 33002215
FUZ_ATERM_STI, FUZ_ATERM_STR: Fuzzification of all terms

Description

Symbol Block description:


FUZ_ATERM_*
*** X MD FUZ_MD_***
*** S1
*** S2
: : * = STI, STR
*** S9 *** = INT, REAL

Parameter FUZ_ATERM_STI, FUZ_ATERM_STR


description
Parameter Data type Meaning
X INT, REAL linguistic variable
S1 INT, REAL Support point S1
S2 INT, REAL Support point S2
: : :
S9 INT, REAL Support point S9
MD FUZ_MD_INT, Output Membership Degree (term1 ... term9)
FUZ_MD_REAL

FUZ_MD_INT, FUZ_MD_REAL
Element Data type Meaning
n INT Number of terms
term1 INT, REAL Membership Degree (MD1)
: : :
term9 INT, REAL Membership Degree (MD9)

Detailed description

Parameter The parameter description and timing diagram for this block can be found in Detailed
description and description, p. 52
timing diagram

33002215 57
FUZ_ATERM_STI, FUZ_ATERM_STR: Fuzzification of all terms (structure)

Runtime errors

Runtime errors An error message results if


l the order of the support points is incorrect
(E_EFB_INPUT_VALUE_OUT_OF_RANGE). The support points must be
arranged in ascending order (S1 < S2 < S3 < ... < S9 ) or
l more than 9 support points were projected (E_EFB_TOO_MANY_INPUTS).

58 33002215
FUZ_MAX_***: Fuzzy Maximum

7
Overview

Introduction This chapter describes the block FUZ_MAX_***.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Brief Description 60
Description 60

33002215 59
FUZ_MAX_***: Fuzzy Maximum

Brief Description

Function The function recognizes the largest input value and issues it at the output.
description The data types INT and REAL can be processed. The range of the inputs and the
output is for data type INT 0 ... 10 000 and for data type REAL 0 ... 1.
The data types of all input values and that of the output value must be the same.
There is a special function available for each of the different data types.
The number of inputs can be increased.
As additional parameter EN and ENO can be projected.

Description

Symbol Block description:


FUZ_MAX_***
*** IN1 ***
*** IN2
: :
*** INn *** = INT, REAL

Formula Block Formula:


OUT = MAX { 0 ,IN1 ,IN2 ,… ,INn }

Parameter Block parameter description:


description
Parameter Data type Meaning
IN1 INT, REAL 1st Input value
IN2 INT, REAL 2nd Input value
: : :
INn INT, REAL n. Input value
OUT INT, REAL Maximum value

60 33002215
FUZ_MIN_***: Fuzzy Minimum

8
Overview

Introduction This chapter describes the block FUZ_MIN_***.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Brief Description 62
Description 62

33002215 61
FUZ_MIN_***: Fuzzy Minimum

Brief Description

Function The function recognizes the smallest input value and issues it at the output.
description The data types INT and REAL can be processed. The range of the inputs and the
output is for data type INT 0 ... 10 000 and for data type REAL 0 ... 1.
The data types of all input values and that of the output value must be the same.
There is a special function available for each of the different data types.
The number of inputs can be increased.
Additional parameters EN and ENO can be projected.

Description

Symbol Block description:


FUZ_MIN_***
*** IN1 ***
*** IN2
: :
*** INn *** = INT, REAL

Formula Block Formula:


REAL: OUT = MIN { 1 ,IN1 ,IN2 ,… ,INn }
INT: OUT = MIN { 10000 ,IN1 ,IN2 ,… ,INn }

Parameter Block parameter description:


description
Parameter Data type Meaning
IN1 INT, REAL 1st Input value
IN2 INT, REAL 2nd Input value
: : :
INn INT, REAL n. Input value
OUT INT, REAL Maximum value

62 33002215
FUZ_PROD_***: Fuzzy Product

9
Overview

Introduction This chapter describes the block FUZ_PROD_***.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Brief Description 64
Description 64
Detailed description 65

33002215 63
FUZ_PROD_***: Fuzzy Product

Brief Description

Function The function forms the product (output MD) of the membership degrees (expandable
description inputs MD1 ... MDx). In addition, the function (in the case of integer calculation)
carries out a multiplication, taking into consideration the range of the membership
degrees (0 ... 10 000). The range at the inputs and the output for the data type INT
is 0 ... 10 000 and for data type REAL is 0 ... 1.
The number of inputs can be increased.
Additional parameters EN and ENO can be projected.

Description

Symbol Block description:


FUZ_PROD_***
*** MD1 MD ***
*** MD2
: :
*** MDx
*** = INT, REAL

Parameter Block parameter description:


description
Parameter Data type Meaning
MD1 INT, REAL 1st Membership Degree
MD2 INT, REAL 2nd Membership Degree
: : :
MDx INT, REAL x. Membership Degree
MD INT, REAL Output product (fuzzy)

64 33002215
FUZ_PROD_***: Fuzzy Product

Detailed description

Function In real arithmetic, the formation of the product is achieved through simple
description multiplication.
Rule Example
(0 ... 1) * (0 ... 1) = (0 ... 1) 0.3 * 0.6 = 0.18

In integer arithmetic, a correction must be carried out through the rescaling of the
range:
Rule Example
(0 ... 10 000) * (0 ... 10 000) = (0 ... 10 000) 3 000 * 6 000 = 1 800 (!)

33002215 65
FUZ_PROD_***: Fuzzy Product

66 33002215
FUZ_STERM_***: Fuzzification of
one term
10
Overview

Introduction This chapter describes the block FUZ_STERM_***.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Brief Description 68
Description 69
Detailed description 70
Runtime errors 74

33002215 67
FUZ_STERM_***: Fuzzification of one term

Brief Description

Function The function fuzzifies an individual term of the linguistic variables (input X) and
description issues its membership degree to the output MD. The range of the output for data
type INT is 0 ... 10 000 and for data type REAL is 0 ... 1. The membership function
is determined by means of a maximum of 4 support points (S1 ... S4). Only 2 to 4
inputs (support points) are possible. For 2 support points the function realizes a
ramp function. For 3 support points a triangular function and for 4 support points a
trapezoidal function. Various function behaviors are possible through different
initialization of the support points.

Note: For initialization with 4 support points, the processing of the membership
function corresponds to SFB 361 FUZZYFY of AKF125.

The data types of all input values and that of the output value must be the same.
There is a special function block available for the processing of each of the different
data types.
The number of the inputs can be increased to a max. of 4 through vertical size
alteration of the block frame.
Additional parameters EN and ENO can be projected.

68 33002215
FUZ_STERM_***: Fuzzification of one term

Description

Symbol Block description:


FUZ_STERM_***
*** X MD ***
*** S1
*** S2
*** S3
*** S4 *** = INT, REAL

Parameter Block parameter description:


description
Parameter Data type Meaning
X INT, REAL linguistic variable
S1 INT, REAL Support point S1
S2 INT, REAL Support point S2
: : :
S4 INT, REAL Support point S4
MD INT, REAL Output Membership Degree

33002215 69
FUZ_STERM_***: Fuzzification of one term

Detailed description

Parameter With the function block FUZ_STERM one term of a linguistic variable is fuzzified.
description The membership function can be defined with up to 4 support points (S1 ... S4). The
support points must be given in ascending order. The standard functions can be
found in the following table, for exceptions see timing diagram. Forms that deviate
from this are possible through a corresponding inversion of the support points order.
The possible sequences of functions are described in the following overview.
Standard functions
Membership function Number of inputs Condition
Falling ramp 2 S2<S1
Rising ramp 2 S1<S2
Triangle 3 S1<S2<S3
Trapezoid 4 S1<S2<S3<S4

70 33002215
FUZ_STERM_***: Fuzzification of one term

Timing diagram Function block with 2 inputs (S1 .... S2)


Falling ramp: S2 < S1
µ
(MD)

Standard function

0
S2 S1 X
Rising ramp: S1 < S2
µ
(MD)
1

Exception

0
S1 S2 X

Function block with 3 inputs (S1 .... S3)


Triangle: S1 < S2 < S3
µ
(MD)
1
Standard function

0
S1 S2 S3 X

33002215 71
FUZ_STERM_***: Fuzzification of one term

Falling ramp: S2 < S3 and S1 > S2


µ
(MD)

Exception

0
S2 S3 X
Rising ramp: S1 < S2 and S3 < S2
µ
(MD)

Exception

0
S1 S2 X

Function block with 4 inputs (S1 .... S4)


Trapezoid: S1 < S2 < S3 < S4
µ
(MD)

Standard function

0
S1 S2 S3 S4 X

72 33002215
FUZ_STERM_***: Fuzzification of one term

Triangle: S1 < S2 < S4 and S3 ≤ S2


µ
(MD)

1
Exception

0
S1 S2 S4 X
Falling ramp: S2 ≤ S3 < S4 and S1 > S2
µ
(MD)
1

Exception

0
S3 S4 X
Rising ramp: S1 < S2 ≤ S3 and S4 < S3
µ
(MD)

Exception

0
S1 S2 X

33002215 73
FUZ_STERM_***: Fuzzification of one term

Rectangle: S1 = S2 < S3 = S4
µ
(MD)

Exception

0
S1 = S2 S3 = S4 X
Singleton: S1 = S2 = S3 = S4
µ
(MD)
1

Exception

0
S1 = S2 = S3 = S4 X

Runtime errors

Runtime errors An error message results when


l the number of support points > is 4 (E_EFB_TO MANY_INPUTS).

74 33002215
FUZ_SUM_***: Fuzzy Sum

11
Overview

Introduction This chapter describes the block FUZ_SUM_***.

What's in this This chapter contains the following topics:


Chapter?
Topic Page
Brief Description 76
Description 76

33002215 75
FUZ_SUM_***: Fuzzy Sum

Brief Description

Function The function forms the limited sum (output MD) of the membership degrees (inputs
description MD1 ... MDx). The range of the inputs and the output for data type INT is 0 ... 10 000
and for data type REAL is 0 ... 1.
The number of inputs can be increased.
The data types of all input values and that of the output value must be the same.
There is a special function block available for the processing of each of the different
data types.
As additional parameter EN and ENO can be projected.

Description

Symbol Block description:


FUZ_SUM_***
*** MD1 MD ***
*** MD2
: :
*** MDx
*** = INT, REAL

Formula Block Formula:


ì n ü
ï
REAL: MD = Min í 1 ,
ï
å ï
MDi ý
ï
î i=1 þ

ì n ü
ï
INT: MD = Min í 10000 ,
ï
å ï
MDi ý
ï
î i=1 þ

Parameter Description of the block parameter:


description
Parameter Data type Meaning
MD1 INT, REAL 1st Membership Degree
MD2 INT, REAL 2nd Membership Degree
: : :
MDx INT, REAL x. Membership Degree
MD INT, REAL Output limited sum

76 33002215
Glossary

active Window The window, which is currently selected. Only one window can be active at any
given time. When a window is active, the color of the title bar changes, so that it is
distinguishable from the other windows. Unselected windows are inactive.

Actual Current connected Input / Output Parameters.


Parameters

Addresses (Direct) addresses are memory ranges on the PLC. They are located in the State
RAM and can be assigned Input/Output modules.
The display/entry of direct addresses is possible in the following formats:
l Standard Format (400001)
l Separator Format (4:00001)
l Compact format (4:1)
l IEC Format (QW1)

ANL_IN ANL_IN stands for the "Analog Input" data type and is used when processing analog
values. The 3x-References for the configured analog input module, which were
specified in the I/O component list, are automatically assigned to the data type and
should therefore only be occupied with Unlocated Variables.

ANL_OUT ANL_OUT stands for the "Analog Output" data type and is used when processing
analog values. The 4x-References for the configured analog output module, which
were specified in the I/O component list, are automatically assigned to the data type
and should therefore only be occupied with Unlocated Variables.

ANY In the present version, "ANY" covers the BOOL, BYTE, DINT, INT, REAL, UDINT,
UINT, TIME and WORD elementary data types and related Derived Data Types.

33002215 77
Glossary

ANY_BIT In the present version, "ANY_BIT" covers the BOOL, BYTE and WORD data types.

ANY_ELEM In the present version, "ANY_ELEM" covers the BOOL, BYTE, DINT, INT, REAL,
UDINT, UINT, TIME and WORD data types.

ANY_INT In the present version, "ANY_INT" covers the DINT, INT, UDINT and UINT data
types.

ANY_NUM In the present version, "ANY_NUM" covers the DINT, INT, REAL, UDINT and UINT
data types.

ANY_REAL In the present version, "ANY_REAL" covers the REAL data type.

Application The window contains the workspace, menu bar and the tool bar for the application
Window program. The name of the application program appears in the title bar. An
application window can contain several Document windows. In Concept the
application window corresponds to a Project.

Argument Synonymous with Actual parameters.

ASCII-Mode The ASCII (American Standard Code for Information Interchange) mode is used to
communicate with various host devices. ASCII works with 7 data bits.

Atrium The PC based Controller is located on a standard AT board, and can be operated
within a host computer in an ISA bus slot. The module has a motherboard (requires
SA85 driver) with two slots for PC104 daughter-boards. In this way, one PC104
daughter-board is used as a CPU and the other as the INTERBUS controller.

Backup file The backup file is a copy of the last Source coding file. The name of this backup file
(Concept-EFB) is "backup??.c" (this is assuming that you never have more than 100 copies of the
source coding file). The first backup file has the name "backup00.c". If you have
made alterations to the Definitions file which do not cause any changes to the EFB
interface, the generation of a backup file can be stopped by editing the source
coding file (Objects → Source). If a backup file is created, the source file can be
entered as the name.

78 33002215
Glossary

Base 16 literals Base 16 literals are used to input whole number values into the hexadecimal system.
The base must be denoted using the prefix 16#. The values can not have any signs
(+/-). Single underscores ( _ ) between numbers are not significant.

Example
16#F_F or 16#FF (decimal 255)
16#E_0 or 16#E0 (decimal 224)

Base 2 literals Base 2 literals are used to input whole number values into the dual system. The
base must be denoted using the prefix 2#. The values can not have any signs (+/-).
Single underscores ( _ ) between numbers are not significant.

Example
2#1111_1111 or 2#11111111 (decimal 255)
2#1110_0000 or 2#11100000 (decimal 224)

Base 8 literals Base 8 literals are used to input whole number values in the octosystem. The base
must be denoted using the prefix 8#. The values can not have any signs (+/-). Single
underscores ( _ ) between numbers are not significant.

Example
8#3_77 or 8#377 (decimal 255)
8#34_0 or 8#340 (decimal 224)

Binary Connections between FFB outputs and inputs with the data type BOOL.
Connections

Bit sequence A data element, which consists of one or more bits.

BOOL BOOL stands for the data type "boolean". The length of the data element is 1 bit
(occupies 1 byte in the memory). The value range for the variables of this data type
is 0 (FALSE) and 1 (TRUE).

Bridge A bridge is a device which connects networks. It enables communication between


nodes on two networks. Each network has its own token rotation sequence - the
token is not transmitted via the bridge.

BYTE BYTE stands for the data type "bit sequence 8". Entries are made as base 2 literal,
base 8 literal or base 16 literal. The length of the data element is 8 bits. A numerical
value range can not be assigned to this data type.

33002215 79
Glossary

Clipboard The clipboard is a temporary memory for cut or copied objects. These objects can
be entered in sections. The contents of the clipboard are overwritten with each new
cut or copy.

Coil A coil is a LD element which transfers the status of the horizontal connection on its
left side, unchanged, to the horizontal connection on its right side. In doing this, the
status is saved in the relevant variable/direct address.

Compact format The first digit (the Reference) is separated from the address that follows by a colon
(4:1) (:) where the leading zeros are not specified.

Constants Constants are Unlocated variables, which are allocated a value that cannot be
modified by the logic program (write protected).

Contact A contact is a LD element, which transfers a status on the horizontal link to its right
side. This status comes from the boolean AND link of the status of the horizontal link
on the left side, with the status of the relevant variable/direct address. A contact
does not change the value of the relevant variable/direct address.

Data transfer Settings which determine how information is transferred from your programming
settings device to the PLC.

Data Types The overview shows the data type hierarchy, as used for inputs and outputs of
functions and function blocks. Generic data types are denoted using the prefix
"ANY".
l ANY_ELEM
l ANY_NUM
ANY_REAL (REAL)
ANY_INT (DINT, INT, UDINT, UINT)
l ANY_BIT (BOOL, BYTE, WORD)
l TIME
l System Data types (IEC Extensions)
l Derived (from "ANY" data types)

80 33002215
Glossary

DCP I/O drop A remote network with a super-ordinate PLC can be controlled using a Distributed
Control Processor (D908). When using a D908 with remote PLC, the super-ordinate
PLC considers the remote PLC as a remote I/O drop. The D908 and the remote PLC
communicate via the system bus, whereby a high performance is achieved with
minimum effect on the cycle time. The data exchange between the D908 and the
super-ordinate PLC takes place via the remote I/O bus at 1.5Mb per second. A
super-ordinate PLC can support up to 31 D908 processors (addresses 2-32).

DDE (Dynamic The DDE interface enables a dynamic data exchange between two programs in
Data Exchange) Windows. The user can also use the DDE interface in the extended monitor to call
up their own display applications. With this interface, the user (i.e. the DDE client)
can not only read data from the extended monitor (DDE server), but also write data
to the PLC via the server. The user can therefore alter data directly in the PLC, while
monitoring and analyzing results. When using this interface, the user can create
their own "Graphic Tool", "Face Plate" or "Tuning Tool" and integrate it into the
system. The tools can be written in any language, i.e. Visual Basic, Visual C++,
which supports DDE. The tools are invoked when the user presses one of the
buttons in the Extended Monitor dialog field. Concept Graphic Tool: Configuration
signals can be displayed as a timing diagram using the DDE connection between
Concept and Concept Graphic Tool.

Declaration Mechanism for specifying the definition of a language element. A declaration usually
covers the connection of an identifier to a language element and the assignment of
attributes such as data types and algorithms.

Definitions file The definitions file contains general descriptive information on the selected EFB and
(Concept-EFB) its formal parameters.

Defragmenting With defragmenting, unanticipated gaps (e.g. resulting from deleting unused
variables) are removed from memory.

Derived Data Derived data types are data types, which are derived from Elementary Data Types
Type and/or other derived data types. The definition of the derived data types is found in
the Concept data type editor.
A distinction is made between global data types and local data types.

33002215 81
Glossary

Derived Function A derived function block represents the invocation of a derived function block type.
Block (DFB) Details of the graphic form of the invocation can be found in the "Functional block
(instance)". In contrast to the invocation of EFB types, invocations of DFB types are
denoted by double vertical lines on the left and right hand side of the rectangular
block symbol.
The output side of a derived function block is created in FBD language, LD
language, ST language, IL language, but only in the current version of the
programming system. Derived functions can also not be defined in the current
version.
A distinction is made between local and global DFBs.

DFB Code The DFB code is the section's DFB code which can be executed. The size of the
DFB code is mainly dependent upon the number of blocks in the section.

DFB instance The DFB instance data is internal data from the derived function blocks used in the
data program.

DINT DINT stands for the data type "double length whole number (double integer)".
Entries are made as integer literal, base 2 literal, base 8 literal or base 16 literal. The
length of the data element is 32 bits. The value range for variables of this data type
reaches from -2 exp (31) to 2 exp (31) -1.

Direct A method of displaying variables in the PLC program, from which the assignment to
Representation the logical memory can be directly - and indirectly to the physical memory - derived.

Document A window within an application window. Several document windows can be open at
Window the same time in an application window. However, only one document window can
ever be active. Document windows in Concept are, for example, sections, the
message window, the reference data editor and the PLC configuration.

DP (PROFIBUS) DP = Remote Peripheral

Dummy An empty file, which consists of a text heading with general file information, such as
author, date of creation, EFB designation etc. The user must complete this dummy
file with further entries.

DX Zoom This property enables the user to connect to a programming object, to monitor and,
if necessary change, its data value.

82 33002215
Glossary

EFB code The EFB code is the executable code of all EFBs used. In addition the used EFBs
count in DFBs.

Elementary Identifier for Functions or Function blocks, whose type definitions are not formulated
functions/ in one of the IEC languages, i.e. whose body for example can not be modified with
function blocks the DFB editor (Concept-DFB). EFB types are programmed in "C" and are prepared
(EFB) in a pre-compiled form using libraries.

EN / ENO (Enable If the value of EN is equal to "0" when the FFB is invoked, the algorithms that are
/ Error signal) defined by the FFB will not be executed and all outputs keep their previous values.
The value of ENO is in this case automatically set to "0". If the value of EN is equal
to "1", when the FFB is invoked, the algorithms which are defined by the FFD will be
executed. After the error-free execution of these algorithms, the value of ENO is
automatically set to "1". If an error occurs during the execution of these algorithms,
ENO is automatically set to "0". The output behavior of the FFB is independent of
whether the FFBs are invoked without EN/ENO or with EN=1. If the EN/ENO display
is switched on, it is imperative that the EN input is switched on. Otherwise, the FFB
is not executed. The configuration of EN and ENO is switched on or off in the Block
Properties dialog box. The dialog box can be invoked with the Objects →
Properties...menu command or by double-clicking on the FFB.

Error If an error is recognized during the processing of a FFB or a step (e.g. unauthorized
input values or a time error), an error message appears, which can be seen using
the Online → Event Viewer...menu command. For FFBs, the ENO output is now set
to "0".

Evaluation The process, through which a value is transmitted for a Function or for the output of
a Function block during Program execution.

Expression Expressions consist of operators and operands.

FFB (Functions/ Collective term for EFB (elementary functions/function blocks) and DFB (Derived
Function blocks) function blocks)

33002215 83
Glossary

Field variables A variable, which is allocated a defined derived data type with the key word ARRAY
(field). A field is a collection of data elements with the same data type.

FIR Filter (Finite Impulse Response Filter) a filter with finite impulse answer

Formal Input / Output parameters, which are used within the logic of a FFB and led out of
parameters the FFB as inputs/outputs.

Function (FUNC) A program organization unit, which supplies an exact data element when
processing. a function has no internal status information. Multiple invocations of the
same function using the same input parameters always supply the same output
values.
Details of the graphic form of the function invocations can be found in the definition
"Functional block (instance)". In contrast to the invocations of the function blocks,
function invocations only have a single unnamed output, whose name is the same
as the function. In FBD each invocation is denoted by a unique number via the
graphic block, this number is automatically generated and can not be altered.

Function block A function block is a program organization unit, which correspondingly calculates the
(Instance) (FB) functionality values that were defined in the function block type description, for the
outputs and internal variable(s), if it is invoked as a certain instance. All internal
variable and output values for a certain function block instance remain from one
function block invocation to the next. Multiple invocations of the same function block
instance with the same arguments (input parameter values) do not therefore
necessarily supply the same output value(s).
Each function block instance is displayed graphically using a rectangular block
symbol. The name of the function block type is stated in the top center of the
rectangle. The name of the function block instance is also stated at the top, but
outside of the rectangle. It is automatically generated when creating an instance,
but, depending on the user's requirements, it can be altered by the user. Inputs are
displayed on the left side of the block and outputs are displayed on the right side.
The names of the formal input/output parameters are shown inside the rectangle in
the corresponding places.
The above description of the graphic display is especially applicable to the function
invocations and to DFB invocations. Differences are outlined in the corresponding
definitions.

Function Block One or more sections, which contain graphically displayed networks from Functions,
Dialog (FBD) Function blocks and Connections.

Function block A language element, consisting of: 1. the definition of a data structure, divided into
type input, output and internal variables; 2. a set of operations, which are performed with
elements of the data structure, when a function block type instance is invoked. This
set of operations can either be formulated in one of the IEC languages (DFB type)
or in "C" (EFB type). A function block type can be instanced (invoked) several times.

84 33002215
Glossary

Function The function number is used to uniquely denote a function in a program or DFB. The
Number function number can not be edited and is automatically assigned. The function
number is always formed as follows: .n.m

n = Number of the section (consecutive numbers)


m = Number of the FFB object in the section (current number)

Generic Data A data type, which stands in place of several other data types.
Type

Generic literals If the literal's data type is not relevant, simply specify the value for the literal. If this
is the case, Concept automatically assigns the literal a suitable data type.

Global Data Global data are Unlocated variables.

Global derived Global derived data types are available in each Concept project and are occupied in
data types the DFB directory directly under the Concept directory.

Global DFBs Global DFBs are available in each Concept project. The storage of the global DFBs
is dependant upon the settings in the CONCEPT.INI file.

Global macros Global macros are available in each Concept project and are stored in the DFB
directory directly under the Concept directory.

Groups (EFBs) Some EFB libraries (e.g. the IEC library) are divided into groups. This facilitates
locating the EFBs especially in expansive libraries.

Host Computer Hardware and software, which support programming, configuring, testing, operating
and error searching in the PLC application as well as in a remote system application,
in order to enable source documentation and archiving. The programming device
can also be possibly used for the display of the process.

33002215 85
Glossary

I/O Map The I/O and expert modules from the various CPUs are configured in the I/O map.

Icon Graphical representation of different objects in Windows, e.g. drives, application


programs and document windows.

IEC 61131-3 International standard: Programmable Logic Controls - Part 3: Programming


languages.

IEC Format There is an IEC type designation in initial position of the address, followed by the
(QW1) five-figure address.
l %0x12345 = %Q12345
l %1x12345 = %I12345
l %3x12345 = %IW12345
l %4x12345 = %QW12345

IEC name An identifier is a sequence of letters, numbers and underscores, which must begin
conventions with either a letter or underscore (i.e. the name of a function block type, an instance,
(identifier) a variable or a section). Letters of a national typeface (i.e.: ö,ü, é, õ) can be used,
except in project and DFB names.
Underscores are significant in identifiers; e.g. "A_BCD" and "AB_CD" are
interpreted as two separate identifiers. Several leading and multiple successive
underscores are not allowed.
Identifiers should not contain any spaces. No differentiation is made between upper
and lower case, e.g. "ABCD" and "abcd" are interpreted as the same identifier.
Identifiers should not be Keywords.

IEC Program The IEC program memory consists of the program code, EFB code, the section data
Memory and the DFB instance data.

IIR Filter (Infinite Impulse Response Filter) a filter with infinite impulse answer

Initial step The first step in a sequence. A step must be defined as an initial step for each
sequence. The sequence is started with the initial step when first invoked.

Initial value The value, which is allocated to a variable when the program is started. The values
are assigned in the form of literals.

86 33002215
Glossary

Input bits The 1/0 status of the input bits is controlled via the process data, which reaches from
(1x references) an input device to the CPU.

Note: The x, which follows the initial reference type number, represents a five-
figure storage location in the user data memory, i.e. the reference 100201 signifies
an output or marker bit at the address 201 in the State RAM.

Input parameter Upon invocation of a FFB, this transfers the corresponding argument.
(Input)

Input words An input word contains information, which originates from an external source and is
(3x references) represented by a 16 bit number. A 3x register can also contain 16 sequential input
bits, which were read into the register in binary or BCD (binary coded decimal)
format. Note: The x, which follows the initial reference type number, represents a
five-figure storage location in the user data memory, i.e. the reference 300201
signifies a 16-bit input word at the address 201 in the State RAM.

Instance Name An identifier, which belongs to a certain function block instance. The instance name
is used to clearly denote a function block within a program organization unit. The
instance name is automatically generated, but it can be edited. The instance name
must be unique throughout the whole program organization unit, and is not case
sensitive. If the name entered already exists, you will be warned and you will have
to choose another name. The instance name must comply with the IEC name
conventions otherwise an error message appears. The automatically generated
instance name is always formed as follows: FBI_n_m

FBI = Function Block Instance


n = Number of the section (consecutive numbers)
m = Number of the FFB object in the section (current number)

Instancing Generating an Instance.

Instruction (IL) Instructions are the "commands" of the IL programming language. Each instruction
begins on a new line and is performed by an operator with a modifier if necessary,
and if required for the current operation, by one or more operands. If several
operands are used, they are separated by commas. A character can come before
the instruction, which is then followed by a colon. The comment must, if present, be
the last element of the line.

33002215 87
Glossary

Instruction When programming electrical controls, the user must implement operation-coded
(LL984) instructions in the form of picture objects, which are divided into a recognizable
contact form. The designed program objects are, on a user level, converted to
computer usable OP codes during the download process. The OP codes are
decoded in the CPU and processed by the firmware functions of the controller in a
way that the required control is implemented.

Instruction (ST) Instructions are "commands" of the ST programming language. Instructions must be
completed by semicolons. Several instructions can be entered in one line (separated
by semicolons).

Instruction list IL is a text language according to IEC 1131, which is shown in operations, i.e.
(IL) conditional or unconditional invocations of Functions blocks and Functions,
conditional or unconditional jumps etc. through instructions.

INT INT stands for the data type "whole number (integer)". Entries are made as integer
literal, base 2 literal, base 8 literal or base 16 literal. The length of the data element
is 16 bits. The value range for variables of this datatype reaches from -2 exp (15) to
2 exp (15) -1.

Integer literals Integer literals are used to input whole number values into the decimal system. The
values can have a preceding sign (+/-). Single underscores ( _ ) between numbers
are not significant.

Example
-12, 0, 123_456, +986

INTERBUS (PCP) The new INTERBUS (PCP) I/O drop type is entered into the Concept configurator,
to allow use of the INTERBUS PCP channel and the INTERBUS process data pre-
processing (PDV). This I/O drop type is assigned the INTERBUS switching module
180-CRP-660-01.
The 180-CRP-660-01 differs from the 180-CRP-660-00 only in the fact that it has a
clearly larger I/O range in the control state RAM.

Invocation The process by which the execution of an operation is initiated.

Jump Element of the SFC language. Jumps are used to skip zones in the sequence.

88 33002215
Glossary

Keywords Keywords are unique combinations of characters, which are used as special
syntactical components, as defined in Appendix B of the IEC 1131-3. All keywords
which are used in the IEC 1131-3 and therefore in Concept, are listed in Appendix
C of the IEC 1131-3. These keywords may not be used for any other purpose, i.e.
not as variable names, section names, instance names etc.

Ladder Diagram Ladder Diagram is a graphic programming dialog according to IEC1131, which is
(LD) optically oriented to the "rung" of a relay contact plan.

Ladder Logic 984 The terms Ladder Logic and Ladder Diagram refer to the word Ladder being
(LL) executed. In contrast to a circuit diagram, a ladder diagram is used by electrotech-
nicians to display an electrical circuit (using electrical symbols), which should show
the course of events and not the existing wires, which connect the parts with each
other. A usual user interface for controlling the actions of automation devices
permits a Ladder Diagram interface, so that electrotechnicians do not have to learn
new programming languages to be able to implement a control program.
The structure of the actual Ladder Diagram enables the connection of electric
elements in such a way that generates a control output, which is dependent upon a
logical power flow through used electrical objects, which displays the previously
requested condition of a physical electrical device.
In simple form, the user interface is a video display processed by the PLC
programming application, which sets up a vertical and horizontal grid in which
programming objects are classified. The diagram contains the power grid on the left
side, and when connected to activated objects, the power shifts from left to right.

Landscape Landscape means that when looking at the printed text, the page is wider than it is
high.

Language Every basic element in one of the IEC programming languages, e.g. a step in SFC,
Element a function block instance in FBD or the initial value of a variable.

Library Collection of software objects, which are intended for re-use when programming
new projects, or even building new libraries. Examples are the libraries of the
Elementary function block types.
EFB libraries can be divided up into Groups.

33002215 89
Glossary

Link A control or data flow connection between graphical objects (e.g. steps in the SFC
Editor, function blocks in the FBD Editor) within a section, represented graphically
as a line.

Literals Literals are used to provide FFB inputs, and transition conditions etc with direct
values. These values can not be overwritten by the program logic (write-protected).
A distinction is made between generic and standardized literals.
Literals are also used to allocate, to a constant, a value or a variable, an initial value.
Entries are made as base 2 literal, base 8 literal, base 16 literal, integer literal, real
literal or real literal with exponent.

Local derived Local derived data types are only available in a single Concept project and the local
data types DFBs and are placed in the DFB directory under the project directory.

Local DFBs Local DFBs are only available in a single Concept project and are placed in the DFB
directory under the project directory.

Local Link The local network is the network, which connects the local nodes with other nodes
either directly or through bus repeaters.

Local macros Local macros are only available in a single Concept project and are placed in the
DFB directory under the project directory.

Local network The local node is the one which is currently being configured.
nodes

Located variable A state RAM address (reference addresses 0x, 1x, 3x,4x) is allocated to located
variables. The value of these variables is saved in the state RAM and can be
modified online using the reference data editor. These variables can be addressed
using their symbolic names or their reference addresses.

All inputs and outputs of the PLC are connected to the state RAM. The program can
only access peripheral signals attached to the PLC via located variables. External
access via Modbus or Modbus Plus interfaces of the PLC, e.g. from visualization
systems, is also possible via located variables.

90 33002215
Glossary

Macro Macros are created with the help of the Concept DFB software.
Macros are used to duplicate frequently used sections and networks (including their
logic, variables and variable declaration).
A distinction is made between local and global macros.

Macros have the following properties:


l Macros can only be created in the FBD and LD programming languages.
l Macros only contain one section.
l Macros can contain a section of any complexity.
l In programming terms, there is no difference between an instanced macro, i.e. a
macro inserted into a section and a conventionally created section.
l DFB invocation in a macro
l Declaring variables
l Using macro-specific data structures
l Automatic transfer of the variables declared in the macro.
l Initial values for variables
l Multiple instancing of a macro in the entire program with differing variables
l The name of the section, variable names and data structure names can contain
up to 10 different exchange marks (@0 to @9).

MMI Man-Machine-Interface

Multi element Variables to which a Derived data type defined with STRUCT or ARRAY is allocated.
variables A distinction is made here between field variables and structured variables.

Network A network is the collective switching of devices to a common data path, which then
communicate with each other using a common protocol.

Network node A node is a device with an address (1...64) on the Modbus Plus network.

Node Node is a programming cell in a LL984 network. A cell/node consists of a 7x11


matrix, i.e. 7 rows of 11 elements.

33002215 91
Glossary

Node Address The node address is used to uniquely denote a network node in the routing path.
The address is set on the node directly, e.g. using the rotary switch on the back of
the modules.

Operand An operand is a literal, a variable, a function invocation or an expression.

Operator An operator is a symbol for an arithmetic or boolean operation which is to be


executed.

Output A parameter, through which the result(s) of the evaluation of a FFB is/are returned.
parameter
(output):

Output/Marker An output/marker bit can be used to control real output data using an output unit of
bits the control system, or to define one or more discrete outputs in the state RAM. Note:
(0x references) The x, which follows the initial reference type number, represents a five-figure
storage location in the user data memory, i.e. the reference 000201 signifies an
output or marker bit at the address 201 in the State RAM.

Output/marker An output / marker word can be used to save numerical data (binary or decimal) in
words the state RAM, or to send data from the CPU to an output unit in the control system.
(4x references) Note: The x, which follows the initial reference type number, represents a five-figure
storage location in the user data memory, i.e. the reference 400201 signifies a 16 bit
output or marker word at the address 201 in the State RAM.

Peer CPU The Peer CPU processes the token execution and the data flow between the
Modbus Plus network and the PLC user logic.

PLC Memory programmable controller

Portrait Portrait means that the sides are larger than the width when printed.

Program The uppermost program organization unit. A program is closed on a single PLC
download.

92 33002215
Glossary

Program A function, a function block, or a Program. This term can refer to either a type or an
organization unit instance.

Program A redundancy system consists of two identically configured PLC machines, which
redundancy communicate with one another via redundancy processors. In the case of a
system breakdown of the primary PLC, the secondary PLC takes over the control check.
(Hot Standby) Under normal conditions, the secondary PLC does not take over the control function,
but checks the status information, in order to detect errors.

Project General description for the highest level of a software tree structure, which specifies
the super-ordinate project name of a PLC application. After specifying the project
name you can save your system configuration and your control program under this
name. All data that is created whilst setting up the configuration and program,
belongs to this super-ordinate project for this specific automation task.
General description for the complete set of programming and configuration
information in the project database, which represents the source code that
describes the automation of a system.

Project database The database in the host computer, which contains the configuration information for
a project.

Prototype file The prototype file contains all the prototypes of the assigned functions. In addition,
(Concept-EFB) if one exists, a type definition of the internal status structure is specified.

REAL REAL stands for the data type "floating point number". The entry can be real-literal
or real-literal with an exponent. The length of the data element is 32 bits. The value
range for variables of this data type extends from +/-3.402823E+38.

Note: Dependent on the mathematical processor type of the CPU, different ranges
within this permissible value range cannot be represented. This applies to values
that are approaching ZERO and for values that approach INFINITY. In these cases
NAN (Not A Number) or INF (INFinite) will be displayed in the animation mode
instead of a number value.

Real literals Real literals are used to input floating point values into the decimal system. Real
literals are denoted by a decimal point. The values can have a preceding sign (+/-).
Single underscores ( _ ) between numbers are not significant.

Example
-12.0, 0.0, +0.456, 3.14159_26

33002215 93
Glossary

Real literals with Real literals with exponents are used to input floating point values into the decimal
exponents system. Real literals with exponents are identifiable by a decimal point. The
exponent indicates the power of ten, with which the existing number needs to be
multiplied in order to obtain the value to be represented. The base can have a
preceding negative sign (-). The exponent can have a preceding positive or negative
sign (+/-). Single underscores ( _ ) between numbers are not significant. (Only
between characters, not before or after the decimal point and not before or after "E",
"E+" or "E-")

Example
-1.34E-12 or -1.34e-12
1.0E+6 or 1.0e+6
1.234E6 or 1.234e6

Reference Every direct address is a reference that begins with an indicator, which specifies
whether it is an input or an output and whether it is a bit or a word. References that
begin with the code 6, represent registers in the extended memory of the state RAM.
0x range = Output/Marker bits
1x range = Input bits
3x range = Input words
4x range = Output registers
6x range = Register in the extended memory

Note: The x, which follows each initial reference type number, represents a five-
digit storage location in the user data memory, i.e. the reference 400201 signifies
a 16 bit output or marker word at the address 201 in the State RAM.

Register in the 6x references are holding registers in the extended memory of the PLC. They can
extended only be used with LL984 user programs and only with a CPU 213 04 or CPU 424 02.
memory
(6x-reference)

Remote Network Remote programming in the Modbus Plus network enables maximum performance
(DIO) when transferring data and dispenses with the need for connections. Programming
a remote network is simple. Setting up a network does not require any additional
ladder logic to be created. All requirements for data transfer are fulfilled via
corresponding entries in the Peer Cop Processor.

RIO (Remote I/O) Remote I/O indicates a physical location of the I/O point controlling devices with
regard to the CPU controlling them. Remote inp./outputs are connected to the
controlling device via a twisted communication cable.

RTU-Mode Remote Terminal Unit


The RTU mode is used for communication between the PLC and an IBM compatible
personal computer. RTU works with 8 data bits.

94 33002215
Glossary

Runtime error Errors, which appear during program processing on the PLC, in SFC objects (e.g.
Steps) or FFBs. These are, for example, value range overflows for numbers or
timing errors for steps.

SA85 module The SA85 module is a Modbus Plus adapter for IBM-AT or compatible computers.

Scan A scan consists of reading the inputs, processing the program logic and outputting
the outputs.

Section A section can for example be used to describe the functioning mode of a
technological unit such as a motor.
A program or DFB consists of one or more sections. Sections can be programmed
with the IEC programming languages FBD and SFC. Only one of the named
programming languages may be used within a section at any one time.
Each section has its own document window in Concept. For reasons of clarity,
however, it is useful to divide a very large section into several small ones. The scroll
bar is used for scrolling within a section.

Section Code Section Code is the executable code of a section. The size of the Section Code is
mainly dependent upon the number of blocks in the section.

Section Data Section data is the local data in a section such as e.g. literals, connections between
blocks, non-connected block inputs and outputs, internal status memory of EFBs.

Note: Data which appears in the DFBs of this section is not section data.

Separator The first digit (the reference) is separated from the five-digit address that follows by
Format (4:00001) a colon (:).

Sequence The SFC Language Elements enable a PLC program organization unit to be divided
language (SFC) up into a number of Steps and Transitions, which are connected using directional
Links. A number of actions belong to each step, and transition conditions are
attached to each transition.

Serial With serial connections (COM) the information is transferred bit by bit.
Connections

33002215 95
Glossary

Source code file The source code file is a normal C++ source file. After executing the Library →
(Concept-EFB) Create files menu command, this file contains an EFB-code frame, in which you
have to enter a specific code for the EFB selected. To do this invoke the Objects →
Source menu command.

Standard Format The five-digit address comes directly after the first digit (the reference).
(400001)

Standardized If you would like to manually determine a literal's data type, this may be done using
literals the following construction: ’Data type name’#’value of the literal’.

Example
INT#15 (Data type: integer, value: 15),
BYTE#00001111 (Data type: byte, value: 00001111)
REAL#23.0 (Data type: real, value: 23.0)

To assign the data type REAL, the value may also be specified in the following
manner: 23.0.
Entering a comma will automatically assign the data type REAL.

State RAM The state RAM is the memory space for all variables, which are accessed via
References (Direct representation) in the user program. For example, discrete
inputs, coils, input registers, and output registers are located in the state RAM.

State RAM Overview:


overview for
uploading and Concept Project database
downloading
State RAM-
Variables U2 Mirror (Image)
Variables- (Initial values) for loading from RDE
Editor and/or loading Editor
in Signal-
D1 memory

U3 D3 D2 U1

PLC-State RAM
0x / 1x / 3x / 4x

Status Bits For every device with global inputs or specific inputs/outputs of Peer Cop data, there
is a status bit. If a defined group of data has been successfully transferred within the
timeout that has been set, the corresponding status bit is set to 1. If this is not the
case, this bit is set to 0 and all the data belonging to this group is deleted (to 0).

96 33002215
Glossary

Step SFC-language element: Situation, in which the behavior of a program, in reference


to its inputs and outputs, follows those operations which are defined by the actions
belonging to the step.

Step name The step name is used to uniquely denote a step in a program organization unit. The
step name is generated automatically, but it can be edited. The step name must be
unique within the entire program organization unit, otherwise an error message will
appear.
The automatically generated step name is always formed as follows: S_n_m

S = step
n = Number of the section (consecutive numbers)
m = Number of the step in the section (current number)

Structured text ST is a text language according to IEC 1131, in which operations, e.g. invocations
(ST) of Function blocks and Functions, conditional execution of instructions, repetitions
of instructions etc. are represented by instructions.

Structured Variables to which a Derived data type defined with STRUCT (structure) is allocated.
variables A structure is a collection of data elements with generally different data types
(elementary data types and/or derived data types).

SY/MAX In Quantum control devices, Concept includes the preparation of I/O-map SY/MAX-
I/O modules for remote controlling by the Quantum PLC. The SY/MAX remote
backplane has a remote I/O adapter in slot 1, which communicates via a Modicon
S908 R I/O System. The SY/MAX-I/O modules are executed for you for labeling and
inclusion in the I/O map of the Concept configuration.

Template file The template file is an ASCII file with layout information for the Concept FBD Editor,
(Concept-EFB) and the parameters for code creation.

TIME TIME stands for the data type "time". The entry is time literal. The length of the data
element is 32 bits. The value range for variables of this data type extends from 0 to
2exp(32)-1. The unit for the data type TIME is 1 ms.

33002215 97
Glossary

Time literals Permissible units for times (TIME) are days (D), hours (H), minutes (M), seconds (S)
and milliseconds (MS) or combinations of these. The time must be marked with the
prefix t#, T#, time# or TIME#. The "overflow" of the unit with the highest value is
permissible, e.g. the entry T#25H15M is allowed.

Example
t#14MS, T#14.7S, time#18M, TIME#19.9H, t#20.4D, T#25H15M,
time#5D14H12M18S3.5MS

Token The network "token" controls the temporary possession of the transfer right via a
single node. The token passes round the nodes in a rotating (increasing) address
sequence. All nodes follow the token rotation and can receive all the possible data
that is sent with it.

Total IEC The total IEC memory consists of the IEC program memory and the global data.
memory

Traffic Cop The traffic cop is an IO map, which is generated from the user-IO map. The traffic
cop is managed in the PLC and in addition to the user IO map, contains e.g. status
information on the I/O stations and modules.

Transition The condition, in which the control of one or more predecessor steps passes to one
or more successor steps along a directed link.

UDEFB User-defined elementary functions/function blocks


Functions or function blocks, which were created in the C programming language,
and which Concept provides in libraries.

UDINT UDINT stands for the data type "unsigned double integer". Entries are made as
integer literal, base 2 literal, base 8 literal or base 16 literal. The length of the data
element is 32 bits. The value range for variables of this data type extends from 0 to
2exp(32)-1.

UINT UINT stands for the data type "unsigned integer". Entries are made as integer literal,
base 2 literal, base 8 literal or base 16 literal. The length of the data element is 16
bits. The value range for variables of this data type extends from 0 to (2exp 16)-1.

98 33002215
Glossary

Unlocated Unlocated variables are not allocated a state RAM address. They therefore do not
variable occupy any state RAM addresses. The value of these variables is saved in the
internal system and can be changed using the reference data editor. These
variables are only addressed using their symbolic names.

Signals requiring no peripheral access, e.g. intermediate results, system tags etc.,
should be primarily declared as unlocated variables.

Variables Variables are used to exchange data within a section, between several sections and
between the program and the PLC.
Variables consist of at least one variable name and one data type.
If a variable is assigned a direct address (reference), it is called a located variable.
If the variable has no direct address assigned to it, it is called an unlocated variable.
If the variable is assigned with a derived data type, it is called a multi element
variable.
There are also constants and literals.

Warning If a critical status is detected during the processing of a FFB or a step (e.g. critical
input values or an exceeded time limit), a warning appears, which can be seen using
the Online → Event Viewer...menu command. For FFBs, the ENO remains set to
"1".

WORD WORD stands for the data type "bit sequence 16". Entries are made as base 2
literal, base 8 literal or base 16 literal. The length of the data element is 16 bits. A
numerical value range can not be assigned to this data type.

33002215 99
Glossary

100 33002215
Index
B
AC
D Fuzzification of one term, 67
Fuzzify
DEFUZ_INT, 39 FUZ_ATERM_INT, 49
DEFUZ_REAL, 39 FUZ_ATERM_REAL, 49
DEFUZ_STI, 45
FUZ_STERM_***, 67
DEFUZ_STR, 45
Fuzzify_Struct
Defuzzification, 26, 32
FUZ_ATERM_STI, 55
Defuzzification with singletons, 39, 45 FUZ_ATERM_STR, 55
Defuzzify FUZZY
DEFUZ_INT, 39 DEFUZ_INT, 39
DEFUZ_REAL, 39
DEFUZ_REAL, 39
Defuzzify_Struct
DEFUZ_STI, 45
DEFUZ_STI, 45
DEFUZ_STR, 45
DEFUZ_STR, 45
FUZ_ATERM_INT, 49
FUZ_ATERM_REAL, 49
FUZ_ATERM_STI, 55
F FUZ_ATERM_STR, 55
Function FUZ_MAX_***, 59
Parameterization, 13, 14 FUZ_MIN_***, 61
Function block FUZ_PROD_***, 63
Parameterization, 13, 14 FUZ_STERM_***, 67
FUZ_ATERM_INT, 49 FUZ_SUM_***, 75
FUZ_ATERM_REAL, 49
FUZ_ATERM_STI, 55
FUZ_ATERM_STR, 55
FUZ_MAX_***, 59
FUZ_MIN_***, 61
FUZ_PROD_***, 63
FUZ_STERM_***, 67
FUZ_SUM_***, 75
Fuzzification, 24, 30
Fuzzification of all terms, 49
Fuzzification of all terms (structure), 55

33002215 101
Index

Fuzzy Control, 17 L
Concepts, 22
Linguistic Term, 22
Defuzzification, 26, 32
Linguistic Variable, 22
Example, 33
Fundamental Principles, 20
Fuzzification, 24, 30 M
in Concept, 27
Inference, 26, 32 Membership Degree, 22
Introduction, 19 Membership Function, 23
Library, 28
Linguistic Term, 22
Linguistic Variable, 22
O
Membership Degree, 22 Operators, 25
Membership Function, 23 Operators_AND
Operators, 25 FUZ_MIN_***, 61
Procedure in control engineering, 21 FUZ_PROD_***, 63
Realization in Concept, 34 Operators_OR
Rule weighting, 25 FUZ_MAX_***, 59
Rules, 25, 32 FUZ_SUM_***, 75
Singletons, 26
Fuzzy Library, 28
Fuzzy Maximum, 59
P
Fuzzy Minimum, 61 Parameterization, 13, 14
Fuzzy Product, 63
Fuzzy Sum, 75
R
Rules, 25, 32
I
Inference, 26, 32
S
Singletons, 26

102 33002215

You might also like