999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

船舶控制系統冗余CAN總線網絡研究

2016-06-28 01:33:01濮加佳曹丹丹中國船舶重工集團公司第七三研究所無錫分部江蘇無錫214151
中國新技術新產品 2016年10期

丁 超 濮加佳 曹丹丹(中國船舶重工集團公司第七〇三研究所無錫分部,江蘇 無錫 214151)

?

船舶控制系統冗余CAN總線網絡研究

丁 超 濮加佳 曹丹丹
(中國船舶重工集團公司第七〇三研究所無錫分部,江蘇 無錫 214151)

摘 要:為了進一步提高船舶控制系統在惡劣海況下的可靠性,本文采用冗余CAN總線搭建了通信網絡。該網絡采用軟件方法實現了兩路CAN總線的熱冗余,自定義了通信協議,通過動態鏈接庫實現了不同設備之間的程序移植,并采用LabVIEW開發了上位監控軟件。應用結果表明,該網絡運行穩定可靠,故障檢測準確,實時容錯能力強,移植性好,大大降低了研發成本,具有很好的實用性和推廣價值。

關鍵詞:CAN總線;冗余;通信協議;動態鏈接庫;LabVIEW

Abstract:This paper develops a redundancy CAN-bus network for improving reliability of marine control system in severe sea condition. This network implemented hot redundancy of CAN-bus by software method, defined a custom communication protocol, transplanted the program by Dynamic Link Library, and developed the monitoring software by LabVIEW. The application shows that this system runs stably and accurately. The technology and methods adopted in the system are practical and worthy of using abroad.

Keywords:CAN-bus; redundancy; bcommunication protocol; Dynamic Link Library; LabVIEW

船舶控制系統由發動機控制系統、螺旋槳控制系統、舵機控制系統、駕駛員操作臺等設備組成,不同設備之間需要進行大量的實時數據傳輸,因此需要一種安全可靠的通信總線來完成這個任務。由德國Bosch公司開發的CAN總線具有簡單易用、實時高速、可靠性高等諸多優點,能夠滿足要求。為了保證船舶控制系統在高溫、水霧、顛震等惡劣條件下仍然能夠安全可靠地工作,必須采用雙冗余CAN總線系統。本文比較了現有的雙冗余CAN總線系統技術方案的優缺點,提出了一種完全基于軟件實現的雙冗余CAN總線方案,不僅具備完善的故障檢測的容錯能力,而且對硬件無特殊要求,可以非常方便地移植到不同的設備上。為了搭建完整的冗余CAN總線網絡,本文還根據船舶控制系統的特點自定義了通信協議,并基于LabVIEW開發了上位監控軟件。

圖1 雙冗余CAN總線系統結構

圖2 冗余功能的程序結構

1 雙冗余CAN總線的實現方法概述

按照兩路總線的工作狀態來分類,雙冗余CAN總線系統的實現方法主要有兩種,一種是冷冗余,其原理是:一路總線工作,另一路總線待機,工作總線出現故障后切換到待機總線;另一種是熱冗余,其原理是:兩路總線同時工作,設備發送數據時同時往兩路總線上發送同一個數據,接收數據時會從兩路總線上接收到相同的兩個數據,選取其中一個即可。在此基礎上根據CPU主機、CAN控制器、CAN收發器等環節的配置不同,又可以分成CAN收發器冷、熱冗余、CAN控制器冷、熱冗余、全系統冗余、冷熱冗余等。CAN收發器冷、熱冗余與CAN控制器冷、熱冗余的區別在于:前者是一個CAN控制器與兩個CAN收發器連接,主要通過硬件模擬開關實現冗余功能;后者是兩個CAN控制器分別與兩個CAN收發器連接,主要通過軟件實現冗余功能。如果把CPU主機的冗余也考慮在內,就成了全系統冗余方案。陳堯等人提出了一種冷熱冗余相結合的方案,其思路是:按照CAN收發器熱冗余方案設計兩塊相同的CAN通信單板,由CPU主機控制這兩塊單板的切換。曹俊敏等人提出了一種只有一個CAN控制器、一個CAN收發器的方案,其思路是:CAN收發器通過兩個硬件模擬開關選擇兩路總線。然而這種方案只能對總線電纜故障進行容錯,對CAN控制器和CAN收發器等關鍵器件的故障無能為力,因此不予考慮。

冷冗余方式最大的優點是功耗小,然而缺點很多,比如:某個節點出現故障后所有節點都要一起切換到另一路總線,要實現該功能就必須設置主節點,通過主節點來協調所有節點的動作,然而這又使得主節點的可靠性對整個系統的正常運行非常重要,李軍等人提出了通過在網絡中設置兩個主節點來保證系統的可靠性;總線切換過程中會引起短時間的通信中斷并丟失數據,給系統運行帶來隱患;當網絡中只有一個節點在工作時,該節點會不停地來回切換通道,馮源等人提出的解決辦法是:來回切換幾次通道后就判斷為總線故障并退出總線,但是當其他節點投入工作后該節點還得復位才能重新工作,增加了操作的復雜性。這些缺點導致冷冗余方式不適合對實時性要求嚴格的系統。而采用硬件電路實現的冗余方案,對于由多家單位合作開發的船舶控制系統來說也不適用,因為所有設備提供的都是兩個獨立的CAN通道,如果采取CAN收發器冷、熱冗余或者雙單板冷熱冗余等方案,所有設備都必須重新定制CAN通信板卡,不僅會導致研發成本和周期大大增加,還可能會因為設備本身的硬件架構問題而無法實現。因此,在船舶控制系統中采用的是基于軟件實現的熱冗余方案。

表1 心跳報文幀格式

圖3 故障檢測流程

表2 故障檢測流程

表3 數據報文格式

2 雙冗余CAN總線的原理與實現

雙冗余CAN總線的結構如圖1所示。設備上電后,兩個CAN控制器都被初始化至工作狀態。發送數據時,兩個CAN控制器把來自CPU的數據同時往兩路總線上發送;接收數據時,兩個CAN控制器會幾乎同時接收到同一個數據,只需接收到其中一個即可完成通信。冗余功能的程序結構如圖2所示。

3 故障檢測的原理與實現

為了保證船舶控制系統的通信故障能被及時發現和排除,冗余CAN總線網絡必須具備完善的故障檢測機制。通信協議定義了一種專門用于網絡監控的數據幀報文,稱為心跳報文,其幀格式見表1。

每個設備按固定周期往總線上發送心跳報文,同時接收其他設備發出的心跳報文,并把接收情況記錄下來填寫在心跳報文里;如果心跳報文發送失敗,就進入故障檢測程序,把檢測結果也填寫在心跳報文里。這樣,每個設備的心跳報文里都包含了該設備的故障信息以及該設備與其他設備之間的通信通斷信息,把所有的心跳報文集中起來進行分析,就可以知道哪個設備、哪段總線電纜出了什么故障。

故障檢測函數的流程如圖3所示,檢測結果分為7種情況:

“1”:節點工作正常;

“2”:CAN卡正常,總線斷路或者插頭掉落;

“3”:CAN卡正常,總線短路;

“4”:CAN卡故障,只能發送不能接收;

“5”:CAN卡故障,只能接收不能發送;

“6”:CAN卡通道損壞,不能收發;

“7”:不明故障。

4 自定義通信協議

由于CAN總線底層協議沒有規定應用層,因此在構建以CAN總線為基礎的應用系統時必須定義一個應用層的通信協議。由于常用的通用型通信協議如CANopen、DeviceNet等大都是針對非冗余的一對多的分布式控制系統,不適合應用在每兩臺設備都需要通信的冗余CAN總線網絡中,因此本文根據船舶控制系統和冗余CAN總線網絡的具體情況自定義了一個簡潔易用的應用層通信協議。

常用的數據接收方法有兩種:

(1)在ID中騰出幾個位作為地址編碼,假定是ID0-ID4,一共有5個位,可以有32個不同的值,意味著這樣的系統中最多可以有32個設備。總線上的所有設備都有一個編號,范圍從0~31,某個設備需要向編號為1的設備發送數據,那么它只要在ID0-ID4中寫1就行了;需要編號為20的設備發送數據,就往ID0-ID4中寫20;依此類推。接收報文的設備只需要檢查ID0-ID4的數值是不是本設備的編號,如果是,就接收報文;不是,就忽略。

很多文獻中的設備尋址用的都是這種方法,因為這種尋址方法直觀形象、容易理解。然而這種方法有一個不足之處,就是當數據的傳輸采用單點對多點,即單個設備同時往n個設備發送數據時,只能先給多點中的第一個設備發送一次,接著再給第二個設備發送一次,依此類推,有n個設備就得重復發送n次,無法做到只發送一次讓n個設備同時接收。因此,如果系統中的單點對多點通信一旦用得很多,通信帶寬就被大大浪費了。

圖4 調用動態鏈接庫函數發送模擬量數據

(2)CAN控制器不作任何濾波處理,所有的報文都會被接收,用戶在程序中對報文加以判斷,如果是自己需要的報文就保存起來,不是就忽略掉。這種方法很像廣播:總線上出現的任何一個報文,所有的設備都會看到并接收,然后通過程序來選擇自己所需的報文。

這種方法搭建系統非常方便,只需要在程序中對報文辨別一下就行了。然而,不進行濾波處理的后果是接收了很多用不到的報文。為了保證通信的實時響應,一般都是使用中斷來接收報文,CAN控制器接收到報文就觸發中斷,處理器立即對報文進行處理。如果接收到的報文不是所需要的,就白白浪費了寶貴的中斷處理和CPU時間。

為了克服以上兩個設備尋址方法的缺點,本文采用了一種全新的設備尋址方法,既能避免浪費通信帶寬,也能避免硬件作很多無用功。表2所示ID0-ID28對應擴展幀ID的29位,把ID0-ID12作為設備尋址位,每個位對應總線上的一個設備,用法如下:要往設備10發送一個報文,就把ID9置1,其他位全部置0;要同時往設備4和設備9發送同一個報文,就把ID3和ID8同時置1,其他位全部置0;要同時給所有的設備發送同一個報文,就把ID0到ID9全部置1。在這樣的尋址方式下,設備的接收濾波設置變得非常簡單,比如:對于設備8,只要報文的ID7等于1就接收;對于設備4,只要報文的ID3等于1就接收。

“功能碼”定義的是報文的種類,比如:(1)命令報文;(2)心跳報文;(3)模擬量報文;(4)開關量報文;(5)測試報文;(6)大文件傳輸報文;(7)命令反饋報文。一共可以分為8種類型。

“本機地址碼”定義的是總線上各個設備的編碼,根據這個編碼可以判斷出報文來自哪個設備,最多可以有16個設備。

“信號編碼”定義的是每種類型報文的編碼,比如:對于命令報文,假設一共有15個命令,則信號編碼為1~15;對于開關量報文,假設一共有200個報文,則信號編碼為1~200。一共可以有255個不同的編碼。

為了定義的簡潔統一以及便于編程,通信協議中將系統中用到的數據分為命令、命令響應、模擬量、開關量四種。這四種數據都用數據幀來傳輸,數據域有8個字節,格式見表3。

圖5 冗余CAN總線網絡故障監控頁面

5 上位監控軟件

LabVIEW是面向工業測控的圖形化編程環境,除了具備常規組態軟件的優點之外,還提供了對C語言和動態鏈接庫的良好支持,因此非常適合用來開發冗余CAN總線網絡的監控軟件。

將前述的冗余功能和通信協議編寫成動態鏈接庫后,利用的LabVIEW的CLN節點就可以調用動態鏈接庫中的函數了。圖4是LabVIEW程序中調用動態鏈接庫函數SendAnalog()發送模擬量數據的代碼。圖5是上位監控軟件中監控整個冗余CAN總線網絡故障情況的頁面。

結語

本文提出的冗余CAN總線網絡經過長時間的試驗運行和項目實踐,證明系統運行穩定可靠,單路總線發生故障時不會引起通信中斷和數據丟失,故障檢測的延時為一個心跳報文周期。本系統的軟件采用了良好的模塊化設計,而且對硬件沒有特殊要求,可以很方便地移植到其他具備兩個獨立CAN通道的設備中,因此具有很好的實用性和推廣價值。

參考文獻

[1]饒運濤,鄒繼軍,鄭勇蕓.現場總線CAN原理與應用技術[M].北京:北京航空航天大學出版社,2003.

[2]禹春來,許化龍,劉根旺,侯曉林.CAN總線冗余方法研究[J].測控技術,2003:22(10).

[3]郭曉松,王振業,于傳強,潘興杰.基于CAN總線的容錯冗余技術研究[J].計算機測量與控制,2009,17(1).

[4]王紅亮,田帥帥.基于節點冗余的CAN總線網絡雙冗余方法[J].探測與控制學報,2010:32(4).

[5]李軍,李林,張曉艷.冗余CAN總線在機電管理系統中的應用研究[J].航空計算技術,2010,40(2).

[6]陳堯,孫漢旭,賈慶軒,史國振.空間機器人冷熱雙冗余CAN總線系統的研制[J].電子技術應用,2008(02).

[7]楊君,孫漢旭,賈慶軒,史國振.Vxworks下的冗余CAN通信模塊設計[J].微計算機信息,2007(29).

[8]曹俊敏,孟祥群,唐厚君.單個CAN控制器的雙總線冗余網絡實現[J].微處理機,2007(4).

[9]馮源,向桂林,李軍.基于C8051的冗余CAN總線智能節點設計[J].航空計算技術,2008,38(5).

中圖分類號:TP273

文獻標識碼:A

主站蜘蛛池模板: 欧美19综合中文字幕| 欧美视频二区| 色综合久久88色综合天天提莫| 欧美一区二区三区欧美日韩亚洲 | 伊人婷婷色香五月综合缴缴情| 国产精品流白浆在线观看| 性欧美在线| 天天摸夜夜操| 国产精品国产主播在线观看| 亚洲国产中文在线二区三区免| 日韩成人免费网站| 黄色片中文字幕| 三级视频中文字幕| 麻豆国产精品| 热热久久狠狠偷偷色男同| 91在线视频福利| 精品久久久无码专区中文字幕| 这里只有精品国产| 亚洲 欧美 中文 AⅤ在线视频| 美美女高清毛片视频免费观看| 国产日韩丝袜一二三区| 成人免费一区二区三区| 欧美精品啪啪| 日a本亚洲中文在线观看| 亚洲一区二区无码视频| 成人另类稀缺在线观看| 操操操综合网| 日本色综合网| 毛片a级毛片免费观看免下载| 亚洲欧美成人在线视频| 日韩精品无码免费专网站| 国产经典三级在线| 97国产精品视频人人做人人爱| 亚洲综合专区| 黄色网址手机国内免费在线观看| 亚洲va视频| 欧美亚洲一区二区三区导航| www精品久久| 日韩精品无码免费一区二区三区| 亚洲激情99| 无码粉嫩虎白一线天在线观看| аⅴ资源中文在线天堂| 无码粉嫩虎白一线天在线观看| 国产精品任我爽爆在线播放6080| 亚洲一区二区成人| 久草视频中文| 国产农村妇女精品一二区| 亚洲成人77777| 手机成人午夜在线视频| 精品国产免费观看| 久久永久视频| 欧美中出一区二区| yjizz视频最新网站在线| 欧美精品在线观看视频| 在线亚洲精品自拍| 免费高清自慰一区二区三区| 亚洲男人天堂久久| 波多野结衣一区二区三区AV| 五月婷婷综合在线视频| 波多野结衣无码视频在线观看| 久久亚洲中文字幕精品一区 | 亚洲福利视频一区二区| 无码av免费不卡在线观看| 亚洲精品成人片在线播放| 久久人人妻人人爽人人卡片av| 手机在线国产精品| 亚洲熟女偷拍| 婷婷六月在线| 亚洲无码不卡网| 欧美一区二区福利视频| 国产精欧美一区二区三区| 国产精品久久久精品三级| 国产91在线|中文| 超薄丝袜足j国产在线视频| 激情综合图区| 麻豆精品在线播放| 国产成人精品午夜视频'| 91亚洲视频下载| 日韩免费无码人妻系列| 激情成人综合网| 日韩精品一区二区三区免费| 91欧美在线|