Windows下Modbus poll與Modbus Slave 通信設置步驟及相關說明
一、Modbus poll主窗口介紹
上圖中:
Tx=157表示主站發送數據幀次數,圖中為157次;
Error=0表示通訊錯誤次數,圖中為0次;
ID=1表示模擬的Modbus子設備的設備地址,圖中地址為1;
F=03表示所使用的Modbus功能碼,圖中為03功能碼;
SR=1000ms 表示掃描周期。
紅色部分,表示當前的錯誤狀態,“No Connection”表示未連接狀態。
①參數設置
其中:
Slave ID表示要訪問的Modbus從站(從機)的地址,對應主窗口(主畫面中的ID值),默認為1。
Function為寄存器功能碼的選擇,如下表所示:
Address為寄存器的起始地址,默認從0開始。
Quantity為寄存器連續個數,默認為10個,對應組態軟件的通道數量。
Scan Rate為讀取數據周期,單位毫秒,默認為1000ms.
設置完成單擊OK按鈕,模擬窗口將顯示定義的寄存器列表。
②顯示設置
數據顯示方式設置:默認情況下,寄存器數據的顯示方式為Signed方式(16進制有符號二進制),數據范圍為-32768~32767。如果用戶要以其他數值方式顯示,可以通過菜單【Display】進行選擇設置,如下圖所示:
③串口連接設置
其中:
Serial Port表示串口連接,根據實際情況點擊下拉菜單可選擇TCP/IP連接,Mode,表示Modbus協議模式;
Response Timeout,表示讀取超時時間,從站在超時時間內沒有返回數據,則認為通訊失敗。Delay Between Polls,每次掃描的最小間隔時間,默認為10ms。
Remote Modbus Server,表示TCP/IP模式時的終端從站設備的網絡設置。
IP Address or Node Name,表示TCP/IP模式時從站IP地址。
Port,表示TCP模式時從站網絡端口。
ELTIMA Virtual Serial Port(COM2->COM1) 表示使用虛擬串口COM2;
用戶可根據需要對參數進行設置,串口ELTIMA Virtual Serial Port(COM2->COM1)、波特率9600、數據位8位、無校驗位、1位停止位。確認設置后點擊OK按鈕即可。如果連接並讀取正確,此時主窗口將顯示讀取寄存器的相關信息。
④寄存器值改變
在主窗口寄存器地址上雙擊鼠標,彈出修改對話框,如下圖:
在Value輸入框中輸入值確認即可。范圍為-32768——32767。
其中:Slave為要訪問的Modbus從站的地址,對應主畫面中的ID值,默認為1。 Address 為當前操作的寄存器的地址。圖中為對寄存器40001[c1] 操作。 Use Function為所使用的功能碼,可以選擇06或16功能碼進行寫入。/* [c1]地址40001源於何處?查前面Function為寄存器功能碼表*/
⑤查看通訊數據幀
單擊【Display】菜單中的【Communication…】或者單擊工具欄上【101】按鈕,可以調出串口收發數據幀監視信息對話框“CommunicationTraffic”,用來查看分析收發的數據幀。如下圖所示:
其中:前6位為數據幀的序號。 Rx表示接收的數據幀。 Tx表示發送的數據幀。
⑥斷開連接
點擊【Disconnect F4】即可斷開連接結束測試,此時主窗口中出現紅色的“No Connection”表示未連接狀態。
二、Modbus Slave 窗口介紹
Modbus Slave與Modbus poll界面基本一致
① 參數設置
②寄存器值設置(雙擊)
③連接
三、虛擬串口助手
四、報文分析
MODBUS-RTU數據幀格式、報文實例
Tx 01 03 00 00 00 0A C5 CD
RX 01 03 14 00 22 0023 00 63 00 4C 00 22 00 17 00 58 00 36 00 21 00 02 FF 85
五、關於CRC(循環冗余校驗)的計算
六、串口調試助手發送Tx報文
Modbus slave 設置參數及連接如下圖所示
轉自:https://blog.csdn.net/xuw_xy/article/details/81166305