<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          Modbus RTU常見問題匯總

          作者: 時間:2016-12-16 來源:網(wǎng)絡(luò) 收藏
          一 ModBus RTU通訊協(xié)議與ModBus通訊協(xié)議有什么區(qū)別?
          ModBus協(xié)議是應(yīng)用層報文傳輸協(xié)議(OSI模型第7層),它定義了一個與通信層無關(guān)的協(xié)議數(shù)據(jù)單元(PDU),即PDU=功能碼+數(shù)據(jù)域。
          ModBus協(xié)議能夠應(yīng)用在不同類型的總線或網(wǎng)絡(luò)。對應(yīng)不同的總線或網(wǎng)絡(luò),Modbus協(xié)議引入一些附加域映射成應(yīng)用數(shù)據(jù)單元(ADU),即ADU=附加域+PDU。目前,Modbus有下列三種通信方式:
          1.以太網(wǎng),對應(yīng)的通信模式是MODBUS TCP。
          2.異步串行傳輸(各種介質(zhì)如有線RS-232-/422/485/;光纖、無線等),對應(yīng)的通信模式是MODBUS RTU或MODBUS ASCII。
          3.高速令牌傳遞網(wǎng)絡(luò),對應(yīng)的通信模式是Modbus PLUS。
          二 關(guān)于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)控設(shè)備的簡稱。
          四 關(guā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服務(wù)器,里面很多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é)議設(shè)置硬件.其實這個很簡單. 這里簡單指的是,你學編程,重點是編寫執(zhí)行控制的動作的程序,硬件通訊協(xié)議不需要你自己動手寫。
          六 什么是modbus rtu master?
          就是選RTU模式,因為MODBUS分為ASCII模式和RTU模式,MASER就是設(shè)置為主站,一般為PLC端,變頻器設(shè)為從站,還要注意主站和從站地址的設(shè)置。
          七 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的程序放到設(shè)備里做modbus網(wǎng)橋即可
          九 MODBUS RTU通訊線被燒?
          用萬用表量一下出來的通訊線,電壓不超過5V應(yīng)該沒問題,一般不會燒東西,接的時候區(qū)分正和負。很多產(chǎn)品B是正,量一下看看。
          上一頁 1 2 下一頁

          關(guān)鍵詞: ModbusRTU常見問

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();