在工業自動化領域,我們經常遇到各種通訊協議,如Profibus,ContrlNet,EntherNet,Canopen,Modbus等通訊協議,而免費,開源,使用最為廣泛的就是Modbus協議,基本各個廠家的工業設備都可以支持此協議。
我們在實際做工程中,就會需要做此種通訊測試,但是卻沒有相應的通訊設備可以做測試,那么就需要一些仿真測試的軟件,我們使用最多的就是 ModScan 軟件,它可以用于Modbus TCP通訊,Modbus RTU通訊,Modbus ASCII通訊,作為主站用于采集從站的數據,它可以發送指令到從站設備(必須使用Modbus協議的智能設備)中,從站響應之后,就可以在監控界面上返回相應寄存器的數據。
那么我們如何進行測試呢?
第一, 進行設備的硬件連接,PC電腦安裝 ModScan 軟件,作為主站用來采集數據,還需要支持Modbus協議的智能設備作為從站,一般PC電腦只有USB接口,那么就需要USB轉串口轉RS485接口的設備實現與智能從站的連接,此中情況是針對支持Modbus-RTU協議,接口為RS485的設備;如果智能從站是支持Modbus TCP/IP協議的設備那么只需要用網線將PC電腦和從站設備連接即可。
RS485連接
如果是TCP連接,只有一臺設備用網線直連即可,如果有多臺設備,那么就需要工業以太網交換機將所有設備接入交換機,通過不同的IP地址訪問不同的設備。
第二,打開ModScan軟件進行通訊參數設置,如果是RS485通訊,那么選擇串口,并按照從站通訊參數設置波特率(一般為默認為9600),數據長度(8位),校驗位(無校驗),停止位(1位),如圖:
如果是Modbus TCP通訊,那么通訊連接如下圖,選擇通訊連接位TCP/IP,輸入從站設備的IP 地址和端口號(默認502)
第三,設置通訊寄存器,Address填寫寄存器起始地址,Length為長度,03:HOLDING REGISTER為寄存器類型,代表保持寄存器,Device ID代表從站的站號,如果是Modbus RTU那么此處需要輸入從站地址,如果是Modbus TCP通訊不用輸入,如果使用了串口服務器那么需要輸入從站地址,Number of Polls / Valid Slave Responses代表收發數據的數量,從這里可以看到是否有丟包。中間區域測試顯示檢測到從站的數據,目前有報警說明通訊有故障。
數據類型選擇如下圖,目前我們使用的32位浮點類型,還有bit類型,整形,雙精度浮點類型等,對于浮點類型也可以設置高低位交換
第四,我們通過Modbus TCP方式進行通訊測試,設置 IP 通訊地址為:192.168.1.10,端口號為:502,設置 PC電腦的 IP 地址與從站 IP 地址:192.168.1.10 在同一個網段,比如:192.168.1.20.
我們要讀取從站寄存器為:保持寄存器,那么選擇功能代碼為:03,寄存器起始地址為1,數據類型為32位浮點類型,讀取的寄存器數量設置為:10,然后點擊連接,如下圖:
從圖中可以看到,主界面沒有任何報警信息,數據收發數量相同,說明沒有數據丟包,相應寄存器中有數據顯示,那么說明此次通訊成功,大功告成!!!
審核編輯:湯梓紅
-
寄存器
+關注
關注
31文章
5421瀏覽量
123308 -
MODBUS
+關注
關注
28文章
1998瀏覽量
78945 -
仿真
+關注
關注
51文章
4234瀏覽量
135297 -
PROFIBUS
+關注
關注
3文章
456瀏覽量
38889 -
通訊協議
+關注
關注
10文章
284瀏覽量
20720
原文標題:Modbus 仿真- 新手必備技能
文章出處:【微信號:電子技術控,微信公眾號:電子技術控】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論