• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Modbus/TCP協(xié)議的遠(yuǎn)程控制網(wǎng)關(guān)

      2014-03-22 02:17:29王麗麗陳思敏
      儀表技術(shù)與傳感器 2014年10期
      關(guān)鍵詞:字節(jié)網(wǎng)關(guān)以太網(wǎng)

      韓 松,李 奎,王麗麗,陳思敏

      (河北工業(yè)大學(xué),河北省電器研究所,天津 300130)

      0 引言

      Modicon于1979年發(fā)表的C/S結(jié)構(gòu)的串行總線協(xié)議Modbus[1],以其開(kāi)放、標(biāo)準(zhǔn)、交互性好的優(yōu)勢(shì)成為工業(yè)領(lǐng)域通信協(xié)議的標(biāo)準(zhǔn),據(jù)不完全統(tǒng)計(jì):截止到2007年,Modbus節(jié)點(diǎn)安裝量已超過(guò)1 000萬(wàn)。但由于485總線規(guī)約的限制性,進(jìn)一步提高485總線控制系統(tǒng)實(shí)時(shí)性、可靠性的工作進(jìn)展緩慢。隨著以太網(wǎng)技術(shù)的迅猛發(fā)展,結(jié)合485總線和以太網(wǎng)技術(shù)建立廣泛高效的聯(lián)網(wǎng)系統(tǒng),對(duì)現(xiàn)場(chǎng)智能設(shè)備進(jìn)行集中監(jiān)控成為必然。

      1 總體功能設(shè)計(jì)

      目前,Modicon公司已經(jīng)將Modbus協(xié)議的所有權(quán)移交給IDA組織,并成立Modbus-IDA為其發(fā)展奠定基礎(chǔ)。在中國(guó),Modbus國(guó)家標(biāo)準(zhǔn)為GB/T 19582—2008,制定的應(yīng)用標(biāo)準(zhǔn)有JB/T 10709—2007低壓電器通信適配器,GB/T 27745—2011低壓電器通信規(guī)范,參考以上標(biāo)準(zhǔn)進(jìn)行總體功能設(shè)計(jì)如下[2-3]:

      (1)設(shè)計(jì)工作穩(wěn)定可靠的硬件部分;

      (2)實(shí)現(xiàn)485串口到以太網(wǎng)串口數(shù)據(jù)的透明傳輸;

      (3)實(shí)現(xiàn)TCP-server模式;

      (4)實(shí)現(xiàn)通信參數(shù)(串口及網(wǎng)絡(luò)參數(shù))在線修改;

      (5)實(shí)現(xiàn)與Modbus端多通信節(jié)點(diǎn)交換數(shù)據(jù)。

      2 Modbus協(xié)議分析

      Modbus協(xié)議位于OSI七層體系的應(yīng)用層,定義了一個(gè)統(tǒng)一的報(bào)文模型,使其經(jīng)過(guò)不同底層網(wǎng)絡(luò)通信時(shí),控制器都能識(shí)別其消息結(jié)構(gòu),隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,傳統(tǒng)的Modbus協(xié)議在支持RS232/422/485外,還將TCP/IP協(xié)議納入其中,形成Modbus/TCP協(xié)議[4]來(lái)支持工業(yè)以太網(wǎng)上的設(shè)備。

      2.1Modbus傳輸模式

      用戶可以選擇ASCII或RTU傳輸模式,在圖1所示的標(biāo)準(zhǔn)Modbus數(shù)據(jù)幀[5]格式中可知,RTU模式字符傳送效率高,字符傳送間隔小,連續(xù)性強(qiáng),更能滿足工業(yè)監(jiān)控的高實(shí)時(shí)性要求。

      圖1 標(biāo)準(zhǔn)Modbus數(shù)據(jù)幀

      Modbus信息服務(wù)采用一主多從、客戶/服務(wù)器模式[6]來(lái)交換實(shí)時(shí)信息,總線上的從站同時(shí)監(jiān)聽(tīng)主站信息,收到主站信息后將信息中的地址與自身地址進(jìn)行比對(duì),若相同則做出回應(yīng),若不同則不響應(yīng),信息交換過(guò)程、信息數(shù)據(jù)類(lèi)型、常用功能碼[7]如圖2所示。其中,請(qǐng)求為客戶為執(zhí)行某操作發(fā)送請(qǐng)求信息;接收為服務(wù)器接收用戶的請(qǐng)求信息;響應(yīng)為服務(wù)器發(fā)送響應(yīng)信息;確認(rèn)為客戶確認(rèn)響應(yīng)信息。

      圖2 客戶/服務(wù)器模式

      2.2Modbus/TCP

      Modbus/TCP規(guī)范主要闡述在互聯(lián)網(wǎng)上具有普遍可用性的基于TCP通信協(xié)議的Modbus報(bào)文的特殊編碼,在TCP/IP中為了識(shí)別Modbus應(yīng)用數(shù)據(jù)單元使用了專(zhuān)用的MBAP(MODBUS Application Protocol Header)報(bào)文頭。Modbus/TCP數(shù)據(jù)幀格式及MBAP報(bào)文頭組成與含義如圖3所示。

      圖3 Modbus/TCP數(shù)據(jù)幀

      3 串口轉(zhuǎn)以太網(wǎng)關(guān)鍵技術(shù)

      3.1工作模式問(wèn)題

      由于Modbus協(xié)議本身不具有網(wǎng)絡(luò)層和傳輸層,所以Modbus轉(zhuǎn)以太網(wǎng)并不是簡(jiǎn)單物理層和數(shù)據(jù)鏈路層的轉(zhuǎn)化,而是將Modbus RTU數(shù)據(jù)幀嵌入到Modbus/TCP數(shù)據(jù)幀中,用TCP/IP封裝的方式傳輸。傳輸數(shù)據(jù)時(shí)可選用模式如表1所示。

      表1 Modbus/TCP傳輸模式

      在工業(yè)自動(dòng)化中,有些設(shè)備一旦發(fā)生誤動(dòng)或拒動(dòng),會(huì)給人民生命財(cái)產(chǎn)造成嚴(yán)重?fù)p害,所以Modbus總線設(shè)備通過(guò)以太網(wǎng)組網(wǎng)傳輸數(shù)據(jù)時(shí)要選用TCP工作模式。

      3.2串口分幀

      以太網(wǎng)數(shù)據(jù)是以數(shù)據(jù)包為單位發(fā)送的,而串口數(shù)據(jù)則是連續(xù)不斷發(fā)送的,何時(shí)把串口接收的數(shù)據(jù)打包后作為一個(gè)以太網(wǎng)數(shù)據(jù)包發(fā)送常用的方法如下:

      3.2.1 規(guī)定發(fā)送數(shù)據(jù)包長(zhǎng)度

      若設(shè)置發(fā)送數(shù)據(jù)包長(zhǎng)度為N(N<1 500 B),串口接收數(shù)據(jù)長(zhǎng)度為M,則:

      當(dāng)M

      當(dāng)M≥N時(shí),觸發(fā)以太網(wǎng)發(fā)送中斷,將串口收到的數(shù)據(jù)作為一個(gè)以太網(wǎng)數(shù)據(jù)包發(fā)送;

      當(dāng)M>N時(shí),將N個(gè)字節(jié)長(zhǎng)度的數(shù)據(jù)作為一個(gè)以太網(wǎng)數(shù)據(jù)包發(fā)送,舍棄多余的數(shù)據(jù)。

      由此可見(jiàn)這種方法實(shí)時(shí)性低、可靠性差。

      3.2.2 規(guī)定相鄰兩字節(jié)數(shù)據(jù)接收時(shí)間間隔

      若此時(shí)串口接收數(shù)據(jù)流中相鄰兩字節(jié)間空閑時(shí)間為K,設(shè)置接收間隔為T(mén),則:

      當(dāng)K

      當(dāng)K≥T時(shí),認(rèn)為之前串口收到的數(shù)據(jù)可以作為一個(gè)以太網(wǎng)數(shù)據(jù)包發(fā)送。

      T的設(shè)定值需要根據(jù)Modbus協(xié)議規(guī)約及實(shí)際串口波特率來(lái)計(jì)算以達(dá)到較好的實(shí)時(shí)性,由圖1可知,Modbus RTU傳輸模式規(guī)定以至少傳輸3.5個(gè)字符的時(shí)間間隔作為區(qū)分上一幀與下一幀數(shù)據(jù)的標(biāo)志,故T≥T3.5字符,在工業(yè)應(yīng)用中為保持實(shí)時(shí)性,所以T應(yīng)該取最小值T3.5字符,若設(shè)置串口波特率為9 600 bit/s,傳輸1位數(shù)據(jù)的時(shí)間為:

      (1)

      式中:T1bit為485串口傳輸1位數(shù)據(jù)的時(shí)間,ms;BaudRate為485串口波特率,bit/s.

      T=T3.5字符=T1bit×(8+2)×3.5

      (2)

      式中:T為設(shè)置的數(shù)據(jù)接收間隔,ms;T3.5字符為串口接收3.5個(gè)字節(jié)數(shù)據(jù)的時(shí)間,ms;T1bit為串口傳輸一位數(shù)據(jù)的時(shí)間,ms.

      由于Modbus RTU模式傳輸一個(gè)字節(jié)(8位)數(shù)據(jù)時(shí)自動(dòng)增加一個(gè)識(shí)別起始位、一個(gè)識(shí)別終值位,所以傳輸一個(gè)字節(jié)數(shù)據(jù)實(shí)際傳輸了10位數(shù)據(jù)。

      4 硬核設(shè)計(jì)

      為使該網(wǎng)關(guān)穩(wěn)定完成設(shè)計(jì)功能,并且滿足經(jīng)濟(jì)化原則,經(jīng)過(guò)反復(fù)設(shè)計(jì),最終設(shè)計(jì)完成的硬核原理框圖如圖4所示。

      圖4 硬件原理框圖

      5 軟核設(shè)計(jì)

      經(jīng)過(guò)對(duì)Modbus協(xié)議理論及串口轉(zhuǎn)以太網(wǎng)關(guān)鍵技術(shù)的分析,最終選用開(kāi)源、精簡(jiǎn)TCP/IP協(xié)議棧OpenTCP實(shí)現(xiàn)以太網(wǎng)通信,軟核結(jié)構(gòu)[8]如圖5所示。

      圖5 軟核結(jié)構(gòu)圖

      硬核是網(wǎng)關(guān)實(shí)現(xiàn)設(shè)計(jì)功能的載體,而軟核才是該遠(yuǎn)程控制網(wǎng)關(guān)的關(guān)鍵,以硬核固有片上資源利用效率最大化的原則,設(shè)計(jì)的軟核流程框圖如圖6所示。

      圖6 軟核流程框圖

      (1)網(wǎng)關(guān)上電后,首先進(jìn)行中斷初始化,避免在初始化未完成之前觸發(fā)中斷,產(chǎn)生無(wú)法預(yù)知的運(yùn)行錯(cuò)誤;進(jìn)行主芯片初始化,包括時(shí)鐘初始化、計(jì)時(shí)器初始化等;進(jìn)行串口及以太網(wǎng)初始化,包括串口及以太網(wǎng)各參數(shù)設(shè)置;

      (2)建立TCP連接;

      (3)判斷是否觸發(fā)復(fù)位中斷,若觸發(fā)則啟動(dòng)復(fù)位模塊,調(diào)用SPI讀寫(xiě)程序,將復(fù)位IP、波特率寫(xiě)入EEPROM相應(yīng)存儲(chǔ)位置,此功能通過(guò)按鍵觸發(fā)的方式實(shí)現(xiàn),若要觸發(fā)此中斷,則網(wǎng)關(guān)上電前按住按鍵,上電后3 s松開(kāi)即可,可以防止用戶忘記本網(wǎng)關(guān)的IP地址,提高用戶體驗(yàn)。

      (4)判斷是否觸發(fā)參數(shù)配置中斷,若觸發(fā)了此中斷,則啟動(dòng)配置模塊,判斷用戶修改還是讀取串口及以太網(wǎng)各通信參數(shù),若是修改參數(shù),則擦除EEPROM中已存的參數(shù),將用戶新的修改值存入EEPROM中,并重新初始化串口及以太網(wǎng);若是讀取參數(shù),則讀取EEPROM中存儲(chǔ)的數(shù)據(jù),并返回至監(jiān)控中心,此功能通過(guò)預(yù)設(shè)功能碼的方式實(shí)現(xiàn);

      (5)判斷以太網(wǎng)端是否收到數(shù)據(jù),若以太網(wǎng)端收到監(jiān)控中心發(fā)來(lái)的數(shù)據(jù),則啟動(dòng)以太網(wǎng)轉(zhuǎn)Modbus模塊,把收到Modbus/TCP數(shù)據(jù)幀中包含的應(yīng)用數(shù)據(jù)單元(PDU)提取出來(lái),按照Modbus RTU數(shù)據(jù)幀格式發(fā)送給下行智能設(shè)備;

      (6)判斷Modbus端是否收到數(shù)據(jù),若Modbus端收到數(shù)據(jù),則啟動(dòng)Modbus轉(zhuǎn)以太網(wǎng)模塊,把Modbus RTU數(shù)據(jù)幀中的應(yīng)用數(shù)據(jù)單元(PDU)嵌入到Modbus TCP數(shù)據(jù)幀中,通過(guò)TCP連接傳輸?shù)揭蕴W(wǎng)端監(jiān)控中心。

      6 系統(tǒng)測(cè)試

      為測(cè)試該網(wǎng)關(guān)的性能,設(shè)計(jì)了多通信節(jié)點(diǎn)測(cè)試方案,如圖7所示。

      圖7 多通信節(jié)點(diǎn)測(cè)試系統(tǒng)圖

      為從根本上證明該網(wǎng)關(guān)通信的正確性、穩(wěn)定性,測(cè)試系統(tǒng)選用TCP測(cè)試工具(客戶端模式)V1.0為上位機(jī)監(jiān)控軟件,選用示波器抓二進(jìn)制波形獲取上下行命令,選用萬(wàn)能式斷路器、塑殼斷路器、智能控制器各一臺(tái)構(gòu)建Modbus總線端3個(gè)通信節(jié)點(diǎn)。

      Modbus RTU在傳輸字節(jié)時(shí)以0(低電平)起始,以1(高電平)結(jié)束,并且以LSB(低位先傳)的方式傳輸,即如果傳輸字節(jié)為00000001(0X01),在示波器捕捉到的信號(hào)為0100000001,具體測(cè)試項(xiàng)目及數(shù)據(jù)如下:

      遙測(cè):選用03功能碼獲取斷路器A相電壓。

      下行命令:01(從站地址) 03(功能碼) 00 01 (起始寄存器地址)00 01(讀取寄存器個(gè)數(shù)) D5 CA(CRC校驗(yàn)碼)

      由示波器獲取的下行命令二進(jìn)制波形如圖8所示。

      圖8 下行命令二進(jìn)制波形

      則二進(jìn)制譯碼如下:

      0100000001 0110000001

      0000000001 0100000001

      0000000001 0100000001

      0101010111 0010100111

      上行命令:01(從站地址) 03(功能碼) 02(字節(jié)數(shù)) 00 DA(A相電壓值)39 DF(CRC校驗(yàn)碼)

      由示波器獲取的上行命令二進(jìn)制波形如圖9所示。

      二進(jìn)制譯碼如下:

      0100000001 0110000001

      0010000001 0000000001

      0010110111 0100111001

      0111110111

      同樣,可以以類(lèi)似的方法測(cè)試遙信、遙調(diào)、遙控功能,注意在測(cè)試過(guò)程中要遵照測(cè)試設(shè)備的Modbus通信協(xié)議發(fā)送命令,特別注意的是EIA-485總線工作模式為半雙工,所以連續(xù)發(fā)送兩條命令的時(shí)間間隔不能太短,否則會(huì)發(fā)生響應(yīng)錯(cuò)誤。若下行命令字節(jié)數(shù)為A,上行命令字節(jié)數(shù)為B,則應(yīng)設(shè)置:

      圖9 上行命令二進(jìn)制波形

      (3)

      式中:T′為兩條相鄰命令時(shí)間間隔,ms;T1bit為串口傳輸一位數(shù)據(jù)的時(shí)間,ms;A為上行命令數(shù)據(jù)字節(jié)個(gè)數(shù);B為下行命令數(shù)據(jù)字節(jié)個(gè)數(shù)。

      7 結(jié)束語(yǔ)

      經(jīng)測(cè)試該遠(yuǎn)程控制網(wǎng)關(guān)可以穩(wěn)定完成設(shè)計(jì)功能,選用的示波器經(jīng)天津市電子計(jì)量中心校準(zhǔn),測(cè)試結(jié)果具有溯源性。以太網(wǎng)端遠(yuǎn)程監(jiān)控中心可以通過(guò)該網(wǎng)關(guān)對(duì)現(xiàn)場(chǎng)自動(dòng)化設(shè)備進(jìn)行集中控制,優(yōu)化資源配置,如可以通過(guò)此網(wǎng)關(guān)將帶有Modbus接口的智能電表聯(lián)入以太網(wǎng)實(shí)現(xiàn)遠(yuǎn)程抄表,將帶有Modbus接口的水泵智能控制器聯(lián)入以太網(wǎng)實(shí)現(xiàn)農(nóng)村灌溉自動(dòng)化等,為國(guó)家智能電網(wǎng)、智慧城市的建設(shè)提供有利條件。

      參考文獻(xiàn):

      [1]GB/T 19582—2008基于Modbus協(xié)議的工業(yè)自動(dòng)化網(wǎng)絡(luò)規(guī)范.

      [2]JB/T 10709-200低壓電器通信適配器.

      [3]GB/T 27745-201低壓電器通信規(guī)范.

      [4]陳維剛,費(fèi)敏銳,邊寧寧.一種工業(yè)以太網(wǎng)與現(xiàn)場(chǎng)總線協(xié)議轉(zhuǎn)換器的研制.儀器儀表學(xué)報(bào),2005,26(5):497-501.

      [5]曹建鋒,陳星,王明智.一種基于FPGA的Modbus通信協(xié)議的接口設(shè)計(jì)與應(yīng)用.儀表技術(shù)與傳感器,2013(3):79-80.

      [6]付青,丁金華,王輝,等.Modbus協(xié)議在智能信號(hào)變送器中的應(yīng)用.儀表技術(shù)與傳感器,2011(6):26-28.

      [7]學(xué)政,許同樂(lè),李中華.基于Modbus協(xié)議的PLC在自動(dòng)供水監(jiān)控系統(tǒng)中的應(yīng)用.儀表技術(shù)與傳感器,2013(2):62-64.

      [8]ZHU Z.Remote intelligent monitoring system based on embedded internet technology.IEEE International Conference on Automation and Lofistics,2007:42-48.

      作者簡(jiǎn)介:韓松(1988-),碩士研究生,研究方向?yàn)殡娖骺煽啃耘c測(cè)試技術(shù)、智能電器及通訊技術(shù)。E-mail:HShebut@126.com

      猜你喜歡
      字節(jié)網(wǎng)關(guān)以太網(wǎng)
      No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
      基于1500以太網(wǎng)養(yǎng)豬場(chǎng)的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計(jì)
      No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
      簡(jiǎn)談MC7字節(jié)碼
      談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
      電子制作(2017年24期)2017-02-02 07:14:44
      LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
      一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
      淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
      應(yīng)對(duì)氣候變化需要打通“網(wǎng)關(guān)”
      镇康县| 仙居县| 绥中县| 双辽市| 富民县| 赤水市| 竹北市| 沈阳市| 仁怀市| 井陉县| 安阳市| 嘉黎县| 绍兴市| 巫溪县| 达日县| 准格尔旗| 夏津县| 兰考县| 新化县| 永德县| 河源市| 始兴县| 高安市| 彭泽县| 邵武市| 庆元县| 天长市| 镇江市| 大庆市| 牙克石市| 绥滨县| 化德县| 密云县| 二手房| 安康市| 应城市| 公主岭市| 桃园县| 沂南县| 泰顺县| 阿勒泰市|