国产欧美日韩精品a在线观看-国产欧美日韩精品一区二区三区-国产欧美日韩精品综合-国产欧美中文字幕-一区二区三区精品国产-一区二区三区精品国产欧美

ACS880-07C
關注中國自動化產業發展的先行者!
CAIAC 2025
2024
工業智能邊緣計算2024年會
2023年工業安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

CAN總線在工業控制系統中的應用設計
  • 企業:控制網     領域:工業以太網     行業:網絡通訊    
  • 點擊數:3491     發布時間:2003-11-02 19:08:00
  • 分享到:

陳華明,張  剛

1  概述
在計算機工業控制系統中,一般包括智能I/O處理單元、主控單元(主CPU單元)和后臺處理系統。主控單元與后臺處理系統之間通過10/100Mbps以太網進行連接;主控單元與智能I/O處理單元之間的連接采用現場總線,如Profibus、FF、LonWork、CAN Bus等。
CAN(Controller Area Network)是一種成熟的現場總線,由德國BOSCH公司開發,最初用在汽車內的自動化系統中,由于其性能優異、價格低廉,很快被推廣到工業控制現場。其物理層使用雙絞線,符合ISO DIS 11898標準,其數據鏈路層采用了載波偵聽及碰撞檢測機制(CSMA/CD),同ETHERNET相似,不同的是CAN Bus在此基礎上增加了優先級控制,使高優先權的信息可以不受阻礙地立即傳送。CAN Bus的最大特點是其可靠性,按ISO DIS 11898標準,雙絞線中即使有一條線接地或與電源短路,甚至斷線,它都可以正常地傳輸信息。其最高傳輸速率為1Mbps,最大傳輸距離為10km,網絡上的節點數量無特定限制。
與主從方式的現場總線不同,CAN Bus是一種對等式(Peer-to-Peer)的現場總線網,采用CAN Bus連接主控單元與I/O單元,可以通過節點ID和ID掩碼的選擇,方便地實現點對點、點對多點和廣播等多種傳輸方式;可以提高主控單元與I/O單元,I/O單元之間的隔離性,便于實現模塊的冗余和不停機拆裝;可以實現無集中機柜的分散安裝方式,系統控制功能可進一步向下分散。
目前使用的CAN Bus技術規范有兩部分,即CAN2.0A和CAN2.0B。CAN Bus的技術特點如下:
①  各個節點具有相同的總線訪問權,Peer-to-Peer方式無需主節點;
②  無破壞性的基于優先權的總線仲裁策略;
③  不需要發送目的地址,借助接收節點濾波實現向多點發送;
④  數據幀、數據請求幀、出錯幀和超載幀等四種幀格式;
⑤  五種錯誤檢驗;
⑥  配置靈活性;
⑦  全系統數據相容性;
⑧  發送期間若丟失仲裁或由于出錯而遭破壞的幀可自動重發;
⑨  暫時錯誤和永久性故障節點的判別及故障點的自動化脫離;
⑩  可程序控制的傳送速率。
CAN2.0B與CAN2.0A相比的最大區別在于CAN2.0B識別碼由11位擴展到了29位,更為靈活方便。
SJA1000是一款常見的CAN2.0B控制器,用于汽車和一般工業環境中的控制器局域網絡(CAN)。它是PHILIPS半導體PCA82C200 CAN控制器(BasicCAN)的替代產品。而且,它增加了一種新的工作模式,即PeliCAN,這種模式支持具有很多新特性的CAN 2.0B協議。
其擴展功能主要有:① 可讀/寫訪問的錯誤計數器。② 可編程的錯誤報警限制。③ 最近一次錯誤代碼寄存器。④ 對每一個CAN Bus錯誤的中斷。⑤ 具體控制位控制的仲裁丟失中斷。⑥ 單次發送(無重發)。⑦ 偵聽模式(無應答、無主動的出錯標志)。⑧ 支持熱插拔(軟件實現的位速率檢測)。⑨ 驗收濾波器擴展(4字節代碼、4字節屏蔽)。⑩ 自身信息接收(自接收請求)。
2  總線的應用
要提高基于CAN Bus控制系統的性能,必須注重主控單元與I/O單元、I/O單元之間的通信效率和可靠性,充分合理的利用CAN控制器提供的功能,設計高效而又滿足應用的應用層協議。
下面就以SJA1000為例,描述在工業控制系統中CAN Bus的應用設計,包含通信速率、節點定義、幀結構、過濾方式、識別碼格式和優先級的定義等內容。
2.1  通信速率
系統預設8種通信速率,根據SJA1000的實際時鐘頻率,計算出每種通信速率下SJA1000的BTR0 和BTR1寄存器的設置值。系統的通信速率由主控單元確定(根據組態軟件的設置來設置SJA1000),I/O單元自動偵聽CAN Bus通信速率,并設置自身的SJA1000。
2.2  節點定義
主節點: 主CPU(主控單元)節點,允許單CPU、雙CPU、多CPU等配置方式。
從節點: I/O單元節點,允許單I/O、雙I/O冗余配置方式,同一CAN Bus上的從節點數目最大為64。
2.3  CAN通信幀結構
所有在CAN Bus上傳送的信息都以幀為基本單元,每幀的長度為5~13個字節,具體長度視傳送內容確定。CAN通信幀結構見表1。

表1  CAN通信幀結構

Byte0

Frame information

BIT7:1BIT3-BIT0:0~8;其余位:0

Byte1

Identifier 1

報文標識碼的ID.28~ID.21

Byte2

Identifier 2

報文標識碼的ID.20~ID.13

Byte3

Identifier 3

報文標識碼的ID.12~ID.5

Byte4

Identifier 4

5位為報文標識碼的ID.4~ID.0;其余位:0

Byte5

Data byte 1

數據1

Byte6

Data byte 2

數據2

Byte7

Data byte 3

數據3

Byte8

Data byte 4

數據4

Byte9

Data byte 5

數據5

Byte10

Data byte 6

數據6

Byte11

Data byte 7

數據7

Byte12

Data byte 8

數據8

2.4  過濾方式
為提高CAN Bus上通信效率和可靠性,并充分利用CAN Bus的優先級仲裁機制,系統應保證:
(1)  CAN Bus不同節點所發送的通信幀其識別碼一定不同;
(2)  對于CAN Bus上的點對點通信幀,保證有且只有目的節點能接收到。
要滿足上述2個要求,在設計上應使通信幀的識別碼與SJA1000驗收濾波器互相配合。
SJA1000 驗收濾波器由4 個驗收碼寄存器ACR0、ACR1、ACR2和ACR3和4個驗收屏蔽寄存器AMR0、AMR1、AMR2和AMR3組成。它們在SJA1000的復位模式下可由主控制器設置,從而可對接收信息構成非常靈活的濾波。
在本系統中,CAN節點對通信幀的接收采用單過濾方式。單濾波是指只有1個由4個驗收碼寄存器和4個驗收屏蔽寄存器組成的驗收濾波器,總線上的信息只有通過它的驗收濾波才予以接收。ACR和AMR是配合在一起工作的,所有AMR 為0 的位,ACR和CAN通信幀識別碼的對應位必須相同才能驗收通過;所有AMR 為1 的位,ACR 對應位的驗收濾波功能則予以屏蔽,CAN 信息幀的相關位與驗收結果無關。
節點的驗收碼和屏蔽碼的設置見表2。

表2  CAN節點驗收碼和屏蔽碼設置表 

節點類型

驗收碼

ACR0.7- ACR0.5

驗收碼

ACR1

屏蔽碼

AMR0.7- AMR0.5

屏蔽碼

AMR1

主節點(CPU)

0 1 0

00h

110

0ffh

從節點(I/O單元)

0 0 1

ACR1

101

AMR1

對于所有類型的節點,驗收碼ACR0.4-ACR0.0、ACR2和ACR3的所有位均為0,屏蔽碼AMR0.4-AMR0.0、AMR2和AMR3的所有位均為1。
I/O單元各節點均分配一個邏輯ID,由此確定CAN通信的物理地址,從節點邏輯ID及驗收碼ACR1和屏蔽碼AMR1的分配規則為:
  從節點的驗收碼ACR1的8位由4個“1”和4個“0”組成;
  不同從節點的驗收碼ACR1均不相同;
  從節點邏輯ID越小,對應的驗收碼ACR1也越小;
  從節點的屏蔽碼AMR1為其驗收碼ACR1的反碼。
根據上述規則,可分配出70個從節點,選取其中的64個作為系統的從節點。
2.5  CAN通信幀報文標識碼(29位)定義

CAN通信幀報文標識碼(29位)定義如下:

ID.28~ID.26:信息流向(MDIR),3位。具體含義見表3。

表3  CAN節點信息流向表
 

ID.25~ID.21:信息類型(MTP),5位;
ID.20~ID.13:從節點號索引(SNI),8位。CPU節點發送時表示目的從節點,從節點向CPU節點發送時表示源從節點,從節點之間通信時表示目的從節點。0ffh表示是廣播幀,發送點對點幀時,SNI就是從節點邏輯ID號對應的從節點驗收碼ACR1。
ID.12~ID.5:信息編移(MOS),8位。對于點對點的CAN通信幀,此信息偏移表示該通信幀內數據的偏移。對于CPU節點發送的廣播幀,此信息偏移用來表示發送此廣播幀的不同的CPU節點,例如可以是CPU節點所在主控單元的系統網絡站號。
ID.4~ID.2:保留,3位。
ID.1~ID.0:源節點內部單元序號(SNMN),2位。非冗余CPU節點發送時,SNMN保留,為0;冗余CPU節點發送時,為0和1分別表示該冗余CPU節點的A機和B機(為2和3保留)。非冗余I/O單元從節點發送時,SNMN保留,為0;冗余I/O單元從節點發送時,為0和1分別表示該冗余I/O單元的A單元和B單元(為2和3保留)。
2.6  CAN通信幀傳送優先級
根據所定義的CAN通信幀報文標識碼格式,CAN Bus上各通信幀傳送優先級首先由MDIR決定。
按照MDIR,CAN通信幀優先級由高到低依次為:
①  主節點(CPU節點)向從節點發送的點對點幀,如主控單元向某一I/O單元發送配置數據。
②  主節點向所有從節點發送的廣播幀,如主節點向所有從節點請求I/O單元工作狀態,或主節點向所有從節點請求當前數據。
③  主節點向主節點發送的點對點幀。
④  主節點向所有主節點發送的廣播幀。
⑤  從節點之間點對點通信幀。
⑥  從節點向主節點發送的廣播幀。
上述6類通信幀中,常用到的有①、②和⑥這三種,能滿足數據采集與控制的基本應用要求。
在MDIR后,CAN通信幀傳送優先級由MTP決定。在MDIR相同的情況下,MTP對優先級的確定起著決定作用,從而保證重要信息類型數據的優先傳送。例如SOE(事件順序記錄)信息就可以比普通的巡檢數據優先傳送。
常見的信息類型有網絡同步幀、請求配置、配置數據、SOE數據、巡檢數據、狀態數據等,在系統設計時可根據其重要程度排定優先級,并確定相應的MTP數值。
在MTP后,CAN通信幀傳送優先級由SNI決定。在MDIR和MTP都相同的情況下,CAN通信幀的優先級取決于SNI,邏輯ID越小,其優先級越高。
3  結語
本文以SJA1000為例,通過節點定義、幀結構、過濾方式、識別碼定義和優先級定義等方面的應用設計,可以實現工業控制系統中多冗余的主控單元和64個可冗余I/O節點之間的高效可靠的數據通信,實現不同流向的各種類型的通信幀的高效傳送。通信幀優先級由MDIR、MTP和SNI依次決定,并保證CAN Bus上不會出現相同的識別碼。

熱點新聞

推薦產品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 日韩视频久久| 国产欧美精品区一区二区三区| 日韩高清在线不卡| 久久在线一区| 欧美成人h| 国产三级久久| 日本三级一区| 亚洲日本va午夜中文字幕一区| 午夜在线影院| 久久婷婷影院| 美女叉开腿让男人捅| 国产午夜免费福利红片| 国产成人美女福利在线观看| 99精品免费视频| 日韩一级精品久久久久| 18成人免费观看网站入口| 成年片免费网址网站| 99精品国产成人一区二区在线| 亚洲第一成人天堂第一| 日韩欧美国产一区二区三区| 久久不卡日韩美女| 国产欧美日韩视频在线观看 | 久久精品精品| 精品国产区| 国产片一级片| 中文在线亚洲| 91免费永久在线地址| 一级欧美一级日韩片| 亚洲a人| 久草福利资源| 成人在线a| 亚洲素人在线| 久久久久久亚洲精品影院| 欧美日韩亚洲在线观看| 国产欧美一区二区成人影院 | 美国特级毛片| 国产一级片毛片| 岛国大片在线播放高清| 在线播放人成午夜免费视频| 亚洲第一网站在线观看| 国内精品久久久久久野外|