基于CAN總線的小水電多功能自動化裝置的研發
1引言
目前我國眾多小水電站的自動化水平落后,機電設備陳舊老化,安全事故頻繁,自動控制系統的運行需要多人值班,進行設備的維護及事故處理,嚴重影響小水電的經濟效益。近幾年,多數小水電站要求進行自動化設備的技術改造,提高測控技術水平,降低事故率,提出盡可能少人值班或無人值班的要求。
總線技術的發展及應用,為解決以上問題帶來方便。采用高速現場總線技術——CAN總線,可將小水電站多種測控系統的功能要求進行模塊化多功能集中設計,構成基于CAN總線的小水電多功能一體測控裝置。
2小水電站測控系統的特點及CAN總線的確定
2.1小水電站測控系統的特點
小水電站的測控系統主要有發電機組保護、轉速測控、溫度巡檢、綜合測控、同期控制、順序控制、人機對話、通訊等。小水電站自動化與大水電站比較,其自動測控要求相對簡單,如果直接套用大水電站自動控制方案及設備配置,則會造成模式復雜、成本高、設備占用空間大、功能浪費嚴重等問題。
針對小水電站自動測控系統的特點,將所需的多種不同測控系統進行模塊式一體化設計,功能模塊間采用總線技術連接,一體機獨立運作,簡化安裝及操作,將是最佳方案。
2.2 CAN總線的特點和通信協議
目前應用比較廣泛的幾種現場總線有CAN、HART、Profibus、Lonworks等。而在這些總線中, CAN總線以其極高的性能、可靠性及其獨特的設計越來越受到人們的重視,成為最有前途的現場總線之一。
CAN(Control Area Network)即控制局域網絡,是一種具有高可靠性、有效支持分布式控制或實時控制的現場總線網絡,最初由德國Bosch公司推出,為解決汽車中傳感器與執行裝置之間的數據交換而開發的,特別適合工業過程監控設備的互聯,其應用范圍已遍及工業控制自動化、汽車自動化、機械工業、樓宇自動化等領域。
(1) CAN總線的有關特點
與其他現場總線相比,針對多功能測控裝置的研發要求,CAN總線具有獨特的設計思想:【1】【2】
??多主方式工作,網絡上任一節點均可在任意時刻主動地向網絡上其他節點發送信息,而不分主從,通信方式靈活。這一特點使裝置內部的各模塊節點都可以主動發送信息,并且沒有時間限制,通訊的實時性好。
??采用非破壞性總線仲裁技術,從而大大節省了總線沖突仲裁時間。這一特點使裝置內部的各模塊節點的通訊快速可靠。
??只需通過報文濾波即可實現點對點、一點對多點及全局廣播等幾種方式傳送數據。根據這一特點,裝置內部的各模塊節點的通訊方式可以多樣化,比如,對時可以采用廣播的方式。
??CAN 網上的節點數目前可達 110 個;報文標識符可達 2032種(CAN2.0A),而擴展標準(CAN2.0B)的報文標識符幾乎不受限制。因此,采用CAN2.0B標準可以解決各模塊節點通訊時報文量大的問題。
??采用短幀數據格式,傳輸時間短,抗干擾能力強,檢錯效果好。
??每幀信息都有CRC校驗,數據通信的可靠性強。
??通信節點在錯誤嚴重的情況下可以自動關閉輸出功能,脫離網絡,而不會影響其他節點的操作。
(2) CAN總線的通信協議
CAN總線的報文傳送由4種不同類型的幀表示和控制:【3】數據幀、遠程幀、出錯幀和超載幀。數據幀和遠程幀可使用標準幀格式和擴展幀格式。
數據幀自一個發送節點攜帶數據至一個或多個接收節點,它由幀起始、仲裁場、控制場、數據場、校驗場、應答場和幀結束組成。標準幀的仲裁場由11位標識符和遠程發送請求位RTR組成。擴展幀的仲裁場由29位標識符和替代遠程請求SRR位、標志位IDE和遠程發送請求位RTR組成。
遠程幀沒有數據場,由幀起始、仲裁場、控制場、CRC 場、應答場、幀結束組成。CAN 網絡上的一個接收節點可以通過向網絡上發一個遠程幀來啟動數據傳輸,用標識符尋址數據發送源節點,且置相應幀的 RTR 位為“1”。
標識符作為報文的名稱,在仲裁期間,它首先被送到總線。在接收器的驗收判斷中和仲裁過程確定訪問優先權中都要用到。遠程發送請求位(RTR)用來確定是發送遠程幀還是數據幀,當RTR為高電平時,CAN控制器發送遠程幀,為低電平時則發送數據幀。
3 CAN總線在小水電多功能自動化裝置中的應用
采用CAN總線開發集多種功能于一體的自動測控裝置,可提高我國小水電綜合自動化的水平。
開發的測控裝置采用面向對象的設計思想和按功能模塊設計的方法,可以實現機組保護、轉速測控、溫度巡檢、電量采集、非電量采集、同期控制、順序控制、人機交互和通訊等功能。在裝置內部設置七個CPU模塊,分別用于綜合測控、自動準同期、面板顯示、通訊管理、PLC順控、光字牌顯示與語音報警、發變組保護。各模塊采用高速現場總線CAN相連,完成生產過程控制、設備狀態監測、設備參數整定、運行參數監視、裝置自診斷故障顯示等功能,各CPU模塊的CAN通訊結構圖如圖1所示。
3.1 主控制器的硬件選型
主控制器選用MOTOROLA公司推出的高性價比DSP數字信號處理器DSP56F807,主控芯片的選擇取決于小水電測控裝置的功能要求。
小水電測控裝置采用多CPU的硬件模式,各主要功能模塊由獨立的控制芯片來完成。其中,很多功能的實現都要求有很高的實時性,例如其中準同期功能的合閘時機捕捉、發電機保護的動作出口等等,并且裝置中的電量采集等需要用到傅氏算法,運算量非常大,所以主控制器需要選用運算速度快、抗干擾性能好的CPU芯片,而DSP56F807正是一款具有上述優點的主控芯片。DSP56F807【4】具有多總線和流水線結構,指令的執行速率快,并且DSP內部有硬件乘法器,可以在一個指令周期內完成乘法,運算速度快。
裝置內部的各CPU模塊采用CAN總線通訊,而DSP芯片上就集成了控制器局域網模塊CAN2.0A/B,因此不需要另外配置專門的CAN總線芯片,降低成本,簡化硬件電路,這也是主控制器選用DSP56F807的另一原因。通過DSP芯片自帶的CAN控制模塊MSCAN,在硬件上可以很方便地將CAN總線上的各節點互連,實現總線不出芯片。由于CAN控制器必須通過CAN驅動芯片才能與CAN總線相連,所以選用PHILIPS公司生產的CAN總線收發器82C250作為CAN驅動芯片,DSP與82C250的連線圖如圖2所示。
3.2 CAN通訊的軟件實現
本設計中,主要采用C語言編寫程序,而在少數需要直接和硬件打交道的地方采用匯編語言編寫程序。在編寫CAN的通訊程序時,有三個環節非常重要,即CAN模塊初始化、CAN接收數據和CAN發送數據。
(1) CAN模塊的初始化
在CAN控制器運行時,首先必須對MSCAN模塊初始化,對它的一些內部寄存器進行設置,CAN模塊的初始化流程圖如圖3所示。
?
首先使MSCAN進入軟件復位狀態,因為只有這樣才可以對MSCAN設置有關的寄存器進行寫入,此時,MSCAN會退出所有的發送和接收操作,并失去總線同步。所以當MSCAN設置完相關寄存器并退出軟件復位狀態后,要判斷MSCAN與總線是否同步,只有完成同步,MSCAN才能正常的接收發送數據幀。
(2) CAN模塊的數據接收
CAN接收數據幀時采用中斷機制,由于MSCAN初始化時設置接收中斷允許寄存器,允許接收緩沖區滿中斷,即在接收緩沖區滿時會觸發一個MSCAN接收中斷請求,CAN接收中斷流程圖如圖4所示。在接收中斷服務程序中,為了避免此時再發生中斷,在接收數據幀之前設置中斷允許寄存器,不允許接收緩沖區滿中斷,在接收數據幀之后,清除接收緩沖區滿標志,并允許接收緩沖區滿中斷,便于下一次接收中斷的處理。
(3) CAN模塊的數據發送
CAN發送數據幀時也采用中斷機制,但與接收中斷不同的是,由于MSCAN初始化時設置發送器控制寄存器CANTCR,不允許發送緩沖區空中斷,所以在發送數據幀時需要通過設置CANTCR允許發送緩沖區空中斷,從而啟動發送中斷,進入發送中斷服務程序, CAN發送中斷流程圖如圖5所示。在中斷服務程序中,設置CANTCR不允許發送緩沖區空中斷,直到下一次啟動發送中斷。確定發送緩沖區為空時填寫發送緩沖數據寄存器并清除發送緩沖區空標志,這樣MSCAN才能開始發送數據。
?
3.3 裝置內部各CPU模塊的CAN通訊
裝置內部各CPU模塊CAN通訊的信息量很大,所以通訊協議使用CAN 2.0B擴展模式,報文標識符幾乎不受限制,此時仲裁場的標識符有29位。
在CAN的規范中,只定義了數據幀的結構,而沒有定義有關發送和接收的結構信息,所以在編寫通訊程序時,首先需要給數據幀的不同位賦以特定的含義,其中包含數據傳輸所需要的所有信息,包括傳輸源地址、目標地址、幀類型、傳輸字節數、傳輸信息體等等。由于CAN協議規定,每幀最多傳送8個字節的數據,所以,為了盡可能使8個字節中的數據都為傳輸信息體,較好的解決辦法就是將其他的信息包含在29位標識符中。本設計中,CAN通訊的數據幀格式定義如表1所示。
?
其中,前4個字節是擴展數據幀的仲裁場和控制場,后8個字節是數據場。
表1在設計中:
PRI:優先級。1為低優先級,0為高優先級,剩余的優先級由源地址決定,低地址優先級高,該功能可有效支持緊急信息傳送如報警等。
Source Address:發送數據的源地址。
Type:幀類型,包括單幀、多幀、點對點傳送、廣播傳送。
SRR:在數據幀中,SRR必須為“顯性”電平,而在遠程幀中,SRR必須為“隱性”電平。
IDE:屬于仲裁場,為“隱性”電平。
DLC:表示要發送的字節數,等于字節數減1。由于每幀最多發送8個字節的數據,故DLC最大為7。
Data index:索引字節。單幀沒有索引字節,所以該字節為空;多幀數據時Data index表示發送數據幀的幀序號。
Destination Address:發送數據的目標地址。
RTR:定義本幀信息為數據幀還是遠程數據幀請求位。
Data length (L), Data length (H):多幀信息包的長度,只有在傳輸多幀數據的第一幀時填充,其他幀不填充,而可以填充要傳輸的信息體。
6 bytes data:要傳輸的信息體。
遵循上述約定的CAN協議,各CPU模塊之間的通訊快速可靠,抗干擾性強,傳輸波特率達到500kbps,達到了研發的性能指標要求。
4 小結
為了實現小型水電站提出的少人值班、無人值班的要求,提高水電站的自動化水平,集發電機測控保護、勵磁調節、同期并列、順控、遠程通訊、人機交互等多功能于一體的組合智能裝置是一個經濟可行的技術方案,必將成為小水電綜合自動化未來發展的趨勢。此研發的多功能測控裝置采用面向對象的分層分布式結構,各CPU模塊采用CAN總線相連,各模塊之間的數據交互快速可靠、抗干擾性強,在外觀上這些功能模塊都在一個機箱內,結構緊湊,便于安裝使用。實際應用中,既可以在現場獨立運行和操作,又可以在多機系統聯合運行時根據需要配置上位機,構成水電站監控系統,具有非常廣泛的應用前景。
評論
查看更多