時間:2008-10-20 10:38:00來源:ronggang

圖2 上位機發(fā)送信息流程圖
圖3 上位機接收信息流程圖[/align]
2 控制程序設計
PID控制是比例,積分,微分控制的縮寫。它具有原理簡單、使用方便、適用性廣和魯棒性強等特點,在工業(yè)控制領域具有強大的生命力。改變P可提高響應速度,減小靜態(tài)誤差,但太大會增大超調量和穩(wěn)定時間;I與P的作用基本相似,但要使靜態(tài)誤差為0,必須使用積分;D與P,I的作用相反,主要是為了減小超調,減小穩(wěn)定時間。在仿真和實驗中,如果被控對象的結構和參數(shù)不能完全把握,或者得不到精確的數(shù)學模型,而且其它常規(guī)的控制方法難以實現(xiàn),這時,系統(tǒng)控制器的結構和參數(shù)必須依靠經(jīng)驗和現(xiàn)場調試來確定,采用PID控制技術最為方便。
現(xiàn)階段,我們對燃料電池電堆的模型不是十分了解,還不能通過有效的測試手段來獲得系統(tǒng)的參數(shù),因此,采用增量PID控制算法比較適合。在VB中,增量PID控制算法是通過自定義Function函數(shù)及調用該函數(shù)來實現(xiàn)的。
自定義Function函數(shù):
Public Function PID(ByVal P As Single, I As Single, D As Single, PIDset As Single, PIDreturn As Single, DeltaPIDpre_1 As Single, DeltaPIDpre_2 As Single) As Single ‘********增量PID計算自定義函數(shù)**********
‘**P——PID比例系數(shù);I——PID積分系數(shù);D——PID微分系數(shù)
‘**PIDset——PID設定值
‘**PIDreturn——PID反饋值
‘**DeltaPIDpre_1——PID偏差前值
‘**DeltaPIDpre_2——PID偏差前前值
Dim PIDout As Single ‘**PID輸出值**
Dim DeltaPID As Single ‘**PID偏差值,為中間變量**
DeltaPID = PIDset - PIDreturn
PIDout = P * (DeltaPID - DeltaPIDpre_1) + I * DeltaPID + D * (DeltaPID - 2 * DeltaPIDpre_1 + DeltaPIDpre_2)
DeltaPIDpre_2 = DeltaPIDpre_1
DeltaPIDpre_1 = DeltaPID
End Function
要對輸入的控制量進行PID調節(jié),只需簡單的調用上述函數(shù)即可。
例如,在對電堆的輸入溫度進行控制時,調用上述函數(shù)過程如下:
Private Sub MSComm1_OnComm() ‘*******數(shù)據(jù)接收***********
Dim Mid As Single
Mid = Format(Round((buf1(5) * 256 + buf1(4) - 4095 / 5) * 125 / 4095, 2), "0.0") ‘*****輸入電堆溫度*****
Text1.Text = Mid + PID(outTP, outTI, outTD, outTPIDset, outTPIDreturn, outTDeltaPIDpre_1, outTDeltaPIDpre_2)
‘**********outTP——溫度P, outTI——溫度I, outTD——溫度D, outTPIDset——溫度設定, outTPIDreturn——溫度, outTDeltaPIDpre_1——溫度前值, outTDeltaPIDpre_2——溫度后值
End Sub
3 數(shù)據(jù)存儲程序設計
VB語言提供了多種操縱數(shù)據(jù)庫的方法,使用Ado Data控件訪問數(shù)據(jù)庫就是一種很常用的操縱方法。通過設置和操縱其屬性就可以實現(xiàn)與數(shù)據(jù)庫的連接,通過綁定數(shù)據(jù)感知控件就能提供一個訪問數(shù)據(jù)庫的界面,用來對數(shù)據(jù)庫數(shù)據(jù)的瀏覽,添加,刪除,修改等操作。整個過程實現(xiàn)和操作起來非常簡單方便。具體連接步驟如下:
(1)建立Access數(shù)據(jù)庫
(2)引用Ado Data控件和數(shù)據(jù)感知控件DataGrid
(3)分別設置Ado Data控件的ConnectionString、CommandType、RecordSource三個重要的屬性以及DataGrid控件的DataSource屬性
在設置Ado Data控件的ConnectionString屬性的最后,將出現(xiàn)“測試連接”的按扭,通過單擊此按扭可以清楚的了解到數(shù)據(jù)庫連接成功與否,非常簡單方便。具體程序的編寫格式為:
數(shù)據(jù)庫畫面名稱.Adodc1.Recordset.AddNew
數(shù)據(jù)庫畫面名稱.Adodc1.Recordset.Fields("日期") = Date
數(shù)據(jù)庫畫面名稱.Adodc1.Recordset.Fields("時間") = Format(Now, "h:mm:ss")
數(shù)據(jù)庫畫面名稱.Adodc1.Recordset.Fields("參數(shù)名稱") =接收到的參量數(shù)據(jù)
數(shù)據(jù)庫畫面名稱.Adodc1.Recordset.Update
數(shù)據(jù)庫的設計需要特別注意的是:
1.在Access數(shù)據(jù)庫定義的各個參數(shù)的名稱、類型、出現(xiàn)的順序以及格式都必須與代碼中的“參數(shù)名稱“完全一致。
2.設置Ado Data控件的ConnectionString屬性的時候,必須選擇正確的數(shù)據(jù)庫所在路徑。
4 結束語
現(xiàn)場調試表明,該車載監(jiān)控系統(tǒng)能夠長時間穩(wěn)定工作,并且抗干擾能力較強,能方便有效地監(jiān)控現(xiàn)場的各種實驗數(shù)據(jù)。其數(shù)據(jù)庫管理操作也具有極大的靈活性和控制力。
本文作者創(chuàng)新點:
1. VB中PID控制算法的實現(xiàn),以調整電堆溫度、壓力、水位等各種監(jiān)控參數(shù);
2. 基于VB的串口通信技術在燃料電池車載監(jiān)控系統(tǒng)中的應用。
參考文獻
【1】 冀常鵬,包劍 基于CANBUS的汽車發(fā)動機控制器研究 技術 2005
【2】 王文東,陳實,吳鋒 溫度、壓力和濕度對質子交換膜燃料電池性能的影響 能源研究與信息 Vol.19 No.1 2003
【3】 張永宏,胡德金 基于Visual Basic的串行通信技術在自動化監(jiān)控系統(tǒng)中的應用 組合機床與自動化加工技術 2003年第10期
【4】 夏臨閩,胡仁杰 串行通信中數(shù)據(jù)正確性的保證 電子工程師2000年第11期
【5】 宋娟,羅志平,全書海 基于PID算法的燃料電池實驗室組態(tài)王監(jiān)控系統(tǒng) 微計算機信息 2006年第22卷第1—1期第28頁
標簽:
傳動網(wǎng)版權與免責聲明:凡本網(wǎng)注明[來源:傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權均為傳動網(wǎng)(www.cdcst56.com)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉載使用時須注明來源“傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產(chǎn)品新聞
更多>2025-09-08
2025-08-06
2025-07-08
2025-06-30
顛覆傳統(tǒng)加工!維宏VHTube一鍵實現(xiàn)變徑...
2025-06-16
2025-06-09