本程序分為界面和控制器核心兩部分
一、界面部分功能主要有:
(1)顯示控制器核心數(shù)據(jù)和參數(shù)
(2)與用戶交互,可以調(diào)節(jié)初始輸入溫度值,并將溫度變化率清零以便進(jìn)行新一輪的模擬。
界面使用了定時(shí)器。開(kāi)啟模擬時(shí)候,每隔一秒,觸發(fā)一次計(jì)時(shí)器消息,完成下列工作:
1. 將界面上的當(dāng)前溫度映射為模糊控制器的輸入溫度
2. 輸出當(dāng)前溫度,當(dāng)前溫度變化率
3. 調(diào)用模糊控制,得到控制器輸出值,將其乘以m_fFuelEffect (燃料輸出對(duì)溫度變化率的影響率,目前設(shè)置為0.3),得到變化率的變化,加到當(dāng)前溫度變化率上,得到新的變化率。
4. 更新變化率,更新溫度。將結(jié)果映射到界面上。
5. 記錄相關(guān)數(shù)據(jù)并以圖形、數(shù)字方式輸出。
二、控制器核心用到的類(lèi)有
(1)Rule_Func_Single
將簡(jiǎn)單的函數(shù)包裝成類(lèi),方便后面使用。實(shí)現(xiàn)了 NB, NS, ZO, PS, PB 等梯形函數(shù),以及常值函數(shù)。
(2)Grading_Func
繼承自Rule_Func_Single類(lèi),比基類(lèi)增加一個(gè)輸入?yún)?shù),指明梯形函數(shù)屬于Input, Delta或者Output 。
(3)Rule_Function
將兩個(gè)Grading_Func結(jié)合在一起,進(jìn)行模糊與或模糊或等模糊邏輯操作,并輸出結(jié)果。
標(biāo)簽:
分
核心
程序
控制器
上傳時(shí)間:
2014-11-01
上傳用戶:Yukiseop