二输入单输出模糊控制
编写时间:2015.8.27
作者:QQ351150613
转载请注明作者
一、说明
本想在互联网上找到类似程序修改使用的,结果找遍整个互联网,没有找到可用的模糊控制C语音代码,自己研究模糊控制连续算法,终于小有所成,公布代码,不想那天我挂了,这个算法再没人知道。
我先用KEIL4的80c51测试完成,转到西门子博途中。
通过西门子1200 控制器,使用博途V13SP1 的scl 编程语言实现模糊控制算法,反模糊计算复杂,为了简化算法,将输出功能函数简化为矩形,隶属度只取矩形的中点,从仿真结果看,控制器输出结果和MATLAB计算误差在0.05之间。
二、实验测试
通过matlab7.0 测试模糊控制结果,如下
三、误差分析
1、为了节约空间,将隶属度函数简化处理,将每个点存储在一个字节byte中,这将会进行四舍五入,造成误差
2、输出功能函数简化为梯形,重心法求反模糊时用了近似法,造成误差
四、程序代码
FUNCTION_BLOCK "Fis21"
{ S7_Optimized_Access := 'FALSE' }