Fuzzy Control Language
Fuzzy Control Language, or FCL, is a language for implementing fuzzy logic, especially fuzzy control. It was standardized by IEC 61131-7. It is a domain-specific programming language: it has no features unrelated to fuzzy logic, so it is impossible to even print "Hello, world!". Therefore, one does not write a program in FCL, but one may write part of it in FCL.
Example[edit]
RULE 0: IF (Temperature IS Cold) THEN (Output IS High)
Limitations[edit]
FCL is not an entirely complete fuzzy language, for instance, it does not support "hedges", which are adverbs that modify the set. For instance, the programmer cannot write:
RULE 0: IF (Temperature IS VERY Cold) THEN (Output IS VERY High)
However, the programmer can simply define new sets for "very cold" and "very high". FCL also lacks support for higher-order fuzzy sets, subsets, and so on. None of these features are essential to fuzzy control, although they may be nice to have.
External links[edit]
- fuzzyTECH, a commercial fuzzy logic development system containing the specification document for IEC1131-7 (select Fuzzy Application Library)
- IEC 1131-7 CD1 IEC 1131-7 CD1 PDF
- fuzzylite, A fuzzy logic controller library written in C++.
- Free Fuzzy Logic Library (FFLL), an implementation library written in C++.
- JFuzzyLogic, open source FCL + Fuzzy Logic Package (sourceforge, java)
- AwiFuzz, open source implementation written in C++ covering all three levels of IEC 61131-7 Fuzzy Controller Language IEC 1131-7 CD1
| This programming-language-related article is a stub. You can help Wikipedia by expanding it. |

