
一、Modbus RTU和Modbus TCP 在多個方面存在差異
物理層與傳輸介質(zhì)
Modbus RTU:常使用串口通信,如 RS - 232 或 RS - 485。RS - 232 適合短距離通信,通常在十幾米以內(nèi);RS - 485 則支持更長距離,可達 1200 米左右,并且允許多個設備連接在同一總線上,適用于小型、局部的工業(yè)控制網(wǎng)絡。
Modbus TCP:基于以太網(wǎng),利用 TCP/IP 協(xié)議棧進行數(shù)據(jù)傳輸。它使用網(wǎng)線作為傳輸介質(zhì),可借助現(xiàn)有的局域網(wǎng)、廣域網(wǎng)基礎設施,傳輸距離僅受網(wǎng)絡設備和拓撲結(jié)構(gòu)限制,能實現(xiàn)跨地域的遠程通信。
數(shù)據(jù)幀格式
Modbus RTU:數(shù)據(jù)幀以二進制形式編碼,包含從站地址、功能碼、數(shù)據(jù)和校驗信息(通常是 CRC 循環(huán)冗余校驗)。數(shù)據(jù)幀沒有額外的網(wǎng)絡層和傳輸層開銷,格式相對緊湊,但不同廠家設備可能在細節(jié)上有差異。
ModbusTCP:數(shù)據(jù)幀基于TCP/IP協(xié)議,在Modbus應用層數(shù)據(jù)前添加了MBA(Modbus應用協(xié)議頭)。MBAP包含事務標識符、協(xié)議標識符、長度和單元標識符等信息,用于在網(wǎng)絡中準確識別和傳輸 Modbus 數(shù)據(jù),數(shù)據(jù)幀整體結(jié)構(gòu)更復雜。
傳輸效率
ModbusRTU:由于使用串口通信,傳輸速率相對較低,常見波特率有9600bps、19200bps 等。在數(shù)據(jù)傳輸量較大或?qū)崟r性要求較高的場景下,容易出現(xiàn)傳輸延遲。
Modbus TCP:依托以太網(wǎng),傳輸速率高,常見的有 10Mbps、100Mbps 甚至更高。能夠快速傳輸大量數(shù)據(jù),更適合對實時性要求高、數(shù)據(jù)交換頻繁的應用場景。
連接方式
ModbusRTU:采用主從式通信結(jié)構(gòu),一個主站可以與多個從站進行通信。主站發(fā)起請求,從站根據(jù)請求返回響應,通信過程是一問一答式,不支持并發(fā)通信。
Modbus TCP:支持多主站和多從站的連接方式,多個客戶端(主站)可以同時與服務器(從站)進行通信,實現(xiàn)并發(fā)數(shù)據(jù)訪問,提高了系統(tǒng)的通信效率和靈活性。
網(wǎng)絡兼容性
Modbus RTU:串口通信的局限性使其難以直接集成到基于 IP 的網(wǎng)絡系統(tǒng)中,需要通過協(xié)議轉(zhuǎn)換器才能與其他網(wǎng)絡設備進行通信。
Modbus TCP:基于 TCP/IP 協(xié)議,與現(xiàn)代網(wǎng)絡系統(tǒng)高度兼容,可直接接入企業(yè)局域網(wǎng)、互聯(lián)網(wǎng),方便與其他基于 IP 的系統(tǒng)(如 SCADA 系統(tǒng)、ERP 系統(tǒng)等)進行數(shù)據(jù)交互和共享。
應用場景
Modbus RTU:適用于小型工業(yè)控制系統(tǒng)、局部設備監(jiān)控等場景,如小型工廠的設備控制、樓宇自動化中的局部設備管理等,這些場景對通信距離和數(shù)據(jù)傳輸量要求相對較低。
Modbus TCP:常用于大型工業(yè)自動化系統(tǒng)、遠程監(jiān)控和管理系統(tǒng)等,如大型工廠的分布式控制系統(tǒng)、跨地域的能源管理系統(tǒng)等,這些場景需要長距離、高速率、大規(guī)模的數(shù)據(jù)通信和集成。
二、從以下幾方面說明一下為什么要將ModBusRTU轉(zhuǎn)換成TCP
1. 長距離通信和網(wǎng)絡擴展性:Modbus RTU 通常用于基于串口的通信,如 RS-485,通信距離有限,一般 RS-485 總線在理想條件下最大通信距離約 1200 米 。而 Modbus TCP 基于以太網(wǎng),使用 IP 網(wǎng)絡進行數(shù)據(jù)傳輸,借助現(xiàn)有的局域網(wǎng)、廣域網(wǎng)基礎設施,理論上可以實現(xiàn)幾乎無限距離的通信,方便連接位于不同地理位置的設備,滿足大型工業(yè)自動化系統(tǒng)、智能建筑等跨區(qū)域通信需求,易于構(gòu)建大規(guī)模的分布式控制系統(tǒng)。
2. 提高數(shù)據(jù)傳輸速度和效率:串口通信的速率相對有限,如常見的 9600bps、19200bps 等。以太網(wǎng)的傳輸速率通常要高得多,常見的有 100Mbps、1Gbps 甚至更高。當需要傳輸大量數(shù)據(jù)或?qū)崟r性要求較高時,Modbus TCP 能更好地滿足快速數(shù)據(jù)交換的需求,提高系統(tǒng)的響應速度和整體性能。
3. 網(wǎng)絡兼容性和集成性:在現(xiàn)代企業(yè)網(wǎng)絡環(huán)境中,TCP/IP 是主流的網(wǎng)絡通信協(xié)議,幾乎所有的計算機、服務器、路由器等網(wǎng)絡設備都支持 TCP/IP 協(xié)議。將 Modbus RTU 轉(zhuǎn)換為 Modbus TCP,可以使基于 Modbus RTU 的工業(yè)設備無縫集成到現(xiàn)有的企業(yè)網(wǎng)絡中,便于與其他基于 IP 的系統(tǒng)(如企業(yè)資源計劃 ERP 系統(tǒng)、制造執(zhí)行系統(tǒng) MES 等)進行數(shù)據(jù)交互和共享,實現(xiàn)更高效的生產(chǎn)管理和決策。
4. 遠程監(jiān)控和管理:通過將 Modbus RTU 轉(zhuǎn)換為 Modbus TCP,設備可以連接到互聯(lián)網(wǎng),允許用戶通過網(wǎng)絡從任何地方遠程訪問和監(jiān)控設備。這對于需要遠程維護、故障診斷和實時數(shù)據(jù)采集的應用場景非常重要,例如遠程泵站監(jiān)控、無人值守變電站等。
5. 設備管理和維護便利性:基于 TCP 的網(wǎng)絡管理工具和技術(shù)更加豐富和成熟,網(wǎng)絡管理員可以利用這些工具對連接的設備進行配置、監(jiān)控和故障排除。相比之下,Modbus RTU 設備的管理通常需要專用的串口工具和更復雜的現(xiàn)場操作。通過轉(zhuǎn)換為 Modbus TCP,可以降低設備管理和維護的難度和成本。
三、捷米特JM-RTU-TCP-PLUS 網(wǎng)關模塊如何助力ModBusRTU轉(zhuǎn)換成TCP
先說一下此產(chǎn)品廣泛應用于支持RS485接口的軟啟動器、變頻器、智能高低壓電 器、電量測量裝置、智能現(xiàn)場測量設備、儀表、PLC、DCS、FCS等等。
技術(shù)指標
TCP - RTU RS485 設備在 TCP 一側(cè)為 TCP Server,在 RTU 一側(cè)通過 RS485 可以作為 Modbus主站;
支持Modbus協(xié)議;
功能碼:支持01H、02H、03H、04H、05H、06H、0FH、10H號功能;
供電:24VDC(±5%),最大功率3.5W ;
工作環(huán)境溫度:-25~55℃,濕度≤95%;
外形尺寸:34mm(寬)×110mm(高)×70mm(厚) ;
安裝方式:35mm導軌; Ø 防護等級:IP20;
配置模塊
1. 正確連接電源,通過配置網(wǎng)口將TCP - RTU RS485與計算機相連,給TCP - RTU RS485 上電;
2. 打開配置軟件,根據(jù)需求在配置軟件中進行配置;
3. 選擇正確的COM口,點擊工具欄中的“下載”按鈕,將配置下載到TCP - RTU RS485 中;
4. 等待大約10秒,TCP - RTU RS485與PLC之間建立正確連接,此時OK燈亮。
4.2 Configuration Tool 配置軟件 配置模塊需要使用配置軟件,用戶可以從光盤或者網(wǎng)站上獲取并安裝,用戶使用網(wǎng)關配置軟 件可以輕松完成TCP - RTU RS485的配置,包括設備IP地址,子網(wǎng)掩碼,網(wǎng)關地址和設備名 稱,串口波特率、奇偶校驗、停止位等,并可對網(wǎng)關內(nèi)存映射數(shù)據(jù)進行沖突檢測。主界面如下圖:
數(shù)據(jù)交換
TCP - RTU RS485的TCP 網(wǎng)絡和串口之間的數(shù)據(jù)轉(zhuǎn)換是通過“映射”關系來建立的。在 TCP - RTU RS485中有兩塊數(shù)據(jù)緩沖區(qū),一塊是輸入緩沖區(qū)(1500字節(jié)),地址范圍為0x000 0x5DB;另一塊是輸出緩沖區(qū)(1500字節(jié)),地址范圍為0x5DC-0xBB7。
1 TCP Server端
假定用戶配置的輸入數(shù)據(jù)的長度為L1,輸出數(shù)據(jù)的長度為L2。TCP - RTU RS485會把 [0x000,L1]地址范圍內(nèi)的數(shù)據(jù)發(fā)送到TCP 網(wǎng)絡中,當從TCP 網(wǎng)絡接收到數(shù)據(jù)時,TCP - RTU RS485 會將數(shù)據(jù)寫到[0x5DC,0x5DC+L2]地址范圍內(nèi)。
2 Modbus RTU端
當串口運行Modbus主站協(xié)議時,對于TCP - RTU RS485所支持的所有寫寄存器、寫線 圈命令,都可以從0x000-0x5DB、0x5DC-0xBB7地址范圍內(nèi)取數(shù)據(jù),發(fā)給Modbus從站。對 于TCP - RTU RS485所支持的所有讀寄存器、讀線圈命令,TCP - RTU RS485會從Modbus 從站返回的數(shù)據(jù)寫到0x000-0x5DB范圍內(nèi)。 注意:Modbus主站可配置的命令數(shù)為32條,每條命令可以讀取一組連續(xù)的Modbus寄存器。
3 通用模式-問答式
當串口運行通用模式-問答式協(xié)議時,命令請求部分可以從緩沖區(qū)0x000-0x5DB、0x5DC 0xBB7 的任意位置取數(shù),然后發(fā)出到從站串口設備中。當串口從站設備給出響應時,若響應中有 多少取決于用戶的配置。
4 通用模式-接收式
數(shù)據(jù)部分,JM-RTU-TCP-PLUS 會將響應的數(shù)據(jù)部分寫到 0x000-0x5DB 范圍內(nèi),具體數(shù)據(jù)的 當串口運行通用模式-接收協(xié)議時,JM-RTU-TCP-PLUS 的某個串口僅接收用戶的串口主站 設備發(fā)送的數(shù)據(jù),而不會做出任何的響應。在這種方式下JM-RTU-TCP-PLUS 會把接收到的數(shù) 據(jù)寫到0x000-0x5DB地址范圍內(nèi)的某段區(qū)域內(nèi)。
5 輸出命令輪詢模式
該節(jié)的內(nèi)容僅適用于 Modbus主站協(xié)議和通用模式-問答式協(xié)議。 命令執(zhí)行過程: 1. 超時重發(fā)次數(shù)設置為0; 2. 發(fā)送命令的請求幀。發(fā)送完成后,響應超時定時器開始計時; 3. 等待命令的響應幀; 4. 若在響應超時時間內(nèi)接收到響應幀,則認為有響應,至于是否響應正確,依賴于具體的響 應格式。若響應幀正確,命令執(zhí)行結(jié)束。若在響應超時時間內(nèi)沒有接收到響應幀,則認為響應超 時。響應錯誤和響應超時時,進入步驟5; 5. 判斷重傳次數(shù)是否為 3,若為3 則命令執(zhí)行結(jié)束,否則,超時重傳次數(shù)加一,進入步驟 2。 連續(xù)輸出模式: 在主站協(xié)議中,每一條命令在每一個子網(wǎng)內(nèi)都有唯一的命令索引號。 主站協(xié)議工作在連續(xù)輸出模式(輸出命令輪詢模式)時,以下列方式執(zhí)行: 1. 執(zhí)行第n號命令; 2. 第n號命令執(zhí)行完成后,n加一,若大于最大命令條數(shù),則n設置為0。重新進入步驟1。 變化輸出模式: 主站協(xié)議工作在變化輸出模式時,按以下方式執(zhí)行: 否有變化,有變化則執(zhí)行命令n; 1. 若命令n為讀命令,執(zhí)行命令n。否則,檢測命令n的請求幀中包含的內(nèi)存數(shù)據(jù)映射數(shù)據(jù)是 2. 如果命令n被執(zhí)行則等待命令n執(zhí)行完成,n加一,若大于最大命令條數(shù),則n設置為0。 重新進入步驟1。
6 字節(jié)交換方式
字節(jié)交換方式共有4種方式:無交換、2字節(jié)交換、4字節(jié)寄存器交換和4字節(jié)大小端交換。 2 字節(jié)交換: 使用2字節(jié)交換時,交換的字節(jié)個數(shù)一定要是2的整數(shù)倍。2字節(jié)交換是以2個字節(jié)為單元進 行交換的,交換方式見下表:
軟件安裝步驟








