Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
Modbus 仿真- 新手必備技能
在工業自動化領域,我們經常遇到各種通訊協議,如,,,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 為寄存器類型,代表保持寄存器,Device ID代表從站的站號,如果是Modbus RTU那么此處需要輸入從站地址,如果是Modbus TCP通訊不用輸入,如果使用了串口服務器那么需要輸入從站地址,Number of Polls / Valid Slave 代表收發數據的數量,從這里可以看到是否有丟包。中間區域測試顯示檢測到從站的數據,目前有報警說明通訊有故障。
數據類型選擇如下圖,目前我們使用的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,然后點擊連接,如下圖:
從圖中可以看到,主界面沒有任何報警信息,數據收發數量相同,說明沒有數據丟包,相應寄存器中有數據顯示,那么說明此次通訊成功,大功告成?。。?/p>
*請認真填寫需求信息,我們會在24小時內與您取得聯系。