本程序分為界面和控制器核心兩部分
一、界面部分功能主要有:
(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