Rozmyty język sterowania
Fuzzy Control Language lub FCL to język służący do implementacji logiki rozmytej , zwłaszcza sterowania rozmytego . Został znormalizowany przez IEC 61131-7. Jest to język programowania specyficzny dla domeny : nie ma żadnych funkcji niezwiązanych z logiką rozmytą, więc nie można nawet wydrukować „ Witaj, świecie! ”. Dlatego nie pisze się programu w FCL, ale można napisać jego część w FCL.
Przykład
ZASADA 0: JEŻELI (temperatura JEST niska) TO (wyjście JEST niskie) ZASADA 1: JEŚLI (temperatura JEST bardzo niska) TO (wyjście JEST wysokie)
Ograniczenia
FCL nie jest całkowicie kompletnym językiem rozmytym, na przykład nie obsługuje „żywopłotów”, czyli przysłówków modyfikujących zestaw. Na przykład programista nie może napisać:
ZASADA 0: Jeśli (Temperatura jest BARDZO NISKA), to (Wydajność jest BARDZO WYSOKA)
Jednak programista może po prostu zdefiniować nowe zestawy dla „bardzo zimnego” i „bardzo wysokiego”. FCL nie obsługuje również zbiorów rozmytych wyższego rzędu, podzbiorów i tak dalej. Żadna z tych funkcji nie jest niezbędna do sterowania rozmytego, chociaż mogą być przydatne.
Linki zewnętrzne
- fuzzyTECH , komercyjny system rozwoju logiki rozmytej zawierający dokument specyfikacji dla IEC1131-7 (wybierz bibliotekę aplikacji rozmytych)
- IEC 1131-7 CD1 zarchiwizowane 2021-03-04 w Wayback Machine IEC 1131-7 CD1 PDF
- fuzzylite , biblioteka kontrolera logiki rozmytej napisana w C++.
- Free Fuzzy Logic Library (FFLL) , biblioteka implementacyjna napisana w C++.
- JFuzzyLogic , open source FCL + pakiet Fuzzy Logic (sourceforge, java)
- AwiFuzz , implementacja open source napisana w C++, obejmująca wszystkie trzy poziomy IEC 61131-7 Fuzzy Controller Language IEC 1131-7 CD1
- pyfuzzy , implementacja open source napisana w Pythonie.