軟件介紹
Modscan32是一個運行在windows下,作為在RTU或這ASCII傳輸模式下的MODBUS協議主設備的應用程序。用來模擬主設備(與之相對的是Modsim32,用于模擬從設備)。它可以發送指令報文到從機設備中,從機響應之后,就可以在界面上返回相應寄存器的數據。
文章只談及工具的使用,對于Modbus本身通信協議的具體內容,請移步Modbus通信協議詳解。
下載鏈接
鏈接:https://pan.baidu.com/s/1eno-yg6VZVNcjR44O0h0Uw
提取碼:84z1
軟件使用
連接
兩種方式,一種普通連接,一種是快速連接。
普通連接
點擊菜單欄"連接設置"->"連接",彈出連接配置窗口。
在"使用的連接"那里選擇"Direct Connection to COMXX"(XX是根據當前使用的端口號來定),表示當前是用串口通信,如果使用的是Modbus/TCP,則選擇"Remote modbusTCP Server"。
快速連接
點擊菜單欄"連接設置"->"快速連接",或點擊 ,可根據前一時刻的連接配置進行連接。
斷開連接
點擊菜單欄"連接設置"->"斷開連接",或點擊 ,斷開當前連接。
串口配置:
在配置窗口中配置好端口號、波特率、數據位、校驗位、停止位,一般是9600波特率(9600 Baud),8個數據位(8 Data bits),無校驗位(None Parity),1個停止位(1 Stop Bit)。當然這個是要根據實際通信的從機設備進行匹配設置。
點擊"協議選擇",根據通信的從機設備選擇使用RTU模式或ASCII模式,工業應用的話一般使用RTU模式,很少使用ASCII模式。另外還有"Daniel/enron/OMNI"(一種基于標準的擴展形式)的RTU和ASCII模式可以選。
再設置下超時時間和幀間隔時間(實際就是每個窗口之間的發送間隔),超時時間可以按默認1s就行,Modbus國標規定是200ms到1s。幀間隔時間按默認20ms設置即可。
另外勾選""可選擇單個寫入線圈/寄存器時,要使用15/16指令(支持批量寫入)還是05/06指令(只支持單個寫入)。
硬件流控制如果沒有使用的話,按默認設置即可。設置完點確認即可完成設置進行連接。
TCP配置:
在"使用的連接"處選擇"Remote modbusTCP Server",設置好IP及端口號,Modbus/TCP的默認端口號為502。實際根據從機設備的IP和端口號來設置。
窗口配置
可以在窗口里直接配置,也可以點擊"配置"->"數據定義",在彈窗中進行配置。
Address:可以配置讀/寫的寄存器/線圈起始地址(注意這里最低只能配置為1,對應Modbus指令里的0地址)
Length:可以配置讀/寫的寄存器/線圈個數
Device Id:可以配置目標從機地址
MODBUS Point Type:可以配置使用的Modbus點位類型。(注意:修改不同的點位類型時,對應地址前面會帶有不同的前綴數據,這個并不影響Modbus指令里的起始地址,只是用于PLC的地址分段)
01:COIL STATUS,線圈(可讀可寫)
02:INPUT STATUS,輸入線圈(只讀)
03:HOLDING REGISTER,保持寄存器(可讀可寫)
04:INPUT REGISTER,輸入寄存器(只讀)
掃描速率:配置當前窗口報文發送的周期間隔。
窗口狀態顯示
Number of Polls:表示當前已發送的指令數量
Valid Slave Responses:表示目標從機回復的指令數量
紅色字樣表示當前故障狀態,詳見以下故障說明。
** Device NOT CONNECTED! **:表示當前未連接。
** Data Uninitialized **:表示當前窗口未進行配置。
** MODBUS Message TIME-OUT **:表示發送指令后從設備超時未響應。
而從機設備不回復,可能性有很多,比如:
1、連接配置錯誤,主機的波特率、Slave ID等信息跟從機設備對應不上,從機就不會回。
2、線路異常,電腦跟從機設備之前的通信線存在異常,也是無法正常收到回復。
3、從機設備解析異常不回復,這個具體可以查看Modbus協議詳解。
** Checksum Error in Response Message **:響應的數據校驗錯誤。
** MODBUS Exception Response from Slave Device **:地址異常,一般是當訪問的從機設備不存在要讀取的寄存器/線圈地址時,會返回不存在此地址的02異常碼,軟件接收到此指令時就會報出這個錯誤。
設置數據格式
點擊"配置"->"顯示選項"->"二進制"/"十進制"……,或點擊 ,選擇對應的數據制式(數據流里的數據也會有變化)。
原始報文
點擊"配置"->"顯示選項"->"顯示數據流",或點擊 ,可以切換查看當前的收發數據,其中白底的是軟件發送的,黑底是從設備回復的。
數據記錄
點擊"配置"->"數據捕獲"
報文記錄
點擊"配置"->"文本捕獲",設置保存的模式。
保存每次掃描,即每發送一次報文記錄一次。
保存所選的掃描,然后設置間隔時間,則按設置的時間進行記錄。
保存運行平均,則是保存當前窗口這些數據這段時間內的平均值進行記錄。
保存窗口及打開
點擊"文件"->"保存",或點擊 ,對當前選中的窗口進行保存。
點擊"文件"->"打開",或點擊 ,則可對已保存的文件進行打開操作。
使用注意
1、這個工具上的一些時間設置,當時間設置較短時,可能不準。比如以前試過把每一幀的發送間隔時間調成1ms,但實際用示波器抓到的數據,間隔大概100ms左右,基本低于100ms的都實現不了。這個可能跟電腦本身性能有關系,所以要注意不要太過于相信這里面的時間設置,最好以實際的為主。
2、因為這個軟件是在window系統上運行的,當系統卡頓時,可能會影響軟件的運行,表現出來就是查看的報文有異常。Modbus Slave或其他串口調試工具也會有類似的問題。
相關知識
Modbus通信協議、串口通信協議、Modsim32、Modbus Poll、Modbus Slave、TCP/IP