韩日无码在线,日本白嫩少妇一区,A91精品国产自产,日韩欧美中文综合

首頁 - 關于研博 - 技術筆記 - Modbus TCP通信協(xié)議介紹及示例詳解
Modbus TCP通信協(xié)議介紹及示例詳解
2024.10.16

  1、相關概念

  1.1 Modbus

  Modbus是一種廣泛應用于工業(yè)自動化領域的通信協(xié)議, Modbus提供了通用的語言在設備之間建立主從式的通信,Modbus協(xié)議簡單、開放、易于實現(xiàn),且支持多種物理層通信介質(RS232、RS485、TCP/IP網絡等),因此成為了工業(yè)領域通信協(xié)議的業(yè)界標準之一。我們今天要介紹的是一種基于以太網TCP/IP的應用層協(xié)議——Modbus TCP/IP協(xié)議。

  1.1 Modbus

  Modbus是一種廣泛應用于工業(yè)自動化領域的通信協(xié)議, Modbus提供了通用的語言在設備之間建立主從式的通信,Modbus協(xié)議簡單、開放、易于實現(xiàn),且支持多種物理層通信介質(RS232、RS485、TCP/IP網絡等),因此成為了工業(yè)領域通信協(xié)議的業(yè)界標準之一。我們今天要介紹的是一種基于以太網TCP/IP的應用層協(xié)議——Modbus TCP/IP協(xié)議。

 

  1.2 Modbus TCP

  Modbus TCP是Modbus協(xié)議在以太網上的一種實現(xiàn),它保留了Modbus協(xié)議的核心功能和數(shù)據(jù)模型,但對消息封裝進行了調整,使其符合TCP/IP的要求。在進行下一步之前我們首先對Modbus中的一些概念做一個了解。

  1.3存儲區(qū)

  存儲的數(shù)據(jù)類型分為布爾量和寄存器

  1.3.1布爾量

  如水閥的開關、燈的開關等數(shù)據(jù)。

  1.3.2寄存器

  如流速、導電率、溫濕度、空氣濃度等數(shù)據(jù)。

  Modbus規(guī)定了4個存儲區(qū),分別是0、1、3、4,對應下面表格內容,具體為:

  0區(qū):可讀可寫的布爾量

  1區(qū):只讀布爾量

  3區(qū):只讀寄存器

  4區(qū):可讀可寫的寄存器

  1.4功能碼

  Modbus定義了一系列的功能碼,這些功能碼表示了主站請求從站執(zhí)行的具體操作,下面表格是一些常見的功能碼,具體為:

  1.4.1讀操作

  0x01:讀輸出線圈狀態(tài)。

  0x02:讀輸入線圈狀態(tài)。

  0x03:讀輸出寄存器的值。

  0x04:讀輸入寄存器的值。

  1.4.2寫操作

  0x05:寫單個線圈狀態(tài)。

  0x06:寫單個寄存器的值。

  0x0F:寫多個線圈狀態(tài)。

  0x10:寫多個寄存器的值。

 

  1.5 協(xié)議報文

  Modbus TCP/IP的報文被封裝在一個標準的TCP數(shù)據(jù)段內,而不是像串行通信那樣直接在物理層上發(fā)送。TCP報文提供了端到端的可靠傳輸,包括數(shù)據(jù)分段、重傳、流量控制和擁塞控制等機制。

  Modbus TCP/IP的報文幀主要包括:

  MBAP頭:包含事務標識符、協(xié)議標識符、消息長度、設備地址

  Modbus PDU:原始Modbus協(xié)議的數(shù)據(jù)部分,包括功能碼、數(shù)據(jù)地址和數(shù)據(jù)值。

  

 

  下面我們用一個表格來根據(jù)一段報文解釋這兩部分的具體內容:

  主站發(fā)送報文:

 

  從站響應報文:

 

  從上面的報文中我們可以知道:

  事務標識符:占2個字節(jié),一次通信的過程中主站和從站的報文幀的事務標識符是一致的。

  協(xié)議標識符:占2個字節(jié),00 00表示Modbus TCP協(xié)議。

  后面報文的長度:占2個字節(jié),表示后面報文的長度。

  從站地址:占1個字節(jié),表示設備的地址,也就是Salve ID的值。

  功能碼:占1個字節(jié),例子中的03表示的是讀輸出寄存器的值。

  起始地址:占2個字節(jié),表示從該設備的哪個位置開始讀。

  讀取數(shù)量:占2個字節(jié),表示從起始位置往后讀的數(shù)量。

  長度:占2個字節(jié),表示后面還報文的長度。

  對應的值:根據(jù)不同的存儲類型所占的字節(jié)不同。

  接下來我們通過工具來模擬Modbus TCP通訊。

 

  2、工具使用

  2.1 Modbus Slave

  打開軟件之后點擊菜單欄的Connection→Connect,如圖所示:

 

  在彈出的界面選擇協(xié)議類型為Modbus TCP/IP,輸入IP,端口號點擊OK

 

  隨后點擊Setup→Slave Definition...進入從站設置界面

  

 

  下面我們新建四個不同存儲區(qū)的窗口來為后面模擬通訊做準備

 

  根據(jù)圖中任意方式都可以新建窗口。

  可以看到四個窗口在從站地址為2,功能碼分別為01、02、03、04。

  

 

  需要注意的是01、02表示的是讀輸出線圈和輸入線圈,只有開關量,對應的數(shù)值為1=On,0=Off。

 

  03、04表示的是讀輸出寄存器和輸入寄存器。

 

  好了,接下來我們去使用工具模擬主站來讀取從站的數(shù)據(jù)。在此之前我們可以勾選Auto increment模擬數(shù)據(jù)處于變化狀態(tài)。

  2.2 Modbus Poll

  使用和從站相同的方法連接之后新建四個窗口分別讀取,可以看到讀取實時數(shù)據(jù)成功。

 

  也可以通過查看日志確保主機處于正常讀取狀態(tài)。

 

  下面我們通過使用modbus-master-tcp模擬一個主站去和從站之間進行通信。

 

  3、Java模擬主站

  3.1使用modbus-master-tcp庫

  modbus-master-tcp是基于Netty編寫,支持異步與并發(fā)。

  下面通過Java模擬主站讀取從站線圈狀態(tài):

 

 

  輸出結果:

 

  4、總結

  上述內容就是對Modbus通信協(xié)議的介紹及通過工具和代碼模擬主站與從站之間進行通信的過程,關于更多Modbus的實際應用可以訪問上海研博數(shù)據(jù)信息技術有限公司 (yanboot.cn)進行查看,關于文章所涉及到的代碼可以留言獲取,關于更多后續(xù)請關注公眾號了解。

 

獲取相關資料
下載地址將會發(fā)送至您填寫的郵箱
相關新聞
水文SL651協(xié)議解析
2025-01-17
JT/T808 協(xié)議解析
2025-01-10
環(huán)保HJ212-2017協(xié)議介紹開發(fā)
2025-01-03
  • 在線客服
  • 電話咨詢
  • 微信
  • 短視頻
  • 天天看视频一级片| 国产亚洲欧美日韩精品| 69堂国产成人精品视频不卡| 91人妻中文字幕| 亚洲精品无码久久久久苍井空| 女同久久国产av| 久久亚洲精品国| 婷婷亚洲国产成人精品性色| 99国产精品久久久久久久...| 轻轻色中文在线| 色综合123| 一区二区精品黄片| 国产伦精品一区二区三区视频大香| 丰满人妻播放| 欧美丨日韩|日本| 秋霞在线视频| 亚洲国产精品自产在线播放| 婷婷久久久蜜桃一区二区美利坚| 亚洲乱码精品久久久久| 久久婷婷色香五月综合缴缴情| 少妇bbbb| 最新国内久久免费视频| 婷婷五月激情亚洲| 人妻午夜精品| 小舞屈辱打开双腿自慰出白浆| 一区二区三区视频99国精品午夜| 国产网站在线免费观看| 婷婷六月丁香七月| 爱av天堂| 特一级毛片一级毛片一级毛片 | 国产精品狼人久久久久影院免费 | 日韩高清无码资源| 天天综合天天| 日本在线视频二区| 国产香蕉AV| 91香蕉国产| 国产精品亚洲综合网站| 久久9热综合国产日韩| 欧美性a国产精品| 日韩97国产| 日韩午夜福利无码观看专区|