Modbus采用主從式通信,日常使用較多的是Modbus RTU和Modbus TCP/IP兩種協(xié)議。我司儀表較多為Modbus RTU協(xié)議,常用調(diào)試軟件為第三方工具M(jìn)odScan32,比較簡單易懂的一款軟件,下面介紹一下其使用方法。
ModScan32用來模擬主設(shè)備。它可以發(fā)送指令到從機(jī)設(shè)備(使用Modbus協(xié)議的智能儀表終端設(shè)備)中,從機(jī)響應(yīng)之后,就可以在界面上返回相應(yīng)寄存器的數(shù)據(jù)。
一、首先要保證外部的連接線正確連接好,確認(rèn)數(shù)據(jù)線連接正常。
下面打開軟件界面,如下圖:
第一步、點擊菜單欄Connection-->connect,出現(xiàn)Connection Details對話框;
第二步、單擊rotocol Selection進(jìn)入下一步;
第三步、通訊參數(shù)設(shè)定;
注:
1、當(dāng)通訊接口是串口時需要確定現(xiàn)在具體使用的是PC機(jī)的哪個串口。一般情況PC機(jī)集成配置 的串口為COM1,通過USB接口擴(kuò)展的為COM3或COM4(具體機(jī)器會有所不同)。
2、通訊參數(shù)的選擇要與從站(儀表/設(shè)備)中的設(shè)置一致,包括通訊速率、數(shù)據(jù)長度、奇偶校驗和停止位。其中的“rotocol Selection”選擇默認(rèn)的“RTU”模式。
3、Device Id——從站儀表/設(shè)備地址號
4、Address——讀取的起始寄存器地址
5、Length——需要讀取的寄存器個數(shù)(一般建議先讀少量寄存器,確認(rèn)通訊上了之后再批量讀多個寄存器數(shù)據(jù)。)
二、Modbus
1、在監(jiān)視區(qū)的“MODBUS Point Type”中選擇通訊的Modbus寄存器類型。
01:COIL STATUS ——讀寫開關(guān)量類型DO
02:INPUT STATUS ——讀開關(guān)量類型DI
03:HOLDING REGUSTE ——讀寫WORD類型
04:INPUT REGISTER ——讀WORD類型
按照硬件產(chǎn)品說明書指導(dǎo)選擇哪一種類型,常規(guī)modbus規(guī)約讀取使用03功能碼
2、檢查通訊電纜,確認(rèn)線路沒有問題后點擊快捷鍵,連接通訊。觀察數(shù)據(jù)顯示區(qū)的信息。
數(shù)據(jù)區(qū)最上方會顯示通訊狀態(tài),如
3、 寄存器數(shù)據(jù)顯示區(qū)域,數(shù)據(jù)格式可選:二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制格式。
三、報文區(qū)域解析
下圖為DTSY1352-NK儀表的報文示例:
發(fā)送的報文(十六進(jìn)制):
11 03 00 00 00 3c 47 4b
11:十進(jìn)制17,為儀表地址
03:讀取的功能碼
0000H:起始寄存器地址(十進(jìn)制為起始地址1)
00 3C:寄存器個數(shù),3C轉(zhuǎn)換為十進(jìn)制為60個
47 4b:CRC校驗碼
回復(fù)的報文(十六進(jìn)制):
11 03 78 ……(省略60個寄存器數(shù)據(jù))48 cc
78:十六進(jìn)制78即十進(jìn)制120,表示120個字節(jié)(60個寄存器)
48 cc:CRC校驗碼
附:Modscan32可自行百度下載,體積較小。一般無需安裝,下載后解壓即可使用。