El lenguaje de control difuso , o FCL , es un lenguaje para implementar lógica difusa , especialmente control difuso . Fue estandarizado por IEC 61131-7. Es un lenguaje de programación de dominio específico : no tiene características que no estén relacionadas con la lógica difusa, por lo que es imposible incluso imprimir " ¡Hola, mundo! ". Por lo tanto, no se escribe un programa en FCL, pero se puede escribir parte de él en FCL.
Ejemplo
REGLA 0: SI (la temperatura ES fría) ENTONCES (la salida ES baja)REGLA 1: SI (la temperatura ES muy fría) ENTONCES (la salida ES alta)
Limitaciones
FCL no es un lenguaje difuso del todo completo, por ejemplo, no admite "hedges", que son adverbios que modifican el conjunto. Por ejemplo, el programador no puede escribir:
REGLA 0: Si (La temperatura es MUY FRÍA) entonces (La salida es MUY ALTA)
Sin embargo, el programador puede simplemente definir nuevos conjuntos para "muy frío" y "muy alto". FCL también carece de soporte para conjuntos, subconjuntos, etc. difusos de orden superior. Ninguna de estas características es esencial para el control difuso, aunque puede ser bueno tenerlas.
enlaces externos
- fuzzyTECH , un sistema de desarrollo de lógica difusa comercial que contiene el documento de especificación para IEC1131-7 (seleccione la biblioteca de aplicaciones difusas)
- IEC 1131-7 CD1 IEC 1131-7 CD1 PDF
- fuzzylite , una biblioteca de controlador de lógica difusa escrita en C ++.
- Free Fuzzy Logic Library (FFLL) , una biblioteca de implementación escrita en C ++.
- JFuzzyLogic , paquete de código abierto FCL + Fuzzy Logic (sourceforge, java)
- AwiFuzz , implementación de código abierto escrita en C ++ que cubre los tres niveles de IEC 61131-7 Lenguaje de controlador difuso IEC 1131-7 CD1
- pyfuzzy , implementación de código abierto escrita en python.