基于CAN總線的分布式監控系統智能節點設計
監控節點的通信采用CAN總線2.0A協議,通信模塊的軟件設計主要由初始化程序、發送程序、接收程序三部分組成。其中初始化程序是實現通信的關鍵,它主要用來完成CAN控制器工作方式的選擇,即對P87C591中CAN控制器控制段中的寄存器進行設置,包括:總線定時寄存器和輸出控制寄存器設置;接收驗收濾波寄存器和濾波屏蔽寄存器設置;設置發送數據幀類型(標準幀或擴展幀)、標識符、數據長度。初始化過程是在CAN控制器復位模式下完成的,監控節點通信的初始化程序流程如圖4所示。
本文引用地址:http://www.104case.com/article/163647.htm
監控節點與CAN總線之間的數據交換是通過發送程序和接收程序實現的。發送程序流程如圖5所示,從圖5中可以看出系統的每個節點采用定時中斷的方式主動向監控計算機發送數據。這是利用了CAN總線可以采用多主機方式通信的特點。由于實時監控功能是由各個控制節點完成,而監控計算機主要用來實現管理功能,所以采用了定時上傳數據的方法,而沒有實時上傳所有傳感器采集到的數據,從而減輕了總線負擔。這也是分布式控制方法相對于集中控制方法的一個優點。圖6為接收程序流程圖,接收緩沖區用來存放CAN總線上發來的數據,CPU讀取數據后接收緩沖區將被清空,等待接收新的數據。
5結束語
本文設計的基于CAN總線的分布式監控系統智能節點經過現場調試,可以對潛水電機運行過程中出現的過流、過熱、短路、滲漏情況做出處理,對電機起到了保護作用;節點與上位計算機之間的數據通信穩定可靠;可以通過現場設置模塊修改節點的參數。實驗表明了節點的適用性和可靠性,開發過程中所提出的技術方案和實現方法可以在分布式監控系統及工業底層監控網絡的現場智能節點設計中推廣應用。
本文作者創新點:設計了一種基于P87C591的智能監控節點,在軟/硬件設計中均采用了模塊化的結構,具有高度的靈活性和廣泛的適用性。
評論