Modbus測試工具ModbusPoll與Modbus Slave使用方法

2020-12-25 電子發燒友

Modbus測試工具ModbusPoll與Modbus Slave使用方法

一、介紹

Modbus Poll :Modbus主機仿真器,用於測試和調試Modbus從設備。該軟體支持ModbusRTU、ASCII、TCP/IP。用來幫助開發人員測試Modbus從設備,或者其它Modbus協議的測試和仿真。它支持多文檔接口,即,可以同時監視多個從設備/數據域。每個窗口簡單地設定從設備ID,功能,地址,大小和輪詢間隔。你可以從任意一個窗口讀寫寄存器和線圈。如果你想改變一個單獨的寄存器,簡單地雙擊這個值即可。或者你可以改變多個寄存器/線圈值。提供數據的多種格式方式,比如浮點、雙精度、長整型(可以字節序列交換)。

Modbus Slave: Modbus從設備仿真器,可以仿真32個從設備/地址域。每個接口都提供了對EXCEL報表的OLE自動化支持。主要用來模擬Modbus從站設備,接收主站的命令包,回送數據包。幫助Modbus通訊設備開發人員進行Modbus通訊協議的模擬和測試,用於模擬、測試、調試Modbus通訊設備。可以32個窗口中模擬多達32個Modbus子設備。與Modbus Poll的用戶界面相同,支持功能01, 02, 03, 04, 05, 06, 15, 16, 22和23,監視串口數據。

二、Modbus Poll使用

1)、安裝註冊: 

安裝完畢,在桌面能夠看到ModbusPoll的快捷方式,雙擊該快捷方式,打開軟體,打開後界面如下圖所示。

 

單擊Connection->Connect,彈出註冊窗口;打開壓縮包解壓後的readme文件,複製ModbusPoll的序列號5A5742575C5D10,粘貼到註冊窗口的註冊欄,如下圖所示,點擊OK,註冊完畢。

modbus poll 4.3.4程序主窗口介紹

其中:Tx = 4表示向主站發送數據幀次數,圖中為4次; Error = 0表示通訊錯誤次數,圖中為0次; ID = 1表示模擬的Modbus子設備的設備地址,圖中地址為1;F = 03表示所使用的Modbus功能碼,圖中為03功能碼; SR = 1000ms表示掃描周期。紅字部分,表示當前的錯誤狀態,「No Connection」表示未連接狀態。

3)、參數設置:

單擊菜單【Setup】中【Read/Write Definition.. F8】進行參數設置,會彈出參數設置對話框。

 

 

其中:A. Slave為要訪問的Modbus從站(從機)的地址,對應主窗口(主畫面)中的ID值,默認為1。  B. Function 為寄存器功能碼的選擇,共四種,分別對應關係如下:

代碼

名稱

寄存器PLC地址

位操作/字操作

操作數量

01

Read/Write  位 狀態

00001-09999

位 bit

單個或多個

02

Read (輸入)位

10001-19999

位 bit

單個或多個

03

Read/Write (保存)字

40001-49999

字 word

單個或多個

04

Read (輸入)字

30001-39999

字 wrod

單個或多個

05

寫單個線圈

00001-09999

位 bit

單個

06

寫單個保持寄存器

40001-49999

字 word

單個

15

寫多個線圈

00001-09999

位 bit

多個

16

寫多個保持寄存器

40001-49999

字 word

多個

C. Address 為寄存器起始地址,默認從0開始。 

D. Length為寄存器連續個數,默認為10個,對應組態軟體的通道數量。 

E. Scan Rate為讀取數據周期,單位毫秒,默認為1000ms。  

設置完成單擊OK按鈕,模擬窗口將顯示定義的寄存器列表。

4)、顯示設置: 

數據顯示方式設置:

默認情況下,寄存器數據的顯示方式為Signed方式(16進位有符號二進位),數據範圍為-32768~32767。如果用戶要以其他數值方式顯示,可以通過菜單【Display】進行選擇設置,如下圖所示:

 

地址格式設置: Modbus Slave默認使用PLC地址,【Display】菜單中【PLC Addresses(Base 1)】為默認選中狀態,默認寄存器的起始地址為1開始,此點與組態軟體的Modbus串口和TCP數據轉發驅動是相同的。如果測試時需要設置起始地址為0開始,可選擇【Protocol Addresses(Base 0)】。一般情況下使用默認PLC地址即可。

使用工具欄的」Communication Traffic」按鈕,可以顯示出當前發送命令和接受的數據。

5)、串口連接: 

單擊菜單【Connection】中【Connect.. F3】進行串口連接,如下圖 :

 

其中:Port3,表示使用的串口(COM3),根據實際情況選擇不同的串口或者TCP/IP進行連接。Mode,表示Modbus協議模式,使用串口時有效;使用TCP/IP時自動為TCP模式。Response Timeout,表示讀取超時時間,從站在超時時間內沒有返回數據,則認為通訊失敗。Delay Between Polls,每次掃描的最小間隔時間,默認為10ms。Remote Server,表示TCP/IP模式時的終端從站設備的網絡設置。IP Address,表示TCP/IP模式時從站IP位址。  Port,表示TCP模式時從站網絡埠。用戶可根據需要對參數進行設置,默認為:串口1、波特率9600、數據位8位、無校驗位、1位停止位。確認設置後點擊OK按鈕即可。如果連接並讀取正確,此時主窗口將顯示讀取寄存器的相關信息。

6)、寄存器值改變: 

在主窗口寄存器地址上雙擊滑鼠,彈出修改對話框,如下圖:

 

在Value輸入框中輸入值確認即可。範圍為-32768——32767。 

其中:Slave為要訪問的Modbus從站的地址,對應主畫面中的ID值,默認為1。  Address 為當前操作的寄存器的地址。圖中為對寄存器40001操作。  Use Function為所使用的功能碼,可以選擇06或16功能碼進行寫入。

7)、查看通訊數據幀: 

單擊【Display】菜單中的【Communication…】或者單擊工具欄上【101】按鈕,可以調出串口收發數據幀監視信息對話框「CommunicationTraffic」,用來查看分析收發的數據幀。如下圖所示:

 

其中:前6位為數據幀的序號。  Rx表示接收的數據幀。  Tx表示發送的數據幀。

8)、斷開連接: 

點擊【Disconnect  F4】即可斷開連接結束測試,此時主窗口中出現紅色的「No Connection」表示未連接狀態。

三、Modbus Slave使用

1)、安裝註冊:
安裝軟體,安裝完成之後,雙擊執行ModbusSlave快捷方式即可。

註冊方法:單擊Connection->Connect,彈出註冊窗口;打開壓縮包解壓後的readme文件,複製ModbusPoll的序列號,粘貼到註冊窗口的註冊欄,點擊OK,破解完畢。ModbusSlave的安裝破解與ModbusPoll類似,在此不再贅述。

2)、主窗口:
軟體主窗口如下圖所示:

 

此時處於「Noconnection」未連接狀態,如果只測試「04輸出保持寄存器」,則可直接點擊跳到第3.步,直接進行連接即可。

3)、參數設置:
點擊菜單「Setup」中「Slave Definition.. F2」進行參數設置,會彈出如下圖對話框。

 

其中:A.Slave為Modbus從站地址,對應主畫面中的ID值,默認為1。
B. Function 為寄存器功能碼的選擇,共四種,分別對應關係如下:

代碼

中文名稱

寄存器PLC地址

位操作/字操作

操作數量

01

讀線圈狀態

00001-09999

位操作

單個或多個

02

讀離散輸入狀態

10001-19999

位操作

單個或多個

03

讀保持寄存器

40001-49999

字操作

單個或多個

04

讀輸入寄存器

30001-39999

字操作

單個或多個

05

寫單個線圈

00001-09999

位操作

單個

06

寫單個保持寄存器

40001-49999

字操作

單個

15

寫多個線圈

00001-09999

位操作

多個

16

寫多個保持寄存器

40001-49999

字操作

多個

C. Address 為寄存器起始地址。默認從1開始。
D. Length為寄存器連續個數。默認為10個。

設置OK按鈕,模擬窗口將顯示定義的寄存器列表:

 

其中:ID,表示模擬的Modbus子設備的設備地址;F,表示功能碼
點擊對應的寄存器,即可修改對應寄存器的值或者狀態。比如2寄存器值修改成9,9寄存器值修改成100。

4)、顯示設置:
數據顯示方式設置:
默認情況下,寄存器數據的顯示方式為Signed方式(16進位無符號二進位),數據範圍為範圍為-32768——32767。如果用戶要以其他數值方式顯示,可以通過菜單「Display」進行選擇設置,如下圖所示:

 

地址格式設置:
Modbus Slave默認使用PLC地址,「Display」菜單中「PLC Addresses(Base 1)」為默認選中狀態,默認寄存器的起始地址為1開始,此點與組態軟體的Modbus串口和TCP數據轉發驅動是相同的。如果測試時需要設置起始地址為0開始,可選擇「Protocol Addresses(Base 0)」。一般情況下使用默認PLC地址即可。

5)、連接:
點擊菜單「Connection」中「Connect.. F3」進行連接。彈出連接對話框:

 

其中:Port2,表示使用的串口(COM2),根據實際情況選擇不同的串口或者TCP/IP進行連接
Mode,表示Modbus協議模式,使用串口時有效;使用TCP/IP時自動為TCP模式
Flow Control,表示流控制,串口模式時有效;
Ignore Unit ID,表示TCP模式時忽略無效的組編號
用戶可根據需要對串口參數進行設置,默認為:串口1,波特率9600,數據位8位,無校驗位,1位停止位。確認設置後點擊「OK」按鈕即可。此時主窗口中紅色的「No connection」表示未連接狀態的信息消失,表明從站處於正常連接狀態。

6)、寄存器值改變:
在主窗口寄存器地址上雙擊滑鼠,彈出修改對話框,如下圖:

 

在輸入框中輸入值確認即可。範圍為-32768——32767。
其中:Auto increment選項鉤選上後,對應寄存器的值可以每1秒種增加1。

7)、查看通訊數據幀:
點擊「Display」菜單中的「Communication…」,可以調出串口收發數據幀監視信息對話框,用來查看分析收發的數據幀。如下圖所示:

 

其中:前6位為數據幀的序號。
Rx:表示接收數據幀。
Tx: 表示發送數據幀。

8)、斷開連接:
點擊「Disconnect F4」即可斷開連接結束測試,此時主窗口中出現紅色的「No connection」表示未連接狀態。

四、Modbus主機/從機模擬程序

1)、安裝vspd虛擬串口工具。通過工具添加COM2和COM3兩個埠。

 

2)、接下來打開已經安裝的modbuspoll和modbus slave軟體,分別按「F8」配置主從端的相關配置,如圖:

以上配置的是10個計數器從機設備ID為1但只讀取前6個計數器的數據,可根據自己的情況設置。

2、接下來按分別按「F3」進行連接,注意修改連接界面的埠,主從機分別選擇我們虛擬出來的com2和com3埠,因為我只用到了RTU模式,所以其他選項如波特率9600,比特位8,校驗位1,無等價位等可以保持不變,然後點擊確定進行連接,未連接成功窗口第二行會給出提示信息。

通訊開始,主機端顯示:TX=232,Err=0,ID=1,F=03,SR=1000ms。意思是,發送232次命令,錯誤次數,從機ID,功能號,輪詢間隔。

使用工具欄的」Communication Traffic」按鈕,可以顯示出當前發送命令和接受的數據。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • Modbus測試小工具
    由於工作需要,碰到很多客戶調試modbus通訊的問題。針對在空調項目中,Modbus RTU通訊測試,這裡發一個modbus測試小工具小教程。1,首先是用什麼工具,工欲善其事必先利其器。1.1 軟體部分這裡推薦兩個小工具:Modbbus poll(傳送門:https://www.modbustools.com/download.html)大小只有2mb的工具。
  • 濤哥帶你學習 ModBus TCP 協議 (7) – 調試工具
    本期就給大家介紹幾款濤哥常用的趁手調試工具,以饗讀者。官網地址:https://www.modbustools.com/modbus_poll.html二、Modbus SlaveModbus Slave 可以作為從站(伺服器端)測試 Modbus RTU/ASCII 和 Modbus TCP/IP 以及 Modbus UDP/IP 。
  • 基於Python的Modbus RTU應用示例
    簡介這篇文章寫如何使用Python語言 與PLC 進行Modbus RTU通信。相比ModBus TCP,Modbus RTU要慢很多,而且設備之間的通信連接也比較麻煩,還需要掌握一定的串行相關的硬體以及協議等知識。
  • Modbus與第三方系統通訊
    因為第三方系統使用的系統不同,目前比較多的如ABB,施耐德,GE,上海新華,和利時,浙大中控等,為了實現和這些系統做的控制系統,就要有一個比較合理的通訊方式,目前採用的是opc方式通訊。目前的技術需求:而針對一爐一機這種數據量小,要求速度快的通訊特點,modbus通訊方式更合適,modbus是比較早的通訊協議,大多數的智能儀表都支持,控制系統也都支持,所以不存在無法通訊的難點。為了實現這個通訊,我於2014年的年底在江蘇阜寧澳洋熱電廠做了測試。
  • Modbus和TCP有什麼區別?
    它們的相結合,不但實現了基於modbus/tcp/IP協議遠程網絡通訊,促進了modbus在其對應領域中的使用。modbus協議主要應用於電氣自動化和過程控制,一般採用RS-232或RS-485的通信接口。不足之處,就是其傳輸距離短、速度慢,導致應用受到局限。TCP/IP協議主要應用領域lnternet或lntranet中,它的優勢就是傳輸距離遠、傳輸速度快,應用範圍廣泛。
  • 西門子博途的MODBUS RTU通訊實例
    二、案例實現項目背景:本項目採用的S7-1200的擴展modbus卡,作為MODBUS RTU的接口,採集電磁流量計的瞬時流量和累計流量。(3)讀瞬時流量該流量計設置modbus(7)實際結果三、結論    在進行modbus
  • 手把手教你寫Modbus-RTU協議(實戰篇)
    好了,下面開始進入我們今天的主題,今天為大家帶來Modbus-RTU協議的實現,作者前面發布過兩篇modbus的理論篇《手把手教你寫Modbus-RTU協議(理論篇)》和《向Modbus協議說"So Easy"!》(可在文末推薦閱讀中跳轉),大家可以先閱讀這兩篇文章掌握一些基本理論。
  • ModBus之RTU問題匯總
    而ModBus分為兩種協議:即串口協議(ModBus rtu)和網口協議(ModBus tcp)協議,一般的工控機只支持rs232或者RS485的串口模式,這個時候工控機的協議棧裡就只有modbusRTU協議,當他從串口接收到數據時,會直接根據報文中的數據進行控制,如果需要用modbusTCP協議進行傳輸,則需要使用帶有網口的PLC。
  • 單片機通信uart和modbus有什麼區別
    modbus簡介   Modbus是由Modicon(現為施耐德電氣公司的一個品牌)在1979年發明的,是全球第一個真正用於工業現場的總線協議。   ModBus網絡是一個工業通信系統,由帶智能終端的可編程序控制器和計算機通過公用線路或局部專用線路連接而成。
  • 工業控制系統安全之——Modbus學習筆記
    代碼作為數據在向計算機或其它設備進行輸入時,容易產生輸入錯誤,為了減少這種輸入錯誤,編碼專家發明了各種校驗檢錯方法,並依據這些方法設置了校驗碼。通過乙太網傳輸時使用TCP,這種模式不使用校驗,因為TCP協議是一個面向連接的可靠協議。四、Modbus RTU 和Modbus ASCII有什麼區別?
  • Modbus 的RTU、ASCII、TCP傻傻搞不清楚?一文最全解讀
    代碼作為數據在向計算機或其它設備進行輸入時,容易產生輸入錯誤,為了減少這種輸入錯誤,編碼專家發明了各種校驗檢錯方法,並依據這些方法設置了校驗碼。6.1 主機和從機、服務端和客戶端【在modbus協議中】主機發送modbus請求,從機根據請求內容向主機返迴響應。
  • 三菱PLC的另類MODBUS通訊
    以下是大概方法,供各位朋友交流參考,不對之處請指正。      首先要了解下什麼是無協議通訊和MODBUS協議通訊。根據度娘所說:      所謂無協議通訊就是說通信網絡的兩個或多個終端通過通信網絡實現數據的傳輸,而不必遵循共同的規定或規則。      Modbus 協議是應用於電子控制器上的一種語言。
  • 三菱FX5U通過485接口與IAI電缸進行modbus通訊實例講解
    下圖是我們的電櫃,原先是計劃通過三菱QD70定位模塊發脈衝控制IAI電缸的,後面才發現這款控制器是只能收差動信號,而QD70定位模塊是發出的集電極信號,需要加轉換模塊才能使用。為了不影響設備調試,先接了IO信號控制電缸走點位和示教。
  • 使用Python操作GE Fanuc Rx3i PLC
    是一個基於python語言的modbus通信庫,我們可以通過它快速的搭建modbus網絡,進行數據的讀寫Python環境的搭建先決條件:需要先安裝python3,建議去python的官網下載安裝最新的本版,注意事項請翻看我寫的上一篇文章
  • 使用Peach進行模糊測試從入門到放棄
    原理1、Fuzzing技術首先是一種自動化技術,即軟體自動執行相對隨機的測試用例。因為是依靠計算機軟體自動執行,所以測試效率相對人來講遠遠高出幾個數量級。比如,一個優秀的測試人員,一天能執行的測試用例數量最多也就是幾十個,很難達到100個。而Fuzzing工具可能幾分鐘就可以輕鬆執行上百個測試用例。
  • Modbus Poll工具的開發實現
    前言:Modbus Poll和Modbus Slave 、VSPD(虛擬串口)是工控行業經常會用到的測試工具,這裡就嘗試著做下Modbus Poll
  • modbus通信協議,profibus、FF、CAN總線等幾種現場總線知識合集
    modbus通信協議,profibus、FF、CAN總線等幾種現場總線知識合集 李倩 發表於 2018-04-29 17:47:00 在工業的發展中,現場總線起著非常重要的作用,主要應用於石油、化工、電力、醫藥
  • 照貓畫虎-----學習SMART 200 V2.4自帶的Modbus_TCP例子_1
    總不至於留給客戶個秤軟體,讓客戶自己去學習秤軟體的使用吧。不要笑,我是見過,有人這麼幹過。給客戶電腦上裝了校秤軟體SIWATOOL 。 學習是帶著目的和需求的,否則沒有具體的應用,大概率的要走向從入門到放棄。當然,我也不是從0開始,上述功能,我在2.2版本的時候已經實現了。