現場總線CAN 在監控系統網絡中通信協議設計
1 前言
本文引用地址:http://www.104case.com/article/156907.htm船舶電站監控系統主要用于監控船舶發電機組的運行狀態,調節改善船舶供電的電力品質。本系統取代傳統的點對點連線的控制方法,采用CAN 現場總線技術,實現發電機組的遠程控制。基于CAN 總線具有結構簡單、通信方式靈活的特點及其非破壞總線仲裁技術,為該監控系統提高數據傳輸可靠性、增強系統運行穩定性提供了新的解決方案。
船舶電站監控系統采用 CAN 現場總線連接各設備,通信網絡由監測網絡與控制網絡組成,采用雙冗余總線結構,系統網絡結構圖如圖1 所示。
監測網絡由若干個數據采集模塊與1 個網關組成,主要負責采集傳輸現場用于測量柴油發電機組繞組溫度、燃油壓力等傳感器數據;控制網絡由1 臺上位機、1 臺能量管理控制器與3 個輸入輸出模塊組成,完成對柴油發電機組起動、停車、合閘、解列以及能量管理的
遙控控制。監測網絡和控制網絡均采用雙絞線電纜作為通訊介質,根據網絡規模與數據傳輸流量,設置網絡總線速率為100kpbs。
數據采集模塊:數據采集模塊根據不同的傳感器類型分別能夠采集、測量 Pt100 溫度信號、4~20mA 電流信號以及開關量等信號。
能量管理控制器:實現電站監視與電能管理功能。
輸入輸出模塊:接收來自能量管理控制器的命令,控制發電機組運行,同時監測發電機組相關的電參數。
網關:實現不同網絡間的數據交換。
監測網絡部分:數據采集模塊從外部采集傳感器數據后,將數據發送至網關,網關將所有傳感器數據發送至上位機完成集中顯示與報警功能。
控制網絡部分:上位機將人工控制命令發送至能量管理控制器,該控制器將控制命令進行處理表決,將結果發送至輸入輸出模塊,由輸入輸出模塊輸出控制信號控制發電機組狀態。另外,輸入輸出模塊采集發電機組相關電參數(電壓,電流,有功、無功功率等)發送至能量管理控制器進行監測與管理。
網絡系統由兩條總線構成硬件雙冗余結構,若其中一條總線電纜受損或出現故障后,另一條總線仍能維持系統正常工作,防止通信網絡癱瘓。此外,為了保證通信網絡的可靠性與實事性,各個網絡節點還具有在線故障診斷,傳感器故障診斷等功能。
3 網絡通信標識符設計
在該網絡通信系統中,底層智能模塊選用Intel16 位的MCU,CAN 網絡控制器選用Philips 公司的SJA1000,實現CAN 網絡數據收發功能,系統中網絡總線使用CAN2.0B 協議格式,根據該系統監測網絡與控制網絡的不同功能,分別設計兩種網絡的報文標識符。
3.1 監測網絡協議:
監測網絡中的數據采集模塊采集現場傳感器的模擬信號,通過 A/D 轉換將其轉換為數字量信號后發送至監測網絡,數據刷新頻率為每秒2 批次。對于監測模塊而言,僅僅發送測量所得的現場傳感器數據,不需要接收其他網絡數據,因此設置驗收屏蔽寄存器禁止其他網絡數據接收,網關接收到各個數據采集模塊發送的數據之后將其發送至上位機。下表為監測網絡的報文標識符定義:
每個數據采集模塊分配唯一的網絡節點號,每個網絡節點分配節點地址,此外,為了使網關設備快速判斷各數據采集模塊工作以及所發送的報文是否出現異常狀況,每個數據采集模塊在發送各自的報文時設置索引值,使用CAN 標識符的第13~22 位表示。當某個數據采集模塊起動新的一個批次數據發送時,索引值清零,每發送成功一幀報文后下一幀報文的索引值加1,當前批次數據發送完畢后索引值計數器清零,從而可根據每個模塊在一個批次內發送的報文個數確定該模塊的最大索引值。接收方在接收到某一節點發送的報文后先判斷標識符中的索引值信息,若接收到報文的索引值為不合理數值,則放棄對當前報文的接收處理。由此可以防止網關接收在傳輸時或者程序出錯時產生錯誤的報文,以提高網絡數據的可靠性。此外,監測網絡數據采集模塊設置定時向網關設備發送表示自身通信是否正常的協議幀,網關將其接收后轉發至上位機向用戶顯示系統網絡各個單元當前的工作狀態,即網絡通訊狀態。
評論