fuzzyTECH 為模糊邏輯與類神經模糊的模擬軟體,能結合類神經學習,以模糊邏輯得到解決方案,提供表列式、矩陣與FTL文字格式,讓使用者定義語言變數與模糊規則,規劃所需的模糊邏輯系統,適合複雜的模糊邏輯系統設計等應用。
fuzzyTECH軟體可以用於創建模糊系統,然後用神經網路和樣本數據對所創建的模糊系統進行訓練,最後可以針對不同的單片機或DSP硬體平臺自動產生相應的程序代碼,直接應用到系統的調試中去。
fuzzyTECH可以解決在單片機或DSP的有限資源中如何編制高效的應用程序以實現復雜的模糊控制算法的問題。它降低了實現模糊控制算法的難度,也加快了設計模糊控制算法的速度。fuzzyTECH設計電阻爐控制系統的例子,說明了它的有效性。
fuzzyTECH 提供三種版本,符合使用者不同工作平台的需求:
通用型(General Purpose fuzzyTECH Edition)
使用者在電腦中進行模糊邏輯的應用,包含專業版與線上版,特點如:
- 圖形式的編輯器與分析器使用介面
- 提供不同邏輯演算,完整互動式除錯分析
- 產生C/JAVA/M Code等模糊邏輯控制的原始副程式
- 與VB/VBA或C++/MFC整合,或DLL/OLE模組
- 與MS Office Excel/Access整合
- 與Matlab/Simulink、InTouch、FactoryLink、Genesis、WinCC 等軟體整合
- 線上版除包含專業版功能,並提供 TCP/IP、IPX/SPX、DDE、RS-232與SDI(User Define Interface)
等即時遠端監控分析介面。
單晶片控制(fuzzyTECH MCU Pack for Embedded Control)
應用於一般控制、數位信號處理與特定的模糊邏輯處理器,產生模糊邏輯控制的最佳化組合語言程式或C語言程式。支援8051/80251、Motorola 68HC05/68HC08、Microchip、Mitsubishi、Intel MCS-96、Siemens、TMS-320與SAE81C99A等系列控制器。
- fuzzyTECH MCU-HC05/08 Edition: Supports all microcontrollers of the 68HC05 and 68HC08
families from Motorola. - fuzzyTECH MCU-HC11/12 Edition: Supports all microcontrollers of the 68HC11xx and 68HC12xx
families from Motorola. Utilizes the special fuzzy logic instruction set of the HC12. RTRCD functionality included. - fuzzyTECH MCU-MP Edition: Supports all microcontroller families of Microchip Technologies Inc.
(PIC16C5X, PIC16CXX, PIC17CXX). - fuzzyTECH MCU-51 Edition: Supports all microcontrollers of the 8051 and 80251 families. Special libraries for
80517 included. RTRCD functionality included. - fuzzyTECH MCU-96 Edition: Supports all microcontrollers of the MCS-96 family from Intel (8096, 80C196, ...).
RTRCD functionality included. - fuzzyTECH MCU-166 Edition: Supports all microcontrollers of the C16x family from Siemens.
RTRCD functionality included. - fuzzyTECH MCU-320 Edition: Supports all digital signal processors (DSP) of the TMS-320 C2x/3x/4x and
5x families from Texas Instruments.
可程式控制(fuzzyTECH IA Editions for Industrial Automation)
提供模糊邏輯函數方塊,整合至PLC可程式控制器與程序控制系統,以歸屬函數、MIN-MAX推論、反模糊化方法與即時監控功能,完成模糊邏輯系統。支援Klockner-Moeller、Foxboro/Eckardt IAS等程序控制。
- fuzzyTECH IA-S7 Edition: For Siemens SIMATIC S7™ (300 and 400) PLCs.
- fuzzyTECH Professional Edition: For Structured Text by the IEC 61131-3 standard for CoDeSys.
The Professional Choice
- fuzzyTECH is the basis of many successful applications of fuzzy logic in Japan, Europe and the U.S.
- fuzzyTECH is continuously improved by INFORM's software designers and project engineers.
- fuzzyTECH supports most target hardware platforms and all fuzzy logic design phases.
- Add-on modules provide neural network technologies with fuzzy logic design.
Fast Results
- fuzzyTECH's all-graphical editors let you specify an entire system with simple point-and-click technology.
- Optimization of your design is expedited by fuzzyTECH's analyzer and simulation tools.
- Interactive "what-if" tracing supports detailed comprehension leading to efficient system optimization.
- fuzzyTECH provides code generators for C and assembly, and runtime modules for integration with other software.
Embracing the Standards
- Based on emerging IEC 1131-7 standard for industrial fuzzy logic system development.
- Supports ISO 9001 compliant development with built-in documentation generator and revision control system.
- Allows for the implementation of FDA certifiable control systems (FDA: Food and Drug Administration)
Fuzzy Logic Systems Design by "Point and Click":
fuzzyTECH provides an all-graphical user interface for all phases of a development project. Complemented by its Fuzzy Design Wizards, fuzzyTECH can let you create fuzzy logic solutions in less than a day's work. Here are some screenshots that illustrate the various editors and analyzers (click on the thumbnails to view full scale):
Rapid Application Development
In addition to its standard functionality for creating fuzzy logic systems, fuzzyTECH features a set of Fuzzy Design Wizards that:
- Enable rapid application design.
- Let you conduct ultra-fast prototyping.
- Guide you through the IEC/ISO standardized fuzzy logic design approach.
- Novice users of fuzzyTECH can generate prototype fuzzy logic systems within minutes.
- Experienced designers use it to expedite and streamline their design process.
Open Software Interfaces
fuzzyTECH can be linked and integrated with most other software products via standard interface techniques such as DDE, DLL, and ActiveX. For many popular software environments, we provide complete "plug-and-play" type interfaces (Simulink™, InTouch™, Excel™, Access™, VisualBasic™, ..). For a complete list, download and install the fuzzyTECH Demo from the Download section and explore the contents of the "/Program Files/fuzzyTECH x.y/Runtime/Ftrun/" subdirectory.
Code Generation
At the push of a button, fuzzyTECH generates a complete fuzzy logic solutions in source code. You may use this source code to compile and link with your main code, calling the fuzzy logic system as a simple function. Depending on the Edition (see Editions Overview), portable C code, assembly source code for microcontrollers/-processors, or function blocks for programmable logic controllers can be generated. In a joint development projects with microchip manufacturers such as Motorola and Intel, the compactness and execution speed of the fuzzyTECH generated code has been highly optimized. See our Benchmarks. Notice that you may use any code generated by fuzzyTECH in your products royalty-free.
Stand-Alone Runtime Modules
If the PC is where your fuzzy logic solution shall run on, generating stand-alone solutions is even easier. fuzzyTECH can generate FTR (Fuzzy Technology Runtime) files from your fuzzy logic solution. Now, you can use our stand-alone runtime modules to embed your fuzzy logic solution with other software. Stand-alone runtime modules are available as 16/32 Bit DLL for all MS Windows operating systems and as ActiveX component. Notice that you may use the runtime modules in your products royalty-free.
Process Control Solutions
In close cooperation with our partners, we have provided even tighter integration of fuzzyTECH and popular process control software packages. This makes integrating fuzzy logic control blocks with complete control solutions even easier. Such solutions include: InTouch™, InControl™, CiTECT™, LabVIEW™, Matlab/Simulink™, WinFACT™, WinCC™, FIX™, BridgeVIEW™, and many others.
Online/RTRCD Debugging
The "Online" debugging technique allows for the modification of a running fuzzy logic system "on-the-fly". All editors and analyzers of fuzzyTECH let you monitor the fuzzy logic inference in real time and every modification is implemented instantly on the target hardware. fuzzyTECH communicates with the target system at any time via serial cable, network file system, or other communication link. Real-time data is transferred from the target hardware to the graphical editors and analyzers of fuzzyTECH, allowing complete visualization of the fuzzy logic inference. Modifications to the fuzzy logic system are transferred from fuzzyTECH to the target hardware and implemented without halting this system. Remote traces can be configured and controlled from fuzzyTECH as well. Some fuzzyTECH MCU Editions also provide a limited online debugging functionality, called RTRCD (Real-Time Remote Cross Debugging). RTRCD lets you modify rules and membership functions on-the-fly and run traces.
Technical Specifications
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 | - |
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. The standard fuzzification method is computation at run time (MBF Computation). For most target hardware implementations, this is the most efficient approach.
Membership Functions (MBF) | Type | Shape | Fuzzification Methods | |||||
Feature Edition |
Standard MBF | Arbitrary MBF | Inverse MBF | Linear | Spline | Fuzzy Input | MBF Computation | Categorical |
Professional | x | x | 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 CoM1) |
Professional | x | x | x | x | x | x | x | x | 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 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) | User- defined (FTOCC) |
TransferPlot, 3D Plot, Time Plot, Trace |
Hyper Inference | |
Professional | x | x | x | - | x | x | x | x | x | x |
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. 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 | C-Code | Java-Code | ActiveX Java fuzzyTECH Runtime DLL Delphi 1) Visual Basic 1) C# 1) |
Structured Text by IEC 61131-3 standard for CoDeSys |
|
Feature Edition |
I/O passing as function parameter |
ANSI | Java | FTR | ST | |
Code Interface Resolution (8 Bit, 16 Bit, double) | ||||||
Professional | x | 8/16/d | 16/d | 16/d | 16/d |
1)Using fuzzyTECH Runtime DLL.
Add-On Modules/HyperInference Module
The HyperInference Add-On Module extends the traditional fuzzy logic inference. While traditional fuzzy logic inference only allows for rules to express positive experience, HyperInference introduces rules that also can represent warnings or vetoes. For control and supervision of technical processes, adequate consideration of experience in the form of warnings is necessary to prevent undesired operating situations in the interests of protecting the plant or sparing costs. INFORM has exclusively licensed the patented HyperInference technology for fuzzyTECH.
Would you like to see HyperInference in action and read more about its theoretical background? We have included two examples with the free demonstration version of fuzzyTECH that you can download from this web site. Once you installed fuzzyTECH on your PC, use the [Start] button to access the HyperInference examples (Start/Programs/fuzzyTECH/Examples/3rd Party/HyperInference..).