標籤:修改 預設 精靈 rem 間隔 位元 串連狀態 html 視窗
感謝77979114原創,由於CSDN經常調整,故再編輯收藏,並修改了部分BUG。
一、介紹
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”按鈕,可以顯示出當前發送命令和接受的資料。
Modbus Poll 主站4.3.4 :http://www.cr173.com/soft/21405.html
Modbus Slave 工具:http://www.cr173.com/soft/21410.html
Modbus調試精靈 7.04綠色版:http://www.cr173.com/soft/5480.html
Modbus測試載入器ModbusPoll與Modbus Slave使用方法