新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Modbus RTU常見問題匯總

        Modbus RTU常見問題匯總

        作者: 時間:2016-12-16 來源:網(wǎng)絡 收藏
        一 ModBus RTU通訊協(xié)議與ModBus通訊協(xié)議有什么區(qū)別?
        ModBus協(xié)議是應用層報文傳輸協(xié)議(OSI模型第7層),它定義了一個與通信層無關的協(xié)議數(shù)據(jù)單元(PDU),即PDU=功能碼+數(shù)據(jù)域。
        ModBus協(xié)議能夠應用在不同類型的總線或網(wǎng)絡。對應不同的總線或網(wǎng)絡,Modbus協(xié)議引入一些附加域映射成應用數(shù)據(jù)單元(ADU),即ADU=附加域+PDU。目前,Modbus有下列三種通信方式:
        1.以太網(wǎng),對應的通信模式是MODBUS TCP。
        2.異步串行傳輸(各種介質(zhì)如有線RS-232-/422/485/;光纖、無線等),對應的通信模式是MODBUS RTU或MODBUS ASCII。
        3.高速令牌傳遞網(wǎng)絡,對應的通信模式是Modbus PLUS。
        二 關于MODBUS RTU通訊協(xié)議的提問?
        modbus 主要由站地址(一個字節(jié))+功能碼(一個字節(jié))+首地址(兩個字節(jié))+訪問字數(shù)(兩個字節(jié))+校驗碼(CRC16或LRC兩個字節(jié))總共8個字節(jié)組成。其實VB中編程很簡單從組建添加MSComm組建就行了,難的是校驗,
        三 modbus、rtu、modbus rtu分別是什么?
        modbus協(xié)議是工控行業(yè)的標準協(xié)議,前身為莫迪康所寫,現(xiàn)已被施奈德收購
        而modbus分為兩種協(xié)議:即串口協(xié)議(modbus rtu)和網(wǎng)口協(xié)議(modbus tcp)協(xié)議,一般的工控機只支持rs232或者RS485的串口模式,這個時候工控機的協(xié)議棧里就只有modbusRTU協(xié)議,當他從串口接收 到數(shù)據(jù)時,會直接根據(jù)報文中的數(shù)據(jù)進行控制,如果需要用modbusTCP協(xié)議進行傳輸,則需要使用帶有網(wǎng)口的PLC
        具體的幀格式如下
        modbus RTU 地址域 功能碼 數(shù)據(jù) 差錯校驗
        modbus TCP 目的地址 協(xié)議id 長度 單元號 功能碼 數(shù)據(jù)
        簡單的說 tcp是由RTU加工而來的
        而RTU則是另外一種概念,不包含在modbus協(xié)議內(nèi)
        是工控行業(yè)對監(jiān)控設備的簡稱。
        四 關于modbus_RTU協(xié)議主機發(fā)送的命令的一些問題
        • 01 讀保持線圈狀態(tài)(Read coil status)
        • 02 讀輸入線圈狀態(tài)(Read input status)
        • 03 讀保持寄存器(Read holding register)
        • 04 讀輸入寄存器(Read input register)
        • 05 寫單個線圈(Force single coil)
        • 06 寫單個寄存器(Preset single register)
        • 15 寫多個線圈(Force multiple coils)
        • 16 寫多個寄存器(Preset multiple registers)
        這些都是什么意思?
        答:01 讀取邏輯線圈組狀態(tài)
        02 讀取離散量線圈組狀態(tài)
        03 讀取一個或多個保持寄存器的二進制值
        04 讀取一個或多個輸入寄存器的二進制值
        05 改變邏輯線圈狀態(tài)
        06 改變單個寄存器的二進制值
        15 改變多個寄存器的二進制值
        16 指定多個操持寄存器的二進制值
        五 OPC 轉(zhuǎn)modbus RTU 方式 我現(xiàn)在有一個OPC服務器,里面很多tag,tag是AB里出來的,怎么將tag連到modbus?
        Profibus、Fielbus、Modbus、CC-link等等是各中PLC硬件支持的通訊協(xié)議,這個是各廠商的硬件屬性一樣.只是現(xiàn)在計算機組態(tài)軟件都支持很多種協(xié)議的PLC.你理解反了.
        Profibus、Fielbus、Modbus、CC-link這些協(xié)議,是一種通訊協(xié)議,一般不需要你去編程,就好象你使用計算機,你不需要編寫IP協(xié)議一樣,只是要遵循它.
        遵循的意思就是,你必須按照該廠家所支持的協(xié)議在PLC或者DCS硬件組態(tài)的時候按照該通訊協(xié)議設置硬件.其實這個很簡單. 這里簡單指的是,你學編程,重點是編寫執(zhí)行控制的動作的程序,硬件通訊協(xié)議不需要你自己動手寫。
        六 什么是modbus rtu master?
        就是選RTU模式,因為MODBUS分為ASCII模式和RTU模式,MASER就是設置為主站,一般為PLC端,變頻器設為從站,還要注意主站和從站地址的設置。
        七 Modbus rtu 為什么沒有開始和結(jié)束標記?
        由于Modbus rtu幀的每個字節(jié)是16進制數(shù),數(shù)值范圍在00~FF,若像Modbus ASCII那樣用02、03表示開始和結(jié)束標記,則與數(shù)值2、3發(fā)生沖突,無法判斷其是標記還是數(shù)值,無法數(shù)據(jù)解包。
        八 modbus tcp 到 rtu的轉(zhuǎn)換?
        請仔細查看幀格式,
        modbus RTU 地址域 功能碼 數(shù)據(jù) 差錯校驗
        modbus TCP 目的地址 協(xié)議id 長度 單元號 功能碼 數(shù)據(jù)
        寫一個TCP轉(zhuǎn)RTU的程序放到設備里做modbus網(wǎng)橋即可
        九 MODBUS RTU通訊線被燒?
        用萬用表量一下出來的通訊線,電壓不超過5V應該沒問題,一般不會燒東西,接的時候區(qū)分正和負。很多產(chǎn)品B是正,量一下看看。
        上一頁 1 2 下一頁

        關鍵詞: ModbusRTU常見問

        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 云南省| 德江县| 汾阳市| 资阳市| 资源县| 榆树市| 项城市| 巴里| 济宁市| 乌审旗| 泉州市| 杂多县| 尖扎县| 宜良县| 江北区| 桂平市| 汝南县| 乐安县| 文成县| 鄢陵县| 东光县| 吉木萨尔县| 松潘县| 宝清县| 镇巴县| 宣恩县| 高雄县| 慈利县| 宾阳县| 陆良县| 津市市| 肥城市| 晋城| 仁寿县| 库伦旗| 莒南县| 博白县| 屯昌县| 名山县| 三穗县| 昂仁县|