《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > Modbus-Modbus TCP/IP的網關設計
Modbus-Modbus TCP/IP的網關設計
來源:微型機與應用2013年第10期
李英奇,吳桂初
(溫州大學 物理與電子信息工程學院,浙江 溫州325000)
摘要: 介紹一種基于STM32芯片的Modbus-Modbus TCP/IP網關系統,系統采用μCOSII嵌入式實時操作系統,實現Modbus串行鏈路到以太網的協議轉換,利用多線程與存儲池技術解決速率不匹配問題,最后對系統的通信質量進行相關測試。實驗結果表明,系統方案能夠在低廉的成本下,有效、準確地進行Modbus串行鏈路與以太網的相互通信。
Abstract:
Key words :

摘  要: 介紹一種基于STM32芯片的Modbus-Modbus TCP/IP網關系統,系統采用μCOSII嵌入式實時操作系統,實現Modbus串行鏈路到以太網的協議轉換,利用多線程與存儲池技術解決速率不匹配問題,最后對系統的通信質量進行相關測試。實驗結果表明,系統方案能夠在低廉的成本下,有效、準確地進行Modbus串行鏈路與以太網的相互通信。
關鍵詞: Modbus協議;移植;協議轉換;多線程與存儲池

    “十二五”規劃綱要將“智能電網”正式納入國家發展戰略,特別提出“現代電網體系要適應大規??鐓^輸電和新能源發電并網的要求。進一步擴大輸電規模,完善主干電網,依托信息、控制和儲能等先進技術,推進智能電網建設。”電網主要包含了發電、輸電、變電、配電、用電和其他輔助部分[1]。低壓的配電和用電端是智能電網的末端,是電能最主要的消耗部分,大約占到80%。因此智能電網的建設要求配電和用電所需要的低壓電器必須具備數據通信與采集等智能化特性[2]。
    當前,國內外許多大型低壓電器設備廠的產品都支持Modbus總線標準。但是,智能電網的信息化建設利用的是以太網等方式,而非現場總線技術[3]。這就要求數據能在以太網與現場總線之間進行交互。
    國外的幾大電器也都有相應的網關設備,但是價格昂貴。國內目前也有些類似的產品出現,相對于國外的產品,雖然在價格上有極大的優勢,但是通信速度較慢,只能簡單地實現單鏈路的連接,功能并不完善。
    開發一款價格低廉、性能優越的網關設備是智能電網建設過程中一個必要的需求。因此提出了一個在STM32F107芯片上實現Modbus-Modbus TCP/IP協議轉化的解決方案,能在成本上和性能上同時滿足需求。
1 Modbus協議
    Modbus是Modicon(現為施耐德電氣公司的一個品牌)在1979年開發的一項在OSI模型第7層的應用層報文傳輸協議,在過去幾十年已被大量地應用于工業控制領域的開放的、標準的、免費的網絡通信協議[4]。它在連接至不同類型總線或網絡的設備之間提供客戶機/服務器通信:在串行鏈路上取決于TIA/EIA標準(232-F和485-A),在TCP/IP上取決于 IETF標準(RFC793和RFC791)。
1.1 串行鏈路的通信
    Modbus在串行鏈路采用主/從方式的通信協議,即Modbus通信由主站發起,從站在未收到主站請求時,不能主動發起數據。Modbus在串行鏈路上的通信幀包括地址域、功能域、數據域和校驗域。
    Modbus在串行鏈路上的通信幀分為RTU和ASCII兩種模式[5],其中RTU模式通信幀中的8 bit數據包括2個4 bit十六進制字符,相對于ASCII模式,在表達相同的數據信息時RTU需要的位數較少,在相同的傳輸速率下RTU有更高的數據吞吐量。
    在RTU傳輸模式中,用3.5個字符的時間間隔將報文幀區分開,幀內兩個字符之間的間隔必須小于1.5個字符時間,當傳輸速率大于19 200 b/s時,可以采用1.750 ms的固定值替代3.5個字符時間作為幀間的延遲時間,用750 ?滋s替代1.5個字符時間作為字符超時時間。
1.2 Modbus TCP/IP應用數據單元
    在基于TCP/IP的Modbus中,每個應用數據單元的結構包含Modbus應用報文頭、功能碼域和數據域。其中MBAP(Modbus Application Protocol Header)的報文頭長度為7 B,該報文的字段如表1所示。

1.3 Modbus串行鏈路和Modbus TCP/IP轉換
    要使在串行鏈路傳輸的Modbus數據包能在以太網進行無阻礙、準確的傳輸,必須對串行鏈路上的數據包或以太網數據包進行處理、轉化。一般的辦法是以TCP/IP協議為基礎,將數據量較小的串行鏈路上的數據包封裝在TCP/IP幀中。由于Modbus在串行鏈路中的幀格式不同于在TCP/IP中傳輸的幀格式,因此在進行TCP/IP封裝前必須將Modbus在串行鏈路中的幀格式轉換成Modbus TCP/IP應用數據單元結構。同樣地,對于在以太網上輸出的Modbus數據包,必須先對TCP/IP數據包進行拆包,之后再對數據內容進行幀格式轉換,將Modbus TCP/IP的ADU轉換成串行鏈路上的ADU,最后才能在串行鏈路上進行通信。
2 系統硬件電路
    STM32系列芯片是意法半導體專為要求高性能、低成本、低功耗的嵌入式應用設計的ARM Cortex-M3內核芯片。其中STM32F107互連型系列微控制器內部集成高性能以太網模塊,支持通過以太網進行數據的收發?;赟TM32F107的硬件電路如圖1所示。

    整個系統電路包含STM32F107最小單元、以太網接口電路、電平轉換電路和電源電路四部分。
    STM32F107最小系統單元包括復位電路、晶振電路和程序下載電路。晶振電路中,選用25 MHz的無源器件作為系統時鐘源,同時通過配置芯片的相關寄存器使系統工作在最高的72 MHz。
    在以太網接口電路中由于STM32F107內部已經集成了以太網模塊,因此只需要增加一個DP83848物理層芯片并通過RMII連接方式,再接上標準的RJ45接口,就能形成10/100 M以太網電路。
    Modbus在串行鏈路中一般采用RS485通信接口,它是一種差動半雙工的通信方式,而STM32F107自帶的是USART異步串行通信接口,因此通過SP3485電平轉換芯片將STM32F107芯片的USART接口轉換成RS485接口,才能與工業設備進行信息通信。
    STM32F107等芯片需要的工作電源一般都在3.3 V,而電源變壓器輸出的電壓為5 V,這就需要將輸入的5 V電源電壓轉成3.3 V,用來提供給芯片工作。
3 系統軟件設計
    軟件設計部分的關鍵主要在于μCOSII移植、兩個事務處理任務和多線程與緩沖區設計。
3.1 μCOSII移植
    μCOSII是一種專門為嵌入式設備設計的源代碼公開、可移植、可固化、可裁減、搶占式的實時多任務操作系統,自1992年發布以來就獲得廣泛的使用。在將μCOSII移植到STM32的固件平臺時,必須對其進行修改、編寫。其中主要的內容有:(1)基本配置和定義。包括與編譯器相關的數據類型和定義棧的增長方向。(2)編寫與處理器相關的函數。包括運行優先級最高的就緒任務函數OSStartHighRdy()、任務優先級切換函數OSCtxSw()、中斷級的任務切換函數OSInitCtxSw()和時鐘節拍中斷服務函數OSTickISR()。(3)編寫與操作系統相關的函數。
    在μCOSII中的OS_CPU_C.C的文件中包含6個與CPU相關的函數,其中在移植中必不可少的任務是堆棧初始化函數OSTaskStkInit()。
3.2 事務處理任務
    μCOSII是一個多任務的實時操作系統,最多可以管理64個任務,根據實際需求創建兩個任務:
    與以太網通信的TaskModbusTCP任務一:系統開始運行后,任務一處于空閑狀態,同時監聽以太網的502端口,此端口是Modbus TCP/IP的默認端口;當端口接收到有效數據時,程序對其進行拆包分析后,再經過μCOS的郵箱機制將數據發送給任務二,之后任務一進入等待響應狀態,同時開啟超時響應定時器;當在超時響應時間內接收到郵箱中來自任務二的響應數據時,任務一進入到處理應答狀態,對其數據進行打包封裝等處理后送至502端口,然后重新進入到空閑狀態。至此完成一次正確的Modbus TCP/IP的通信過程。其任務的狀態流圖如圖2所示。

    與從站通信的TaskMastertask任務二:系統開始運行后,任務二進入空閑狀態;當μCOS的郵箱收到數據后,任務二提取郵箱中的數據,首先進行數據有效性分析,然后再對數據添加CRC校驗,使數據符合Modbus在串行鏈路上的通信幀,接著通過RS485接口將數據發送到總線上,同時超時響應定時器開啟,任務二進入等待響應狀態;若在超時響應時間內接收到從站的響應,則進入應答處理,并對數據進行處理分析。如果數據正確且有效,則通過郵箱發送給任務一,然后進入空閑狀態中等待下一次的郵箱數據。其任務的狀態流圖如圖3所示。

3.3 多線程與緩沖區
    由于工業控制系統的通信速率普遍較低,當數據在現場總線與以太網進行交互時,通信速率受限于工業控制端的速率,采用多線程與存儲池相結合的技術來匹配現場總線和以太網的傳輸速率。即當多線程的類似指令連接時,網關的現場總線端只發送一次指令,將得到的數據放到存儲池中,然后再解析給各個線程。
4 測試結果
    測試中,采用環宇集團的HUM8D-400型和HUM8D-225型塑料外殼智能斷路器作為Modbus的從站設備,利用第三方軟件Modbus Poll模擬主站設備如圖4所示。

    對于以太網通信的可靠性的重要參數有:IP包傳輸延時、IP包的誤碼率、IP包的丟失率等[6]。然而現場總線的網絡性能與以太網有很大的不同,其主要指標包含傳輸距離、傳輸速率、丟包率等,同時這些指標隨著負載的變化而變化,因此本文對于以太網到現場總線的通信性能從不同的負載和傳輸速率方面對IP包的響應時間、誤碼率和丟失率進行測試。其中數據接收準確性測試參數為500 000次數據指令,RS485接口通信距離100 m;響應時間為以太網數據包從發送到接收到響應數據包的整體時間,包括設備的響應時間和數據包在線路的傳輸時間。單線程測試結果整理后如表2所示。多線程存儲池結果整理后如表3所示。

    表2與表3的測試結果說明,網關能夠很好地保證數據通信的準確性和可靠性。同時響應時間受網關波特率的制約,提高波特率能有效地提高響應時間。同時利用多線程與存儲池技術,可以大大減少單線程情況下運行多指令所消耗的時間。
    利用STM32所設計的網關不僅能夠有效地進行通信,同時對比于目前市場上售價高達數千元的類似設備,僅需要不到百元的成本,大大提高了其推廣的可能性。
    當前的工業現場設備在通信中基本都能夠支持Modbus,通過網關進行數據交互,為遠程的遙信提供有力的支持。
參考文獻
[1] 國網能源研究院.2012國內外智能電網發展分析報告[M].北京:中國電力出版社,2012.
[2] 尹天文.智能電網用戶端[J].低壓電器,2012(5):59-64.
[3] 何瑞華.我國新一代低壓電器發展與展望[J].低壓電器,2012(1):1-6.
[4] 華镕.從Modbus到透明就緒:施耐德電氣工業網絡的協議、設計、安裝[M].北京:機械工業出版社,2009.
[5] Modicon Inc.Modicon Modbus protocol reference guide[EB/OL].[2002-7].www.schneider-electric.com.
[6] 李揚繼,范寶峰,楊洋.網絡性能測量技術分析[J].網絡與信息技術,2006,25(10):34-35.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          91久久精品国产91性色tv| 精品动漫一区二区| 欧美午夜性色大片在线观看| 亚洲欧美日韩精品| 国产综合欧美| 你懂的视频一区二区| 亚洲影视九九影院在线观看| 国产精品美女www爽爽爽视频| 国产精品久久久久99| 性18欧美另类| 欧美日产一区二区三区在线观看| 亚洲欧洲日本mm| 欧美精品1区2区3区| 国产午夜亚洲精品羞羞网站| 久久久久一区二区三区| 国产精品日本精品| 欧美日韩国产精品自在自线| 欧美精品电影在线| 久久影院午夜片一区| 久久久精品一品道一区| 欧美激情视频在线免费观看 欧美视频免费一| 欧美日韩视频专区在线播放| 99精品国产一区二区青青牛奶| 欧美日韩午夜激情| 久久久精品一品道一区| 国产一区二区中文字幕免费看| 亚洲国产精品嫩草影院| 国产精品麻豆va在线播放| 亚洲第一级黄色片| 99国产精品视频免费观看一公开| 亚洲综合不卡| 欧美一区二区三区免费视| 欧美午夜三级| 亚洲美女视频在线免费观看| 久久久久一区二区三区四区| 在线 亚洲欧美在线综合一区| 日韩视频在线免费| 最新亚洲一区| 裸体歌舞表演一区二区| 欧美日韩免费观看一区| 99国产一区| 久久精品一区二区三区不卡牛牛| 99视频精品全国免费| 欧美在线视频在线播放完整版免费观看| 国产一区二区0| 牛牛影视久久网| 亚洲免费在线观看视频| 国产精品毛片va一区二区三区| 香蕉乱码成人久久天堂爱免费| 亚洲男女毛片无遮挡| 欧美视频亚洲视频| 嫩模写真一区二区三区三州| 久久久噜噜噜久久狠狠50岁| 国产精品视频网站| 国产麻豆一精品一av一免费| 国内揄拍国内精品久久| 国产日韩高清一区二区三区在线| 欧美日韩国产美女| 亚洲一区免费网站| 亚洲国产精品成人精品| 久久国内精品自在自线400部| 亚洲第一二三四五区| 亚洲一区二区伦理| 国产精品自拍一区| 亚洲电影在线免费观看| 国产一级揄自揄精品视频| 欧美尤物巨大精品爽| 欧美日韩国产综合新一区| 久久久久久国产精品mv| 国产精品成人一区二区三区夜夜夜| 国产乱码精品| 国产欧美激情| 中文无字幕一区二区三区| 亚洲一区二区三区色| 亚洲女女女同性video| 亚洲高清免费视频| 亚洲精品国产精品乱码不99| 亚洲深夜福利| 久久一综合视频| 亚洲国产精品久久91精品| 久久久久久久久综合| 国产日韩欧美二区| 久久福利毛片| 欧美韩日精品| 欧美日韩一区在线观看视频| 欧美激情在线| 国产亚洲欧美一区二区三区| 一区二区三区在线观看欧美| 国产日韩精品视频一区| 亚洲精品五月天| 在线中文字幕一区| 亚洲天堂久久| 欧美午夜寂寞影院| 欧美日韩午夜在线视频| 亚洲素人在线| 久久福利资源站| 一区二区三区高清不卡| 亚洲黑丝一区二区| 在线视频欧美一区| 美女国产精品| 亚洲精华国产欧美| 亚洲视屏在线播放| 一区二区av在线| 欧美日韩亚洲一区二区三区在线| 亚洲欧美日韩国产成人| 亚洲国产精品久久久久秋霞不卡| 久久精品国产999大香线蕉| 久久视频国产精品免费视频在线| 亚洲黄色在线观看| 伊人婷婷久久| 欧美激情在线狂野欧美精品| 亚洲精品欧洲精品| 国产欧美不卡| 国产日本欧美视频| 国产精品xvideos88| 国产精品国产三级国产aⅴ入口| 亚洲国产精品综合| 久久激情久久| 亚洲国产精品成人精品| 欧美日韩美女一区二区| 亚洲一区二区免费看| 亚洲午夜精品福利| 男女av一区三区二区色多| 欧美日韩成人综合天天影院| 欧美日韩国产一区精品一区| 欧美精品一区二区三区蜜臀| 久久亚洲色图| 亚洲精品久久久久久久久久久久久| 亚洲激情图片小说视频| 亚洲男女自偷自拍| 亚洲裸体俱乐部裸体舞表演av| 亚洲黄页视频免费观看| 久久综合中文字幕| 欧美在线短视频| 妖精视频成人观看www| 久久午夜色播影院免费高清| 国产裸体写真av一区二区| 欧美亚洲免费高清在线观看| 欧美一区二区三区久久精品| 国产一区二区剧情av在线| 亚洲视频久久| 久久精品免费观看| 欧美日韩精品一区二区在线播放| 欧美不卡视频一区发布| 欧美精品成人一区二区在线观看| 欧美视频精品在线观看| 美女黄毛**国产精品啪啪| 欧美日韩xxxxx| 卡一卡二国产精品| 日韩午夜av| 亚洲国产欧美一区二区三区久久| 欧美高清视频免费观看| 亚洲乱码精品一二三四区日韩在线| 欧美激情视频一区二区三区免费| 亚洲香蕉伊综合在人在线视看| 国产精品视频免费一区| 国产视频一区在线观看一区免费| 欧美三级网址| 欧美香蕉大胸在线视频观看| a91a精品视频在线观看| 国产精品国产三级国产普通话蜜臀| 国产在线麻豆精品观看| 久久爱91午夜羞羞| 亚洲图片自拍偷拍| 亚洲经典自拍| 亚洲手机视频| 亚洲制服少妇| 亚洲人成亚洲人成在线观看| 久久人人爽人人| 性视频1819p久久| 欧美精品国产一区二区| 国产一区二区三区在线播放免费观看| 欧美一级播放| 国产色综合久久| 99精品视频一区| 欧美激情麻豆| 99精品欧美一区二区三区| 亚洲午夜电影在线观看| 夜夜爽av福利精品导航| 久久av二区| 欧美综合二区| 国产私拍一区| 欧美日韩中文在线| 亚洲国产精品专区久久| 这里只有视频精品| 欧美成人三级在线| 久久久噜噜噜久久中文字幕色伊伊| 国产精品在线看| 国产人妖伪娘一区91| 亚洲一区免费在线观看| 亚洲免费电影在线观看| 亚洲剧情一区二区| 欧美日韩一区国产| 一区二区三区视频观看| 欧美成人免费va影院高清| 欧美亚洲午夜视频在线观看| 亚洲国产网站| 亚洲一区精品电影| 午夜精品一区二区三区电影天堂| 一区二区三区精品在线| 国产一区二区三区四区老人| 亚洲一级影院| 国产精品亚洲а∨天堂免在线| 女女同性精品视频| 日韩一级精品视频在线观看| 91久久久久久久久久久久久| 欧美日韩国产在线播放| 亚洲一区二区三区精品动漫| 一区二区三区久久网| 欧美日韩高清在线观看| 欧美国产高清| 欧美区二区三区| 久久成人av少妇免费| 亚洲一级影院| 欧美激情一二区| 亚洲毛片在线观看| 欧美久久一区| 蜜桃av噜噜一区二区三区| 最近中文字幕mv在线一区二区三区四区| 日韩视频在线你懂得| 欧美极品色图| 久久精品国产99国产精品澳门| 麻豆精品精品国产自在97香蕉| 蜜臀久久99精品久久久画质超高清| 制服丝袜激情欧洲亚洲| 欧美精品乱码久久久久久按摩| 久久久国产成人精品| 欧美激情亚洲综合一区| 狠狠色丁香久久婷婷综合_中| 一本一本久久a久久精品综合妖精| 欧美男人的天堂| 午夜精品一区二区三区在线播放| 免费高清在线一区| 亚洲一区免费观看| 国产精品美女久久久久aⅴ国产馆| 亚洲三级观看| 一区二区三区在线视频观看| 欧美激情1区2区| 久久久噜噜噜| 欧美日韩精品| 1024日韩| 欧美一区二区免费| 欧美二区视频| 亚洲综合色丁香婷婷六月图片| 欧美一区成人| 亚洲人成在线播放网站岛国| 亚洲精品在线免费| 欧美电影电视剧在线观看| 久久久国产精品亚洲一区| 好吊色欧美一区二区三区视频| 香蕉尹人综合在线观看| 国产一区二区在线观看免费| 久久精品免费| 久久久精品一区二区三区| 亚洲国产高清一区二区三区| 亚洲最快最全在线视频| 国产视频在线一区二区| 久久综合久色欧美综合狠狠| 国产精品日产欧美久久久久| 亚洲一卡久久| 久久成人一区| 国产片一区二区| 亚洲成在人线av| 国产日本欧美视频| 国产精品亚洲欧美| 国产精品播放| 亚洲精品人人| 免费成年人欧美视频| 亚洲国产成人av在线| 欧美一区二区国产| 国产精品护士白丝一区av| 亚洲欧美日韩成人高清在线一区| 国内精品久久久久影院优| 欧美暴力喷水在线| 欧美激情综合| 亚洲美女免费精品视频在线观看| 欧美激情二区三区| 久久精品91久久香蕉加勒比| 在线亚洲电影| 欧美日韩美女| 久久精品国产成人| 免费看的黄色欧美网站| 久久久一二三| 国产精品jvid在线观看蜜臀| 亚洲色在线视频| 99精品欧美一区二区蜜桃免费| 久久免费一区| 欧美日韩国产综合一区二区| 免费日韩av| 欧美日韩一级大片网址| 蜜桃精品久久久久久久免费影院| 久久精品最新地址| 亚洲网站在线| 亚洲天堂黄色| 国产精品视频专区| 亚洲性色视频| 午夜精品久久99蜜桃的功能介绍| 性欧美1819性猛交| 欧美日本在线一区| 国产欧美日韩综合一区在线观看| 欧美精品免费看| 久久一区二区三区四区| 美女视频一区免费观看| 国产精品久久久久久久app| 亚洲国产精品电影在线观看| 久久久久国色av免费观看性色| 日韩一区二区精品| 国产精品99久久久久久宅男| 亚洲老板91色精品久久| 日韩视频在线观看国产| 亚洲欧美日韩国产一区二区三区| 国产一区二区三区久久悠悠色av| 欧美日韩小视频| 亚洲精品国精品久久99热| 久久午夜色播影院免费高清| 欧美黑人一区二区三区| 亚洲视频一区在线观看| 性色av一区二区三区红粉影视| 欧美一区精品| 亚洲激情视频在线观看| 国产精品久久久一区麻豆最新章节| 欧美经典一区二区三区| 欧美aⅴ一区二区三区视频| 亚洲欧美不卡| 久久全国免费视频| 性久久久久久久久久久久| 国产一区二区成人| 在线成人激情视频|