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

評論