久久无码人妻一区二区三区午夜_久久久久精品久久久久影院蜜桃_亚洲综合欧美色五月俺也去_交换娇妻呻吟声不停中文字幕

上海神開石油儀器有限公司
中級會員 | 第21年

13816159058

CAN總線雙機熱備份功能的實現

時間:2009/6/3閱讀:2222
分享:
一、CAN總線簡介
1、概述
CAN(Controller Area Network)zui初是由德國Bosch公司在80年代初期,為了解決汽車中眾多的控制與測量設備之間的數據交換而開發的一種串行數據通信總線,屬于現場總線的范疇,1993年成為標準(ISO11898:道路車輛的高速控制器局域網數字交換系統標準)。CAN總線是一種有效支持分布式控制系統或實時控制的串行通信網絡,是一個多主總線,總線上的各節點都有權隨時向其他節點發送信息,總線沖突時通過總線仲裁方式決定占用總線的節點。CAN的通信介質可以是雙絞線,同軸電纜或光纖。它可以通過簡單的協議,實現在電磁干擾環境下遠距離實時數據的可靠傳輸。
2、主要特點
CAN總線的主要特點概括如下:
1、  CAN總線上任一個節點均可在任一時刻主動向網絡上的其他節點發送數據,而不分主從,通信靈活;
2、  CAN總線采用非破壞性的總線仲裁,當多節點同時向總線發送報文(message)時,優先級低的節點主動停止數據發送(仲裁丟失),而優先級高的節點可以不受影響地繼續發送數據;
3、  CAN總線具有點對點,一點對多點,以及全局廣播傳送數據的功能;
4、  CAN總線通信距離zui遠可達10km,通信zui高速可達1Mbit/s;
5、  CAN將業務數據打包成報文發送,每一個報文的有效字節數為8個。這種小報文方式有傳輸時間短,實時性高,減少因受干擾而重發報文的機率等優點;
6、  CAN采用位校驗、填充位校驗、循環冗余碼校驗(CRC)和數據幀格式校驗,數據出錯概率在10-15以下;
7、  CAN節點出錯次數大于一定數量時,可自動退出總線操作,使錯誤節點對總線的干擾降到zui低;
3、傳輸距離與傳輸速率的對應關系
CAN系統內任意兩個節點間的傳輸距離與該距離下zui大位速率的對應關系見下表:


CAN總線的諸多優勢,促使其在各個領域得到日益廣泛的應用,成為*的zui有前途的現場總線之一。
二、CAN工作機制
1、CAN的報文(message)類型
CAN系統中,節點以報文方式發送和接收數據。CAN的報文有4種類型,即數據幀、遠程幀、出錯幀、過載幀,每種幀均有其相應的幀格式。其中與應用層關系zui密切的是數據幀和遠程幀。
2、CAN節點的狀態
CAN總線上的每個節點總處于“錯誤主動(Error Active)”,“錯誤被動(Error Passive)”和“總線脫離(Bus Off)”三種狀態之一。
  處于錯誤主動狀態的節點,當發現總線上有錯誤傳輸時,將向總線上發“主動出錯幀”;處于錯誤被動狀態的節點,當發現總線上有錯誤傳輸時,將向總線上發“被動出錯幀”。當節點進入總線脫離狀態時,將*退出總線操作。
3、CAN節點的總線仲裁與監聽機制
CAN控制器發送數據時,按字節的高位到低位的順序進行串行發送,在發送的同時進行接收,同時將收到的數據與發送的數據逐位進行比較。在總線仲裁階段,若發送的位是“1”,而接收到的是“0”,則該節點停止發送,退出總線,這就是仲裁丟失,因而,標識符二進制數值低的報文具有更高的優先權。仲裁丟失的節點等到總線空閑時,再重新進行報文發送。在總線仲裁階段之后,發送節點仍將發送數據與接收數據逐位進行比較,這叫做“位校驗”。若接收數據與發送數據不一致,則出現“位出錯”,節點發出錯幀。
除發送節點和總線脫離節點外,其他節點均為接收節點。接收節點不停地接收總線上的傳輸報文,由此不停地監測總線傳輸的錯誤狀態。
4、CAN節點的報文接收篩選機制
CAN控制器監聽接收總線上的所有報文,只有通過CAN控制器的報文篩選器篩選的報文才能進入CAN的報文接收緩沖區,為該節點所接收并傳送給應用程序。
報文接收篩選器由接收碼寄存器和接收屏蔽寄存器組成。接收碼寄存器規定了擬接收報文中參與篩選比較的各位(主要是標識符)必須匹配的值,而接收屏蔽寄存器卻將接收碼寄存器中的某些位屏蔽為“無關位”,對應“無關位”的報文的位不參加篩選比較。
三、普通的單采集機方式
  目前,在石油鉆錄井行業應用CAN總線進行數據采集的各類儀器中大多采用單采集機方式進行工作,即只有一臺計算機負責CAN總線的數據采集工作,其它計算機負責數據的處理及存儲工作。有時為了防止數據丟失,可能采用雙數據庫服務器存儲,達到備份數據的目的,但都要求采集機必須正常工作,一旦采集機中的CAN卡出現故障或采集機系統崩潰均會導致整個系統癱瘓。
四、雙機熱備份功能的提出
  為了防止和避免單采集機工作方式帶來的不利影響,保證在一臺采集機崩潰的情況下仍能使整個系統正常工作,本文提出了基于CAN總線的雙機熱備份功能的實現方法,即采用雙采集機的工作方式,兩臺采集機都通過CAN總線三通連接到CAN總線上,共用同一組傳感器和節點,同時采集。
五、雙機熱備份功能的實現
  根據CAN總線本身的特點,為了避免沖突,實現真正的雙機采集,我們把兩臺采集機分成了主采集機和輔采集機,在主輔采集機同時接收CAN節點定時發送過來的數據幀的情況下,只有主采集機能夠向總線上發送各種命令(包括進行搜索和設置CAN節點的命令),而輔采集機只能處于偵聽狀態。當主采集機死機或CAN卡工作不正常的時候,輔采集機就會自動切換成主采集機,擔當起對CAN節點的各項管理工作。當原主采集機恢復正常工作時,當前的主采集機就又會自動切換回輔采集機狀態,關閉各項設置功能,這就要求主輔采集機通過CAN總線進行必要的通訊。
1、硬件框圖


2、主輔采集機通訊
  為了實現主輔采集機的正確通訊和及時準確切換,要求雙方通過CAN總線傳輸信號。我們采用了只主采集機發送通訊信號,輔采集機只接收通訊信號的方式,在主輔采集機都進行數據采集的同時,只要輔采集機能不間斷地接收到主采集機發來的通訊信號,就認為主采集機還存在并運行正常,一旦一段時間(10~30秒)收不到通訊信號,就認為主采集機已經出現問題,將直接切換成主采集機(在軟件界面上有“主”、“輔”采集機標識)。
  受CAN適配卡總線驅動能力的限制,在CAN總線上一般允許掛接64個節點,占用0~63號邏輯地址,為了使主輔采集機之間的通訊信號(即一個數據幀)不與任何節點(0~63號)沖突,我們采用邏輯地址之上的更高一位進行接收屏蔽,具體設置方法如下:

單機采集時CAN卡初始化設置:


雙機采集時輔采集機CAN卡初始化設置:


主采集機發送的主輔采集機通訊信號(數據幀)格式:
byte_len=SIX
id1=0x60  //01100 + 0
id2=0x00
data[0]=0x00
data[1]=0x00
data[2]=0x00
data[3]=0x00
data[4]=0x00
data[5]=0x00

該數據幀中的數據字段可任意值,這里默認為0。

需要注意的是,在輔采集機進行數據采集接收的過程中應將該通訊信號與“0”號地址節點(一般為絞車計數)區分開來,如果將該通訊信號也接收進數據緩沖區,會使“0”號節點對應的傳感器數據為0。為了使該通訊信號有zui高的優先權,將它的邏輯地址設成了“0”號,但它與“0”號節點是有區別的,區別在于6位邏輯地址的前一位上。因此在接收到該信號后應進行特殊處理。
3、軟件流程圖


六、基于CAN總線的雙機熱備份功能的優點和特點
1、  實現了CAN卡與CAN卡之間的雙向通訊;
2、  與通過網絡等其它介質通訊相比,通過CAN總線直接通訊更快捷和準確,避免了因其它通訊介質或通訊設備故障而產生的誤報現象;
3、  其中的一臺采集機出現故障并不影響整個系統的正常運行;
4、  主輔采集機的正確通訊保證了CAN節點在同一時刻只有一個命令中心,防止了多方指揮的混亂狀態;
5、  更加合理地利用節點和傳感器,兩個甚至更多個采集系統只需一套傳感器總成,減輕了鉆井現場的安裝和維護任務,并降低了成本;
6、  及時準確地保存了現場的兩套數據,避免了因數據丟失造成的損失。

七、基于CAN總線的雙機熱備份功能的先進性和可擴展性
1、  據了解目前還沒有其它任何一家鉆錄井儀器制造廠商真正實現基于CAN總線的雙機熱備份功能;
2、  實現了直接利用CAN總線進行兩塊CAN卡之間的雙向通訊;
3、  可擴展該功能,利用CAN總線實現分別裝有CAN卡的兩臺計算機之間的數據交換和消息傳遞。

八、參考資料
1、SBS SysExpanModule/CSM 技術手冊V3.4
 
 

會員登錄

×

請輸入賬號

請輸入密碼

=

請輸驗證碼

收藏該商鋪

X
該信息已收藏!
標簽:
保存成功

(空格分隔,最多3個,單個標簽最多10個字符)

常用:

提示

X
您的留言已提交成功!我們將在第一時間回復您~
撥打電話
在線留言
主站蜘蛛池模板: 白河县| 鹿泉市| 布拖县| 唐河县| 米脂县| 碌曲县| 龙泉市| 寿光市| 寻甸| 黎城县| 荆门市| 新巴尔虎右旗| 江孜县| 东辽县| 天门市| 衡水市| 阿图什市| 定西市| 比如县| 西乌珠穆沁旗| 册亨县| 丹巴县| 巩义市| 独山县| 信宜市| 孝昌县| 长丰县| 凭祥市| 安国市| 泸溪县| 文化| 贺州市| 卫辉市| 观塘区| 旬阳县| 莱阳市| 楚雄市| 新河县| 分宜县| 屯门区| 广汉市|