基于RS 485總線的蓄電池充放電裝置遠(yuǎn)程控制系統(tǒng)
3.2 單片機(jī)程序設(shè)計
在主程序中,先將單片機(jī)及其存儲器初始化,進(jìn)入死循環(huán),等待中斷程序。中斷程序包括:A/D采集中斷,他主要是將采集到的電壓,電流瞬時信號值處理并保存;另外1個就是串口通信中斷程序,他的主要作用是:當(dāng)接收一個地址時,判斷是否是本機(jī)地址,若是則判斷控制命令,否則結(jié)束。繼續(xù)執(zhí)行PC機(jī)接收的數(shù)據(jù)命令,分別表示停機(jī)、充電、放電等命令。通過字符串比較,判斷出執(zhí)行的命令。具體流程如圖5所示。
3.3 PC機(jī)程序設(shè)計
PC機(jī)的人機(jī)交互界面由C++Builder語言開發(fā)實現(xiàn)的,他主要包含通信模塊,數(shù)據(jù)顯示和處理模塊。在綜合考慮開發(fā)效率和程序功能后,選擇了Win32API函數(shù)來編寫通信程序。此函數(shù)在C++Builder里面中均已被聲明,直接引用即可。為了提高通信程序的響應(yīng)速度,程序通過Thread類實現(xiàn)多線程通信。在主線程中打開串口并發(fā)送數(shù)據(jù),另外再建立1個線程來監(jiān)聽串口,若接收到數(shù)據(jù)后就調(diào)用數(shù)據(jù)分析和處理線程,顯示狀態(tài)曲線并且將數(shù)據(jù)錄入數(shù)據(jù)庫。部分程序代碼如下:
以3個站點的充放電實時監(jiān)測為例,在PC機(jī)上可顯示如圖6所示的實時信息。
4 結(jié) 語
基于RS 485的遠(yuǎn)程充放電裝置控制系統(tǒng)可以實現(xiàn)1臺PC機(jī)上最多可控制32個站點。由于RS 485采用的是平衡驅(qū)動和差分接收的方法,因此能從根本上消除信號地線,有很強(qiáng)的抗共模干擾信號的能力。他還具有一對線路驅(qū)動器和接收器,能夠作長距離的信號傳輸,最長為1 200 m。且傳輸結(jié)構(gòu)簡單、成本低、實用性強(qiáng)。可以廣泛應(yīng)用與工作環(huán)境惡劣,耗時勞民的充放電現(xiàn)場。
評論