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

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

3天內不再提示

基于網絡協議實現工業以太網網關的應用設計

電子設計 ? 來源:科技與創新 ? 作者:許洪華,劉科 ? 2021-06-14 17:53 ? 次閱讀

1 引言

工業無線通信技術是繼現場總線、工業以太網之后,工業自動化領域又一個研究熱點。 實際上,無論是場總線還是工業以太網,都已經形成了多標準并存的局面,在協議轉換、異 構網絡接入過程中,網關起著重要作用。工業無線通信技術要應用于工控領域,也面臨諸如 開放性、互操作等技術。

ZigBee 因其低成本、低功耗、組網靈活等眾多優勢,成為工業無線通信技術中備受關 注的技術之一。ZigBee 是一種低速網絡,傳輸速度為10KB/S~250KB/S,其在工業自動化 應用中,一般要接入上層網絡。本文介紹一種ZIGBEE/工業以太網網關設計,實現ZIGBEE 與工業以太網的一種接入,設計中ZigBee 和工業以太網應用層都采用自動化儀表廣泛支持 的Modbus/RTU 協議。

2 網關硬件體系結構

網關硬件體系結構如圖 1 所示。系統以Rabbit3000 MPU 為核心,擴展了以太網接口、 ZigBee 無線通信接口和基本的flash、RAM電源電路。圖中SST39LF040 為512Kflash, AS7C4096 為512K SRAM,與Rabbit3000 的地址線(A0~A18)、數據線(D0~D7)、片選 線(CS0~CS2)、讀寫線(OE0、OE1、WE0、WE1)直接無譯碼相連。AX88796L 為以太 網接口控制芯片,10M/100M 兼容,3.3V 供電。AX88796L 的TPOP、TPON、TPIP、TPIN 接RJ45 連接器LF1S022。

SZ05-ZBEE 是上海順舟公司的無線通信模塊,模塊將Freescale的MC13213及外圍電路 布置在2.75×4.8cm的PCB板上,提供標準2.54 雙排插針接口,包含電源接口、數據接口、 控制接口和系統指示燈接口和天線接口等,采用IEEE802.15.4/ZIGBEE 標準地址尋址,支持 星型、樹型、鏈型、網狀網等拓撲結構。SZ05-ZBEE通過RX1、TX1(串行通信接口)直接與 Rabbit3000的PC6、PC7(串行通信口A)連接。

3 網關軟件設計

網關的主要功能是實現Zigbee與以太網之間的數據傳輸。SZ05-ZBEE無線通信模塊集成 了符合ZigBee協議標準的射頻收發器微處理器,初始化設置后,模塊即可以實現透明串口 傳輸。為適應短幀實時和確定性通信發展趨勢,以太網通信采用UDP/IP協議,應用層采用 Modbus/RTU主從式協議。類似于Modbus/TCP協議,也可以稱以太網側協議為Modbus/UDP 協議。網關軟件基于Dynamic C和μC/OS-Ⅱ實時操作系統設計。

3.1 網關轉發報文的總體設計

Modbus 標準中規定了完整的消息、數據結構、命令和應答方式,但只是OSI 模型第7 層上的應用層報文傳輸協議,定義的是一種以數據幀形式表示的能使設備相互識別和使用的 消息結構。因此,可以不對數據包作任何修改,將Modbus/RTU 報文作為應用層數據在不 同網絡之間傳輸。

網關中即是將 Modbus/RTU 報文作為UDP 和ZigBee 應用層數據傳輸。主站報文通過 UDP 端口接收,去掉幀頭幀尾,附加Zigbee 短地址,通過串口發給SZ05-ZBEE,轉化為 ZigBee 報文發送;從站的ZigBee 報文由SZ05-ZBEE 轉為串口數據接收,去掉ZigBee 短地 址,附加UDP 幀頭幀尾,然后由以太網口轉發。具體程序包括5 個任務:UDP 接收、串口 發送、串口接收、UDP 發送以及嵌入式Web Server。嵌入式Web Server 用于設備管理。系 統程序結構如圖2 所示。

3.2 地址映射

對于ZigBee 設備,有其IEEE 地址和16 位短地址。設計中將ZigBee16 位短地址與Modbus 從站地址綁定,從而實現Modbus 主、從各節點之間地址定向。具體是將一系列Modbus 從 站地址和ZigBee 短地址以配置文件config.txt 下裝到flash,網關在初始化時,讀取配置文件 內容,存儲在數組中。數組形式為:

char ModbusZigbee_Addr[ ]=

[{ModbusAddr0,shortAdd0H, shortAdd0L},……{ ModbusAddrn,shortAddnH,shortAddnL}]

接收UDP 報文后,讀取報文中的Modbus 從站地址,檢索數組得到與之匹配的 ModbusAddrx(ModbusAddr0 到ModbusAddrn 中查找),從而讀取該從站ZigBee 短地址 shortAddxH、 shortAddxL。該短地址將附加在所接收的UDP 報文之前,一同作為串行通信 口的轉發報文。

config.txt 文件中,Modbus 從站地址和ZigBee 短地址在存儲時以空格間隔,文件以#結 束。數組的第一維長度在讀取文件后確定,定義為Device_Number。檢索ZigBee 短地址函 數如下:

int ZigBee_Search(char Modbusaddr)

{int i=0;

For(i=0;i{If(Addr[ i][0]== ModbusAddr)

return i ;

}

return Device_Number }

Addr[ i]、Addr[ i]為對應的ZigBee 短地址。返回值為Device_Number 表示未檢索到。

3.3 緩沖區設計及數據接收轉發

為了解決以太網口和串行通信口速度配合上,以及解除串口與以太網口耦合,設計了兩 個環形隊列作為UDP 接收緩沖區和串口接收緩沖區(用宏Buffer_Size 定義)。緩沖區仿雙口 RAM 思想、按照先進先出(FIFO)原則設計。 UDP 接收緩沖區同時是串口發送數據區。 緩沖區結構為:

char UDP_ReceiveBuffer[Buffer_Size]=

[SendNumber1,shortAddxH,shortAddxL,ModbusAddrx,Funcodex,……

……SendNumbern,shortAddxH,shortAddxL,ModbusAddrx,Funcodex]

ModbusAddrx 開始為所接收的UDP 報文,即完整的Modbus/RTU 數據。shortAddxH 和shortAddxL 為ZigBee 短地址,SendNumberx 為UDP 報文長度加2,即串口要轉發的數據長 度。每次接收的UDP 報文都附加ZigBee 短地址和SendNumberx 這3 個字節存放在緩沖區 中。UDP 接收緩沖區設置了當前存儲數據指針(int UDP_Location),始終指向當前存儲數據 尾部。類似,針對串口轉發,設置了當前發送數據指針(int Serial_Location)始終指向已經 發送數據尾部。系統默認Modbus/RTU 數據幀長度不大于256。指針大于Buffer_Size 以后 均回零,此后,原來的報文陸續被覆蓋?!按诎l送”任務判斷兩指針是否重合,決定是否 啟動串口轉發。UDP 口接收報文部分程序如下。

串口接收緩沖區設計類似。由于數據通過固定的端口和IP 地址轉發,存儲數據中不再 包含類似于Zigbee 地址的數據項。

4 結束語

本文設計適當調整可以用于更多場合。如,動態管理地址綁定數組,可以適應動態組網;數組中增加IP 地址、端口號等可適應其他類型報文;調整緩沖區大小可以適應不同尺寸報 文收發等。 經過多年的重點扶持,我國工業以太網研究已經取得大量成果并廣泛應用。目前,工業 無線通信技術也列為我國“十一五”863 重點研究項目,ZigBee 等技術也將逐步廣泛應用于 工業自動化領域。本系統開發基于市場現有的通用技術,對中小型控制系統開發和改造有借 鑒意義。

文章創新點:提出了一種簡潔方便的 Zigbee/以太網接入方案,應用地址映射、環形緩 沖隊列等解決了Zigbee 通信與以太網通信速度協調技術。

責任編輯:gt

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

    關注

    40

    文章

    5135

    瀏覽量

    166795
  • 接口
    +關注

    關注

    33

    文章

    7859

    瀏覽量

    149008
  • ZigBee
    +關注

    關注

    158

    文章

    2250

    瀏覽量

    241463
收藏 人收藏

    評論

    相關推薦

    工業無線MQTT物聯網網關

    。物通博聯的工業物聯網網關中有一款采用 MQTT 的物聯網解決方案的工業無線MQTT物聯網網關,支持將各種主流的工控協議或定制私有
    發表于 02-07 14:00

    以太網網關目前的趨勢

    乘用車的以太網網關現在 哪家做的比較好,哪家的方案成熟
    發表于 03-28 21:42

    采用SAM4S如何參考設計的UART到以太網網關

    采用SAM4S參考設計的UART到以太網網關。該參考設計演示了基于ATSAM4S的UART到以太網網關。 UDP廣播方案用于客戶端查找以太網地址。流量控制支持平衡以太網和UART之間的
    發表于 05-20 14:45

    如何去設計一種ZigBee工業以太網網關?

    文章介紹一種基于AT91SAM9260的ZigBee工業以太網網關設計。
    發表于 05-14 06:29

    工業物聯網網關是什么?工業物聯網網關有什么作用?

    協議解析能力。物聯網網關能夠采集各種PLC、儀器儀表等設備的相應數據并支持MODBUS讀寫,支持4G、5G、WIFI、有線以太網、光纖、LORA等聯網接入方式,支持通過設備快線來實現
    發表于 01-21 19:00

    RS485以太網網關的資料分享

    描述RS485以太網網關RS485 模塊系列這是 RS485(有線)MySensors 節點的以太網網關。它具有 ATmega328p MCU 和 ENC28J60 以太網芯片。SP485EE 或
    發表于 09-09 06:56

    基于Rabbit3000的以太網網關的設計實現

    本文介紹了一種采用Rabbit 3000 控制芯片為核心的嵌入式以太網網關的設計方法與實現,設計了RS232/485 總線、Lonworks 總線以及以太網的接口硬件電路,對嵌入式TCP/IP
    發表于 06-19 11:47 ?30次下載

    什么是Modbus工業物聯網網關

    網關設備,還支持各類產家的私有協議轉換,可以把分散的串行設備、主機等通過網絡簡易、方便的集中管理,用戶可輕松實現工業物聯
    發表于 12-05 09:05 ?2838次閱讀

    以太網如何轉CAN網關

    can轉換以太網網關是能夠將CAN總線數據轉換為以太網數據進行中繼的協議網關,說人話就是數據轉換器。
    的頭像 發表于 12-17 10:32 ?4279次閱讀

    工業物聯網網關是什么?工業物聯網網關有什么作用?

    協議解析能力。物聯網網關能夠采集各種PLC、儀器儀表等設備的相應數據并支持MODBUS讀寫,支持4G、5G、WIFI、有線以太網、光纖、LORA等聯網接入方式,支持通過設備快線來實現
    的頭像 發表于 01-10 10:28 ?3245次閱讀

    RS485以太網網關

    電子發燒友網站提供《RS485以太網網關.zip》資料免費下載
    發表于 08-17 09:52 ?3次下載
    RS485<b class='flag-5'>以太網網關</b>

    工業物聯網網關的概述及工作原理

    協議解析能力。物聯網網關能夠采集各種PLC、儀器儀表等設備的相應數據并支持MODBUS讀寫,支持4G、5G、WIFI、有線以太網、光纖、LORA等聯網接入方式,
    的頭像 發表于 05-04 17:33 ?1399次閱讀

    以太網網關域控制器的硬件實現

    以太網網關域控制器的硬件實現 該方案配備雙MCU,其中飛思卡爾i.mx6q處理器用于復雜工況下算法的處理,恩智浦公司的S32K148處理器用于車輛信號路由;以太網網關包括CAN/CANFD和
    的頭像 發表于 07-25 18:11 ?881次閱讀
    <b class='flag-5'>以太網網關</b>域控制器的硬件<b class='flag-5'>實現</b>

    can 以太網 網關能否在汽車上應用?

    車載網絡,例如車載局域網(CAN、LIN、FlexRay等)和以太網(Ethernet),實現不同網絡之間的數據傳輸和通信。 (2)數據集成:以太網
    的頭像 發表于 12-14 16:15 ?287次閱讀

    CANopen以太網網關怎么用?

    的使用方法,包括其功能、配置和應用。 一、CANopen以太網網關的功能 CANopen以太網網關具有以下主要功能: 1. 數據傳輸:CANopen以太網網關可以實現CANopen
    的頭像 發表于 02-02 16:59 ?1495次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>