Products/fuzzyTECH Editions/Editions Overview
We have
created different Editions of fuzzyTECH to
complement the specific needs of your target hardware. This page
provides you with an
overview on the three groups of fuzzyTECH Editions:
Further down on this page you find detailed Technical Specifications for all Editions. To quickly find the right fuzzyTECH Edition for you needs, refer to the FAQ page.
General Purpose fuzzyTECH Edition
The Edition
also support the special
"plug-and-play" type runtime modules provided for specific process
control
software such as InTouch™, FactoryLink™,
TheFIX™, Genesis™, and WinCC™.
In addition to the M source code generation provided by every fuzzyTECH
Edition,
the fuzzyTECH Professional Edition also
contain a MEX runtime module
that provides high-performance computation of fuzzy logic systems in
the Matlab/Simulink™
environment. N.B.: Starting
with release 5.0, the fuzzyTECH Professional
Edition replaces the fuzzyTECH Precompiler Edition.
fuzzyTECH MCU Pack for Embedded Control
The fuzzyTECH
MCU Pack features assembly code
generation for a variety of microcontroller families. This assembly
code is highly
optimized for the respective microcontrollers and allows for the most
efficient
implementation possible. All fuzzyTECH MCU Editions
can generate C code, too. There
is no runtime license fee for C or assembly code. Some fuzzyTECH
MCU Editions
support RTRCD functionality. All fuzzyTECH MCU
Editions support Standard Membership Functions, MIN-MAX Inference,
Standard
Operators and Standard Defuzzification Methods. Please contact
us if you use a microcontroller that is not
listed here.
fuzzyTECH IA Editions for Industrial Automation
The fuzzyTECH
IA Editions are optimized for
Programmable Logic Controllers (PLCs). These Editions generate
optimized function blocks for these controllers. All fuzzyTECH
IA Editions feature Online
functionality. Please call INFORM if you use
a PLC or process
controller that is not listed here. Integration with common process
control software
packages is provided by the fuzzyTECH Professional
Edition.
The following tables provide a summary of the various fuzzyTECH Editions specifications. For a detailed explanation of the terminology used here, download and install the fuzzyTECH Demo from the Download section and use the index function of its Online Help System.
Overview
fuzzyTECH is available in different editions to
provide
the most comprehensive support for your target platform and application
area. Due to
differences in the capabilities of the supported hardware platforms,
technical
restrictions apply to the size of the fuzzy systems. The following
table shows an
overview of the
maximum number of interfaces, variables, terms, rule blocks and rules
for the different fuzzyTECH
Editions. A "-" sign indicates that no
practical limit exists. The total number of Variables
(Total) represent the
number of input, output and intermediate
variables of the entire fuzzy logic system. The columns Input
and Output show the
maximum amount of input and output
variables. Terms per Variable
relates to the total number of terms
for each variable. The column Total
Terms shows
the maximum number of terms that may occur in one fuzzy logic project.
The Rules
sections shows the maximum total number of Rule
Blocks and Rules
that a fuzzy logic project may contain, as well as the
maximum total number of input variables (Inputs
per RB) and
output variables (Outputs per RB)
that can be assigned to a
rule block.
| Overview | Variables | Rules | |||||||
|
Feature
Edition
|
Total | Input | Output | Terms per Variable Linguistic/Categorical |
Total Terms | Rule Blocks (RB) |
Inputs per RB | Outputs per RB | Total Rules |
| Professional | 255 | 255 | 32 | 32/255 | 65535 | 50 | 250 | 11 | - |
| IA-S7 | 255 | 255 | 32 | 8/- | 255 | 50 | 250 | 11 | - |
| MCU-C | 127 | 127 | 16 | 8/- | 128 | 32 | 8 | 4 | - |
| MCU-96 | 127 | 127 | 16 | 8/- | 128 | 32 | 8 | 4 | - |
| MCU-166 | 127 | 127 | 16 | 8/- | 128 | 32 | 8 | 4 | - |
| MCU-320 | 127 | 127 | 16 | 8/- | 128 | 32 | 8 | 4 | - |
| MCU-51 | 255 | 255 | 8 | 8/- | 256 | 32 | 8 | 4 | - |
| MCU-MP | 16 | 8 | 4 | 7/- | 256 | 1 | 8 | 4 | 2048 |
| MCU-HC11/12 | 127 | 127 | 8 | 8/- | 254 | 32 | 8 | 4 | - |
| MCU-HC05/08 | 255 | 255 | 8 | 8/- | 256 | 32 | 8 | 4 | - |
Membership Functions
fuzzyTECH supports various fuzzy logic inference
methods and algorithms. The following table lists methods of
fuzzification and Types of membership functions
(MBF) supported by each
fuzzyTECH Edition. Standard
MBFs
are sometimes called "4-point definitions". Arbitrary
MBFs can be defined with up to 16 points of definition. Inverse MBFs (inverse terms)
are useful for filling a rule part
with the negated form of an already existing term. The column MBF
Shapes
shows the available approximation functions for membership functions.
The column Fuzzification
Method lists the supported algorithms for the fuzzification
step of the fuzzy
logic inference. Fuzzy Input
indicates that variables
are inputted as fuzzy values (i.e. as vectors of membership degrees)
instead of crisp
values. For Look-up-MBF
fuzzification, MBFs are computed as
look-up-tables by code generators. This speeds up the computation on
some microcontrollers
and fuzzy processors, but consumes considerable memory space. The
standard fuzzification
method is computation at run time (MBF
Computation). For most target hardware implementations,
this
is the most efficient approach. On some microcontroller families, the
slope fuzzification
method (Fast Computation of MBF)
is faster. Slope fuzzification is a variant of MBF
Computation.
| Membership Functions (MBF) | Type | Shape | Fuzzification Methods | |||||||
|
Feature Edition |
Standard MBF | Arbitrary MBF | Inverse MBF | linear | S-shape | Fuzzy Input | Look-up MBF | MBF Computation | Fast MBF Computation |
Categorical |
| Professional | x | x | x | x | x | x | - | x | - | x |
| IA-S7 | x | - | x | x | - | - | - | x | - | - |
| MCU-C | x | - | - | x | - | x | - | x | x | - |
| MCU-96 | x | - | - | x | - | x | - | x | - | - |
| MCU-166 | x | - | - | x | - | x | - | x | - | - |
| MCU-320 | x | - | - | x | - | x | - | - | x | - |
| MCU-51 | x | - | - | x | - | x | x | x | x | - |
| MCU-MP | x | - | - | x | - | - | - | - | x | - |
| MCU-HC11/12 | x | - | - | x | - | x | - | x | x | - |
| MCU-HC05/08 | x | - | x | x | - | x | - | x | x | - |
Inference
and Defuzzification
The table below summarizes supported methods of fuzzy logic
inference and defuzzification. The fuzzy
inference consists of three computational steps: Aggregation,
Composition,
and Result Aggregation. Different operators can be
chosen for aggregation
(Input aggregation) and result aggregation. Fuzzy operators used for
aggregation (Minimum or
Maximum) combine the
preconditions of each fuzzy rule. Beside this standard operators, some fuzzyTECH
Editions support compensatory operators (Gamma,
Min-Avg, Min-Max),
that help to compute relations between rules formulated with the logic
standard operators
AND (Minimum) and NOR (Maximum). The second
step of the fuzzy rule inference, the composition, works generally with
the PROD-Operator
as fixed operator. Standard Rules
are rules with a fixed rule weight (Degree of Support = 1.0) that
cannot be changed. FAM
Rules
stands for "Fuzzy Associative Maps" and refers to individually weighted
rules
(Degree of Support = DoS). The last step of fuzzy inference is the
so-called result
aggregation. Its MAX
operator selects the maximum firing degree of all rules matching to the
term. The BSUM
operator uses a bounded sum. Thus, all firing degrees are summed by
using a bound of one.
Note that BSUM result
aggregation is different from BSUM MoM
and BSUM CoA. The bounds are zero and one.
| Inference & Defuzzification | Aggregation | Composition | Result Aggregation | Defuzzification | ||||||||||||
|
Feature Edition |
Min. | Max. | Min-Max | Min-Avg | Gamma | Product | Standard Rules | FAM Rules (DoS) | Max | BSUM | CoM | CoA | MoM | Categorical MoM | Fuzzy Output | Hyper CoM 1) |
| Professional | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x |
| IA-S7 | x | - | - | - | - | x | x | x | x | x | x | - | x | - | - | - |
| MCU-C | x | x | - | - | - | - | x | x | x | - | x | - | x | - | x | - |
| MCU-96 | x | x | - | - | - | - | x | x | x | - | x | - | x | - | x | - |
| MCU-166 | x | x | - | - | - | - | x | x | x | - | x | - | x | - | x | - |
| MCU-320 | x | x | - | - | - | - | x | x | x | - | x | - | x | - | x | - |
| MCU-51 | x | x | - | - | - | - | x | x | x | - | x | - | x | - | x | - |
| MCU-MP | x | x | - | - | - | - | x | - | x | - | x | - | x | - | - | - |
| MCU-HC11/12 | x | x | - | - | - | - | x | x | x | - | x | - | x | - | x | - |
| MCU-HC05/08 | x | x | - | - | - | - | x | x | x | - | x | - | x | - | x | - |
1) Only available as add-on module
The result of the fuzzy inference is a fuzzy value that has to be re-transformed into a crisp value. This transformation is called Defuzzification. Different computation methods can be applied for defuzzification. The standard defuzzification is CoM (Center-of-Maximum), delivering the "best compromise" for the inference result. It is equivalent to most implementations of Center-of-Area (CoA) and Center-of-Gravity (CoG) methods. The MoM (Mean-of-Maximum) method delivers the "most plausible" result. Hence, it is mostly used in applications such as pattern recognition, data analysis, and decision support. The defuzzification method HyperCoM (see last column) is only available as add-on module for a few editions. HyperCoM is a defuzzification method that takes both positive and negative experience into consideration (e.g. in the form of recommendations and warnings). A hyperdefuzzification strategy weights these recommendations and warnings against each other and computes a membership function, from which HyperCoM then computes the optimum based output value.
System Optimization and Analysis, Add-on
Modules
All fuzzyTECH Editions come with a complete set of
debugging features (Debug Modes) and
analysis tools Analyzers (see
Table below). Remote debugging, where fuzzyTECH
running on the PC debugs
a fuzzy logic system running on a different computer/microcontroller,
is
facilitated by Online
and RTRCD
debug modes. The RTRCD debug mode (Real Time Remote Cross Debugging)
lets you analyze the running system and modify rules and membership
functions.
The RTRCD mode is best for embedded systems design and featured as an
ad-on to
most fuzzyTECH MCU Editions. The Online debug mode
in addition allows for
all types of modifications on-the-fly. To expand the capabilities of fuzzyTECH,
several Add-on Modules are available. The
HyperInference Module
expands traditional fuzzy logic rule inference with the ability of
"prohibitive" rules. Click on the [Add-On Modules] item in the
treeview to your left for more information.
| Tools |
Debug Modes (internal) |
Communication Channels | Analyzer |
Add-on Modules |
||||||||
|
Feature Edition |
Interactive | File / Batch | DDE | RTRCD | Online | TCP/IP | Serial Interface (RS232) | SDI 4) | User- defined (FTOCC) |
TransferPlot, 3D Plot, Time Plot, Trace |
Hyper Inference | |
| Professional | x | x | x | - | x | x | x | - | x | x | x | |
| IA-S7 | x | x | x | x1) | - | x3) | x3) | - | x | x | - | |
| MCU-C | x | x | x | - | - | - | - | - | - | x | - | |
| MCU-96 | x | x | x | x | - | - | x | - | x | x | - | |
| MCU-166 | x | x | x | - | - | x | - | - | x | x | - | |
| MCU-320 | x | x | x | - | - | - | - | - | - | x | - | |
| MCU-51 | x | x | x | x | - | - | x | - | x | x | - | |
| MCU-MP | x | x | x | - | - | - | - | - | - | x | - | |
| MCU-HC11/12 | x | x | x | x | - | - | x | x | x | x | - | |
| MCU-HC05/08 | x | x | x | x2) | - | - | x2) | - | x | x | - | |
1) Limited RTRCD / Trace Function,2) Only for HC08, 3)Using LIBNODAVE4) Only available for Motorola: Serial Debug Interface/Background Debug Mode
Code Generation
The table below lists supported code generator options. The File Code
option generates a complete C source code for an
executable program which accepts file data as input and writes outputs
to a file as well.
Since fuzzyTECH generates the complete fuzzy logic
system as a single function,
input and output values can be transferred as function
parameters
(Function Call) over
the system stack or as global variables
(Public I/O).
Some fuzzyTECH MCU Editions support only Public
I/O, since passing variables over
the stack can be inefficient. All fuzzyTECH MCU
Editions utilizing an assembly
library as a kernel support calling fuzzy logic functions from Assembly
code and from C code (C
interface). The C Code
column lists which C compiler standard is supported. Besides, Code
Interface Resolution
indicates the data types of the interfaces, too.
| Code Generation | Code-Options | Hardware specific Code |
C-Code | Java-Code | ActiveX Java fuzzyTECH Runtime DLL Delphi 2) Visual Basic 2) C# 2) |
COBOL | Structured Text by IEC 61131-3 standard for CoDeSys |
|||
|
Feature Edition |
I/O passing as function parameter |
Public I/O | C | Assembly | AWL | ANSI | Java | FTR | COBOL1) | ST |
| Code Interface Resolution (8 Bit, 16 Bit, double) | ||||||||||
| Professional | x | x | - | - | - | 8/16/d | 16/d | 16/d | 16 | 16/d |
| IA-S7 | x | - | - | - | 15 | - | - | - | - | - |
| MCU-C | x | x | - | - | - | 8/16 | - | - | - | - |
| MCU-96 | x | x | 16 | - | - | 16 | - | - | - | - |
| MCU-166 | x | x | - | 16 | - | 16 | - | - | - | - |
| MCU-320 | x | x | 16 | - | - | 16 | - | - | - | - |
| MCU-51 | - | x | - | 8 | - | 8 | - | - | - | - |
| MCU-MP | - | x | - | 8/16 | - | 8/16 | - | - | - | - |
| MCU-HC11/12 | x | x | - | 8 | - | 8 | - | - | - | - |
| MCU-HC05/08 | x | x | - | 8 | - | 8 | - | - | - | - |
1)Only available as add on module, 2)Using fuzzyTECH Runtime DLL.