国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2014-03-22 02:17王麗麗陳思敏
儀表技術(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],以其開放、標(biāo)準(zhǔn)、交互性好的優(yōu)勢成為工業(yè)領(lǐng)域通信協(xié)議的標(biāo)準(zhǔn),據(jù)不完全統(tǒng)計(jì):截止到2007年,Modbus節(jié)點(diǎn)安裝量已超過1 000萬。但由于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),對現(xiàn)場智能設(shè)備進(jìn)行集中監(jiān)控成為必然。

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

目前,Modicon公司已經(jīng)將Modbus協(xié)議的所有權(quán)移交給IDA組織,并成立Modbus-IDA為其發(fā)展奠定基礎(chǔ)。在中國,Modbus國家標(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)過不同底層網(wǎng)絡(luò)通信時(shí),控制器都能識別其消息結(jié)構(gòu),隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,傳統(tǒng)的Modbus協(xié)議在支持RS232/422/485外,還將TCP/IP協(xié)議納入其中,形成Modbus/TCP協(xié)議[4]來支持工業(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]來交換實(shí)時(shí)信息,總線上的從站同時(shí)監(jiān)聽主站信息,收到主站信息后將信息中的地址與自身地址進(jìn)行比對,若相同則做出回應(yīng),若不同則不響應(yīng),信息交換過程、信息數(shù)據(jù)類型、常用功能碼[7]如圖2所示。其中,請求為客戶為執(zhí)行某操作發(fā)送請求信息;接收為服務(wù)器接收用戶的請求信息;響應(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中為了識別Modbus應(yīng)用數(shù)據(jù)單元使用了專用的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工作模式問題

由于Modbus協(xié)議本身不具有網(wǎng)絡(luò)層和傳輸層,所以Modbus轉(zhuǎn)以太網(wǎng)并不是簡單物理層和數(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),會給人民生命財(cái)產(chǎn)造成嚴(yán)重?fù)p害,所以Modbus總線設(shè)備通過以太網(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ù)包長度

若設(shè)置發(fā)送數(shù)據(jù)包長度為N(N<1 500 B),串口接收數(shù)據(jù)長度為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é)長度的數(shù)據(jù)作為一個(gè)以太網(wǎng)數(shù)據(jù)包發(fā)送,舍棄多余的數(shù)據(jù)。

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

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

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

當(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í)際串口波特率來計(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è)識別起始位、一個(gè)識別終值位,所以傳輸一個(gè)字節(jié)數(shù)據(jù)實(shí)際傳輸了10位數(shù)據(jù)。

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

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

圖4 硬件原理框圖

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

經(jīng)過對Modbus協(xié)議理論及串口轉(zhuǎn)以太網(wǎng)關(guān)鍵技術(shù)的分析,最終選用開源、精簡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)生無法預(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讀寫程序,將復(fù)位IP、波特率寫入EEPROM相應(yīng)存儲位置,此功能通過按鍵觸發(fā)的方式實(shí)現(xiàn),若要觸發(fā)此中斷,則網(wǎng)關(guān)上電前按住按鍵,上電后3 s松開即可,可以防止用戶忘記本網(wǎng)關(guān)的IP地址,提高用戶體驗(yàn)。

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

(5)判斷以太網(wǎng)端是否收到數(shù)據(jù),若以太網(wǎng)端收到監(jiān)控中心發(fā)來的數(shù)據(jù),則啟動(dòng)以太網(wǎng)轉(zhuǎn)Modbus模塊,把收到Modbus/TCP數(shù)據(jù)幀中包含的應(yīng)用數(shù)據(jù)單元(PDU)提取出來,按照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ù)幀中,通過TCP連接傳輸?shù)揭蕴W(wǎng)端監(jiān)控中心。

6 系統(tǒng)測試

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

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

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

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

遙測:選用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

同樣,可以以類似的方法測試遙信、遙調(diào)、遙控功能,注意在測試過程中要遵照測試設(shè)備的Modbus通信協(xié)議發(fā)送命令,特別注意的是EIA-485總線工作模式為半雙工,所以連續(xù)發(fā)送兩條命令的時(shí)間間隔不能太短,否則會發(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é)束語

經(jīng)測試該遠(yuǎn)程控制網(wǎng)關(guān)可以穩(wěn)定完成設(shè)計(jì)功能,選用的示波器經(jīng)天津市電子計(jì)量中心校準(zhǔn),測試結(jié)果具有溯源性。以太網(wǎng)端遠(yuǎn)程監(jiān)控中心可以通過該網(wǎng)關(guān)對現(xiàn)場自動(dòng)化設(shè)備進(jìn)行集中控制,優(yōu)化資源配置,如可以通過此網(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)化等,為國家智能電網(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)場總線協(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é)議在智能信號變送器中的應(yīng)用.儀表技術(shù)與傳感器,2011(6):26-28.

[7]學(xué)政,許同樂,李中華.基于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.

作者簡介:韓松(1988-),碩士研究生,研究方向?yàn)殡娖骺煽啃耘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)豬場的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
信號系統(tǒng)網(wǎng)關(guān)設(shè)備的優(yōu)化
簡談MC7字節(jié)碼
談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
應(yīng)對氣候變化需要打通“網(wǎng)關(guān)”
萬兆以太網(wǎng)在連徐高速公路通信系統(tǒng)改造中的應(yīng)用