You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support for the IEC 61131-7 Fuzzy Control Language (FCL) standard, through the new FCL class (pyit2fls.FCL): parses the core Mamdani subset of FCL (FUNCTION_BLOCK/VAR_INPUT/VAR_OUTPUT/FUZZIFY/DEFUZZIFY/RULEBLOCK) into a runnable T1Mamdani system, and exports a system back out as FCL text.
The IEEE 1855 Fuzzy Markup Language (FML) support (FML class, pyit2fls.FML) has been completed:
The rule base's andMethod/activationMethod now actually select the underlying fuzzy inference engine, instead of always defaulting to Product.
Clause-level negation (FML's NOT="true", FCL's IS NOT) is now supported.
Rules whose antecedent clauses are OR-connected now raise a clear error instead of being silently (and incorrectly) combined with AND — the underlying T1Mamdani/T1TSK engines only support AND-combined antecedents; model an OR relationship as two separate rules sharing the same consequent instead.
A new FML.export_fml method serializes a system back out as FML XML.
Introduction of a GUI for facilitating system design: the PyIT2FLS Designer, a PyQt5 application for building, simulating, and saving/loading Type 1 Mamdani fuzzy systems as FML or FCL files. Launch it with the pyit2fls-designer console script (after installing the optional GUI extra, pip install pyit2fls[gui]), or with python3 -m pyit2fls.designerui. See markdown docs/DesignerGUI.md for a tutorial.
A new points_mf membership function (arbitrary piecewise-linear point list), the native term representation used by FCL.