Modbus 仿真- 新手必備技能
在工業(yè)自動化領(lǐng)域,我們經(jīng)常遇到各種通訊協(xié)議,如,,,Canopen,Modbus等通訊協(xié)議,而免費,開源,使用最為廣泛的就是Modbus協(xié)議,基本各個廠家的工業(yè)設(shè)備都可以支持此協(xié)議。
我們在實際做工程中,就會需要做此種通訊測試,但是卻沒有相應(yīng)的通訊設(shè)備可以做測試,那么就需要一些仿真測試的軟件,我們使用最多的就是 ModScan 軟件,它可以用于Modbus TCP通訊,Modbus RTU通訊,Modbus ASCII通訊,作為主站用于采集從站的數(shù)據(jù),它可以發(fā)送指令到從站設(shè)備(必須使用Modbus協(xié)議的智能設(shè)備)中,從站響應(yīng)之后,就可以在監(jiān)控界面上返回相應(yīng)寄存器的數(shù)據(jù)。
那么我們?nèi)绾芜M行測試呢?
第一, 進行設(shè)備的硬件連接,PC電腦安裝 ModScan 軟件,作為主站用來采集數(shù)據(jù),還需要支持Modbus協(xié)議的智能設(shè)備作為從站,一般PC電腦只有USB接口,那么就需要USB轉(zhuǎn)串口轉(zhuǎn)RS485接口的設(shè)備實現(xiàn)與智能從站的連接,此種情況是針對支持Modbus-RTU協(xié)議,接口為RS485的設(shè)備;如果智能從站是支持Modbus TCP/IP協(xié)議的設(shè)備那么只需要用網(wǎng)線將PC電腦和從站設(shè)備連接即可。
RS485連接
如果是TCP連接,只有一臺設(shè)備用網(wǎng)線直連即可,如果有多臺設(shè)備,那么就需要工業(yè)以太網(wǎng)交換機將所有設(shè)備接入交換機,通過不同的IP地址訪問不同的設(shè)備。
第二,打開ModScan軟件進行通訊參數(shù)設(shè)置,如果是RS485通訊,那么選擇串口,并按照從站通訊參數(shù)設(shè)置波特率(一般為默認為9600),數(shù)據(jù)長度(8位),校驗位(無校驗),停止位(1位),如圖:
如果是Modbus TCP通訊,那么通訊連接如下圖,選擇通訊連接位TCP/IP,輸入從站設(shè)備的IP 地址和端口號(默認502)
第三,設(shè)置通訊寄存器,Address填寫寄存器起始地址,Length為長度,03:HOLDING 為寄存器類型,代表保持寄存器,Device ID代表從站的站號,如果是Modbus RTU那么此處需要輸入從站地址,如果是Modbus TCP通訊不用輸入,如果使用了串口服務(wù)器那么需要輸入從站地址,Number of Polls / Valid Slave 代表收發(fā)數(shù)據(jù)的數(shù)量,從這里可以看到是否有丟包。中間區(qū)域測試顯示檢測到從站的數(shù)據(jù),目前有報警說明通訊有故障。
數(shù)據(jù)類型選擇如下圖,目前我們使用的32位浮點類型,還有bit類型,整形,雙精度浮點類型等,對于浮點類型也可以設(shè)置高低位交換
第四,我們通過Modbus TCP方式進行通訊測試,設(shè)置 IP 通訊地址為:192.168.1.10,端口號為:502,設(shè)置 PC電腦的 IP 地址與從站 IP 地址:192.168.1.10 在同一個網(wǎng)段,比如:192.168.1.20.
我們要讀取從站寄存器為:保持寄存器,那么選擇功能代碼為:03,寄存器起始地址為1,數(shù)據(jù)類型為32位浮點類型,讀取的寄存器數(shù)量設(shè)置為:10,然后點擊連接,如下圖:
從圖中可以看到,主界面沒有任何報警信息,數(shù)據(jù)收發(fā)數(shù)量相同,說明沒有數(shù)據(jù)丟包,相應(yīng)寄存器中有數(shù)據(jù)顯示,那么說明此次通訊成功,大功告成!!!
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。