本程序分为界面和控制器核心两部分
一、界面部分功能主要有:
(1)显示控制器核心数据和参数
(2)与用户交互,可以调节初始输入温度值,并将温度变化率清零以便进行新一轮的模拟。
界面使用了定时器。开启模拟时候,每隔一秒,触发一次计时器消息,完成下列工作:
1. 将界面上的当前温度映射为模糊控制器的输入温度
2. 输出当前温度,当前温度变化率
3. 调用模糊控制,得到控制器输出值,将其乘以m_fFuelEffect (燃料输出对温度变化率的影响率,目前设置为0.3),得到变化率的变化,加到当前温度变化率上,得到新的变化率。
4. 更新变化率,更新温度。将结果映射到界面上。
5. 记录相关数据并以图形、数字方式输出。
二、控制器核心用到的类有
(1)Rule_Func_Single
将简单的函数包装成类,方便后面使用。实现了 NB, NS, ZO, PS, PB 等梯形函数,以及常值函数。
(2)Grading_Func
继承自Rule_Func_Single类,比基类增加一个输入参数,指明梯形函数属于Input, Delta或者Output 。
(3)Rule_Function
将两个Grading_Func结合在一起,进行模糊与或模糊或等模糊逻辑操作,并输出结果。
标签:
分
核心
程序
控制器
上传时间:
2014-11-01
上传用户:Yukiseop