【摘 要】為實現對礦井主冗風機狀態有效監測和控制,本文提出一種基于VB6.0的上位機與風機控制器的通信解決方案,系統采用TI公司生產的MSP430F149單片機為控制器核心,采用USB-CAN總線實現上位機與控制器之間數據的遠距離傳輸,上位機除可實現風機運行參數的實時監測和控制外,還能對風機故障產生報警。
【關鍵詞】USB-CAN總線;礦井風機;實時監控;MCP2551
【Abstract】In order to realize the monitor-controlling of several Ventilators under mine, bring a kind of solution of communication between PC and Ventilator Monitor-controller Under Mine based on VB6.0 .System uses TI's MSP430F149 as the core controller, and realize the long distance transmission of control data between the host computer using RS232-RS485 converter, the upper-computer not only can realize monitoring and controlling of ventilator in real time, but also can generate alarm of ventilator fault.
【Key words】USB-CAN BUS;Ventilator;Real-time monitor-controling;MCP2551
隨著科技進步和現代工業設備向自動化、快速化、大型化等方向的的發展,對工業設備的質量要求和管理效率也越來越高。計算機及一些微處理器被廣泛應用到工業現場以加強對設備的管理[1]。但是,由于設備管理任務日益復雜、設備長時間運作以及中心控制系統與下位機之間信息傳輸量的不斷增加,通信的質量和可靠性程度也要求達到一個更高的水平。CAN總線作為一種性價比較高且具有國際標準的現場總線,不僅通信速率快、可靠性高、穩定性好、抗干擾能力強,而且通信距離遠、開發成本低等特點,是解決目前工業控制現場數據通信瓶頸的有效手段之一[2-3]。
1 硬件設計整體架構
系統硬件整體架構示意圖如圖1所示,系統由上位PC監控平臺、USB-CAN網絡適配器、若干個監測節點構成。風機站采用兩臺風機做冗余,1臺工作風機和1臺備用風機。風機的風速等級由4個電動機高、低速運行的不同組合決定。多電機綜合保護系統由電機故障檢測電路檢測電機是否缺相、短路、過載及漏電故障,由瓦斯傳感器和風量傳感器監測井下環境情況,由電流傳感器和電壓傳感器監測風機的運行狀態。
2 監控系統硬件設計
2.1 CAN總線適配器硬件設計
監控系統的CAN總線適配器在整個監控網絡中起著至關重要的作用,其設計的好壞,關系到整個監控系統數據傳輸的可靠性[4]。目前市面上有一些總線適配器,比如RS232-CAN、RS485-CAN、PCI-CAN等,雖然他們在數據傳輸的可靠性和通信距離上有比較大的優勢,但是在筆記本電腦盛行的今天因上位機無RS232串行接口而存在著調試不便的特點,USB-CAN總線網絡適配器的設計正好彌補了這個缺陷,因而具有一定應用價值和推廣價值。
USB-CAN總線網絡適配器由AT89C52微處理器芯片、CAN總線通信接口、USB通信接口等主要部件組成。USB-CAN總線適配器轉發來自CAN總線的信息和來自上位PC機的命令信息,起溝通CAN總線與PC機之間的橋梁作用。
USB接口電路采用南京沁恒公司生產的USB接口芯片CH375A。CH375具有8位數據總線和讀寫、片選控制線及中斷輸出,可方便掛接到單片機等其他一些智能微控制器的總線上;內部置有USB通信的底層協議,能自動處理默認端點所有任務,本地微處理器AT89C52只需負責數據的交換;同時內部提供了4個相互獨立的端對端邏輯傳輸通道,分別為數據上傳通道、數據下傳通道、中斷上傳通道及輔助數據下傳通道,因請求加應答的通信模式數據傳輸速率較低,故采取單向數據流通信模式與PC上位機通信,同時使用中斷上傳端口上傳中斷特征值。USB通信接口電路如圖2所示。
2.2 下位機CAN總線通信接口電路設計
監控節點設計以TI公司MSP430F149單片機為控制核心,此款單片機不僅具有5種低功耗模式,同時具有高速的運算能力、豐富的片內外設以及時鐘使用靈活等特點[5-6],在工業控制系統及工業通信中具有廣泛的應用。CAN總線接口電路則采用Microchip公司MCP2510為總線控制器,該芯片完全支持CAN總線V2.0A/B技術規范,除能夠發送和接收標準及擴展報文外,還同時具備驗收過濾及報文管理功能,其內含的三個發送緩沖器和兩個接收緩沖器大大減少了微處理器的管理負擔,它與另外一款獨立的控制器SJA1000相比,具有接線更加簡化、使用更加靈活的特點, MCP2510總線控制器與MSP430單片機的硬件接口電路如圖3所示。
為了使CAN總線的性能更加穩定可靠,收發器芯片采用Microchip公司配套生產的MCP2551。CAN總線接口電路主要完成3個部分的功能:接收上位PC機下傳的數據控制指令(含查詢信息命令);上傳監控節點采集的風機狀態監測數據;消除總線上的噪聲對監控節點單元的影響;為提高MCP2551與總線接口的抗干擾能力,在MCP2551的CANH端和CANL端各自用一個5Ω的電阻與CAN總線相連,可起到一定的限流效果,以保護MCP2551不因過流而燒壞。CANH端、CANL端與地之間再并聯兩個約3×10-11 F的電容,可濾除總線上高頻干擾并具有防電磁輻射的功效。另外,兩根CAN總線輸入端與地之間分別反接了一個保護二極管,當CAN總線有較高的負電壓時,通過二極管的短路可起到一定的過壓保護作用,具有較好防雷擊和防靜電的效果。同時為了降低MCP2551在通信空閑時的靜態功耗,將MCP2551第8腳RS端的電阻R4直接接在總線發送端CANTX,則可在通信空閑時讓其自動進入待機模式,從而大大降低系統的功耗實驗結果證明,在不影響正常總線通信的情況下,其功耗僅為典型電路功耗的22%,基于MCP2551自動待機低功耗CAN接口電路如圖4所示[7]。
3 通信軟件設計
3.1 上位機通信軟件的設計
監控系統上位機軟件的設計雖然不能算整個系統的重中之重,但其設計的好壞卻也關系到整個監控系統的運行質量,因此,上位機軟件的設計也不能忽視。
上位機軟件的設計可以選用VB、VC++、Dephi等軟件進行開發,但考慮到VB功能強大和簡單易學的特點,在上位機設計中選用了VB6.0軟件開發,其發布的可執行文件可以脫離開發軟件直接在Windows環境下運行。上位機的軟件功能主要包括數據監測和數據處理、人機接口,同時經CAN總線實現對下位機監測節點的控制。上位機軟件可分為主程序模塊、數據處理模塊和通訊模塊3部分,主程序模塊完成界面顯示、人機接口、模塊調用、輸出控制等功能;數據處理模塊完成數據采集、風量、溫度等待測量的數字濾波、計算等處理功能;通訊模塊除了接收下位機上傳的數據外還向下位機發出風機控制指令。上位機系統人機交互界面如圖5所示。
3.2 風機控制器通信程序的設計
風機控制器即下位機的通信程序設計主要包括硬件初始化模塊、數據處理模塊、故障處理模塊、SPI數據傳輸模塊等組成。SPI數據傳輸模塊程序流程如圖6所示。
CAN發送中斷處理模塊和CAN接收中斷處理模塊程序如下:
void CAN_Interrupt() //CAN中斷處理
{
/************************接收中斷處理*************** ******/
if (CANINTF BIT0)
{
CANINTF = 0;
MCP2510_ReadSequence(MCP2510_RXB0D0,RXData,8);
id[0] = Config.SBH ; // 發送源地址
// TXData[0] = 0 ; // 目的地址
TX_Idex = 0 ; //多幀索引
if ( RXData[2] == 0x3F ) //取動態運行參數第一幀
{
id[1] = 0x60 ; // 非結束多幀點對點
TXData[0] = WSND ; // 瓦斯濃度 低8位
TXData[1] = WSND >> 8 ; // 瓦斯濃度 高8位
TXData[2] = JXFW ; // 井下風溫
TXData[3] = JXFS ; // 井下風速
TXData[4] = FJDY ; // 風機電壓 低8位
TXData[5] = FJDY >> 8; // 風機電壓 高8位
TXData[6] = FJZS; // 風機轉速 低8位
TXData[7] = FJZS >> 8; // 風機轉速 高8位
MCP2510_TransmitStd(id, 8, TXData);
TX_Idex = 1 ; //多幀索引
}
}
/************************發送中斷處理**************** *****/
else if (CANINTF BIT2)
{
CANINTF = 0;
if ( RXData[2] == 0x3F TX_Idex == 1) //取動態運行參數第二幀
{
id[1] = 0x60 ;
TXData[0] = WSCX; //瓦斯超限標志
TXData[1] = FJGZ ;//風機故障標志
TXData[2] = 0;
TXData[3] = 0 ;
TXData[4] = 0;
TXData[5] = 0 ;(下轉第206頁)
(上接第214頁)TXData[6] = 0;
TXData[7] = 0 ;
MCP2510_TransmitStd(id, 8, TXData);
TX_Idex = 0 ; //多幀索引
}
}
}
4 小結
在礦井風機遠程監控系統中,為實現對風機狀態的監測和控制,提出了一種基于VB6.0的上位機與風機控制器的通信解決方案,該系統不僅較好地實現了系統的遠程通信和控制,同時通過CAN接口電路的改造,大大降低了系統運行的功耗。本文通過詳細闡述了MSP430單片機與基于MCP2510的CAN總線接口的硬件電路和軟件設計,為在工業控制網絡上實現基于MCP2510的CAN總線進一步推廣和應用提供了借鑒。
【參考文獻】
[1]劉文杰.自行研制礦井通風監測系統[J].礦山機械,2001(8):57-58.
[2]陳在平.現場總線及工業控制網絡技術[M].北京:電子工業出版社,2008.
[3]馮鵠.淺談CAN總線的特點及應用[J].科技信息,2009(17):47-49.
[4]常陽光,張詠梅,劉濤,等.專家智能電除塵器監控系統設計[J].工業控制計算機,2008,21(4):48-49.
[5]曹磊.MSP430單片機C程序設計與實踐[M].北京:北京航空航天大學出版社,2007:6-15.
[6]秦龍.MSP430單片機C語言應用程序設計實例精講[M].北京:電子工業出版社,2006:372-375.
[7]蘇偉達,吳允平,李汪彪,蔡聲鎮,吳進營,等.基于MCP2551的CAN接口電路低功耗設計[J].電子器件,2010,6:742-745.
[責任編輯:丁艷]