幫助文檔
modbus RTU 問題匯總解答
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)的通信模式是MODBUSTCP。
2.異步串行傳輸(各種介質(zhì)如有線RS-232-/422/485/;光纖、無線等),對應(yīng)的通信模式是MODBUSRTU或MODBUSASCII。
3.高速令牌傳遞網(wǎng)絡(luò),對應(yīng)的通信模式是ModbusPLUS。
二、關(guān)于MODBUSRTU通訊協(xié)議的提問?
modbus 主要由站地址(一個字節(jié))+功能碼(一個字節(jié))+首地址(兩個字節(jié))+訪問字數(shù)(兩個字節(jié))+校驗碼(CRC16或LRC兩個字節(jié))總共8個字節(jié)組成。其實VB中編程很簡單從組建添加MSComm組建就行了,難的是校驗,
三、modbus、rtu、modbusrtu分別是什么?
modbus協(xié)議是工控行業(yè)的標(biāo)準(zhǔn)協(xié)議,前身為莫迪康所寫,現(xiàn)已被施奈德收購。
而modbus分為兩種協(xié)議:即串口協(xié)議(modbusrtu)和網(wǎng)口協(xié)議(modbustcp)協(xié)議,一般的工控機只支持rs232或者RS485的串口模式,這個時候工控機的協(xié)議棧里就只有modbusRTU協(xié)議,當(dāng)他從串口接收到數(shù)據(jù)時,會直接根據(jù)報文中的數(shù)據(jù)進行控制,如果需要用modbusTCP協(xié)議進行傳輸,則需要使用帶有網(wǎng)口的PLC。
具體的幀格式如下:
modbusRTU 地址域功能碼數(shù)據(jù)差錯校驗
modbusTCP 目的地址協(xié)議id 長度單元號功能碼數(shù)據(jù)
簡單的說 tcp是由RTU加工而來的,而RTU則是另外一種概念,不包含在modus協(xié)議內(nèi),是工控行業(yè)對監(jiān)控設(shè)備的簡稱。
四、關(guān)于modbus_RTU協(xié)議主機發(fā)送的命令的一些問題
01 讀保持線圈狀態(tài)(Read coilstatus)
02 讀輸入線圈狀態(tài)(Readinput status)
03 讀保持寄存器(Readholding register)
04 讀輸入寄存器(Readinput register)
05 寫單個線圈(Forcesingle coil)
06 寫單個寄存器(Presetsingle register)
15 寫多個線圈(Forcemultiple coils)
16 寫多個寄存器(Presetmultiple registers)
這些都是什么意思
01 讀取邏輯線圈組狀態(tài)
02 讀取離散量線圈組狀態(tài)
03 讀取一個或多個保持寄存器的二進制值
04 讀取一個或多個輸入寄存器的二進制值
05 改變邏輯線圈狀態(tài)
06 改變單個寄存器的二進制值
15 改變多個寄存器的二進制值
16 指定多個操持寄存器的二進制值
五、OPC轉(zhuǎn)modbusRTU 方式我現(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è)置硬件.其實這個很簡單.這里簡單指的是,你學(xué)編程,重點是編寫執(zhí)行控制的動作的程序,硬件通訊協(xié)議不需要你自己動手寫。
六、什么是modbusrtu master?
就是選RTU模式,因為MODBUS分為ASCII模式和RTU模式,MASER就是設(shè)置為主站,一般為PLC端,變頻器設(shè)為從站,還要注意主站和從站地址的設(shè)置。
七、Modbusrtu 為什么沒有開始和結(jié)束標(biāo)記?
由于Modbusrtu幀的每個字節(jié)是16進制數(shù),數(shù)值范圍在00~FF,若像ModbusASCII那樣用02、03表示開始和結(jié)束標(biāo)記,則與數(shù)值2、3發(fā)生沖突,無法判斷其是標(biāo)記還是數(shù)值,無法數(shù)據(jù)解包。
八、modbustcp 到 rtu的轉(zhuǎn)換?
請仔細查看幀格式:
modbusRTU 地址域功能碼數(shù)據(jù)差錯校驗
modbusTCP 目的地址協(xié)議id 長度單元號功能碼數(shù)據(jù)
寫一個TCP轉(zhuǎn)RTU的程序放到設(shè)備里做modbus網(wǎng)橋即可
九、MODBUSRTU通訊線被燒?
用萬用表量一下出來的通訊線,電壓不超過5V應(yīng)該沒問題,一般不會燒東西,接的時候區(qū)分正和負。很多產(chǎn)品B是正,量一下看看。
十、觸摸屏modbusrtu怎么設(shè)置?
一般是通過宏指令自己編程實現(xiàn),當(dāng)然也有支持RTU的,在通訊類型菜單
十一、MODBUSRTU協(xié)議中浮點數(shù)是如何存儲讀到浮點數(shù)寄存器的數(shù)值如何轉(zhuǎn)換成所需的浮點數(shù)?
浮點數(shù)保存的字節(jié)格式如下:
地址 +0 +1 +2 +3
內(nèi)容 SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM
這里S 代表符號位,1是負,0是正
E 偏移127的冪,二進制階碼=(EEEEEEEE)-127。
M24位的尾數(shù)保存在23位中,只存儲23位,最高位固定為1。此方法用最較少的位數(shù)實現(xiàn)了較高的有效位數(shù),提高了精度。零是一個特定值,冪是0尾數(shù)也是0。
浮點數(shù)-12.5作為一個十六進制數(shù)0xC1480000保存在存儲區(qū)中,這個值如下:
地址 +0 +1 +2 +3
內(nèi)容0xC1 0x48 0x00 0x00
浮點數(shù)和十六進制等效保存值之間的轉(zhuǎn)換相當(dāng)簡單。下面的例子說明上面的值-12.5如何轉(zhuǎn)換。浮點保存值不是一個直接的格式,要轉(zhuǎn)換為一個浮點數(shù),位必須按上面的浮點數(shù)保存格式表
所列的那樣分開,例如:
地址 +0 +1 +2 +3
格式 SEEEEEEE EMMM MMMM MMMM MMMM MMMM MMMM
二進制11000001 01001000 00000000 00000000
十六進制 C1 48 00 00
從這個例子可以得到下面的信息:
符號位是1 表示一個負數(shù) 冪是二進制10000010或十進制130,130減去127是3,就是實際的冪。 尾數(shù)是后面的二進制數(shù)10010000000000000000000
在尾數(shù)的左邊有一個省略的小數(shù)點和1,這個1在浮點數(shù)的保存中經(jīng)常省略,加上一個1和小數(shù)點到尾數(shù)的開頭,得到尾數(shù)值如下:
1.10010000000000000000000
接著,根據(jù)指數(shù)調(diào)整尾數(shù).一個負的指數(shù)向左移動小數(shù)點.一個正的指數(shù)向右移動小數(shù)點.因為指數(shù)是3,尾數(shù)調(diào)整如下:
1100.10000000000000000000
結(jié)果是一個二進制浮點數(shù),小數(shù)點左邊的二進制數(shù)代表所處位置的2的冪,例如:1100表示
(1*2^3)+(1*2^2)+(0*2^1)+(0*2^0)=12。
小數(shù)點的右邊也代表所處位置的2的冪,只是冪是負的。例如:.100...表示(1*2^(-1))+(0*2^(-2))+(0*2^(-2))...=0.5。
這些值的和是12.5。因為設(shè)置的符號位表示這數(shù)是負的,因此十六進制值0xC1480000表示-12.5。
十二、RS-485的設(shè)備,遵守MODBUS-RTU協(xié)議。怎樣用的電腦讀取信息?
用電腦的串口,接個485轉(zhuǎn)換器,接到設(shè)備的485接口,再找個串口軟件,根據(jù)設(shè)備資料上的寄存器地址發(fā)送modbus報文,modbus報文通過串口軟件發(fā)送啊,報文格式:0103 00 00 00 01 840A 讀寄存器命令。
十三、vbmodbus給modScan32rtu發(fā)送數(shù)據(jù)應(yīng)該怎么寫?
確定兩個軟件哪個是主,哪個是從。然后再確定通訊協(xié)議是RTU、ASCII還是TCP。如果是TCP,就用socket控件。RTU\ASCII就用COM控件。然后給對應(yīng)的口按照協(xié)議收發(fā)數(shù)并解析就可以了。
十四、ModBusRTU通訊協(xié)議與ModBus通訊協(xié)議有什么區(qū)別?
modbus 協(xié)議包括了MODBUSRTU
十五、modbusrtu通訊協(xié)議如何判斷超時?
設(shè)置一個標(biāo)志量用來表示是否超時;再用一個定時器,定時時長為發(fā)送3.5個字符的時間(當(dāng)然為了保險時間可以長一些);在定時器中置超時標(biāo)志;在串口中斷中每收到一個字節(jié)時定時器清零;主程序中根據(jù)超時標(biāo)志做相應(yīng)處理。
十六、如何理解MODBUS協(xié)議RTU模式中的1.5和3.5字符間隔?
發(fā)送兩幀數(shù)據(jù)之間要有一定的時間間隔,以保證接收方UART能夠區(qū)分。這個時間間隔在MODBUSRTU模式中要求是1.5和3.5字符間隔,也即是傳輸1.5和3.5個字符的時間,它與設(shè)置的通信參數(shù)有關(guān),計算為:
若串口通信參數(shù)設(shè)置為(注:開始位固定為1):數(shù)據(jù)位8,奇偶校驗位1,停止位1,波特率9600bps,則傳輸一個字符(即1個字節(jié))的時間為:(1+8+1+1)/9600=0.00114583s=1.1454583ms
1.5字符間隔=1.5x1.1454583ms=1.71818745ms
3.5字符間隔=3.5x1.1454583ms=4.00910405ms
十七、MODBUSRTU 測試軟件?
推薦:modscan32 還有最新得mobus poll
十八、MODBUSRTU協(xié)議,上位機與儀表通信,讀寫數(shù)據(jù)都正確,為什么儀表掉電,寫入的參數(shù)又丟失了?怎么保存?
兩種可能:
1.如果在儀表上設(shè)置參數(shù)掉電后都保存不了的話,基本可以確定是儀表問題;
2.有些儀表寫入?yún)?shù)后還需要向固定的寄存器寫入確認參數(shù),為了保證寫入?yún)?shù)真確,需要檢查儀表通信部分說明書。
-
白蟻可視化防治裝置|TY502-P2計訊物聯(lián)白蟻可視化防治裝置TY502-P2,深度融合AI智能識別與4G傳輸技術(shù),將傳統(tǒng)被動治理升級為“防+治結(jié)合”的智能化新范式,構(gòu)建 ... -
5G加密工業(yè)網(wǎng)關(guān)|TR323-A2計訊物聯(lián)5G加密工業(yè)網(wǎng)關(guān) TR323-A2,具備加密、認證和數(shù)據(jù)防篡改能力,支持國密軟硬件加密,支持SM1、SM2、SM3、SM4算法,支持IPsec VPN加... -
雷達水位計計訊物聯(lián)雷達水位計采用先進雷達波測距技術(shù),非接觸式精準(zhǔn)監(jiān)測水位變化,適用于河流、湖泊、水庫、城市管網(wǎng)、工業(yè)水池等多場景。無需接觸介... -
電磁流量計計訊物聯(lián)電磁流量計,支持累積流量、瞬時流量、流速、流量百分比等高精度測量,低功耗長壽命,一體式以及分體式多場景高效安裝,主要應(yīng)用于... -
氣泡水位計計訊物聯(lián)氣泡水位計,高精度、高可靠、高智能、免氣瓶、免測井、免維護、抗振動、長壽命。適用于流動水體、大中小河流、水庫、或者水體污染...
-
白蟻防治方案計訊物聯(lián)TY502白蟻防治裝置及監(jiān)測解決方案,通過“監(jiān)測-識別-預(yù)警-治理”全鏈條數(shù)字化閉環(huán),實現(xiàn)白蟻危害的早發(fā)現(xiàn)、早干預(yù)、精準(zhǔn)治理。 -
5G邊緣計算網(wǎng)關(guān)創(chuàng)新實驗園區(qū)能效管理升級應(yīng)用方案通過部署計訊物聯(lián)5G+觸屏邊緣計算網(wǎng)關(guān)TG462,在不改造、不影響原有設(shè)施正常運行的前提下,構(gòu)建園區(qū)級智慧能源管控中樞,實現(xiàn)能源消耗的實時監(jiān)測、智能分析與優(yōu)化調(diào)控,最終達成園區(qū)運營 -
5G工業(yè)網(wǎng)關(guān)賦能國控環(huán)保站智能升級應(yīng)用方案計訊物聯(lián)5G工業(yè)網(wǎng)關(guān)賦能國控環(huán)保站智能升級應(yīng)用方案通過在泵站、污水處理站、關(guān)鍵河道水文站等核心場景部署5G工業(yè)網(wǎng)關(guān),構(gòu)建全域互聯(lián)的動態(tài)監(jiān)管網(wǎng)絡(luò),打破數(shù)據(jù)壁壘,實現(xiàn)從“被動監(jiān)測 -
地下停車場環(huán)境監(jiān)測解決方案計訊物聯(lián)地下停車場環(huán)境監(jiān)測解決方案旨在構(gòu)建一套多維度、智能化的環(huán)境安全監(jiān)測與管控系統(tǒng),保障地下空間安全高效運行,最終實現(xiàn)無人值守管理目標(biāo)。 -
城市道路照明智能化改造方案城市道路照明智能化改造方案目標(biāo):通過對城市道路照明設(shè)施的智能化改造,構(gòu)建“云-管-端”節(jié)能化、智能化、精細化、協(xié)同化的智能道路照明管理系統(tǒng)。實現(xiàn)照明設(shè)施的高效節(jié)能運行、

閩公網(wǎng)安備 35021102001331號