基于CAN總線的分布式監控系統智能節點設計
1 引言
現場總線控制系統(FCS)是繼直接數字控制(DDC)、集散控制系統(DCS)之后的一種新型的控制系統,是一種全開放、全數字、多點通信的底層控制網絡,具有全分散性控的體系結構[1]。其顯著特點是通過開放性總線把現場設備連接成網絡,各智能設備能夠完成自動控制和運行狀態的自行診斷,并且能夠通過總線實現設備之間的通信,從而簡化了系統結構,提高了可靠性。 CAN(Controller Area Network)總線,又稱控制器局域網,是一種有效支持分布式控制或實時控制的串行通信網絡。由于其高性能、高可靠性、及獨特的設計和適宜的價格而廣泛應用于工業現場控制、智能樓宇、醫療器械、交通工具以及傳感器等領域,并已被公認為幾種最有前途的現場總線之一。傳統的集散型控制系統(DCS)存在系統不開放、硬件投資大、布線復雜、維修不便的缺點,具有明顯的局限性。本文給出了一種基于CAN總線的智能節點軟硬件的設計方案,應用于潛水電機分布式監控系統中。
2 系統整體方案設計
圖1 分布式監控系統總體結構
整個系統由監控計算機、PC-CAN適配卡、智能監控節點(n<110)、CAN總線網絡組成,其系統結構如圖1所示。分布在現場的監控節點可以獨立對電機進行智能控制和保護;監控計算機可以通過CAN總線網和各個控制節點之間進行實時通信,從而實現潛水電泵機組的分散控制和集中監管。
監控系統中的控制節點由CAN控制器、CAN收發器和外圍電路(如:光耦隔離、I2C、LED顯示等)組成。監控計算機可以選用普通PC或工控機 IPC 。PC-CAN適配卡用來完成CAN總線和監控計算機之間的協議轉換,可以選用PCI總線適配卡、ISA總線適配卡或RS232串行通信適配器。各個控制節點之間通過屏蔽雙絞線互聯構成CAN總線網絡,總線兩端連接120Ω的阻抗匹配電阻,用來提高系統的穩定性、增強系統的抗干擾能力。
3 監控節點的硬件設計
目前,市場上有兩種CAN總線器件可以選擇:一種是片內集成CAN的微控制器,如P8XC591/2、87C196CA/CB、MC68376等;另一種是獨立的CAN控制器,如控制Philips公司的SJA1000、82C200、, Intel公司的82526、以及Microchip公司的 MCP2510等,但是獨立的CAN控制芯片需要外接一個微處理器才能運行。本文設計中選用的是Philips公司的帶有在片CAN控制器的 P87C591微型控制器,這樣大大簡化了節點的硬件電路設計,減少了程序的復雜程度,提高系統的可靠性。
3.1監控節點的構成
監控節點硬件電路設計上采用了模塊化結構,由微控制器、CAN通信模塊、傳感器組件、數據采集模塊、電機控制模塊、LED顯示模塊、現場設置模塊組成,其整體結構如圖2所示。根據具體情況可以只選用其中的部分模塊。例如:可以去掉顯示模塊和現場設置模塊,利用監控計算機實現數據顯示和參數設置的功能。在單機運行時,可以不使用CAN通信模塊。
圖2 監控節點結構框圖
3.2監控節點的功能
監控節點各個組成部分的功能如下:
(1)傳感器組件:用來檢測潛水電機的運行狀況,包括:溫度傳感器、電流互感器、液位傳感器。分別用來檢測電機三相定子的溫度、三相主電流、和電泵腔內的水位,可以有效的監測潛水電機的過流、過熱、缺相、短路、滲漏等異常現象。
(2)數據采集模塊:將傳感器采集到的模擬信號轉變為數字信號并通過多路模擬開關送入微控制器,CPU得到電機定子溫度、電流、液位信息做出相應的判斷,并送至不同的子程序進行相應的處理。
(3)電機控制模塊:CPU判斷電機定子溫度、電流、液位中的任一項值超出正常值范圍時,都會通過SSR(過零觸發型交流固態繼電器)觸發相應的異常處理電路,使電機得到保護。
(4)LED顯示模塊:采用基于I2C總線的顯示技術,通過LED數碼管實時顯示電機運行過程中定子的溫度和電流值。并可以在設置模式下顯示待定置參數的當前值。當電機出現非正常停機時發光二極管可以指示出故障的類型,方便檢查處理。
(5)CAN通信模塊:CAN總線通信接口電路主要由P87C591的片內CAN驅動器SJA1000、6N137高速光隔、CAN收發器 PCA82C250組成。P87C591完成CAN協議的應用層功能,SJA1000完成物理層和數據鏈路層的功能。PCA82C250提供了對總線差動發送和接受數據的功能,有效的提高了總線的抗干擾能力,實現了保護總線、降低射頻干擾等功能。6N137隔離控制電路和收發器電路,能夠有效地抑制由總線引入的干擾,進一步提高了系統的可靠性。
(6)現場設置模塊:采用基于8255的鍵盤和基于X25045的E2PROM,實現節點工作參數現場設定能。X25045存儲報警電流、停機電流、報警溫度、停機溫度、節點地址、波特率等信息。這些參數都可以通過按鍵進行設置。除了節點地址外,其它的參數也可以通過監控計算機設置。
4 監控節點的軟件設計
4.1軟件設計的總體結構
與節點硬件設計相一致,軟件設計也遵循模塊化的設計原則,使控制軟件具有易讀、易擴展和易維護的優點。通過C51語言編寫相應的軟件模塊實現上述監控節點的各種功能。軟件的各功能模塊之間通過入口和出口參數相互聯系,組合靈活且方便,減少了調試時間,縮短了開發周期。監控節點的軟件設計流程如圖3所示。

圖3 監控節點軟件設計流程圖
4.2監控節點通信程序設計
監控節點的通信采用CAN總線2.0A協議,通信模塊的軟件設計主要由初始化程序、發送程序、接收程序三部分組成。其中初始化程序是實現通信的關鍵,它主要用來完成CAN控制器工作方式的選擇,即對P87C591中CAN控制器控制段中的寄存器進行設置,包括:總線定時寄存器和輸出控制寄存器設置;接收驗收濾波寄存器和濾波屏蔽寄存器設置;設置發送數據幀類型(標準幀或擴展幀)、標識符、數據長度。初始化過程是在CAN控制器復位模式下完成的,監控節點通信的初始化程序流程如圖4所示。

圖4 CAN初始化程序流程圖
監控節點與CAN總線之間的數據交換是通過發送程序和接收程序實現的。發送程序流程如圖5所示,從圖5中可以看出系統的每個節點采用定時中斷的方式主動向監控計算機發送數據。這是利用了CAN總線可以采用多主機方式通信的特點。由于實時監控功能是由各個控制節點完成,而監控計算機主要用來實現管理功能,所以采用了定時上傳數據的方法,而沒有實時上傳所有傳感器采集到的數據,從而減輕了總線負擔。這也是分布式控制方法相對于集中控制方法的一個優點。圖 6為接收程序流程圖,接收緩沖區用來存放CAN總線上發來的數據,CPU讀取數據后接收緩沖區將被清空,等待接收新的數據。

圖5 發送程序流程圖
圖6 接收程序流程圖
5 結束語
本文設計的基于CAN總線的分布式監控系統智能節點經過現場調試,可以對潛水電機運行過程中出現的過流、過熱、短路、滲漏情況做出處理,對電機起到了保護作用;節點與上位計算機之間的數據通信穩定可靠;可以通過現場設置模塊修改節點的參數。實驗表明了節點的適用性和可靠性,開發過程中所提出的技術方案和實現方法可以在分布式監控系統及工業底層監控網絡的現場智能節點設計中推廣應用。
本文作者創新點: 設計了一種基于P87C591的智能監控節點,在軟/硬件設計中均采用了模塊化的結構,具有高度的靈活性和廣泛的適用性。
參考文獻:
[1] 陽憲惠. 現場總線技術及其應用[M]. 北京:清華大學出版社,1999.
[2] 饒運濤,鄒繼軍,鄭勇蕓. 現場總線CAN原理與應用技術[M]. 北京:北京航空航天大學出版社,2003.
[3] 楊 飛,鄭貴林. 基于CAN總線的監控系統設計[J],微計算機信息(嵌入式與SOC),2005年第21卷第7期:34-36
[4] 蔣建文,林 勇,韓江洪. CAN總線通信協議的分析和實現[J],計算機工程,2002年第2期:219-221
[5] 李 貌,秦霆鎬,閆世曉. MCP2515在CAN總線系統智能節點的應用[J],微計算機信息(嵌入式與SOC),2005年第21卷第7期:37-39
[6] 馮 歷,潘松峰,趙正德,張秀虹. 基于CAN總線測控網絡系統研究[J],計算機測量與控制,2004年第2期:117-119
文章版權歸西部工控xbgk所有,未經許可不得轉載。