Modbus RTU常見問題匯總
ModBus協(xié)議是應用層報文傳輸協(xié)議(OSI模型第7層),它定義了一個與通信層無關(guān)的協(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。
二 關(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)控設備的簡稱。
四 關(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服務器,里面很多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通訊線被燒?
關(guān)鍵詞:
ModbusRTU常見問
評論