Язык нечеткого управления или FCL - это язык для реализации нечеткой логики , особенно нечеткого управления . Он был стандартизирован IEC 61131-7. Это предметно-ориентированный язык программирования : в нем нет функций, не связанных с нечеткой логикой, поэтому невозможно даже напечатать « Hello, world! ». Следовательно, программу на FCL не пишут, но можно записать ее часть на FCL.
Пример
ПРАВИЛО 0: ЕСЛИ (температура низкая) ТО (выход низкий)ПРАВИЛО 1: ЕСЛИ (температура очень низкая) ТО (выходная мощность высокая)
Ограничения
FCL не является полностью законченным нечетким языком, например, он не поддерживает «изгороди», которые представляют собой наречия, изменяющие набор. Например, программист не может написать:
ПРАВИЛО 0: Если (Температура ОЧЕНЬ ХОЛОДНАЯ), то (Выход ОЧЕНЬ ВЫСОКИЙ)
Однако программист может просто определить новые наборы для «очень холодных» и «очень высоких». FCL также не поддерживает нечеткие множества, подмножества и т. Д. Более высокого порядка. Ни одна из этих функций не является существенной для нечеткого управления, хотя они могут быть полезны.
Внешние ссылки
- fuzzyTECH , коммерческая система разработки нечеткой логики, содержащая документ спецификации для IEC1131-7 (выберите Fuzzy Application Library)
- IEC 1131-7 CD1 IEC 1131-7 CD1 PDF
- fuzzylite , библиотека контроллера нечеткой логики, написанная на C ++.
- Free Fuzzy Logic Library (FFLL) , библиотека реализации, написанная на C ++.
- JFuzzyLogic , FCL + Fuzzy Logic Package с открытым исходным кодом (sourceforge, java)
- AwiFuzz , реализация с открытым исходным кодом, написанная на C ++, охватывающая все три уровня IEC 61131-7 Fuzzy Controller Language IEC 1131-7 CD1
- pyfuzzy , реализация с открытым исходным кодом, написанная на python.