0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于MODBUSRTU通訊協(xié)議的提問(wèn)?

aIpM_gongkongwo ? 來(lái)源:未知 ? 作者:李倩 ? 2018-08-23 16:36 ? 次閱讀

一、ModBusRTU通訊協(xié)議與ModBus通訊協(xié)議有什么區(qū)別?

ModBus協(xié)議是應(yīng)用層報(bào)文傳輸協(xié)議(OSI模型第7層),它定義了一個(gè)與通信層無(wú)關(guān)的協(xié)議數(shù)據(jù)單元(PDU),即PDU=功能碼+數(shù)據(jù)域。

ModBus協(xié)議能夠應(yīng)用在不同類型的總線或網(wǎng)絡(luò)。對(duì)應(yīng)不同的總線或網(wǎng)絡(luò),Modbus協(xié)議引入一些附加域映射成應(yīng)用數(shù)據(jù)單元(ADU),即ADU=附加域+PDU。目前,Modbus有下列三種通信方式:

1.以太網(wǎng),對(duì)應(yīng)的通信模式是MODBUSTCP。

2.異步串行傳輸(各種介質(zhì)如有線RS-232-/422/485/;光纖、無(wú)線等),對(duì)應(yīng)的通信模式是MODBUSRTU或MODBUSASCII。

3.高速令牌傳遞網(wǎng)絡(luò),對(duì)應(yīng)的通信模式是ModbusPLUS。

二、關(guān)于MODBUSRTU通訊協(xié)議的提問(wèn)?

modbus主要由站地址(一個(gè)字節(jié))+功能碼(一個(gè)字節(jié))+首地址(兩個(gè)字節(jié))+訪問(wèn)字?jǐn)?shù)(兩個(gè)字節(jié))+校驗(yàn)碼(CRC16或LRC兩個(gè)字節(jié))總共8個(gè)字節(jié)組成。其實(shí)VB中編程很簡(jiǎn)單從組建添加MSComm組建就行了,難的是校驗(yàn),

三、modbus、rtu、modbusrtu分別是什么?

modbus協(xié)議是工控行業(yè)的標(biāo)準(zhǔn)協(xié)議,前身為莫迪康所寫(xiě),現(xiàn)已被施奈德收購(gòu)。

而modbus分為兩種協(xié)議:即串口協(xié)議(modbusrtu)和網(wǎng)口協(xié)議(modbustcp)協(xié)議,一般的工控機(jī)只支持rs232或者RS485的串口模式,這個(gè)時(shí)候工控機(jī)的協(xié)議棧里就只有modbusRTU協(xié)議,當(dāng)他從串口接收到數(shù)據(jù)時(shí),會(huì)直接根據(jù)報(bào)文中的數(shù)據(jù)進(jìn)行控制,如果需要用modbusTCP協(xié)議進(jìn)行傳輸,則需要使用帶有網(wǎng)口的PLC

具體的幀格式如下:

modbusRTU 地址域功能碼數(shù)據(jù)差錯(cuò)校驗(yàn)

modbusTCP 目的地址協(xié)議id長(zhǎng)度單元號(hào)功能碼數(shù)據(jù)

簡(jiǎn)單的說(shuō)tcp是由RTU加工而來(lái)的,而RTU則是另外一種概念,不包含在modus協(xié)議內(nèi),是工控行業(yè)對(duì)監(jiān)控設(shè)備的簡(jiǎn)稱。

四、關(guān)于modbus_RTU協(xié)議主機(jī)發(fā)送的命令的一些問(wèn)題

01讀保持線圈狀態(tài)(Read coilstatus)

02讀輸入線圈狀態(tài)(Readinput status)

03讀保持寄存器(Readholding register)

04讀輸入寄存器(Readinput register)

05寫(xiě)單個(gè)線圈(Forcesingle coil)

06寫(xiě)單個(gè)寄存器(Presetsingle register)

15寫(xiě)多個(gè)線圈(Forcemultiple coils)

16寫(xiě)多個(gè)寄存器(Presetmultiple registers)

這些都是什么意思

答:01讀取邏輯線圈組狀態(tài)

02讀取離散量線圈組狀態(tài)

03讀取一個(gè)或多個(gè)保持寄存器的二進(jìn)制值

04讀取一個(gè)或多個(gè)輸入寄存器的二進(jìn)制值

05改變邏輯線圈狀態(tài)

06改變單個(gè)寄存器的二進(jìn)制值

15改變多個(gè)寄存器的二進(jìn)制值

16指定多個(gè)操持寄存器的二進(jìn)制值

五、OPC轉(zhuǎn)modbusRTU方式我現(xiàn)在有一個(gè)OPC服務(wù)器,里面很多tag,tag是AB里出來(lái)的,怎么將tag連到modbus?

Profibus、Fielbus、Modbus、CC-link等等是各中PLC硬件支持的通訊協(xié)議,這個(gè)是各廠商的硬件屬性一樣.只是現(xiàn)在計(jì)算機(jī)組態(tài)軟件都支持很多種協(xié)議的PLC.你理解反了。

Profibus、Fielbus、Modbus、CC-link這些協(xié)議,是一種通訊協(xié)議,一般不需要你去編程,就好象你使用計(jì)算機(jī),你不需要編寫(xiě)IP協(xié)議一樣,只是要遵循它。

遵循的意思就是,你必須按照該廠家所支持的協(xié)議在PLC或者DCS硬件組態(tài)的時(shí)候按照該通訊協(xié)議設(shè)置硬件.其實(shí)這個(gè)很簡(jiǎn)單.這里簡(jiǎn)單指的是,你學(xué)編程,重點(diǎn)是編寫(xiě)執(zhí)行控制的動(dòng)作的程序,硬件通訊協(xié)議不需要你自己動(dòng)手寫(xiě)。

六、什么是modbusrtu master?

就是選RTU模式,因?yàn)镸ODBUS分為ASCII模式和RTU模式,MASER就是設(shè)置為主站,一般為PLC端,變頻器設(shè)為從站,還要注意主站和從站地址的設(shè)置。

七、Modbusrtu為什么沒(méi)有開(kāi)始和結(jié)束標(biāo)記?

由于Modbusrtu幀的每個(gè)字節(jié)是16進(jìn)制數(shù),數(shù)值范圍在00~FF,若像ModbusASCII那樣用02、03表示開(kāi)始和結(jié)束標(biāo)記,則與數(shù)值2、3發(fā)生沖突,無(wú)法判斷其是標(biāo)記還是數(shù)值,無(wú)法數(shù)據(jù)解包。

八、modbustcp到rtu的轉(zhuǎn)換?

請(qǐng)仔細(xì)查看幀格式:

modbusRTU地址域功能碼數(shù)據(jù)差錯(cuò)校驗(yàn)

modbusTCP目的地址協(xié)議id長(zhǎng)度單元號(hào)功能碼數(shù)據(jù)

寫(xiě)一個(gè)TCP轉(zhuǎn)RTU的程序放到設(shè)備里做modbus網(wǎng)橋即可

九、MODBUSRTU通訊線被燒?

萬(wàn)用表量一下出來(lái)的通訊線,電壓不超過(guò)5V應(yīng)該沒(méi)問(wèn)題,一般不會(huì)燒東西,接的時(shí)候區(qū)分正和負(fù)。很多產(chǎn)品B是正,量一下看看。

十、觸摸屏modbusrtu怎么設(shè)置?

一般是通過(guò)宏指令自己編程實(shí)現(xiàn),當(dāng)然也有支持RTU的,在通訊類型菜單

十一、MODBUSRTU協(xié)議中浮點(diǎn)數(shù)是如何存儲(chǔ),讀到浮點(diǎn)數(shù)寄存器的數(shù)值如何轉(zhuǎn)換成所需的浮點(diǎn)數(shù)?

浮點(diǎn)數(shù)保存的字節(jié)格式如下:

地址+0 +1 +2 +3

內(nèi)容SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM

這里S代表符號(hào)位,1是負(fù),0是正

E偏移127的冪,二進(jìn)制階碼=(EEEEEEEE)-127。

M24位的尾數(shù)保存在23位中,只存儲(chǔ)23位,最高位固定為1。此方法用最較少的位數(shù)實(shí)現(xiàn)了較高的有效位數(shù),提高了精度。零是一個(gè)特定值,冪是0尾數(shù)也是0。

浮點(diǎn)數(shù)-12.5作為一個(gè)十六進(jìn)制數(shù)0xC1480000保存在存儲(chǔ)區(qū)中,這個(gè)值如下:

地址+0 +1 +2 +3

內(nèi)容0xC1 0x48 0x00 0x00

浮點(diǎn)數(shù)和十六進(jìn)制等效保存值之間的轉(zhuǎn)換相當(dāng)簡(jiǎn)單。下面的例子說(shuō)明上面的值-12.5如何轉(zhuǎn)換。浮點(diǎn)保存值不是一個(gè)直接的格式,要轉(zhuǎn)換為一個(gè)浮點(diǎn)數(shù),位必須按上面的浮點(diǎn)數(shù)保存格式表

所列的那樣分開(kāi),例如:

地址+0 +1 +2 +3

格式SEEEEEEE EMMM MMMM MMMM MMMM MMMM MMMM

二進(jìn)制11000001 01001000 00000000 00000000

十六進(jìn)制C1 48 00 00

從這個(gè)例子可以得到下面的信息

符號(hào)位是1表示一個(gè)負(fù)數(shù)冪是二進(jìn)制10000010或十進(jìn)制130,130減去127是3,就是實(shí)際的冪。尾數(shù)是后面的二進(jìn)制數(shù)10010000000000000000000

在尾數(shù)的左邊有一個(gè)省略的小數(shù)點(diǎn)和1,這個(gè)1在浮點(diǎn)數(shù)的保存中經(jīng)常省略,加上一個(gè)1和小數(shù)點(diǎn)到尾數(shù)的開(kāi)頭,得到尾數(shù)值如下:

1.10010000000000000000000

接著,根據(jù)指數(shù)調(diào)整尾數(shù).一個(gè)負(fù)的指數(shù)向左移動(dòng)小數(shù)點(diǎn).一個(gè)正的指數(shù)向右移動(dòng)小數(shù)點(diǎn).因?yàn)橹笖?shù)是3,尾數(shù)調(diào)整如下:

1100.10000000000000000000

結(jié)果是一個(gè)二進(jìn)制浮點(diǎn)數(shù),小數(shù)點(diǎn)左邊的二進(jìn)制數(shù)代表所處位置的2的冪,例如:1100表示

(1*2^3)+(1*2^2)+(0*2^1)+(0*2^0)=12。

小數(shù)點(diǎn)的右邊也代表所處位置的2的冪,只是冪是負(fù)的。例如:.100...表示(1*2^(-1))+(0*2^(-2))+(0*2^(-2))...=0.5。

這些值的和是12.5。因?yàn)樵O(shè)置的符號(hào)位表示這數(shù)是負(fù)的,因此十六進(jìn)制值0xC1480000表示-12.5。

十二、RS-485的設(shè)備,遵守MODBUS-RTU協(xié)議。怎樣用的電腦讀取信息?

用電腦的串口,接個(gè)485轉(zhuǎn)換器,接到設(shè)備的485接口,再找個(gè)串口軟件,根據(jù)設(shè)備資料上的寄存器地址發(fā)送modbus報(bào)文,modbus報(bào)文通過(guò)串口軟件發(fā)送啊,報(bào)文格式:0103 00 00 00 01 840A讀寄存器命令。

十三、vbmodbus給modScan32rtu發(fā)送數(shù)據(jù)應(yīng)該怎么寫(xiě)?

確定兩個(gè)軟件哪個(gè)是主,哪個(gè)是從。然后再確定通訊協(xié)議是RTU、ASCII還是TCP。如果是TCP,就用socket控件。RTU\ASCII就用COM控件。然后給對(duì)應(yīng)的口按照協(xié)議收發(fā)數(shù)并解析就可以了。

十四、ModBusRTU通訊協(xié)議與ModBus通訊協(xié)議有什么區(qū)別?

modbus協(xié)議包括了MODBUSRTU

十五、modbusrtu通訊協(xié)議如何判斷超時(shí)?

設(shè)置一個(gè)標(biāo)志量用來(lái)表示是否超時(shí);再用一個(gè)定時(shí)器,定時(shí)時(shí)長(zhǎng)為發(fā)送3.5個(gè)字符的時(shí)間(當(dāng)然為了保險(xiǎn)時(shí)間可以長(zhǎng)一些);在定時(shí)器中置超時(shí)標(biāo)志;在串口中斷中每收到一個(gè)字節(jié)時(shí)定時(shí)器清零;主程序中根據(jù)超時(shí)標(biāo)志做相應(yīng)處理。

十六、如何理解MODBUS協(xié)議RTU模式中的1.5和3.5字符間隔?

發(fā)送兩幀數(shù)據(jù)之間要有一定的時(shí)間間隔,以保證接收方UART能夠區(qū)分。這個(gè)時(shí)間間隔在MODBUSRTU模式中要求是1.5和3.5字符間隔,也即是傳輸1.5和3.5個(gè)字符的時(shí)間,它與設(shè)置的通信參數(shù)有關(guān),計(jì)算為:

若串口通信參數(shù)設(shè)置為(注:開(kāi)始位固定為1):數(shù)據(jù)位8,奇偶校驗(yàn)位1,停止位1,波特率9600bps,則傳輸一個(gè)字符(即1個(gè)字節(jié))的時(shí)間為:(1+8+1+1)/9600=0.00114583s=1.1454583ms

1.5字符間隔=1.5x1.1454583ms=1.71818745ms

3.5字符間隔=3.5x1.1454583ms=4.00910405ms

十七、MODBUSRTU測(cè)試軟件?

推薦:modscan32還有最新得mobuspoll

十八、MODBUSRTU協(xié)議,上位機(jī)與儀表通信,讀寫(xiě)數(shù)據(jù)都正確,為什么儀表掉電,寫(xiě)入的參數(shù)又丟失了?怎么保存?

兩種可能:

1.如果在儀表上設(shè)置參數(shù)掉電后都保存不了的話,基本可以確定是儀表問(wèn)題;

2.有些儀表寫(xiě)入?yún)?shù)后還需要向固定的寄存器寫(xiě)入確認(rèn)參數(shù),為了保證寫(xiě)入?yún)?shù)真確,需要檢查儀表通信部分說(shuō)明書(shū)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 通訊協(xié)議
    +關(guān)注

    關(guān)注

    10

    文章

    263

    瀏覽量

    20271
  • modbusRTU
    +關(guān)注

    關(guān)注

    0

    文章

    39

    瀏覽量

    8318

原文標(biāo)題:modbusRTU問(wèn)題匯總

文章出處:【微信號(hào):gongkongworld,微信公眾號(hào):工控資料窩】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    300PLC連接Modbus轉(zhuǎn)Profibus網(wǎng)關(guān)與閥島modbusRTU通訊

    300PLC通過(guò)Modbus轉(zhuǎn)Profibus網(wǎng)關(guān)(XD-MDPB100)實(shí)現(xiàn)與閥島ModbusRTU通訊。300PLC作為常見(jiàn)的控制器設(shè)備,在與閥島Modbus RTU通訊時(shí),通常需要借助
    的頭像 發(fā)表于 06-21 09:54 ?1316次閱讀
    300PLC連接Modbus轉(zhuǎn)Profibus網(wǎng)關(guān)與閥島<b class='flag-5'>modbusRTU</b><b class='flag-5'>通訊</b>

    Labview ModbusRtu浮點(diǎn)數(shù),整數(shù)串口通訊

    labview ModbusRtu讀取浮點(diǎn)數(shù)作品,見(jiàn)附件。
    發(fā)表于 09-13 17:13

    怎么從零開(kāi)始移植這個(gè)ModbusRTU協(xié)議

    怎么從零開(kāi)始移植這個(gè)ModbusRTU協(xié)議的?有哪些注意事項(xiàng)?
    發(fā)表于 11-16 08:33

    如何通過(guò)ModbusRTU協(xié)議讀取電能表的數(shù)據(jù)?

    如何通過(guò)ModbusRTU協(xié)議讀取電能表的數(shù)據(jù)?
    發(fā)表于 12-08 07:16

    關(guān)于接口與電平及其通訊協(xié)議的一些看法

    關(guān)于各類接口,電平特性,通訊協(xié)議的一些看法我認(rèn)為接口指的就是硬件外形,比如常見(jiàn)的com口,rj45網(wǎng)線口等。常見(jiàn)的電平特性有rs232,rs485,TTL電平特性等。常見(jiàn)的通訊
    發(fā)表于 02-17 07:01

    采用ModbusRTU或ModbusTCP通訊協(xié)議與下位機(jī)進(jìn)行通信

    上位機(jī)如觸摸屏采用ModbusRTU或ModbusTCP通訊協(xié)議與下位機(jī)如單片機(jī)通過(guò)串口或網(wǎng)絡(luò)通信時(shí),需要解析上位機(jī)報(bào)文Modbus寄存器讀寫(xiě)的單位是字Word,讀寫(xiě)Map表元素長(zhǎng)度必須為字的整數(shù)倍
    發(fā)表于 02-24 07:00

    ModbusRTU通訊協(xié)議(主站)通訊聯(lián)機(jī)便利指令

    FUN150(M-BUS)指令提供永宏P(guān)LC(主站)透過(guò)Port1,2,3或4以ModbusRTU通訊協(xié)議與具有該通訊協(xié)議之智能型外圍(仆站
    發(fā)表于 09-29 17:38 ?17次下載
    <b class='flag-5'>ModbusRTU</b><b class='flag-5'>通訊</b><b class='flag-5'>協(xié)議</b>(主站)<b class='flag-5'>通訊</b>聯(lián)機(jī)便利指令

    PM500電量表通過(guò)MODBUS協(xié)議與組態(tài)王通訊配置的詳細(xì)步驟免費(fèi)下載

    PM500電量表提供標(biāo)準(zhǔn)modbusRTU串口協(xié)議,組態(tài)王可以通過(guò)標(biāo)準(zhǔn)modbusRTU驅(qū)動(dòng)實(shí)現(xiàn)和該儀表的通訊。
    發(fā)表于 08-14 08:00 ?22次下載
    PM500電量表通過(guò)MODBUS<b class='flag-5'>協(xié)議</b>與組態(tài)王<b class='flag-5'>通訊</b>配置的詳細(xì)步驟免費(fèi)下載

    三菱變頻器MODBUS通訊協(xié)議的RTU方式和ASCII方式傳送

    進(jìn)行ModbusRTU協(xié)議通訊時(shí),Pr551必須設(shè)置為2,Pr340設(shè)置為除0以外的值,Pr79設(shè)置為0或2或6。通過(guò)RS-485端子進(jìn)行ModbusRTU
    發(fā)表于 03-21 11:33 ?5283次閱讀

    IIC通訊協(xié)議的電路設(shè)計(jì)

    前面我們概述過(guò)一些常見(jiàn)的通訊協(xié)議,本文著重講講關(guān)于IIC協(xié)議。
    的頭像 發(fā)表于 04-19 11:00 ?1804次閱讀
    IIC<b class='flag-5'>通訊</b><b class='flag-5'>協(xié)議</b>的電路設(shè)計(jì)

    EtherCAT協(xié)議ModbusRTU協(xié)議在能源行業(yè)中的應(yīng)用

    EtherCAT協(xié)議ModbusRTU協(xié)議在能源行業(yè)中的應(yīng)用
    的頭像 發(fā)表于 12-22 13:51 ?465次閱讀
    EtherCAT<b class='flag-5'>協(xié)議</b>與<b class='flag-5'>ModbusRTU</b><b class='flag-5'>協(xié)議</b>在能源行業(yè)中的應(yīng)用

    CCLink轉(zhuǎn)ModbusRTU網(wǎng)關(guān)控制變頻器配置案例

    協(xié)議,但是變頻器一側(cè)使用的是ModbusRTU協(xié)議。兩者無(wú)法直接進(jìn)行通訊,故采用耐用通信出品的CCLink轉(zhuǎn)ModbusRTU網(wǎng)關(guān)進(jìn)行
    的頭像 發(fā)表于 12-22 16:05 ?434次閱讀
    CCLink轉(zhuǎn)<b class='flag-5'>ModbusRTU</b>網(wǎng)關(guān)控制變頻器配置案例

    CCLK轉(zhuǎn)ModbusRTU協(xié)議轉(zhuǎn)化網(wǎng)關(guān)通訊解決方案

    怎么樣把CCLK和ModbusRTU網(wǎng)絡(luò)通訊連接起來(lái)呢?最近有很多朋友咨詢這個(gè)問(wèn)題,在這里統(tǒng)一為大家詳細(xì)說(shuō)明一下。其實(shí)有一個(gè)設(shè)備可以很輕松地解決這個(gè)問(wèn)題,名為YC-CCLK-RTU,下面是詳細(xì)信息
    的頭像 發(fā)表于 07-24 16:11 ?171次閱讀
    CCLK轉(zhuǎn)<b class='flag-5'>ModbusRTU</b><b class='flag-5'>協(xié)議</b>轉(zhuǎn)化網(wǎng)關(guān)<b class='flag-5'>通訊</b>解決方案

    DeviceNet轉(zhuǎn)ModbusRTU協(xié)議轉(zhuǎn)化網(wǎng)關(guān)經(jīng)典通訊案例

    怎么樣把DeviceNet和ModbusRTU網(wǎng)絡(luò)通訊連接起來(lái)呢?最近有很多朋友咨詢這個(gè)問(wèn)題,在這里統(tǒng)一為大家詳細(xì)說(shuō)明一下。其實(shí)有一個(gè)設(shè)備可以很輕松地解決這個(gè)問(wèn)題,名為YC-CCLK-TCP,下面
    的頭像 發(fā)表于 07-24 16:54 ?170次閱讀
    DeviceNet轉(zhuǎn)<b class='flag-5'>ModbusRTU</b><b class='flag-5'>協(xié)議</b>轉(zhuǎn)化網(wǎng)關(guān)經(jīng)典<b class='flag-5'>通訊</b>案例

    CClinkIE轉(zhuǎn)ModbusRTU協(xié)議轉(zhuǎn)化網(wǎng)關(guān)功能與通訊詳解

    怎么樣才可以把CClinkIE和ModbusRTU網(wǎng)絡(luò)連接通訊起來(lái)呢?近來(lái)幾天有幾個(gè)朋友問(wèn)到這個(gè)問(wèn)題,那么作者在這里統(tǒng)一說(shuō)明一下。其實(shí)有一個(gè)不錯(cuò)的設(shè)備產(chǎn)品可以很輕易地解決這個(gè)問(wèn)題,名為
    的頭像 發(fā)表于 07-28 15:49 ?550次閱讀
    CClinkIE轉(zhuǎn)<b class='flag-5'>ModbusRTU</b><b class='flag-5'>協(xié)議</b>轉(zhuǎn)化網(wǎng)關(guān)功能與<b class='flag-5'>通訊</b>詳解