• <blockquote id="fficu"><optgroup id="fficu"></optgroup></blockquote>

    <table id="fficu"></table>

    <sup id="fficu"></sup>
    <output id="fficu"></output>
    1. ACS880-07C
      關(guān)注中國自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
      橫河電機-23年10月11日
      2024
      工業(yè)智能邊緣計算2024年會(huì )
      2024中國自動(dòng)化產(chǎn)業(yè)年會(huì )
      2023年工業(yè)安全大會(huì )
      OICT公益講堂
      當前位置:首頁(yè) >> 案例 >> 案例首頁(yè)

      案例頻道

      CAN總線(xiàn)在工業(yè)控制系統中的應用設計
      • 企業(yè):控制網(wǎng)     領(lǐng)域:工業(yè)以太網(wǎng)     行業(yè):網(wǎng)絡(luò )通訊    
      • 點(diǎn)擊數:3459     發(fā)布時(shí)間:2003-11-02 19:08:00
      • 分享到:

      陳華明,張  剛

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

      表1  CAN通信幀結構

      Byte0

      Frame information

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

      表2  CAN節點(diǎn)驗收碼和屏蔽碼設置表 

      節點(diǎn)類(lèi)型

      驗收碼

      ACR0.7- ACR0.5

      驗收碼

      ACR1

      屏蔽碼

      AMR0.7- AMR0.5

      屏蔽碼

      AMR1

      主節點(diǎn)(CPU)

      0 1 0

      00h

      110

      0ffh

      從節點(diǎn)(I/O單元)

      0 0 1

      ACR1

      101

      AMR1

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

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

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

      表3  CAN節點(diǎn)信息流向表
       

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

      熱點(diǎn)新聞

      推薦產(chǎn)品

      x
      • 在線(xiàn)反饋
      1.我有以下需求:



      2.詳細的需求:
      姓名:
      單位:
      電話(huà):
      郵件:
      欧美精品欧美人与动人物牲交_日韩乱码人妻无码中文_国产私拍大尺度在线视频_亚洲男人综合久久综合天

    2. <blockquote id="fficu"><optgroup id="fficu"></optgroup></blockquote>

      <table id="fficu"></table>

      <sup id="fficu"></sup>
      <output id="fficu"></output>