新聞中心

        EEPW首頁 > 網絡與存儲 > 設計應用 > GZCOM-NET網關1分鐘實現Modbus TCP轉RTU

        GZCOM-NET網關1分鐘實現Modbus TCP轉RTU

        作者:ZLG致遠電子 時間:2022-12-07 來源:電子產品世界 收藏

        隨著Modbus TCPModbus RTU兩種協議在工業現場設備的普及,要實現這兩種協議互轉的需求日益增加,GZCOM-NET可以實現該轉換功能,本文將詳細介紹轉換原理及使用。

        本文引用地址:http://www.104case.com/article/202212/441361.htm

        原理概述

        1. Modbus RTU/TCP協議簡介

        Modbus通信協議具有多個變種,其中最著名的是Modbus RTU、Modbus ASCIIModbus TCP三種。在工業現場一般都是采用Modbus RTU協議。與ModbusRTU協議相比較,ModbusTCP協議則是在RTU協議上加一個MBAP報文頭,并且由于TCP是基于可靠連接的服務,RTU協議中的CRC校驗碼就不再需要,兩者幀格式差異如圖1所示。

        image.png

        1

        1.1 ModbusRTU

        Modbus RTU數據幀(ADU)由地址+PDU+校驗組成,物理層為串口,包括RS232RS422、RS485。

        1.2Modbus TCP

        ● Modbus TCP數據幀(ADU)MBAP+PDU組成,物理層為以太網接口;

        MBAP:報文頭,長度7個字節。

        1.3Modbus RTU/TCP共同點

        Modbus TCPModbus RTU數據幀中的PDU部分是相同的;

        PDU: 協議數據單元(Protocol Data Unit),由功能碼+數據組成。功能碼是一個字節,數據長度不定,由具體功能碼的具體功能決定。

        2. Modbus RTUModbus TCP

        Modbus RTU數據幀轉為Modbus TCP數據幀過程為取出協議數據單元(PDU),并且加入報文頭部(MBAP),將附加地址對應到報文頭部的單元標識符,如圖2所示。

        image.png

        2

        增加了報文頭部,并且去掉了附加地址和差錯校驗;

        事務處理標識:可以理解為報文的序列號,一般每次通信后就要加1以區別不同的通信數據報文,由客戶端生成,應答時復制該值;

        協議標識符:表示Modbus TCP協議,由客戶端生成,應答時復制該值;

        長度:表示該字節后面的數據長度,單位為字節;

        單元標識符:設備地址,由客戶端生成,應答時復制該值。

        3. Modbus TCPModbus RTU

        Modbus TCP數據幀轉為Modbus RTU數據幀過程為取出協議數據單元(PDU),并且加入附加地址和差錯校驗,將報文頭部的單元標識符對應到附加地址,如圖3所示。

        image.png

        3

        單元標識符作為附加地址;

        增加差錯校驗。

        網關實現轉換

        1. Modbus RTU Master(RS485/RS232) Modbus TCP Slave

        該轉換可實現用戶終端作為Modbus TCP從機,數據采集中心作為Modbus RTU主機。網關實現Modbus RTUModbus TCP兩種數據的轉換,使用RS485/RS232接口與Modbus RTU主站通信,使用TCP ClientModbus TCP從站通信,如圖4所示。

        image.png

        4

        1.1 網關協議轉換配置

        RS485為例,打開網關網頁左邊欄,選擇【協議轉換】,在轉換選擇頁面里選擇【Modbus RTU Master(RS485) Modbus TCP Slave】,然后點擊【保存】,如圖5所示。

        image.png

        5

        1.2 網關TCP Client配置

        打開網關網頁左邊欄,選擇【網絡配置】,在網絡配置面里選擇【TCP/UDP Client】,配置客戶端參數,然后點擊【保存】,如圖6所示。

        image.png

        6

        1.3 RS232/RS485配置

        打開網關網頁左邊欄,選擇【RS232/RS485配置】,在網絡配置面里選擇【RS485】,配置串口參數,然后點擊【保存】,如圖7所示。

        image.png

        7

        1.4 模擬主/從機配置

        PC打開Modbus模擬軟件,創建Modbus RTU主機和Modbus TCP從機,如圖8所示。

        image.png

        8

        1.5 結果展示

        Modbus RTU主機寫入Modbus TCP從機的寄存器成功,并且讀取Modbus TCP從機寄存器值成功,如圖9所示。

        image.png

        9

        2. Modbus TCP Master Modbus RTU Slave

        該轉換可實現傳感器作為Modbus RTU從機,數據采集中心作為Modbus TCP主機。GZCOM-NET作為Modbus TCPModbus RTU兩種數據的轉換網關,使用TCP ServerModbus TCP主站通信,使用RS485RS232接口與 Modbus RTU從站通信,如圖10所示。

        image.png

        10

        2.1 網關協議轉換配置

        打開網關的網頁配置頁面左邊欄,選擇【協議轉換】,在轉換選擇頁面里選擇【Modbus TCP MasterModbus RTU Slave】,然后點擊【保存】,如圖11所示。

        image.png

        11

        2.2 網關TCP Server配置

        打開網關網頁左邊欄,選擇【網絡配置】,在網絡配置面里選擇【TCP Server】,配置服務器參數,然后點擊【保存】,如圖12所示。

        image.png

        12

        2.3 RS232/RS485配置

        RS232/RS485配置方法Modbus RTU Master(RS485/RS232) Modbus TCP Slave一樣。

        2.4 模擬主/從機配置

        PC打開Modbus模擬軟件,創建Modbus TCP主機和Modbus RTU從機,如圖 13所示。

        image.png

        13

        2.5 結果展示

        Modbus TCP主機寫入Modbus RTU從機的寄存器成功,并且讀取Modbus RTU從機寄存器值成功,如圖14所示。

        image.png

        14




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 富源县| 丹凤县| 溧水县| 龙里县| 桃园县| 娱乐| 诸城市| 军事| 镶黄旗| 赤壁市| 皮山县| 饶阳县| 怀远县| 海安县| 武穴市| 许昌市| 云阳县| 上林县| 博爱县| 公主岭市| 正镶白旗| 常山县| 扎囊县| 左贡县| 尤溪县| 寿阳县| 色达县| 二连浩特市| 安宁市| 东乌珠穆沁旗| 寿光市| 黔南| 磐石市| 德庆县| 修文县| 时尚| 财经| 冀州市| 大同县| 宣化县| 昌图县|