色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于DeviceNet總線與ModBus總線的設備通信設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2018-12-04 08:23 ? 次閱讀

引言

DeviceNet是一種基于CAN總線技術的符合全球工業標準的開放型現場總線通信網絡,它用于控制,配置和數據采集等方面。CAN 總線具有布線簡單、典型的總線型結構、穩定可靠、實時、抗干擾能力強、傳輸距離遠、布線成本低等特點。由于具備了這些特點,Devi-ceNet總線被廣泛應用于工業自動化控制,它不僅可以接入更多,更復雜的設備,還可以為上層提供更多的信息和服務。在很多歐美國家,越來越多的系統方案設計采用DeviceNet來實現。

ModBus協議是應用于電子控制器上的一種通用語言,是全球第一個真正用于工業現場的總線協議,由于該協議的產生,使控制器之間、控制器經由網絡和其他設備之間實現相互通信。ModBus協議現在已經成為一種通用的工業標準,應用該協議技術可以使不同廠商生產的控制設備連成一個工業網絡,進行集中監控管理。此協議定義了一個控制器能認識使用的消息結構體,從而使用戶不需要關心它們使用哪種網絡進行通信。它描述了一個控制器請求訪問其他設備的過程,如何回應來自其他設備的請求,以及怎樣偵測錯誤并記錄。它制定了消息域格局和內容的公共格式。

本文主要解決DeviceNet 與ModBus 之間的協議轉換問題。標準的ModBus口是使用RS-232C兼容串行接口,它定義了連接口的針腳、電纜、信號位、傳輸波特率、奇偶校驗。控制器能直接或經由Modem 組網。基于DeviceNet 的嵌入式I/O 模塊通過I/O 口發送和接收數據,ModBus通過串口與嵌入式I/O模塊進行通信。通過此過程完成DeviceNet與ModBus之間的協議轉換問題。

1 嵌入式I/O模塊的設計與實現

DeviceNet是一種上層的應用層協議,其物理層和數據鏈路層采用CAN總線技術,ModBus協議只是用于數據鏈路層上的協議[1].這兩種現場總線是異構的,因此要實現兩種協議之間的通信,必須要進行協議轉換。協議轉換的轉換過程是分層次進行的。首先把總線設備發送過來的設備逐層解包,得到需要的數據,然后再把數據按另一協議所需的方式打包,發送到相應的設備上。

DeviceNet與ModBus協議都采用主從通信模式,所以它們之間的通信只能是單向的,主站發送命令報文而從站被動接收命令報文。本設計中的嵌入式I/O模塊既是De-viceNet從站,又是ModBus的主站。通過該模塊可以實現DeviceNet主站的數據與ModBus從站的數據進行傳輸。

嵌入式I/O模塊的功能是把DeviceNet格式的報文轉換為ModBus的報文命令,再傳給底層的ModBus設備,設備在接收到ModBus命令之后,會向報文轉換模塊發送ModBus格式的響應報文,最后經協議轉換模塊將報文轉換為DeviceNet格式的報文傳輸給DeviceNet主站。本嵌入式I/O模塊既是DeviceNet的從站實現接收主站報文并做出響應的功能,同時又可以作為ModBus的主站向其他ModBus設備發送報文并接收響應報文。

本設計采用的處理器LPC2129,硬件結構如圖1所示。它是NXP 公司的32 位工業級ARM7 處理器,其內部集成了兩個CAN 控制器,在一片處理器內首先將主站端的DeviceNet協議數據轉換成中間協議數據,之后轉換成ModBus可以識別的協議數據。

撥碼開關用來設置DeviceNet 端的波特率及MAC地址,其中波特率的開關為3 位,分別代表125 Kb/s,250 Kb/s,500 Kb/s;MAC地址的開關為6位,地址為0~63.

RS 232 既可作為程序下載接口,也可作為通用的RS 232串口實現與上位機的通信。系統的供電電源采用24 V的直流供電,并在內部將24 V電源轉化為模塊需要的5 V,3.3 V及1.8 V電壓電源。

基于DeviceNet總線與ModBus總線的設備通信設計

2 DeviceNet 和ModBus 協議介紹

2.1 DeviceNet協議規范

DeviceNetTM規范由Rockwell 公司開發,并將其作為一個基于CAN協議的開放式現場總線標準而公布。與其他現場總線相比,它具有突出的高可靠性、實時性和靈活性。其主要技術特點可歸納為:

(1)采用CAN物理層和數據鏈路層規約,使用CAN規約芯片,從而有強大的支持。

(2)可以容納64個節點地址,每個節點支持無限個的I/O口;

(3)網絡拓撲結構,節點設備配電方式靈活,可網絡統一配電或自行供電;

(4)網絡速度可選125 Kb/s,250 Kb/s 和500 Kb/s;有誤接線保護功能;

(5)數據傳送方式多樣,支持選通、輪詢、循環、狀態變化等方式;

(6)采用逐位仲裁機制實現按優先級發送信息;

(7)支持輪詢或狀態改變(基于事件),多主站和主從,支持從設備的即用即拔,無需網絡斷電。

DeviceNet是面向連接服務的網絡,任意兩個節點的通信必須建立在邏輯連接的基礎上。建立連接時與連接相關的傳送會分配一個11位連接標識符(Connec-tion ID,CID),連接標識符由設備媒體訪問控制標識符(MAC ID)和信息標識符(Message ID)兩部分組成。連接建立后設備可通過發送釋放連接或刪除連接請求服務來斷開連接。在某個特定的連接上長時間沒有進行通信,這個通信將自動斷開以釋放資源。其中,MAC ID可通過硬件設定,也可通過軟件來配置。標識符分為四組,如圖2所示。DeviceNet連接分為顯式信息連接和I/O連接。

基于DeviceNet總線與ModBus總線的設備通信設計

2.2 DeviceNet與CAN

DeviceNet總線協議是基于CAN總線技術的。它的數據鏈路層完全遵循CAN 規范的定義,并通過CAN 控制器芯片實現。它只使用CAN 2.0A 中的定義,不支持CAN 2.0B中的擴展報文格式。DeviceNet只用125 Kb/s,250 Kb/s,500 Kb/s 三種可選速率,達不到CAN 的最高通信速率1 Mb/s.DeviceNet 只使用數據幀,錯誤幀和超載幀三種幀表示和控制,并未使用CAN 中定義的遠程幀。

DeviceNet 在CAN 總線的基礎上又增加了面向對象、基于連接的現代通信技術理念,并開發了應用層。

其應用層規定了CAN 數據幀的使用方法、重復節點地址檢測機制、對象模型及設備的標準化。使DeviceNet的應用更廣泛,安全性更好。

2.3 ModBus協議介紹

ModBus 是一種應用于工業控制器的網絡通信協議,它是由Modicon 公司開發的,主要應用于電子控制器方面,現已成為一種通用工業標準。該協議支持傳統的RS 232,RS 422,RS 485和以太網設備。它定義了一個控制器能認識使用的消息結構,使用者不需要關心它們內部的網絡通信方式。控制器與控制器,控制器與其他設備之間(通過網絡)的通信都要通過ModBus協議來實現。ModBus 協議制定了消息域格局和內容的公共格式,并詳細描述了一個控制器請求訪問其他設備的過程以及如何回應其他設備的請求,以及偵測錯誤并記錄的過程。當使用ModBus網絡進行通信時,按照此協議的規定,每個控制器需要知道它們的設備地址,并能識別按地址發來的消息,根據這些信息決定要產生的動作。

ModBus協議的消息也能在其他網絡上進行傳輸,只需要將消息轉換為適用于其他網絡上使用的幀或包結構即可。

ModBus分為兩種傳輸模式,ASCII和RTU模式。本文采用RTU模式進行說明。控制器使用主/從技術進行通信,能直接或經由調制解調器(Modem)組網。網絡上的每個從站必須有惟一的地址。地址范圍為1~247.

從站地址用于尋址從站設備。ModBus通信由主節點發起,即僅主設備能發起數據傳輸(即查詢),從設備根據主設備查詢提供的數據做出回應信息或響應動作。主設備以單播或廣播模式與從設備通信。在單播模式下,從設備返回消息作為回應,在廣播模式下,不作任何回應(地址0作為廣播地址)。ModBus協議建立了主設備查詢的格式:設備(或廣播)地址、功能代碼、所有要發送的數據、錯誤檢測域,具體的ModBus 協議通信過程如圖3所示。

從設備回應消息也由ModBus協議構成,包括確認要行動的域、要返回的數據、和錯誤檢測域。如果在消息接收過程中發生錯誤,或從設備不能執行其命令,從設備將建立錯誤消息并把它作為回應發送出去。

對于ModBus通信協議,信息傳輸為異步方式,以字節為單位傳送。報文的信息幀格式分為獨立的信息頭和發送的編碼數據兩部分,其報文結構如圖4所示,下面分別介紹。

基于DeviceNet總線與ModBus總線的設備通信設計

基于DeviceNet總線與ModBus總線的設備通信設計

地址碼為通信傳送的第一個字節。每個從機都有具有惟一的地址碼,響應回送以各自的地址碼開始。主機發送的地址碼表明將發送到的從機地址,而從機發送的地址碼表明回送的從機地址。

功能碼為通信傳送的第二個字節。ModBus通信規約定義功能號為1~127.作為主機請求發送,通過功能碼告訴從機執行什么動作。作為從機響應,從機發送的功能碼與從主機發送來的功能碼一樣,并表明從機已響應主機進行操作。

數據區是根據不同的功能碼而不同。數據區可以是實際數值、設置點、主機發送給從機或從機發送給主機的地址。CRC碼為字節的錯誤檢測碼。

當通信命令發送給接收設備時,符合相應地址碼的設備接通信命令,將地址碼去掉,獲取真正的命令內容,判斷是否有誤,無誤則執行相應的任務并把執行結果返送給發送者。回送的信息中包括地址碼、執行動作的功能碼、執行動作后結果的數據以及錯誤校驗碼,如果出錯就不發送任何信息。

3 嵌入式I/O模塊的設計與實現

協議轉換模塊的功能是把DeviceNet格式的命令報文轉換為ModBus的報文命令,再傳給底層的ModBus設備,設備在接收到ModBus命令之后,會向報文轉換模塊發送ModBus格式的響應報文,最后經協議轉換模塊將報文轉換為Devicenet 格式的報文傳輸給DeviceNet 主站。本I/O 模塊既是DeviceNet的從站實現接收主站報文并做出響應的功能,同時又可以作為ModBus的主站向其他ModBus設備發送報文并接收響應報文。

3.1 架構設計

本程序采用中斷的方法來實現兩種報文的收發及轉換。本系統主要包括系統初始化,主處理程序和收發數據三部分。整體結構如圖5所示。

基于DeviceNet總線與ModBus總線的設備通信設計

3.2 DeviceNet從站協議代碼

為了實現DeviceNet 通信模塊與ModBus 模塊通過DeviceNet 現場總線進行數據傳輸,需要開發一個Devi-ceNet 從站節點。一個僅限組2 的DeviceNet 從站在通信模塊中以軟件的形式實現,從站確保通信模塊能夠通過DeviceNet 接口接收到主站的數據。DeviceNet 從站代碼組成一套可以移植到其他DeviceNet從站產品上的DeviceNet協議棧,該協議棧的主要特點如下:

(1)支持DeviceNet預定義主/從連接模式;

(2)支持報文類型:Poll,Strobe,Change of State/Cyclic.

通過DeviceNet協議棧,嵌入式I/O模塊可以與主站建立顯式信息連接以及I/O 連接。DeviceNet主/從站連接的過程,當主站發送一個請求命令時,DeviceNet必須對其進行響應。本嵌入式I/O 模塊屬于僅限組2設備,一個DeviceNet的組2 服務器在通過重復MAC ID 檢測上線后,需等待客戶機分配預定義主/從連接組并建立顯式信息連接,通過客戶機的配置和驗證后建立輪詢的I/O連接。

根據DeviceNet主/從站的連接過程,DeviceNet從站必須對主站的請求進行響應,具體的通信過程如圖6所示。

基于DeviceNet總線與ModBus總線的設備通信設計

4 嵌入式I/O模塊的應用層軟件設計

應用層程序調用協議棧相關函數接收DeviceNet主站端的DeviceNet數據,然后轉換為ModBus的通信規約格式,送入UART 口后傳送到ModBus 從站。反之,當ModBus從站發送讀命令后,若收到DeviceNet主站的響應數據,則將該UART 口的數據轉換為DeviceNet 規約格式并打包發返回到DeviceNet 主站。最終實現Devi-ceNet 和ModBus 之間的雙向數據交換。如圖7 所示為主程序流程圖。

基于DeviceNet總線與ModBus總線的設備通信設計

上電后,嵌入式I/O模塊啟動,首先進行一次自檢,檢測它的MAC ID,波特率,E2PROM.自檢通過后,對LPC2129進行初始化,打開CAN收發中斷。在主循環里首先查看是否有新的DeviceNet主站數據,若有則將它轉換為UART 的格式寫到ModBus 內部。若無新數據,則直接進入下一步,發送讀ModBus主站命令,每發一條等待響應,若在等待周期內收到響應,則在接收中斷內將接收到的ModBus從站數據轉換為DeviceNet數據。

在嵌入式I/O模塊自檢過程中可以根據指示燈的情況判斷自檢是否成功,只有在自檢成功后才進行CAN總線初始化。

void SelfCheck(void)是I/O 模塊自檢函數。在自檢過程中需要調用控制燈初始化函數和控制函數,voidinit_led(void),void net_led_ctrl(_U08 ctrl_para)。控制燈一共有6個,端口號分別為P0.8~P1.3.通過這6個燈的亮滅分別驗證波特率,MAC ID,網絡,E2PROM 是否正確。

在本工程中添加uart.h 和uart.c 文件,其中INT8UUART0_Ini(INT32U baud,UARTMODE set)(void)是串口初始化程序,在該程序中主要實現參數過濾,設置串口波特率,設置串口模式的功能。

void SendBytes(INT8U *data,INT8U len)(void)按字節發送數據函數。

void IRQ_UART0(void)(void)串口UART0 接收中斷。在該函數中比較是否有新數據產生,在有新數據的情況下進行中斷處理。

void uart0_oper()是串口數據處理函數。

void init_uart0(INT32U bandrate_uart)(void)初始化中斷啟動函數,在該函數中進行設置I/O 連接到UART0,設置中斷允許等操作。

部分程序如下:

基于DeviceNet總線與ModBus總線的設備通信設計

其中的中斷通道號是可以修改的,但是在一個工程中不能重復。VICVectAddr6中的6即為通道號,0×26和(1《6)中的6為中斷向量,各種中斷向量是確定的,不可隨意更改。

void DnsPollRequestUpdate(void)是DeviceNet協議棧部分DeviceNet數據的處理函數,它在嵌入式I/O模塊接收到一個完整的輪詢請求后被調用。該函數首先對本次接收到的數據和上次接收到的數據進行比較,只有當不同時才將接收到的新數據賦給aubAppOldConsData[i]以便被串口通過中斷方式讀取后寫到ModBus主站。

這樣不僅減輕了MCU的處理負擔,還避免了ModBus主站寄存器的不斷寫入。

void DnsPollResponseUpdate(void)也是DeviceNet協議棧部分DeviceNet數據的處理函數,它在通信模塊進行輪詢響應前被調用。該函數將讀ModBus從站命令獲得的數據_U08 aubAppNewProdData[i]賦給aubApp-PollProdData[ubCntByte]作為輪詢響應。

5 結論

本設計采用NXP公司的ARM7處理器LPC2129,實現了基于DeviceNet總線的PCI5010-D主站與基于Mod-Bus 總線的設備之間的通信。充分利用了LPC2129 的CAN控制器設計和UART接口,一個接PCI5010-D主站端的DeviceNet總線,另一個接ModBus端。主站,從站和I/O模塊同時上電后,PCI5010-D主站與I/O模塊間的DeviceNet總線先建立連接后進行I/O 輪詢,PCI5010-D主站的輸出通過I/O模塊的轉換后通過UART接口被寫入ModBus相應的寄存器。然后I/O 模塊發出讀命令并將ModBus 的返回值轉換為DeviceNet總線格式作為輪詢輸入返回到PCI5010-D 主站。這樣便完成了一個完整的信息交換過程。

嵌入式I/O在實際的工作環境下經過嚴格的測試,能夠滿足模塊化、數字化、網絡化要求。DeviceNet從站代碼經過了ODVA 的一致性測試,可移植到其他的產品上。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19293

    瀏覽量

    229939
  • 控制器
    +關注

    關注

    112

    文章

    16376

    瀏覽量

    178199
  • 總線
    +關注

    關注

    10

    文章

    2887

    瀏覽量

    88115
收藏 人收藏

    評論

    相關推薦

    基于DeviceNet總線的智能配電應用

    及故障報警信息的紀錄,與高可靠性的要求不相符,有進一步改造的必要和需求。 國內領先工業通信系統集成商泗博公司為該計算機機房開發了基于DeviceNet總線的智能配電系統iPDS(Intelligent
    發表于 03-21 16:32

    DeviceNet總線特點及產品設計

    摘要總結了DeviceNet總線的幾大特點,并結合DeviceNet產品設計的實際情況對DeviceNet協議進行了綜合分析和論述。關鍵詞Devic
    發表于 10-18 14:20 ?38次下載

    DeviceNet總線特點及產品設計

    總結了DeviceNet總線的幾大特點,并結合DeviceNet產品設計的實際情況對DeviceNet協議進行了綜合分析和論述。關鍵詞DeviceN
    發表于 01-07 22:01 ?9次下載

    基于DeviceNet總線的控制系統

    本文主要介紹基于當今流行的現場總線DeviceNet (設備網)和CompoBus/D 的控制系統,闡述了三級計算機通信網絡體系和工業控制網絡技術的應用。作者基于此網絡對同一個對象(電
    發表于 09-26 09:58 ?20次下載

    VC實現OPC技術在DeviceNet總線中的應用

    VC實現OPC技術在DeviceNet總線中的應用:目前的組態軟件受制于硬件驅動,OPC 技術的提出可以解決這一問題。本文介紹了OPC 技術的產生背景和規范,以及OPC 技術在DeviceNet 現場
    發表于 11-14 12:55 ?25次下載

    DeviceNet現場總線在包裝生產線上的應用

    DeviceNet現場總線在包裝生產線上的應用
    發表于 01-24 17:21 ?6次下載

    DeviceNet現場總線的構建、對軟硬件的要求及應用分析

    DeviceNet是由一種基于CAN的開放的現場總線標準,DeviceNet協議具有開放性、設計簡單、速率快且成本低廉等特點,自20世紀末廣泛應用以來,日益受到制造業的廣泛注意和高度重視
    的頭像 發表于 03-26 08:09 ?7324次閱讀
    <b class='flag-5'>DeviceNet</b>現場<b class='flag-5'>總線</b>的構建、對軟硬件的要求及應用分析

    Hart/DeviceNET/ProfiBUS/FF現場總線的介紹

    現場總線,英文為Fieldbus,是近年來在工業領域中迅速發展的一種數據總線。其功能是主要解決工業現場的智能化儀器儀表、控制器等現場設備間的數字通信過程,以及這些現場控制
    的頭像 發表于 06-09 16:08 ?5510次閱讀

    DEVICENETMODBUS-TCP網關應用案例

    遠創智控YC-DNT-TCP連接到DEVICENET總線中做為從站使用,連接到 MODBUS-TCP 總線中做為主站或從站使用。是自主研發的一款 D
    的頭像 發表于 07-03 15:29 ?698次閱讀
    <b class='flag-5'>DEVICENET</b>轉<b class='flag-5'>MODBUS</b>-TCP網關應用案例

    DEVICENETMODBUS-TCP網關devicenet通訊協議詳解

    你是否曾經遇到過這樣的問題:如何將 DEVICENET 總線MODBUS-TCP 網絡連接起來?遠創智控 YC-DNT-TCP 通訊網關就是你的解決方案!
    的頭像 發表于 07-27 09:15 ?1676次閱讀
    <b class='flag-5'>DEVICENET</b>轉<b class='flag-5'>MODBUS</b>-TCP網關<b class='flag-5'>devicenet</b>通訊協議詳解

    DEVICENETMODBUS-TCP協議網關ethercat接口

    JM–DNT-TCP是自主研發的一款DEVICENET從站功能的通訊網關。該產品主要功能是將DEVICENET總線MODBUS-TCP網絡連接起來。 本網關連接到
    的頭像 發表于 08-10 09:30 ?903次閱讀
    <b class='flag-5'>DEVICENET</b>轉<b class='flag-5'>MODBUS</b>-TCP協議網關ethercat接口

    半導體設備如何將Modbus信號轉為DeviceNet

    在半導體行業,設備的控制系統要求其信息傳輸具有速度快、精度高等特性,然而系統中有各類組件需互聯互通,涉及到Modbus設備DeviceNet設備
    的頭像 發表于 08-30 08:26 ?577次閱讀
    半導體<b class='flag-5'>設備</b>如何將<b class='flag-5'>Modbus</b>信號轉為<b class='flag-5'>DeviceNet</b>

    DEVICENET 總線MODBUS-TCP協議網關連接臺達plc配置方法

    可以更方便地進行數據傳輸和通信,提高生產力和效率。下面介紹下DEVICENET 總線MODBUS-TCP協議網關連接臺達plc配置方法
    的頭像 發表于 10-17 09:25 ?811次閱讀
    <b class='flag-5'>DEVICENET</b> <b class='flag-5'>總線</b>轉<b class='flag-5'>MODBUS</b>-TCP協議網關連接臺達plc配置方法

    EtherCAT轉DeviceNet總線協議轉換網關

    作者的許多朋友均對如何實現EtherCAT網絡和DeviceNet網絡的連接互通感到十分困擾,現在為大家統一作出解釋。事實上,遠創智控YC-ECT-DNT此款設備能夠完美地解決這一問題。接下來,作者
    的頭像 發表于 08-12 16:50 ?330次閱讀
    EtherCAT轉<b class='flag-5'>DeviceNet</b><b class='flag-5'>總線</b>協議轉換網關

    DeviceNetModbus TCP協議網關(YC-DNT-TCP)

    一,設備主要功能 遠創智控YC-DNT-TCP是自主研發的一款DeviceNet從站功能的通訊網關。該產品主要功能是將DeviceNet總線Mod
    的頭像 發表于 08-26 14:12 ?217次閱讀
    <b class='flag-5'>DeviceNet</b>轉<b class='flag-5'>Modbus</b> TCP協議網關(YC-DNT-TCP)
    主站蜘蛛池模板: 欧美黄色一级| 久久精品亚洲热综合一本| 国产爱豆果冻传媒在线观看| 老外的好大c的我好爽| 亚洲爆乳少妇精品无码专区| 儿子日母亲B好爽| 欧美片第1页 综合| 用快播看黄的网站| 精品熟女少妇AV免费观看| 亚洲精品一二三| 精品国产乱码久久久久久免费| 亚洲 日韩 欧美 国产专区| 国产成人99久久亚洲综合精品| 日韩人妻无码专区一本二本| 大香伊人久久| 脱jk裙的美女露小内内无遮挡| 哒哒哒影院在线观看免费高清| 日本成熟bbxxxxxxxx| xx69中国| 受被攻做到腿发颤高h文| 国产成人免费高清在线观看| 特级黑人三人共一女| 国产精品视频在线自在线| 先锋资源av| 久99re视频9在线观看| 在线中文字幕视频| 女人久久WWW免费人成看片| 把腿张开JI巴CAO死你H教室| 日本工口生肉全彩大全| 国产AV白丝爆浆在线播放 | 国产精品97久久久久久AV色戒| 色大姐综合网| 国产偷抇久久精品A片蜜臀A| 一区二区三区国产| 免费播放美女一级毛片| BLACKED太粗太长| 偷尝禁果H1V1幸运的山熊| 娇妻中日久久持久久| 68日本xxxxxxxx79| 三色午夜秀| 九九热在线视频观看这里只有精品|