目前,國內外已有多家公司開發出針對個體潛水電機的智能電了保護裝置,雖然可以達到保護電機的目的,但無法實現集中管理。因此,對潛水電機群的實時監控與統一管理的要求日益迫切。本文設計了基于CAN現場總線的潛水電機群分布式智能監控系統,可以對散布的潛水電機保護裝置進行組網,實現潛水電機的智能化控制和網絡化管理。 潛水電機智能監控系統總體方案設計 基于CAN現場總線的潛水電機分布式智能監控系統由監控計算機(內置PC-CAN適配卡)、智能節點、CAN總線網絡組成,其系統的總體結構如圖1所示。分布在現場的監控節點可以獨立對電機進行智能控制和故障保護;監控計算機可以通過CAN總線網絡和各個監控節點進行實時通信,從而實現潛水電機群的分布式控制和集中臨管。 智能節點是整個監控系統的核心部分,它對潛水電機進行智能控制,并對電機在運行過程中出現的過載、過熱、滲水、漏水、短路、缺相等故障進行保護。PC-CAN適配卡用來完成CAN總線和監控計算機之間的協議轉換,可以選用PCI總線適配卡、ISA總線適配卡或RS-232串行通信適配器。各個智能節點之間通過屏蔽雙絞線瓦聯構成CAN總線網絡,總線兩端連接120Ω的阻抗匹配電阻,可以提高系統的穩定性和抗干擾能力。 監控系統的硬件設計 由監控系統的整體結構和功能可知,該系統的硬件設計主要足CAN智能節點的設計。智能節點硬件電路設計采用了模塊化結構,由MCU、CAN通信模塊、信號采集模塊、電機控制模塊、狀態顯示模塊、參數設置模塊及串行通信接口組成,智能節點的整體結構如圖2所示。根據具體情況可以只選用其中的部分模塊,增加了監控裝置的實用性和經濟性。例如:可以去掉顯示模塊和現場設置模塊,利用監控計算機實現數據顯示和參數設置的功能。在單機運行時,可以不使用CAN通信模塊。 為了簡化設計,提高系統的可靠性和性價比,智能節點的主要元器件都是選用同一家公司的產品,包括:微控制器(P89V51RD)、CAN控制器(SJA1000)、CAN收發器(PCA82C250)。P89V51RD內帶64kB的Flash存儲器,該存儲器支持ISP功能,ISP的優點是支持在系統編程,即不需要移出為控制器,只需要通過串行接口(RXT和RXD),結合上位機軟件就可以實現PC對MCU的重復編程,而且硬件電路連接簡單,這樣就方便了程序調試,縮短了設計開發周期,提高了系統的穩定性。現場智能節點各個組成模塊的功能如下: 1.CAN通信模塊:CAN總線通信接口電路主要由CAN控制器SJA1000、6N137高速光隔、CAN收發器PCA82C250組成。SJA1000完全兼容CAN2.0協議,用來完成物理層和數據鏈路層的功能,可實現對通信數據的成幀處理,具有多主結構、總線訪問優先權、硬件濾波等特點;PCA82C250提供了對CAN總線差動發送和接收數據的功能,有效地提高了總線的抗干擾能力,實現了保護總線、降低射頻干擾等功能。為了進一步提高整個系統的可靠性和穩定性,在SJA1000和PCA82C250之間增加了光電隔離器件,并且采用了雙電源,有效地抑制由總線引入的干擾。 2.信號采集模塊:用來檢測電機的運行狀態,包括:鉑電阻溫度傳感器、電流互感器、電極式液位傳感器。分別用來檢測電機三相定子的溫度、三相主電流和電機腔內的水位,可以有效地監測潛水電機的過流、過熱、缺相、短路、滲漏等異常現象。信號采集模塊以12位精度的ADC和多路模擬開關為核心,將傳感器采集到的模擬信號進行調理后轉變為數字信號并送入微控制器。MCU得到檢測信息后做出相應的判斷,并送至不同的子程序進行相應的處理,如:把電機運行的溫度、電流等信息通過通信程序發送給監控計算機;若出現電機內腔水位過低、溫度過高、電流過大,則自動切斷本節點的電機、發出聲光報警信息,并把節點的停機信息通過CAN總線發送給監控計算機。 3.電機控制模塊:MCU判斷電機定子溫度、電流、液位中的任一項值超出設定值范圍時,都會通過SSR(固態繼電器)觸發相應的異常處理電路,使電機得到保護。 4.參數設置模塊:報警電流、報警溫度、停機電流、停機溫度、節點地址、波特率等信息通過參數設置模塊存儲于基于X25045的E2PROM中,實現節點工作參數現場設定功能。除了節點地址外,其它的參數也可以通過監控計算機設置。 5.狀態顯示模塊:采用基于I2C總線的顯示技術,通過LED數碼管實時顯示電機運行過程中定子的溫度和電流值。并可以在設置模式下顯示待定參數的當前值。當電機出現非正常停機時,發光二極管可以指示出故障的類型,方便檢查維護。 監控節點的硬件部分除了以上介紹的之外,還有電源電路和看門狗電路。電源電路提供所需隔離電源,用于提高節點的可靠性和安全性;看門狗電路主要保證系統運行的穩定性,在上電、掉電以及警戒情況下復位輸出。 監控系統的軟件設計 從整個監控系統的角度來看,該系統的軟件設計主要分為兩大部分:即監控計算機應用軟件設計和現場智能節點軟件設計。 監控計算機的軟件設計 計算機監控軟件主要分為用戶應用層、數據分析處理層及硬件設備驅動層3個部分,其軟件設計流程如圖3所示。 硬件設備驅動層通過PC-CAN接口卡建立監控計算與CAN總線的連接,并與智能節點進行數據交換;數據分析處理層完成CAN總線數據的接收、分類、判斷、處理、發送、存取操作等任務;用戶應用層和用戶需求緊密相關,它主要完成的任務是為用戶提供顯示各類信息的監控界面,進行人機交互,也就是通常所說的人機界面(HMI)設計。 監控節點的軟件設計 潛水電機的現場控制與數據采集都是通過智能節點完成的,與節點的硬件設計相一致,智能監控節點的軟件設計也遵循模塊化的設計原則,使控制軟件具有易讀、易擴展和易維護的優點。通過C51語言編寫相應的軟件模塊實現智能節點的各種功能。軟件的各功能模塊之間通過入口和出口參數相互聯系,組合靈活方便,減少了調試時間,縮短了開發周期。 監控節點通信程序設計 智能監控節點的通信采用CAN總線2.0A協議,通信模塊的軟件設計主要由初始化子程序、報文接收子程序、報文發送子程序3部分組成。其中初始化子程序是實現通信的關鍵,它主要用來完成CAN控制器工作方式的選擇,即對系統中的CAN控制器控制段中的寄存器進行設置。初始化過程是在CAN控制器復位模式下完成的。 智能節點與監控計算機之間的數據交換是通過發送程序和接收程序實現的。報文發送時只需將電機的狀態數據送入SJA1000的發送緩沖區中,然后啟動發送請求。監控節點采用定時中斷的方式主動向監控計算機發送數據。這是利用了CAN總線可以采用多主機方式通信的特點。由于實時監控功能由各個控制節點完成,而監控計算機主要起到管理作用,所以采用了定時上傳數據的方法,而沒有實時上傳所有傳感器采集到的數據,從而減輕了總線負擔。一個正在等待的報文會從存儲器復制到發送緩沖器后,置位命令寄存器TR標志產生發送請求,發送過程由SJA1000獨立完成。基于SJA1000的報文接收有兩種方式:中斷方式和查詢方式。為了保證接收報文的準確性,選擇實時性較高的中斷方式。在中斷方式下,如果SJA1000已接收一個報文,并且報文已通過驗收濾波器并放入接收FIFO,那么會產生一個接收中斷,通知微處理器有報文已經接收。接收緩沖區用來存放CAN總線上發來的數據,MCU讀取數據后,接收緩沖區將被清空,等待接收新的數據。 結語 本文采用CAN現場總線設計的潛水電機分布式智能監控系統具有抗干擾能力強、網絡化管理程度高、人機界面友好等特點。開發過程中所提出的技術方案和實現方法可以在類似的工業底層監控網絡系統及分布式監控系統的設計中推廣應用。 |