日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Modbus以太网传输方式

發(fā)布時(shí)間:2025/3/15 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Modbus以太网传输方式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

通信結(jié)構(gòu)

MODBUS TCP/IP 的通信系統(tǒng)可以包括不同類型的設(shè)備:

  • 502端口是為MODBUS通信保留的,在缺省狀態(tài)下,強(qiáng)制偵聽這個(gè)口。
  • 連接至TCP/IP 網(wǎng)絡(luò)的MODBUS TCP/IP 客戶機(jī)和服務(wù)器設(shè)備
  • 互連設(shè)備,例如:在TCP/IP網(wǎng)絡(luò)和串行鏈路子網(wǎng)之間互連的網(wǎng)橋、路由器或網(wǎng)關(guān),聯(lián)接,該子網(wǎng)允許將MODBUS 串行鏈路客戶機(jī)和服務(wù)器終端設(shè)備連接起來。

?

?

?

報(bào)文幀

modbus tcp用MBAP報(bào)文頭中的單個(gè)字節(jié)單元標(biāo)識(shí)符取代MODBUS串行鏈路上通常使用的MODBUS從地址域。

報(bào)文頭為7 個(gè)字節(jié)長(zhǎng):

  • 事務(wù)處理標(biāo)識(shí)符:用于事務(wù)處理配對(duì)。在響應(yīng)中,MODBUS服務(wù)器復(fù)制請(qǐng)求的事務(wù)處理標(biāo)識(shí)符。
  • 協(xié)議標(biāo)識(shí)符:用于系統(tǒng)內(nèi)的多路復(fù)用。通過值0 識(shí)別MODBUS 協(xié)議。
  • 長(zhǎng)度:長(zhǎng)度域是下一個(gè)域的字節(jié)數(shù),包括單元標(biāo)識(shí)符和數(shù)據(jù)域。
  • 單元標(biāo)識(shí)符:為了系統(tǒng)內(nèi)路由,使用這個(gè)域。專門用于通過以太網(wǎng)TCP-IP網(wǎng)絡(luò)和MODBUS串行鏈路之間的網(wǎng)關(guān)對(duì)MODBUS或MODBUS+串行鏈路從站的通信。MODBUS客戶機(jī)在請(qǐng)求中設(shè)置這個(gè)域,在響應(yīng)中服務(wù)器必須利用相同的值返回這個(gè)域。

?

網(wǎng)絡(luò)配置

SO-RCVBUF, SO-SNDBUF:

這些參數(shù)允許為發(fā)送和接收用套接字接口設(shè)定高限位。可以通過調(diào)整這些參數(shù)來實(shí)現(xiàn)流量控制管理。接收緩存區(qū)的的大小即為每個(gè)連接advertised window的最大值。為了提高性能,必須增加套接字緩存區(qū)的大小。否則,這些值必須小于內(nèi)部驅(qū)動(dòng)器的資源,以便在內(nèi)部驅(qū)動(dòng)器的資源耗盡之前關(guān)閉TCP 窗口。

接收緩存區(qū)大小取決于TCP窗口大小、TCP最大段的大小和接收輸入幀所需的時(shí)間。由于最大段的尺寸為300個(gè)字(一個(gè)MODBUS請(qǐng)求需要最大256字+MBAP報(bào)文頭),如果需要3 幀進(jìn)行緩存,可將套接字緩存區(qū)大小調(diào)整為900字。為了滿足最大的緩存需求和預(yù)定的時(shí)間,可以增加TCP 窗口的大小。

?

TCP-NODELAY:

通常,小報(bào)文(稱為:tinygrams)在局域網(wǎng)(LAN)上的傳輸不會(huì)產(chǎn)生問題,因?yàn)槎鄶?shù)局域網(wǎng)是不擁堵的,但是,這些tinygrams 在廣域網(wǎng)上將會(huì)造成擁堵。一個(gè)稱為“NAGLE 算法”的簡(jiǎn)單方案是:收集小量的數(shù)據(jù),當(dāng)前面報(bào)文的TCP 確認(rèn)到達(dá)時(shí)再用單個(gè)進(jìn)行發(fā)送。

為了獲得更好的實(shí)時(shí)特性,建議:將小量的數(shù)據(jù)直接發(fā)送,而不要試圖將其收集到一個(gè)段內(nèi)再發(fā)送。這就是為什么建議強(qiáng)制TCP-NODELAY 選項(xiàng),這個(gè)選項(xiàng)禁用客戶機(jī)和服務(wù)器連接的“NAGLE算法”。

?

SO-REUSEADDR:

當(dāng) MODBUS 服務(wù)器關(guān)閉一個(gè)由遠(yuǎn)端客戶啟動(dòng)的TCP 連接時(shí),在這個(gè)連接處于“時(shí)間等待”狀態(tài)(兩個(gè)MSL:最大段壽命)的過程中,該連接所用的本地口號(hào)不能被再次用來打開一個(gè)新的連接。

建議:為每個(gè)客戶機(jī)和服務(wù)器連接,指明SO-REUSEADDR 選項(xiàng),以迂回這個(gè)限制。此選項(xiàng)允許為自身分配一個(gè)口號(hào),它作為連接的一部分在2MSL期間內(nèi)等待客戶機(jī)并偵聽套接字接口。

?

SO-KEEPALIVE:

TCP/IP 協(xié)議缺省狀態(tài)下,不通過空閑的TCP 連接發(fā)送數(shù)據(jù)。因此,如果在TCP 連接端這個(gè)過程沒有發(fā)送數(shù)據(jù),在兩個(gè)TCP 模塊間就沒有交換任何數(shù)據(jù)。這就假設(shè)客戶機(jī)端應(yīng)用和服務(wù)器端應(yīng)用均采用計(jì)數(shù)器來探測(cè)連接的存活性,以便關(guān)閉連接。

建議:在客戶機(jī)與服務(wù)器連接兩端均采用KEEPALIVE 選項(xiàng),以便查詢另一端得知對(duì)方是否故障并死機(jī),或故障并重新啟動(dòng)。

然而,我們必須牢記,采用KEEPALIVE 可能引起一個(gè)非常良好的連接,在瞬間故障時(shí)通信中斷,如果保持連接計(jì)時(shí)器計(jì)時(shí)周期太短,將占用不必要的網(wǎng)絡(luò)帶寬。

總結(jié)

以上是生活随笔為你收集整理的Modbus以太网传输方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。